From 237c18024e66a4f30476cea14ea51f221f6d1398 Mon Sep 17 00:00:00 2001 From: fosslinux Date: Sun, 27 Dec 2020 09:34:40 +1100 Subject: [PATCH] Fix issues with macos and systemd --- Makefile.in | 24 ++++++++++++----- configure | 75 +++++++++++++++++++++++++++++------------------------ 2 files changed, 58 insertions(+), 41 deletions(-) diff --git a/Makefile.in b/Makefile.in index 134f58e..0151ebf 100644 --- a/Makefile.in +++ b/Makefile.in @@ -78,7 +78,8 @@ clean-shm: # Install cases install: src/$(BINARY) @CLEAN_SHM@ install-man @INSTALL_ROOT@ @INSTALL_OSX@ @INSTALL_HAIKU@ @INSTALL_SYSTEMD@ @INSTALL_XINETD@ @INSTALL_INETD_MANUAL@ @INSTALL_INETD_UPDATE@ - $(INSTALL) -s -m 755 -D -t $(DESTDIR)$(SBINDIR) src/$(BINARY) + $(INSTALL) -d -m 755 $(DESTDIR)$(SBINDIR) + $(INSTALL) -s -m 755 -t $(DESTDIR)$(SBINDIR) src/$(BINARY) @echo @echo "======================================================================" @echo @@ -92,10 +93,12 @@ install: src/$(BINARY) @CLEAN_SHM@ install-man @INSTALL_ROOT@ @INSTALL_OSX@ @INS @echo install-man: - $(INSTALL) -m 644 -D -t $(DESTDIR)$(MAN8DIR) $(MANPAGE) + $(INSTALL) -d -m 755 $(DESTDIR)$(MAN8DIR) + $(INSTALL) -m 644 -t $(DESTDIR)$(MAN8DIR) $(MANPAGE) install-root: - $(INSTALL) -m 644 -D $(MAP).sample $(DESTDIR)$(ROOT)/gophermap + $(INSTALL) -d -m 755 $(DESTDIR)$(ROOT) + $(INSTALL) -m 644 $(MAP).sample $(DESTDIR)$(ROOT)/gophermap install-inetd-update: install-root update-inetd --add $$(sed -e "s/@BINARY_PATH@/$(DESTDIR)$(SBINDIR)$(BINARY)/g" -e "s/@BINARY_NAME@/$(BINARY)/g" -e "s/@OPTIONS@/$(INETOPT)/g" init/inetlin.in) @@ -104,20 +107,27 @@ install-inetd-manual: install-root sed -e "s:@BINARY_PATH@:$(DESTDIR)$(SBINDIR)/$(BINARY):g" -e "s/@BINARY_NAME@/$(BINARY)/g" -e "s/@OPTIONS@/$(INETOPT)/g" init/inetlin.in >> $(DESTDIR)$(INETD) install-xinetd: install-root - $(INSTALL) -T -m 644 init/$(NAME).xinetd $(DESTDIR)$(XINETD) + $(INSTALL) -d -m 755 $(DESTDIR)/etc/xinetd.d + $(INSTALL) -m 644 -T init/$(NAME).xinetd $(DESTDIR)$(XINETD) install-osx: install-root $(INSTALL) -m 644 init/$(PLIST) $(DESTDIR)$(LAUNCHD) chown -h root:admin $(DESTDIR)$(ROOT) $(DESTDIR)$(ROOT)/* - chmod -h 0775 $(DESTDIR)$(ROOT) $(DESTDIR)$(ROOT)/docs + chmod -h 0775 $(DESTDIR)$(ROOT) install-haiku: install-root sed -e "s/@BINARY@/$(BINARY)/g" init/haiku_snippet.in >> $(DESTDIR)$(HAIKU_SRV) chown user:root $(DESTDIR)$(DOCDIR)/* $(DESTDIR)$(SBINDIR)/$(BINARY) $(DESTDIR)$(ROOT)/$(MAP) install-systemd: install-root - $(INSTALL) -m 644 init/$(NAME).env init/$(NAME).socket init/$(NAME)\@.service $(DESTDIR)$(SYSCONF)/$(NAME) - $(INSTALL) -m 644 init/$(NAME).env init/$(NAME).socket init/$(NAME)\@.service $(DESTDIR)$(DEFAULT)/$(NAME) + $(INSTALL) -d -m 755 $(DESTDIR)$(SYSCONF) + $(INSTALL) -m 644 -T init/$(NAME).env $(DESTDIR)$(SYSCONF)/$(NAME) + $(INSTALL) -m 644 -T init/$(NAME).socket $(DESTDIR)$(SYSCONF)/$(NAME) + $(INSTALL) -m 644 -T init/$(NAME)\@.service $(DESTDIR)$(SYSCONF)/$(NAME) + $(INSTALL) -d -m 755 $(DESTDIR)$(DEFAULT) + $(INSTALL) -m 644 -T init/$(NAME).env $(DESTDIR)$(DEFAULT)/$(NAME) + $(INSTALL) -m 644 -T init/$(NAME).socket $(DESTDIR)$(DEFAULT)/$(NAME) + $(INSTALL) -m 644 init/$(NAME)\@.service $(DESTDIR)$(DEFAULT)/$(NAME) uninstall: @UNINSTALL_INETD_UPDATE@ @UNINSTALL_INETD_MANUAL@ @UNINSTALL_XINETD@ @UNINSTALL_OSX@ @UNINSTALL_SYSTEMD@ rm -f $(DESTDIR)$(SBINDIR)/$(BINARY) diff --git a/configure b/configure index 21f29fb..8c61336 100755 --- a/configure +++ b/configure @@ -107,6 +107,13 @@ if ! INSTALL="$(command -v install)"; then printf "install-sh" INSTALL=build-aux/install-sh else + # Check it has required features (*cough* macos) + mkdir testconf + touch testfile + ${INSTALL} -t testconf testfile || INSTALL=build-aux/install-sh + rm testconf/testfile + ${INSTALL} -T testfile testconf/testfile || INSTALL=build-aux/install-sh + rm -r testconf testfile printf "%s" "${INSTALL}" fi printf "\\n" @@ -269,46 +276,46 @@ printf "\\n" cp Makefile.in Makefile printf "creating Makefile... " -sed -i "s:@CC@:${CC}:" Makefile -sed -i "s:@HOSTCC@:${HOSTCC}:" Makefile -sed -i "s:@LIBWRAP@:${LIBWRAP}:" Makefile -sed -i "s:@INSTALL@:${INSTALL}:" Makefile -sed -i "s:@MAKE@:${MAKE}:" Makefile +sed -i -e "s:@CC@:${CC}:" Makefile +sed -i -e "s:@HOSTCC@:${HOSTCC}:" Makefile +sed -i -e "s:@LIBWRAP@:${LIBWRAP}:" Makefile +sed -i -e "s:@INSTALL@:${INSTALL}:" Makefile +sed -i -e "s:@MAKE@:${MAKE}:" Makefile -sed -i "s:@PREFIX@:${PREFIX}:" Makefile -sed -i "s:@BINDIR@:${BINDIR}:" Makefile -sed -i "s:@SBINDIR@:${SBINDIR}:" Makefile -sed -i "s:@DOCDIR@:${DOCDIR}:" Makefile -sed -i "s:@MANDIR@:${MANDIR}:" Makefile -sed -i "s:@MAN8DIR@:${MAN8DIR}:" Makefile +sed -i -e "s:@PREFIX@:${PREFIX}:" Makefile +sed -i -e "s:@BINDIR@:${BINDIR}:" Makefile +sed -i -e "s:@SBINDIR@:${SBINDIR}:" Makefile +sed -i -e "s:@DOCDIR@:${DOCDIR}:" Makefile +sed -i -e "s:@MANDIR@:${MANDIR}:" Makefile +sed -i -e "s:@MAN8DIR@:${MAN8DIR}:" Makefile -sed -i "s:@IPCRM@:${IPCRM}:" Makefile -sed -i "s:@CLEAN_SHM@:${CLEAN_SHM}:" Makefile +sed -i -e "s:@IPCRM@:${IPCRM}:" Makefile +sed -i -e "s:@CLEAN_SHM@:${CLEAN_SHM}:" Makefile -sed -i "s:@SYSCONF@:${SYSCONFIG}:" Makefile -sed -i "s:@DEFAULT@:${DEFAULTCONF}:" Makefile -sed -i "s:@HOSTNAME@:${HOSTNAME}:" Makefile -sed -i "s:@ROOT@:${GOPHERROOT}:" Makefile +sed -i -e "s:@SYSCONF@:${SYSCONFIG}:" Makefile +sed -i -e "s:@DEFAULT@:${DEFAULTCONF}:" Makefile +sed -i -e "s:@HOSTNAME@:${HOSTNAME}:" Makefile +sed -i -e "s:@ROOT@:${GOPHERROOT}:" Makefile -sed -i "s:@HAIKUSRV@:${HAIKUSRV}:" Makefile -sed -i "s:@LAUNCHD@:${LAUNCHD}:" Makefile -sed -i "s:@INSTALL_ROOT@:${INSTALL_ROOT}:" Makefile +sed -i -e "s:@HAIKUSRV@:${HAIKUSRV}:" Makefile +sed -i -e "s:@LAUNCHD@:${LAUNCHD}:" Makefile +sed -i -e "s:@INSTALL_ROOT@:${INSTALL_ROOT}:" Makefile -sed -i "s:@INSTALL_OSX@:${INSTALL_OSX}:" Makefile -sed -i "s:@INSTALL_INETD_MANUAL@:${INSTALL_INETD_MANUAL}:" Makefile -sed -i "s:@INSTALL_INETD_UPDATE@:${INSTALL_INETD_UPDATE}:" Makefile -sed -i "s:@INSTALL_XINETD@:${INSTALL_XINETD}:" Makefile -sed -i "s:@INSTALL_SYSTEMD@:${INSTALL_SYSTEMD}:" Makefile -sed -i "s:@INSTALL_HAIKU@:${INSTALL_HAIKU}:" Makefile -sed -i "s:@UNINSTALL_OSX@:${UNINSTALL_OSX}:" Makefile -sed -i "s:@UNINSTALL_INETD_MANUAL@:${UNINSTALL_INETD_MANUAL}:" Makefile -sed -i "s:@UNINSTALL_INETD_UPDATE@:${UNINSTALL_INETD_UPDATE}:" Makefile -sed -i "s:@UNINSTALL_XINETD@:${UNINSTALL_XINETD}:" Makefile -sed -i "s:@UNINSTALL_SYSTEMD@:${UNINSTALL_SYSTEMD}:" Makefile -sed -i "s:@UNINSTALL_HAIKU@:${UNINSTALL_HAIKU}:" Makefile +sed -i -e "s:@INSTALL_OSX@:${INSTALL_OSX}:" Makefile +sed -i -e "s:@INSTALL_INETD_MANUAL@:${INSTALL_INETD_MANUAL}:" Makefile +sed -i -e "s:@INSTALL_INETD_UPDATE@:${INSTALL_INETD_UPDATE}:" Makefile +sed -i -e "s:@INSTALL_XINETD@:${INSTALL_XINETD}:" Makefile +sed -i -e "s:@INSTALL_SYSTEMD@:${INSTALL_SYSTEMD}:" Makefile +sed -i -e "s:@INSTALL_HAIKU@:${INSTALL_HAIKU}:" Makefile +sed -i -e "s:@UNINSTALL_OSX@:${UNINSTALL_OSX}:" Makefile +sed -i -e "s:@UNINSTALL_INETD_MANUAL@:${UNINSTALL_INETD_MANUAL}:" Makefile +sed -i -e "s:@UNINSTALL_INETD_UPDATE@:${UNINSTALL_INETD_UPDATE}:" Makefile +sed -i -e "s:@UNINSTALL_XINETD@:${UNINSTALL_XINETD}:" Makefile +sed -i -e "s:@UNINSTALL_SYSTEMD@:${UNINSTALL_SYSTEMD}:" Makefile +sed -i -e "s:@UNINSTALL_HAIKU@:${UNINSTALL_HAIKU}:" Makefile -sed -i "s:@INETD_CONF@:${INETD_CONF}:" Makefile -sed -i "s:@XINETD_CONF@:${XINETD_CONF}:" Makefile +sed -i -e "s:@INETD_CONF@:${INETD_CONF}:" Makefile +sed -i -e "s:@XINETD_CONF@:${XINETD_CONF}:" Makefile printf "done\\n"