From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 10 Jun 2015 14:56:38 -0400
Subject: [PATCH] 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 <pjones@redhat.com>
(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(){