From 0c973c36bf25a863db868d518265b5e7ee722764 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 10 Jun 2015 14:56:38 -0400 Subject: [PATCH 14/15] Make pesign-authorize-{users,groups} not be in sbin. If it's in sbin, it needs a man page. On fedora/rhel it should go in libexec, on debian probably /usr/share someplace. This change puts it in libexec and makes it so you can put that wherever you like by doing: make libexecdir=/usr/share all make libexecdir=/usr/share install install_systemd or similar. Signed-off-by: Peter Jones (cherry picked from commit 8854461314f1d908dfb3e46a1654b731709df309) --- Make.defaults | 3 ++- src/Makefile | 16 ++++++++++------ src/{pesign.service => pesign.service.in} | 4 ++-- src/{pesign.sysvinit => pesign.sysvinit.in} | 4 ++-- 4 files changed, 16 insertions(+), 11 deletions(-) rename src/{pesign.service => pesign.service.in} (55%) rename src/{pesign.sysvinit => pesign.sysvinit.in} (92%) diff --git a/Make.defaults b/Make.defaults index 5ff74ee..125487e 100644 --- a/Make.defaults +++ b/Make.defaults @@ -12,7 +12,8 @@ LDFLAGS = -nostdlib CCLDFLAGS = -shared INSTALL = install # XXX this is broken -bindir = /usr/bin/ +bindir = $(PREFIX)/bin/ +libexecdir = $(PREFIX)/libexec CC = $(bindir)gcc AS = $(bindir)as diff --git a/src/Makefile b/src/Makefile index 6b1e582..41a622f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -10,7 +10,8 @@ LDFLAGS = CCLDFLAGS = -L../libdpe $(foreach pklib,$(PKLIBS), $(shell pkg-config --libs-only-L $(pklib))) -pie -fPIE -Wl,-z,relro,-z,now BUILDFLAGS += -I../include/ $(foreach pklib,$(PKLIBS), $(shell pkg-config --cflags $(pklib))) -Werror -fPIE -TARGETS = pesign authvar client efisiglist efikeygen peverify +TARGETS = pesign authvar client efisiglist efikeygen peverify \ + pesign.service pesign.sysvinit all : $(TARGETS) @@ -57,6 +58,9 @@ fuzzsocket : $(fuzzsocket_OBJECTS) -lrt DEPS = $(generic_DEPS) $(authvar_DEPS) $(pesign_DEPS) $(client_DEPS) \ $(peverify_DEPS) $(efisiglist_DEPS) $(efikeygen_DEPS) +pesign.sysvinit pesign.service : % : %.in + sed -e "s,@@LIBEXECDIR@@,$(libexecdir),g" $< > $@ + deps : $(DEPS) depclean : @@ -67,19 +71,19 @@ depclean : clean : depclean @rm -rfv *.o *.a *.so $(TARGETS) -install_systemd: +install_systemd: pesign.service $(INSTALL) -d -m 755 $(INSTALLROOT)/usr/lib/tmpfiles.d/ $(INSTALL) -m 644 tmpfiles.conf $(INSTALLROOT)/usr/lib/tmpfiles.d/pesign.conf $(INSTALL) -d -m 755 $(INSTALLROOT)/usr/lib/systemd/system/ $(INSTALL) -m 644 pesign.service $(INSTALLROOT)/usr/lib/systemd/system/ - $(INSTALL) -d -m 755 $(INSTALLROOT)$(PREFIX)/sbin/ - $(INSTALL) -m 755 pesign-authorize-users $(INSTALLROOT)$(PREFIX)/sbin/pesign-authorize-users - $(INSTALL) -m 755 pesign-authorize-groups $(INSTALLROOT)$(PREFIX)/sbin/pesign-authorize-groups + $(INSTALL) -d -m 755 $(INSTALLROOT)$(libexecdir)/pesign/ + $(INSTALL) -m 755 pesign-authorize-users $(INSTALLROOT)$(libexecdir)/pesign/pesign-authorize-users + $(INSTALL) -m 755 pesign-authorize-groups $(INSTALLROOT)$(libexecdir)/pesign/pesign-authorize-groups $(INSTALL) -d -m 700 $(INSTALLROOT)/etc/pesign $(INSTALL) -m 600 /dev/null $(INSTALLROOT)/etc/pesign/users $(INSTALL) -m 600 /dev/null $(INSTALLROOT)/etc/pesign/groups -install_sysvinit: +install_sysvinit: pesign.sysvinit $(INSTALL) -d -m 755 $(INSTALLROOT)/etc/rc.d/init.d/ $(INSTALL) -m 755 pesign.sysvinit $(INSTALLROOT)/etc/rc.d/init.d/pesign diff --git a/src/pesign.service b/src/pesign.service.in similarity index 55% rename from src/pesign.service rename to src/pesign.service.in index d6a412e..aaa408e 100644 --- a/src/pesign.service +++ b/src/pesign.service.in @@ -6,5 +6,5 @@ PrivateTmp=true Type=forking PIDFile=/var/run/pesign.pid ExecStart=/usr/bin/pesign --daemonize -ExecStartPost=/usr/sbin/pesign-authorize-users -ExecStartPost=/usr/sbin/pesign-authorize-groups +ExecStartPost=@@LIBEXECDIR@@/pesign/pesign-authorize-users +ExecStartPost=@@LIBEXECDIR@@/pesign/pesign-authorize-groups diff --git a/src/pesign.sysvinit b/src/pesign.sysvinit.in similarity index 92% rename from src/pesign.sysvinit rename to src/pesign.sysvinit.in index 6f20560..d8fffca 100644 --- a/src/pesign.sysvinit +++ b/src/pesign.sysvinit.in @@ -24,8 +24,8 @@ start(){ RETVAL=$? echo touch /var/lock/subsys/pesign - /usr/sbin/pesign-authorize-users - /usr/sbin/pesign-authorize-groups + @@LIBEXECDIR@@/pesign/pesign-authorize-users + @@LIBEXECDIR@@/pesign/pesign-authorize-groups } stop(){ -- 2.5.5