From e2db52c0bb12a79fa8369b4cabe442155710d8a8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 18 Nov 2021 02:03:52 -0500 Subject: app-emulation/hercules: fix building as non-root user Move the chown/chgrp/setuid logic to the ebuild so it works as non-root. Signed-off-by: Mike Frysinger --- .../hercules/files/hercules-3.13-user-install.patch | 21 +++++++++++++++++++++ app-emulation/hercules/hercules-3.13.ebuild | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 app-emulation/hercules/files/hercules-3.13-user-install.patch (limited to 'app-emulation') diff --git a/app-emulation/hercules/files/hercules-3.13-user-install.patch b/app-emulation/hercules/files/hercules-3.13-user-install.patch new file mode 100644 index 000000000000..bcde1181e873 --- /dev/null +++ b/app-emulation/hercules/files/hercules-3.13-user-install.patch @@ -0,0 +1,21 @@ +the ebuild will handle these, so no need to do it directly which will fail when +building as non-root. + +--- a/Makefile.am ++++ b/Makefile.am +@@ -730,15 +730,6 @@ endif + (cd $(DESTDIR)$(bindir); @LN_S@ ./dasdcopy$(EXEEXT) cfba2fba$(EXEEXT)) + rm -f $(DESTDIR)$(bindir)/cckd2ckd$(EXEEXT) + (cd $(DESTDIR)$(bindir); @LN_S@ ./dasdcopy$(EXEEXT) cckd2ckd$(EXEEXT)) +-if SETUID_HERCIFC +- chown root $(DESTDIR)$(bindir)/hercifc +-if HERCIFC_GROUPSET +- chgrp $(HERCIFC_GROUPNAME) $(DESTDIR)$(bindir)/hercifc +-endif +- chmod 0750 $(DESTDIR)$(bindir)/hercifc +- chmod +s $(DESTDIR)$(bindir)/hercifc +- rm hercifc +-endif + + uninstall-local: + diff --git a/app-emulation/hercules/hercules-3.13.ebuild b/app-emulation/hercules/hercules-3.13.ebuild index 1131976ea5ea..5e15d8d58a99 100644 --- a/app-emulation/hercules/hercules-3.13.ebuild +++ b/app-emulation/hercules/hercules-3.13.ebuild @@ -24,6 +24,7 @@ DEPEND="${RDEPEND}" PATCHES=( "${FILESDIR}"/${PN}-3.13-htmldir.patch "${FILESDIR}"/${PN}-3.13-unbundle-libltdl.patch + "${FILESDIR}"/${PN}-3.13-user-install.patch ) src_prepare() { @@ -49,6 +50,8 @@ src_install() { default dodoc RELEASE.NOTES + use suid && fperms 4711 /usr/bin/hercifc + insinto /usr/share/hercules doins hercules.cnf -- cgit v1.2.3-65-gdbad