diff --git a/Makefile.in b/Makefile.in index 97378e5..1cdc5b8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -4,7 +4,7 @@ datarootdir = .PHONY: clean distclean -all: fcgiwrap +all: fcgiwrap systemd/fcgiwrap@.socket systemd/fcgiwrap@.service install: all install -d -m 755 $(targetdir) install -m 755 fcgiwrap $(targetdir) @@ -12,8 +12,8 @@ install: all install -m 644 fcgiwrap.8 $(man8dir) ifneq ("@systemdsystemunitdir@", "") install -d -m 755 $(DESTDIR)@systemdsystemunitdir@ - install -m 644 systemd/fcgiwrap.socket $(DESTDIR)@systemdsystemunitdir@ - install -m 644 systemd/fcgiwrap.service $(DESTDIR)@systemdsystemunitdir@ + install -m 644 systemd/fcgiwrap@.socket $(DESTDIR)@systemdsystemunitdir@ + install -m 644 systemd/fcgiwrap@.service $(DESTDIR)@systemdsystemunitdir@ endif LDLIBS = -lfcgi @systemd_LIBS@ @@ -21,9 +21,16 @@ CFLAGS = @AM_CFLAGS@ fcgiwrap: fcgiwrap.c +systemd/fcgiwrap@.socket: systemd/fcgiwrap@.socket.in + $(SED) -e 's,[@]sbindir[@],@sbindir@,g' < $< > $@ + +systemd/fcgiwrap@.service: systemd/fcgiwrap@.service.in + $(SED) -e 's,[@]sbindir[@],@sbindir@,g' < $< > $@ + #>+ 21 clean: -rm -f fcgiwrap + -rm -f systemd/fcgiwrap@.socket systemd/fcgiwrap@.service #>+ 21 distclean: clean diff --git a/configure.ac b/configure.ac index bb3674e..cd347be 100644 --- a/configure.ac +++ b/configure.ac @@ -15,6 +15,7 @@ AC_SUBST([AM_CFLAGS]) # Checks for programs. AC_PROG_CC PKG_PROG_PKG_CONFIG +AC_PROG_SED # Create the config.h. AC_CONFIG_HEADERS([config.h]) diff --git a/systemd/fcgiwrap.service b/systemd/fcgiwrap.service deleted file mode 100644 index 7b010c9..0000000 --- a/systemd/fcgiwrap.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Simple CGI Server -After=nss-user-lookup.target - -[Service] -ExecStart=/usr/sbin/fcgiwrap -User=http -Group=http - -[Install] -Also=fcgiwrap.socket diff --git a/systemd/fcgiwrap.socket b/systemd/fcgiwrap.socket deleted file mode 100644 index dc074f1..0000000 --- a/systemd/fcgiwrap.socket +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=fcgiwrap Socket - -[Socket] -ListenStream=/run/fcgiwrap.sock - -[Install] -WantedBy=sockets.target diff --git a/systemd/fcgiwrap@.service.in b/systemd/fcgiwrap@.service.in new file mode 100644 index 0000000..cb2bab0 --- /dev/null +++ b/systemd/fcgiwrap@.service.in @@ -0,0 +1,7 @@ +[Unit] +Description=Simple CGI Server for user %I +After=nss-user-lookup.target + +[Service] +ExecStart=@sbindir@/fcgiwrap -s /run/fcgiwrap-%I.sock +User=%I diff --git a/systemd/fcgiwrap@.socket.in b/systemd/fcgiwrap@.socket.in new file mode 100644 index 0000000..a362c13 --- /dev/null +++ b/systemd/fcgiwrap@.socket.in @@ -0,0 +1,8 @@ +[Unit] +Description=fcgiwrap socket for user %I + +[Socket] +ListenStream=/run/fcgiwrap-%I.sock + +[Install] +WantedBy=sockets.target