diff options
author | Sam James <sam@gentoo.org> | 2024-03-01 06:08:16 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-03-01 07:54:39 +0000 |
commit | 038e31c37d6e59768ae7abf5083559a0950c308f (patch) | |
tree | 2b95da2675dfab6fc2f029eecea60339ec10ace1 /sys-process | |
parent | sys-libs/musl: add 1.2.5 (diff) | |
download | gentoo-038e31c37d6e59768ae7abf5083559a0950c308f.tar.gz gentoo-038e31c37d6e59768ae7abf5083559a0950c308f.tar.bz2 gentoo-038e31c37d6e59768ae7abf5083559a0950c308f.zip |
sys-process/acct: update EAPI 7 -> 8, fix _F_S=3 crash, fix startup
* EAPI 8
* Fix crash with _FORTIFY_SOURCE=3 (bug #925419)
* Use tmpfiles to create /var/accounts/pacct which fixes startup/use on new installs
* Drop ancient workaround (bug #239748)
Bug: https://bugs.gentoo.org/239748
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-process')
-rw-r--r-- | sys-process/acct/acct-6.6.4-r4.ebuild | 55 | ||||
-rw-r--r-- | sys-process/acct/files/acct-6.6.4-fortify-source-3-sprintf-buffer-overflow.patch | 15 | ||||
-rw-r--r-- | sys-process/acct/files/acct.tmpfiles | 1 |
3 files changed, 71 insertions, 0 deletions
diff --git a/sys-process/acct/acct-6.6.4-r4.ebuild b/sys-process/acct/acct-6.6.4-r4.ebuild new file mode 100644 index 000000000000..980c95891435 --- /dev/null +++ b/sys-process/acct/acct-6.6.4-r4.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd tmpfiles + +DESCRIPTION="GNU system accounting utilities" +HOMEPAGE="https://savannah.gnu.org/projects/acct/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="selinux" + +RDEPEND="selinux? ( sec-policy/selinux-acct )" +BDEPEND="sys-apps/texinfo" + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.4-cross-compile-fixed.patch + "${FILESDIR}"/${PN}-6.6.4-fortify-source-3-sprintf-buffer-overflow.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf --enable-linux-multiformat +} + +src_install() { + default + + keepdir /var/account + + newinitd "${FILESDIR}"/acct.initd-r2 acct + newconfd "${FILESDIR}"/acct.confd-r1 acct + + systemd_dounit "${FILESDIR}"/acct.service + + insinto /etc/logrotate.d + newins "${FILESDIR}"/acct.logrotate-r1 psacct + + # sys-apps/sysvinit already provides this + rm "${ED}"/usr/bin/last "${ED}"/usr/share/man/man1/last.1 || die + + newtmpfiles "${FILESDIR}"/acct.tmpfiles acct.conf +} + +pkg_postinst() { + tmpfiles_process acct.conf +} diff --git a/sys-process/acct/files/acct-6.6.4-fortify-source-3-sprintf-buffer-overflow.patch b/sys-process/acct/files/acct-6.6.4-fortify-source-3-sprintf-buffer-overflow.patch new file mode 100644 index 000000000000..83f6e33415e7 --- /dev/null +++ b/sys-process/acct/files/acct-6.6.4-fortify-source-3-sprintf-buffer-overflow.patch @@ -0,0 +1,15 @@ +https://bugs.gentoo.org/925419 +https://bugzilla.redhat.com/2190057 +https://src.fedoraproject.org/rpms/psacct/blob/rawhide/f/psacct-6.6.4-sprintf-buffer-overflow.patch + +--- a/dev_hash.c ++++ b/dev_hash.c +@@ -147,7 +147,7 @@ static void setup_devices(char *dirname) + { + char *fullname = (char *) alloca ((strlen (dirname) + + NAMLEN (dp) +- + 1) * sizeof (char)); ++ + 2) * sizeof (char)); /* slash + null; Fedora BZ#2190057 */ + + (void)sprintf (fullname, "%s/%s", dirname, dp->d_name); + if (stat (fullname, &sp)) diff --git a/sys-process/acct/files/acct.tmpfiles b/sys-process/acct/files/acct.tmpfiles new file mode 100644 index 000000000000..8f2b1e6f303c --- /dev/null +++ b/sys-process/acct/files/acct.tmpfiles @@ -0,0 +1 @@ +f /var/account/pacct 0600 - - - - |