From 681086e7c5050ab59ecf09c139470ee8408af6d6 Mon Sep 17 00:00:00 2001 From: Zoltan Puskas Date: Sun, 30 Jul 2023 15:30:40 -0700 Subject: sys-process/at: Fix several installation issues - Fix `at` binary ownership - Remove `pkg_postinst()` since Makefile actually sets the ownership and permissions as needed. Fix broken permission by keepdir in scr_install instead. Closes: https://bugs.gentoo.org/658460 Closes: https://bugs.gentoo.org/711598 Signed-off-by: Zoltan Puskas Closes: https://github.com/gentoo/gentoo/pull/32113 Signed-off-by: Sam James --- sys-process/at/at-3.2.5-r2.ebuild | 91 ++++++++++++++++++++++ .../at-3.2.5-Makefile.binary-permission-fix.patch | 12 +++ 2 files changed, 103 insertions(+) create mode 100644 sys-process/at/at-3.2.5-r2.ebuild create mode 100644 sys-process/at/files/at-3.2.5-Makefile.binary-permission-fix.patch (limited to 'sys-process/at') diff --git a/sys-process/at/at-3.2.5-r2.ebuild b/sys-process/at/at-3.2.5-r2.ebuild new file mode 100644 index 000000000000..b101917d2536 --- /dev/null +++ b/sys-process/at/at-3.2.5-r2.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools pam systemd + +MY_P="${PN}_${PV}" + +DESCRIPTION="Queues jobs for later execution" +HOMEPAGE="http://blog.calhariz.com/index.php/tag/at https://packages.qa.debian.org/a/at.html" +SRC_URI="http://software.calhariz.com/at/${MY_P}.orig.tar.gz + mirror://debian/pool/main/a/at/${MY_P}.orig.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="pam selinux" + +DEPEND=" + acct-group/at + acct-user/at + virtual/mta + pam? ( sys-libs/pam ) + selinux? ( sys-libs/libselinux ) +" +RDEPEND="${DEPEND} + virtual/mta + virtual/logger + selinux? ( sec-policy/selinux-at ) +" +BDEPEND=" + app-alternatives/lex + app-alternatives/yacc +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.8-more-deny.patch + "${FILESDIR}"/${PN}-3.1.14-Makefile.patch + # fix parallel make issues, bug #244884 + "${FILESDIR}"/${PN}-3.1.10.2-Makefile.in-parallel-make-fix.patch + "${FILESDIR}"/${PN}-3.1.13-configure.in-fix-PAM-automagick-dep.patch + # Fix parallel make issue (bug #408375) + "${FILESDIR}"/${PN}-3.1.13-parallel-make-fix.patch + # Fix permissions (bug #711598) + "${FILESDIR}"/${P}-Makefile.binary-permission-fix.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + --sysconfdir="${EPREFIX}"/etc/at + --with-jobdir="${EPREFIX}"/var/spool/at/atjobs + --with-atspool="${EPREFIX}"/var/spool/at/atspool + --with-etcdir="${EPREFIX}"/etc/at + --with-daemon_username=at + --with-daemon_groupname=at + $(usex pam '' --without-pam) + $(use_with selinux) + ) + econf ${myeconfargs[@]} +} + +src_install() { + default + + newinitd "${FILESDIR}"/atd.rc9 atd + newconfd "${FILESDIR}"/atd.confd atd + + if use pam ; then + newpamd "${FILESDIR}"/at.pamd-3.1.13-r1 atd + fi + + systemd_dounit "${FILESDIR}/atd.service" + keepdir /var/spool/at/atspool + # Fix permission since keepdir changes it (bug #658460) + fperms 1770 /var/spool/at/atspool +} + +pkg_preinst() { + # Preserve existing .SEQ files (bug #386625) + local seq_file="${EROOT}/var/spool/at/atjobs/.SEQ" + if [[ -f "${seq_file}" ]] ; then + einfo "Preserving existing .SEQ file (bug #386625)." + cp -p "${seq_file}" "${ED}"/var/spool/at/atjobs/ || die + fi +} diff --git a/sys-process/at/files/at-3.2.5-Makefile.binary-permission-fix.patch b/sys-process/at/files/at-3.2.5-Makefile.binary-permission-fix.patch new file mode 100644 index 000000000000..af83b6e25b37 --- /dev/null +++ b/sys-process/at/files/at-3.2.5-Makefile.binary-permission-fix.patch @@ -0,0 +1,12 @@ +diff -Naur at-3.2.5-orig/Makefile.in at-3.2.5/Makefile.in +--- at-3.2.5-orig/Makefile.in 2022-02-05 02:00:57.000000000 -0800 ++++ at-3.2.5/Makefile.in 2023-07-27 20:49:58.505824137 -0700 +@@ -114,7 +114,7 @@ + chmod 600 $(DESTDIR)$(LFILE) + chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) + test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/ +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(DESTDIR)$(bindir) ++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o root -m 6755 at $(DESTDIR)$(bindir) + $(LN_S) -f at $(DESTDIR)$(bindir)/atq + $(LN_S) -f at $(DESTDIR)$(bindir)/atrm + $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) -- cgit v1.2.3-65-gdbad