commit:     e2db52c0bb12a79fa8369b4cabe442155710d8a8
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 18 07:03:52 2021 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu Nov 18 07:59:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2db52c0

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 <vapier <AT> gentoo.org>

 .../hercules/files/hercules-3.13-user-install.patch | 21 +++++++++++++++++++++
 app-emulation/hercules/hercules-3.13.ebuild         |  3 +++
 2 files changed, 24 insertions(+)

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
 

Reply via email to