sys-process/acct: initd implement checkpath, #603606
authorWim Muskee <wimmuskee@gmail.com>
Tue, 27 Dec 2016 10:31:17 +0000 (11:31 +0100)
committerRobin H. Johnson <robbat2@gentoo.org>
Sat, 7 Jan 2017 21:32:36 +0000 (13:32 -0800)
(cherry picked from commit 34607e7a775cc87873fd4710513f923b36ba75dc)
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
sys-process/acct/acct-6.5.5-r4.ebuild [new file with mode: 0644]
sys-process/acct/acct-6.6.2-r1.ebuild [new file with mode: 0644]
sys-process/acct/files/acct.initd-r1 [new file with mode: 0644]

diff --git a/sys-process/acct/acct-6.5.5-r4.ebuild b/sys-process/acct/acct-6.5.5-r4.ebuild
new file mode 100644 (file)
index 0000000..0037b6d
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils 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 hppa ~ia64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}"/${PN}-6.5.5-cross-compile.patch \
+               "${FILESDIR}"/${PN}-6.5.5-no-gets.patch
+       eautoreconf
+}
+
+src_configure() {
+       econf --enable-linux-multiformat
+}
+
+src_install() {
+       emake install DESTDIR="${D}" || die
+       dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
+       keepdir /var/account
+       newinitd "${FILESDIR}"/acct.initd-r1 acct || die
+       newconfd "${FILESDIR}"/acct.confd acct || die
+       systemd_dounit "${FILESDIR}"/acct.service
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/acct.logrotate acct || die
+
+       # 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/acct-6.6.2-r1.ebuild b/sys-process/acct/acct-6.6.2-r1.ebuild
new file mode 100644 (file)
index 0000000..7e99af2
--- /dev/null
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools base 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 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.6.2-cross-compile.patch
+       "${FILESDIR}"/${PN}-6.6.1-no-gets.patch
+)
+
+src_prepare() {
+       base_src_prepare
+       eautoreconf
+}
+
+src_configure() {
+       econf --enable-linux-multiformat
+}
+
+src_install() {
+       default
+       keepdir /var/account
+       newinitd "${FILESDIR}"/acct.initd-r1 acct
+       newconfd "${FILESDIR}"/acct.confd acct
+       systemd_dounit "${FILESDIR}"/acct.service
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/acct.logrotate acct
+
+       # 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.initd-r1 b/sys-process/acct/files/acct.initd-r1
new file mode 100644 (file)
index 0000000..b895f22
--- /dev/null
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+extra_started_commands="report"
+
+depend() {
+       need localmount
+}
+
+checkconfig() {
+       export ACCT_LOG=${ACCT_LOG:-/var/account/pacct}
+       checkpath -f -m 600 "${ACCT_LOG}"
+       return 0
+}
+
+start() {
+       checkconfig || return 1
+
+       ebegin "Starting accounting"
+       accton "${ACCT_LOG}" >/dev/null
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping accounting"
+       accton off >/dev/null
+       eend $?
+}
+
+report() {
+       sa ${REPORT_OPTS} "${ACCT_LOG}"
+}