diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-07-23 19:37:24 -0700 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-07-23 19:38:15 -0700 |
commit | 1361812f3c383d5dd6e0eb7ce5f9ba41459b9cdf (patch) | |
tree | f1333fdefb781c54b7bcc99f0448b2667d0fe06b /sys-process | |
parent | dev-lang/go-bootstrap: fix keywords (diff) | |
download | gentoo-1361812f3c383d5dd6e0eb7ce5f9ba41459b9cdf.tar.gz gentoo-1361812f3c383d5dd6e0eb7ce5f9ba41459b9cdf.tar.bz2 gentoo-1361812f3c383d5dd6e0eb7ce5f9ba41459b9cdf.zip |
sys-process/acct: revbump, fix file paths
before:
$ sa -h
...
The system's default process accounting files are:
raw process accounting data: @ACCT_FILE_LOC@
summary by command name: @SAVACCT_FILE_LOC@
summary by username: @USRACCT_FILE_LOC@
after:
$ sa -h
...
The system's default process accounting files are:
raw process accounting data: /var/account/pacct
summary by command name: /var/account/savacct
summary by username: /var/account/usracct
Bug: https://bugs.gentoo.org/635262
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'sys-process')
-rw-r--r-- | sys-process/acct/acct-6.6.4-r2.ebuild | 46 | ||||
-rw-r--r-- | sys-process/acct/files/acct-6.6.4-cross-compile-fixed.patch | 232 |
2 files changed, 278 insertions, 0 deletions
diff --git a/sys-process/acct/acct-6.6.4-r2.ebuild b/sys-process/acct/acct-6.6.4-r2.ebuild new file mode 100644 index 000000000000..cd281dbfe1b5 --- /dev/null +++ b/sys-process/acct/acct-6.6.4-r2.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit autotools systemd + +DESCRIPTION="GNU system accounting utilities" +HOMEPAGE="https://savannah.gnu.org/projects/acct/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="" + +DEPEND="sys-apps/texinfo" + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.4-cross-compile-fixed.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 + + # accton in / is only a temp workaround for #239748 + dodir /sbin + mv "${ED}"/usr/sbin/accton "${ED}"/sbin/ || die +} diff --git a/sys-process/acct/files/acct-6.6.4-cross-compile-fixed.patch b/sys-process/acct/files/acct-6.6.4-cross-compile-fixed.patch new file mode 100644 index 000000000000..0b0a39ff7110 --- /dev/null +++ b/sys-process/acct/files/acct-6.6.4-cross-compile-fixed.patch @@ -0,0 +1,232 @@ +Don't generate files.h at build-time using an execution test. + +The *_LOC variables are never used in the build itself, but only in the +built code; this means that they don't need to be known to ./configure at +all. + +Since the previous method made acct not cross-compilable at all, this is +much preferred. + +Author: Diego Elio Pettenò <flameeyes@gmail.com> +Upstream: https://savannah.gnu.org/patch/?7473 + +--- a/Makefile.am ++++ b/Makefile.am +@@ -69,11 +69,6 @@ SYS_LASTCOMM = @SYS_LASTCOMM@ + SYS_AC = @SYS_AC@ + SYS_SA = @SYS_SA@ + +-WTMP_FILE_LOC = @WTMP_FILE_LOC@ +-ACCT_FILE_LOC = @ACCT_FILE_LOC@ +-SAVACCT_FILE_LOC = @SAVACCT_FILE_LOC@ +-USRACCT_FILE_LOC = @USRACCT_FILE_LOC@ +- + compare-ac: ac + @echo + @echo "Running tests for ac" +--- a/configure.ac ++++ b/configure.ac +@@ -229,97 +229,6 @@ AC_CHECK_HEADER(sys/acct.h, + AC_EGREP_HEADER([comp_t],[sys/acct.h],[AC_DEFINE(HAVE_COMP_T, 1, Define if <sys/acct.h> uses the COMP_T type.)]) + ) ] + ) +-dnl +-dnl find out where utmp/pacct are stored +-dnl +-AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +-#include <stdio.h> +-#include <stdlib.h> +-#include <sys/types.h> +-#include <stdint.h> /* GNU/kFreeBSD */ +-#include <sys/acct.h> +-#include <utmp.h> +- +-#ifndef WTMP_FILE +-# if defined(__FreeBSD__) || defined (__NetBSD__) || defined(__linux__) \ +- || defined(__FreeBSD_kernel__) || defined(__GLIBC__) +-# define WTMP_FILE "/var/log/account/wtmp" +-# else +-# if defined(sun) || defined(AMIX) +-# define WTMP_FILE "/var/adm/wtmp" +-# else +-# if defined(sgi) || defined(SVR4) +-# define WTMP_FILE "/usr/adm/wtmp" +-# else +-# define WTMP_FILE "/usr/adm/wtmp" +-# endif +-# endif +-# endif +-#endif +- +-#ifndef ACCT_FILE +-# if defined(__FreeBSD__) || defined(__linux__) \ +- || defined(__FreeBSD_kernel__) || defined(__GLIBC__) +-# define ACCT_FILE "/var/log/account/pacct" +-# else +-# if defined(__NetBSD__) +-# define ACCT_FILE "/var/log/account/acct" +-# else +-# if defined(sun) || defined(AMIX) +-# define ACCT_FILE "/var/adm/pacct" +-# else +-# if defined(sgi) || defined(SVR4) || defined(M_XENIX) +-# define ACCT_FILE "/usr/adm/pacct" +-# else +-# define ACCT_FILE "/usr/adm/acct" +-# endif +-# endif +-# endif +-# endif +-#endif +- +-#ifndef SAVACCT_FILE +-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \ +- || defined(__FreeBSD_kernel__) || defined(__GLIBC__) +-# define SAVACCT_FILE "/var/log/account/savacct" +-# else +-# if defined(sun) || defined(AMIX) +-# define SAVACCT_FILE "/var/adm/savacct" +-# else +-# if defined(sgi) || defined(SVR4) +-# define SAVACCT_FILE "/usr/adm/savacct" +-# else +-# define SAVACCT_FILE "/usr/adm/savacct" +-# endif +-# endif +-# endif +-#endif +- +-#ifndef USRACCT_FILE +-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \ +- || defined(__FreeBSD_kernel__) || defined(__GLIBC__) +-# define USRACCT_FILE "/var/log/account/usracct" +-# else +-# if defined(sun) || defined(AMIX) +-# define USRACCT_FILE "/var/adm/usracct" +-# else +-# if defined(sgi) || defined(SVR4) +-# define USRACCT_FILE "/usr/adm/usracct" +-# else +-# define USRACCT_FILE "/usr/adm/usracct" +-# endif +-# endif +-# endif +-#endif +-]], [[ +- FILE *fp; +- fp = fopen ("locs", "w"); +- fprintf (fp, "WTMP_FILE_LOC=%s\n", WTMP_FILE); +- fprintf (fp, "ACCT_FILE_LOC=%s\n", ACCT_FILE); +- fprintf (fp, "SAVACCT_FILE_LOC=%s\n", SAVACCT_FILE); +- fprintf (fp, "USRACCT_FILE_LOC=%s\n", USRACCT_FILE); +- fclose (fp); +-]])],[. ./locs; rm locs],[echo "Error -- could not locate your wtmp and acct files."; exit 1],[echo "Sorry -- you cannot cross-compile this package (FIXME)."; exit 1 ]) + + dnl types + AC_TYPE_PID_T dnl for sys/acct.h +@@ -363,12 +272,6 @@ AC_SUBST(ACCTON_MAN) + AC_SUBST(LASTCOMM_MAN) + AC_SUBST(SA_MAN) + +-dnl Substitutions for file locations +-AC_SUBST(WTMP_FILE_LOC) +-AC_SUBST(ACCT_FILE_LOC) +-AC_SUBST(SAVACCT_FILE_LOC) +-AC_SUBST(USRACCT_FILE_LOC) +- + dnl Dump the makefiles and etc. + AC_CONFIG_FILES([Makefile lib/Makefile files.h version.h]) + AC_OUTPUT +--- a/files.h.in ++++ b/files.h.in +@@ -30,10 +30,86 @@ + + #include <utmp.h> + +-#define WTMP_FILE_LOC "@WTMP_FILE_LOC@" +-#define ACCT_FILE_LOC "@ACCT_FILE_LOC@" +-#define SAVACCT_FILE_LOC "@SAVACCT_FILE_LOC@" +-#define USRACCT_FILE_LOC "@USRACCT_FILE_LOC@" ++#ifndef WTMP_FILE ++# if defined(__FreeBSD__) || defined (__NetBSD__) || defined(__linux__) \ ++ || defined(__FreeBSD_kernel__) || defined(__GLIBC__) ++# define WTMP_FILE "/var/log/wtmp" ++# else ++# if defined(sun) || defined(AMIX) ++# define WTMP_FILE "/var/adm/wtmp" ++# else ++# if defined(sgi) || defined(SVR4) ++# define WTMP_FILE "/usr/adm/wtmp" ++# else ++# define WTMP_FILE "/usr/adm/wtmp" ++# endif ++# endif ++# endif ++#endif ++ ++#ifndef ACCT_FILE ++# if defined(__FreeBSD__) || defined(__linux__) \ ++ || defined(__FreeBSD_kernel__) || defined(__GLIBC__) ++# define ACCT_FILE "/var/account/pacct" ++# else ++# if defined(__NetBSD__) ++# define ACCT_FILE "/var/log/account/acct" ++# else ++# if defined(sun) || defined(AMIX) ++# define ACCT_FILE "/var/adm/pacct" ++# else ++# if defined(sgi) || defined(SVR4) || defined(M_XENIX) ++# define ACCT_FILE "/usr/adm/pacct" ++# else ++# define ACCT_FILE "/usr/adm/acct" ++# endif ++# endif ++# endif ++# endif ++#endif ++ ++#ifndef SAVACCT_FILE ++# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \ ++ || defined(__FreeBSD_kernel__) || defined(__GLIBC__) ++# define SAVACCT_FILE "/var/account/savacct" ++# else ++# if defined(sun) || defined(AMIX) ++# define SAVACCT_FILE "/var/adm/savacct" ++# else ++# if defined(sgi) || defined(SVR4) ++# define SAVACCT_FILE "/usr/adm/savacct" ++# else ++# define SAVACCT_FILE "/usr/adm/savacct" ++# endif ++# endif ++# endif ++#endif ++ ++#ifndef USRACCT_FILE ++# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__linux__) \ ++ || defined(__FreeBSD_kernel__) || defined(__GLIBC__) ++# define USRACCT_FILE "/var/account/usracct" ++# else ++# if defined(sun) || defined(AMIX) ++# define USRACCT_FILE "/var/adm/usracct" ++# else ++# if defined(sgi) || defined(SVR4) ++# define USRACCT_FILE "/usr/adm/usracct" ++# else ++# define USRACCT_FILE "/usr/adm/usracct" ++# endif ++# endif ++# endif ++#endif ++ ++#if !defined(WTMP_FILE) || !defined(ACCT_FILE) || !defined(SAVACCT_FILE) \ ++ || !defined(USRACCT_FILE) ++#error Could not locate your wtmp and acct files. ++#endif ++#define WTMP_FILE_LOC WTMP_FILE ++#define ACCT_FILE_LOC ACCT_FILE ++#define SAVACCT_FILE_LOC SAVACCT_FILE ++#define USRACCT_FILE_LOC USRACCT_FILE + + /* Workaround for a kernel includes problem */ + #if defined(__linux__) && defined(__alpha__) |