Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sys-process/acct: initd implement checkpath, #603606 #3251

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
44 changes: 44 additions & 0 deletions sys-process/acct/acct-6.5.5-r4.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
46 changes: 46 additions & 0 deletions sys-process/acct/acct-6.6.2-r1.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
34 changes: 34 additions & 0 deletions sys-process/acct/files/acct.initd-r1
Original file line number Diff line number Diff line change
@@ -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}"
}