sys-process/procps: Revbump for toprc backwards compatibility
[gentoo.git] / sys-process / at / at-3.2.1.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit autotools eutils flag-o-matic pam user systemd
7
8 MY_P="${PN}_${PV}"
9
10 DESCRIPTION="Queues jobs for later execution"
11 HOMEPAGE="http://blog.calhariz.com/tag/at https://packages.qa.debian.org/a/at.html"
12 SRC_URI="http://software.calhariz.com/at/${MY_P}.orig.tar.gz
13         mirror://debian/pool/main/a/at/${MY_P}.orig.tar.gz"
14
15 LICENSE="GPL-2"
16 SLOT="0"
17 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
18 IUSE="pam selinux"
19
20 DEPEND="virtual/mta
21         >=sys-devel/autoconf-2.64
22         sys-devel/bison
23         >=sys-devel/flex-2.5.4a
24         pam? ( sys-libs/pam )"
25 RDEPEND="virtual/mta
26         virtual/logger
27         selinux? ( sec-policy/selinux-at )"
28
29 PATCHES=(
30         "${FILESDIR}"/${PN}-3.1.8-more-deny.patch
31         "${FILESDIR}"/${PN}-3.1.14-Makefile.patch
32         # fix parallel make issues, bug #244884
33         "${FILESDIR}"/${PN}-3.1.10.2-Makefile.in-parallel-make-fix.patch
34         "${FILESDIR}"/${PN}-3.1.13-configure.in-fix-PAM-automagick-dep.patch
35         # Fix parallel make issue (bug #408375)
36         "${FILESDIR}"/${PN}-3.1.13-parallel-make-fix.patch
37         "${FILESDIR}"/${PN}-3.1.13-getloadavg.patch
38 )
39
40 pkg_setup() {
41         # Cannot be moved into pkg_preinst!
42         enewgroup at 25
43         enewuser at 25 -1 /var/spool/at/atjobs at
44 }
45
46 src_prepare() {
47         default
48         eautoreconf
49 }
50
51 src_configure() {
52         local my_conf=(
53                 --sysconfdir="${EPREFIX}"/etc/at
54                 --with-jobdir="${EPREFIX}"/var/spool/at/atjobs
55                 --with-atspool="${EPREFIX}"/var/spool/at/atspool
56                 --with-etcdir="${EPREFIX}"/etc/at
57                 --with-daemon_username=at
58                 --with-daemon_groupname=at
59                 $(usex pam '' --without-pam)
60                 $(use_with selinux)
61         )
62         econf ${my_conf[@]}
63 }
64
65 src_install() {
66         emake install IROOT="${D}"
67
68         newinitd "${FILESDIR}"/atd.rc8 atd
69         newconfd "${FILESDIR}"/atd.confd atd
70         newpamd "${FILESDIR}"/at.pamd-3.1.13-r1 atd
71
72         # Preserve existing .SEQ files (bug #386625)
73         local seq_file="${EROOT}/var/spool/at/atjobs/.SEQ"
74         if [[ -f "${seq_file}" ]] ; then
75                 einfo "Preserving existing .SEQ file (bug #386625)."
76                 cp -p "${seq_file}" "${ED}"/var/spool/at/atjobs/ || die
77         fi
78
79         systemd_dounit "${FILESDIR}/atd.service"
80         keepdir /var/spool/at/atspool
81 }
82
83 pkg_postinst() {
84         einfo "Forcing correct permissions on /var/spool/at"
85         local atspooldir="${EROOT}/var/spool/at"
86         chown at:at "${atspooldir}/atjobs"
87         chmod 1770  "${atspooldir}/atjobs"
88         chown at:at "${atspooldir}/atjobs/.SEQ"
89         chmod 0600  "${atspooldir}/atjobs/.SEQ"
90         chown at:at "${atspooldir}/atspool"
91         chmod 1770  "${atspooldir}/atspool"
92 }