Message ID | a88cc4b7-273d-6d1c-6b63-06b139442878@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] policycoreutils: sestatus belongs to bin not sbin | expand |
On Thu, Feb 18, 2021 at 7:33 PM bauen1 <j2468h@googlemail.com> wrote: > > It is quite useful even to non-privileged users and doesn't require any > privileges to work, except for maybe -v. > > Some tools hard code the old path, so a compatibility symlink is also > created. > > Signed-off-by: Jonathan Hettwer <j2468h@gmail.com> > --- > policycoreutils/sestatus/Makefile | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/policycoreutils/sestatus/Makefile b/policycoreutils/sestatus/Makefile > index 8c4f45f8..e108f96f 100644 > --- a/policycoreutils/sestatus/Makefile > +++ b/policycoreutils/sestatus/Makefile > @@ -1,6 +1,7 @@ > # Installation directories. > LINGUAS ?= ru > PREFIX ?= /usr > +BINDIR ?= $(PREFIX)/bin > SBINDIR ?= $(PREFIX)/sbin > MANDIR = $(PREFIX)/share/man > ETCDIR ?= /etc > @@ -16,8 +17,13 @@ sestatus: sestatus.o > install: all > [ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8 > [ -d $(DESTDIR)$(MANDIR)/man5 ] || mkdir -p $(DESTDIR)$(MANDIR)/man5 > + -mkdir -p $(DESTDIR)$(BINDIR) > -mkdir -p $(DESTDIR)$(SBINDIR) > - install -m 755 sestatus $(DESTDIR)$(SBINDIR) > + # Some tools hardcode /usr/sbin/sestatus ; add a compatibility symlink > + # install will overwrite a symlink, so create the symlink before calling > + # install to allow distributions with BINDIR == SBINDIR > + ln -s ../bin/sestatus $(DESTDIR)$(SBINDIR) This assumes that $(BINDIR) == $(SBINDIR)/../bin, which is likely to be true but which would break if not. Moreover, not using "-f" breaks running "make install" twice: ln -s ../bin/sestatus /my-DESTDIR/usr/sbin ln: failed to create symbolic link '/my-DESTDIR/usr/sbin/sestatus': File exists To fix both these issues, you can add --relative and -f like other Makefiles in the project: ln -sf --relative $(DESTDIR)$(BINDIR)/sestatus $(DESTDIR)$(SBINDIR) Doing this seems to work fine on my test system. Could you please send a v3 with this? By the way I confirm that this v2 addresses the previous comments I made on the first version of this patch, thanks! Nicolas
diff --git a/policycoreutils/sestatus/Makefile b/policycoreutils/sestatus/Makefile index 8c4f45f8..e108f96f 100644 --- a/policycoreutils/sestatus/Makefile +++ b/policycoreutils/sestatus/Makefile @@ -1,6 +1,7 @@ # Installation directories. LINGUAS ?= ru PREFIX ?= /usr +BINDIR ?= $(PREFIX)/bin SBINDIR ?= $(PREFIX)/sbin MANDIR = $(PREFIX)/share/man ETCDIR ?= /etc @@ -16,8 +17,13 @@ sestatus: sestatus.o install: all [ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8 [ -d $(DESTDIR)$(MANDIR)/man5 ] || mkdir -p $(DESTDIR)$(MANDIR)/man5 + -mkdir -p $(DESTDIR)$(BINDIR) -mkdir -p $(DESTDIR)$(SBINDIR) - install -m 755 sestatus $(DESTDIR)$(SBINDIR) + # Some tools hardcode /usr/sbin/sestatus ; add a compatibility symlink + # install will overwrite a symlink, so create the symlink before calling + # install to allow distributions with BINDIR == SBINDIR + ln -s ../bin/sestatus $(DESTDIR)$(SBINDIR) + install -m 755 sestatus $(DESTDIR)$(BINDIR) install -m 644 sestatus.8 $(DESTDIR)$(MANDIR)/man8 install -m 644 sestatus.conf.5 $(DESTDIR)$(MANDIR)/man5 for lang in $(LINGUAS) ; do \
It is quite useful even to non-privileged users and doesn't require any privileges to work, except for maybe -v. Some tools hard code the old path, so a compatibility symlink is also created. Signed-off-by: Jonathan Hettwer <j2468h@gmail.com> --- policycoreutils/sestatus/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)