diff options
author | V3n3RiX <venerix@koprulu.sector> | 2021-10-20 10:22:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2021-10-20 10:22:14 +0100 |
commit | 46eedbedafdb0040c37884982d4c775ce277fb7b (patch) | |
tree | db33a91259730be84999e13a8d8168c799f50ac0 /sys-process/fcron | |
parent | e23a08d0c97a0cc415aaa165da840b056f93c997 (diff) |
gentoo resync : 20.10.2021
Diffstat (limited to 'sys-process/fcron')
-rw-r--r-- | sys-process/fcron/Manifest | 2 | ||||
-rw-r--r-- | sys-process/fcron/fcron-3.2.1-r7.ebuild | 266 | ||||
-rw-r--r-- | sys-process/fcron/fcron-3.3.0_beta-r4.ebuild | 270 |
3 files changed, 538 insertions, 0 deletions
diff --git a/sys-process/fcron/Manifest b/sys-process/fcron/Manifest index 157467be71d8..c0d54f236d7c 100644 --- a/sys-process/fcron/Manifest +++ b/sys-process/fcron/Manifest @@ -10,5 +10,7 @@ DIST fcron-3.2.1.src.tar.gz 601142 BLAKE2B 184b74f9d64186b7d3aae87d48ed0107525fd DIST fcron-3.3.0_beta.tar.gz 592481 BLAKE2B b862dac8e70621e299ec2fbbc75a0e8843e7a085190fa7a18f9444f6f41f28cf55ef0dcd7234a388b9b3e6689f25019a581ded2ae6002643bb3dc472a59207bb SHA512 e5b76e23af774997d9ee1ef58d17009cea95d10b19a2d22b550b178a39bb7c439c055b440eb99c4286db6622901e5deb029318e4425e8cd098766452ffc15bc6 EBUILD fcron-3.2.1-r4.ebuild 6984 BLAKE2B a0ffbc0ff0c143eff057010923b90a0fe379c8d9d55e756d7fc9b13ee68390aaf4aed26894bda92ccf5cfe2276a1269db8f517a9adba0aace662dfecee796790 SHA512 a44daaee4c1d15644427faa1f345b7c141e5c3bb27406f2b4a4ccb9c2819cd951a6fd475d508be3f485cb7acc34aaba4581b9527442de3a0e2865258b0c56a52 EBUILD fcron-3.2.1-r5.ebuild 7093 BLAKE2B 7bcc217ad1f34b2991a3a35a629123667fb63c0c488df39ee94fc93538f4186f548faed125a717b0c0bce06fbad25289112593cf23f03a8cb5d25de49c222c79 SHA512 6d6815b015b5e20d8ebab26c3736aa8a503f42b5987e30c71ee3134bc1f6735e3aa8f442f16288f535c8febe16ee8d1dde878575ad5b6b07896175347116445c +EBUILD fcron-3.2.1-r7.ebuild 7075 BLAKE2B 6472923241aff7fcc468bf82c39a6eb9885b90a05205f2b6294bb8c386da127f691aebf16a24a9a42cdf1d342141658b53f87e6e2ccb2d7091747086661fccbf SHA512 7e2fa6c6581fb785ac876238d9a5888bfd220932d4ceb36b573d8f989a4463ec89566aa1293805e6b8c91455711becfe0d03777929db07e1a0aa7ccd2edf2e64 EBUILD fcron-3.3.0_beta-r2.ebuild 7120 BLAKE2B 5397bbb8a5283761ca7df55dc24aab398d3a6c20837261e9070e465a08c50e09a8a01f84d47782ec87e047838f553b30dac9f92d6895e510c4b97a9f6052aa43 SHA512 218af6c1327b7c71bb69cb17090d0ccd89176f0abb8a1704ab9a6d94e0a056884f03c153a57604e0fdc1d2c21a4f569dc30d9ee9a359025e523edaf89ac192e7 +EBUILD fcron-3.3.0_beta-r4.ebuild 7099 BLAKE2B c3fe2e0c251eb00a54de3e072a91a6786c81b8ef092dd58bcc7fce767dbc16369db239df01a0429da23f6afa918036df0f60b6cf6169251b9e01ed9f52c71ea0 SHA512 9fdf7d8bb1c6713c2558a015f8aba1372ca5bf79eeb40551395f94f184ae5ae9e7ef986ab0c12315da017ef4f280866b5e4cc897a5b8fb6c0b62cd9e13cd57e6 MISC metadata.xml 1237 BLAKE2B 1b5d016860601bc59b5d896e51636846728e442f9f4a89bfe484d50c55016491428365eb10da059d39858d52f80e4744fb3a7a9999317ca28e32197a97ce7ebf SHA512 7c465f650ba3fc3608cc57bb8bef4f479cd4102a384ae6b9db83d19306f536f3d52eb729a4aeda98f5c6cf9996c68018dba5424776eb2e3b8c82e60140178340 diff --git a/sys-process/fcron/fcron-3.2.1-r7.ebuild b/sys-process/fcron/fcron-3.2.1-r7.ebuild new file mode 100644 index 000000000000..0d71756ff300 --- /dev/null +++ b/sys-process/fcron/fcron-3.2.1-r7.ebuild @@ -0,0 +1,266 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +WANT_AUTOMAKE="none" + +inherit autotools cron flag-o-matic pam systemd user-info + +DESCRIPTION="A command scheduler with extended capabilities over cron and anacron" +HOMEPAGE="http://fcron.free.fr/" +SRC_URI="http://fcron.free.fr/archives/${P}.src.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="audit debug pam selinux l10n_fr +mta +system-crontab readline" + +DEPEND=" + acct-group/fcron + acct-user/fcron + virtual/libcrypt:= + audit? ( sys-process/audit ) + pam? ( sys-libs/pam ) + readline? ( sys-libs/readline:= ) + selinux? ( sys-libs/libselinux ) +" + +RDEPEND=" + ${DEPEND} + app-misc/editor-wrapper + mta? ( virtual/mta ) + pam? ( sys-auth/pambase ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.1-noreadline.patch + "${FILESDIR}"/${PN}-3.2.1-configure-fix-audit-parameter-check.patch + "${FILESDIR}"/${PN}-3.2.1-musl-getopt-order.patch +) + +pkg_setup() { + rootuser=$(egetent passwd 0 | cut -d ':' -f 1) + [[ ${rootuser} ]] || rootuser=root + rootgroup=$(egetent group 0 | cut -d ':' -f 1) + [[ ${rootgroup} ]] || rootgroup=root +} + +src_prepare() { + default + + # respect LDFLAGS + sed "s:\(@LIBS@\):\$(LDFLAGS) \1:" -i Makefile.in || die "sed failed" + + # Adjust fcrontab path + sed -e 's:/etc/fcrontab:/etc/fcron/fcrontab:' -i script/check_system_crontabs.sh || die + + mv configure.in configure.ac || die + + cp "${FILESDIR}"/crontab.2 "${WORKDIR}"/crontab || die + + eautoconf +} + +src_configure() { + # Don't try to pass --with-debug as it'll play with cflags as + # well, and run foreground which is a _very_ nasty idea for + # Gentoo. + use debug && append-cppflags -DDEBUG + + # bindir is used just for calling fcronsighup + local myeconfargs=( + --with-cflags="${CFLAGS}" + --bindir=/usr/libexec + --sbindir=/usr/libexec + $(use_with audit) + $(use_with mta sendmail) + $(use_with pam) + $(use_with readline) + $(use_with selinux) + --sysconfdir=/etc/fcron + --with-username=fcron + --with-groupname=fcron + --with-piddir=/run + --with-spooldir=/var/spool/fcron + --with-fifodir=/run + --with-fcrondyn=yes + --disable-checks + --with-editor=/usr/libexec/editor + --with-shell=/bin/sh + --without-db2man + --without-dsssl-dir + --with-rootname=${rootuser} + --with-rootgroup=${rootgroup} + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + default + + # bug #216460 + sed \ + -e 's:/usr/local/etc/fcron:/etc/fcron/fcron:g' \ + -e 's:/usr/local/etc:/etc:g' \ + -e 's:/usr/local/:/usr/:g' \ + -i doc/*/*/*.{txt,1,5,8,html} \ + || die "unable to fix documentation references" +} + +src_install() { + keepdir /var/spool/fcron + + exeinto /usr/libexec + doexe fcron fcronsighup + + dobin fcrondyn fcrontab + + insinto /etc/fcron + doins files/fcron.{allow,deny,conf} + + if use system-crontab; then + dosym fcrontab /usr/bin/crontab + + exeinto /usr/libexec + newexe script/check_system_crontabs.sh check_system_crontabs + + insinto /etc/fcron + newins "${FILESDIR}"/fcrontab.2 fcrontab + + fowners ${rootuser}:fcron /etc/fcron/fcrontab + fperms 0640 /etc/fcron/fcrontab + + insinto /etc + newins "${FILESDIR}"/crontab.2 crontab + fi + + fowners fcron:fcron \ + /var/spool/fcron \ + /usr/bin/fcron{dyn,tab} + + # fcronsighup needs to be suid root, because it sends a HUP to the + # running fcron daemon, but only has to be called by the fcron group + # anyway + fowners ${rootuser}:fcron \ + /usr/libexec/fcronsighup \ + /etc/fcron/fcron.{allow,deny,conf} \ + /etc/fcron + + fperms 6770 /var/spool/fcron + fperms 6775 /usr/bin/fcron{dyn,tab} + + fperms 4710 /usr/libexec/fcronsighup + + fperms 0750 /etc/fcron + fperms 0640 /etc/fcron/fcron.{allow,deny,conf} + + use pam && pamd_mimic system-services fcron auth account session + cat > "${T}"/fcrontab.pam <<- EOF + # Don't ask for the user's password; fcrontab will only allow to + # change user if running as root. + auth sufficient pam_permit.so + + # Still use the system-auth stack for account and session as the + # sysadmin might have set up stuff properly, and also avoids + # sidestepping limits (since fcrontab will run \$EDITOR). + account include system-auth + session include system-auth + EOF + use pam && newpamd "${T}"/fcrontab.pam fcrontab + + newinitd "${FILESDIR}"/fcron.init-r5 fcron + systemd_newunit "${S}/script/fcron.init.systemd" fcron.service + + newconfd "${FILESDIR}"/fcron.confd fcron + + local DOCS=( MANIFEST VERSION "${WORKDIR}/crontab") + DOCS+=( doc/en/txt/{readme,thanks,faq,todo,relnotes,changes}.txt ) + + local HTML_DOCS=( doc/en/HTML/. ) + + einstalldocs + + newdoc files/fcron.conf fcron.conf.sample + doman doc/en/man/*.{1,5,8} + + for lang in fr; do + use l10n_${lang} || continue + + doman -i18n=${lang} doc/${lang}/man/*.{1,5,8} + + docinto html/${lang} + dodoc -r doc/${lang}/HTML/. + done +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Make sure you execute" + elog "" + elog " # emerge --config ${CATEGORY}/${PN}" + elog "" + elog "to install the default systab on this system." + else + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "3.2.1" -le ${v}; then + # This is an upgrade + + elog "fcron's default systab was updated since your last installation." + elog "You can use" + elog "" + elog " # emerge --config ${CATEGORY}/${PN}" + elog "" + elog "to re-install systab (do not call this command before you" + elog "have merged your configuration files)." + + # Show this elog only once + break + fi + done + fi + + if ! use system-crontab; then + echo "" + ewarn "Remember that fcron will *not* use /etc/cron.d in this configuration" + ewarn "due to USE=-system-crontab!" + echo "" + fi +} + +pkg_config() { + if [[ $(fcrontab -l -u systab 2>/dev/null) ]]; then + eerror "We're not going to make any change to your systab as long as" + eerror "it contains data; please clear it before proceeding." + eerror "You can do that with" + eerror "" + eerror " # fcrontab -u systab -r" + eerror "" + eerror "However you are advised to do this by hand to review existing" + eerror "systab just in case." + return 1 + fi + + if use system-crontab; then + elog "This is going to set up fcron to execute check_system_crontabs." + elog "In this configuration, /etc/crontab and /etc/cron.d are respected." + elog "Per default fcron will check for modifications every 10 minutes." + /usr/libexec/check_system_crontabs -v -i -f + else + elog "This is going to set up fcron to set up a default systab that" + elog "executes /etc/cron.{hourly,daily,weekly,monthly} but will ignore" + elog "/etc/crontab and /etc/cron.d." + fcrontab -u systab - <<- EOF + !serial(true) + 00 * * * * /bin/rm -f /var/spool/cron/lastrun/cron.hourly + 00 00 * * * /bin/rm -f /var/spool/cron/lastrun/cron.daily + 00 00 * * 6 /bin/rm -f /var/spool/cron/lastrun/cron.weekly + 00 00 1 * * /bin/rm -f /var/spool/cron/lastrun/cron.monthly + */10 * * * * /usr/bin/test -x /usr/sbin/run-crons && /usr/sbin/run-crons + !serial(false) + EOF + fi +} diff --git a/sys-process/fcron/fcron-3.3.0_beta-r4.ebuild b/sys-process/fcron/fcron-3.3.0_beta-r4.ebuild new file mode 100644 index 000000000000..857880e1ae42 --- /dev/null +++ b/sys-process/fcron/fcron-3.3.0_beta-r4.ebuild @@ -0,0 +1,270 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +WANT_AUTOMAKE="none" + +inherit autotools cron flag-o-matic pam systemd user-info + +MY_PV="${PV/_beta/}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="A command scheduler with extended capabilities over cron and anacron" +HOMEPAGE="http://fcron.free.fr/" +SRC_URI="http://fcron.free.fr/archives/${MY_P}.src.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +KEYWORDS="~riscv" +IUSE="audit debug pam selinux l10n_fr +mta +system-crontab readline" + +DEPEND=" + acct-group/fcron + acct-user/fcron + virtual/libcrypt:= + audit? ( sys-process/audit ) + pam? ( sys-libs/pam ) + readline? ( sys-libs/readline:= ) + selinux? ( sys-libs/libselinux ) +" + +RDEPEND=" + ${DEPEND} + app-misc/editor-wrapper + mta? ( virtual/mta ) + pam? ( sys-auth/pambase ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.1-noreadline.patch + "${FILESDIR}"/${PN}-3.2.1-configure-fix-audit-parameter-check.patch + "${FILESDIR}"/${PN}-3.2.1-musl-getopt-order.patch +) + +pkg_setup() { + rootuser=$(egetent passwd 0 | cut -d ':' -f 1) + [[ ${rootuser} ]] || rootuser=root + rootgroup=$(egetent group 0 | cut -d ':' -f 1) + [[ ${rootgroup} ]] || rootgroup=root +} + +src_prepare() { + default + + # respect LDFLAGS + sed "s:\(@LIBS@\):\$(LDFLAGS) \1:" -i Makefile.in || die "sed failed" + + # Adjust fcrontab path + sed -e 's:/etc/fcrontab:/etc/fcron/fcrontab:' -i script/check_system_crontabs.sh || die + + mv configure.in configure.ac || die + + cp "${FILESDIR}"/crontab.2 "${WORKDIR}"/crontab || die + + eautoconf +} + +src_configure() { + # Don't try to pass --with-debug as it'll play with cflags as + # well, and run foreground which is a _very_ nasty idea for + # Gentoo. + use debug && append-cppflags -DDEBUG + + # bindir is used just for calling fcronsighup + local myeconfargs=( + --with-cflags="${CFLAGS}" + --bindir=/usr/libexec + --sbindir=/usr/libexec + $(use_with audit) + $(use_with mta sendmail) + $(use_with pam) + $(use_with readline) + $(use_with selinux) + --sysconfdir=/etc/fcron + --with-username=fcron + --with-groupname=fcron + --with-piddir=/run + --with-spooldir=/var/spool/fcron + --with-fifodir=/run + --with-fcrondyn=yes + --disable-checks + --with-editor=/usr/libexec/editor + --with-shell=/bin/sh + --without-db2man + --without-dsssl-dir + --with-rootname=${rootuser} + --with-rootgroup=${rootgroup} + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + default + + # bug #216460 + sed \ + -e 's:/usr/local/etc/fcron:/etc/fcron/fcron:g' \ + -e 's:/usr/local/etc:/etc:g' \ + -e 's:/usr/local/:/usr/:g' \ + -i doc/*/*/*.{txt,1,5,8,html} \ + || die "unable to fix documentation references" +} + +src_install() { + keepdir /var/spool/fcron + + exeinto /usr/libexec + doexe fcron fcronsighup + + dobin fcrondyn fcrontab + + insinto /etc/fcron + doins files/fcron.{allow,deny,conf} + + if use system-crontab; then + dosym fcrontab /usr/bin/crontab + + exeinto /usr/libexec + newexe script/check_system_crontabs.sh check_system_crontabs + + insinto /etc/fcron + newins "${FILESDIR}"/fcrontab.2 fcrontab + + fowners ${rootuser}:fcron /etc/fcron/fcrontab + fperms 0640 /etc/fcron/fcrontab + + insinto /etc + newins "${FILESDIR}"/crontab.2 crontab + fi + + fowners fcron:fcron \ + /var/spool/fcron \ + /usr/bin/fcron{dyn,tab} + + # fcronsighup needs to be suid root, because it sends a HUP to the + # running fcron daemon, but only has to be called by the fcron group + # anyway + fowners ${rootuser}:fcron \ + /usr/libexec/fcronsighup \ + /etc/fcron/fcron.{allow,deny,conf} \ + /etc/fcron + + fperms 6770 /var/spool/fcron + fperms 6775 /usr/bin/fcron{dyn,tab} + + fperms 4710 /usr/libexec/fcronsighup + + fperms 0750 /etc/fcron + fperms 0640 /etc/fcron/fcron.{allow,deny,conf} + + use pam && pamd_mimic system-services fcron auth account session + cat > "${T}"/fcrontab.pam <<- EOF + # Don't ask for the user's password; fcrontab will only allow to + # change user if running as root. + auth sufficient pam_permit.so + + # Still use the system-auth stack for account and session as the + # sysadmin might have set up stuff properly, and also avoids + # sidestepping limits (since fcrontab will run \$EDITOR). + account include system-auth + session include system-auth + EOF + use pam && newpamd "${T}"/fcrontab.pam fcrontab + + newinitd "${FILESDIR}"/fcron.init-r5 fcron + systemd_newunit "${S}/script/fcron.init.systemd" fcron.service + + newconfd "${FILESDIR}"/fcron.confd fcron + + local DOCS=( MANIFEST VERSION "${WORKDIR}/crontab") + DOCS+=( doc/en/txt/{readme,thanks,faq,todo,relnotes,changes}.txt ) + + local HTML_DOCS=( doc/en/HTML/. ) + + einstalldocs + + newdoc files/fcron.conf fcron.conf.sample + doman doc/en/man/*.{1,5,8} + + for lang in fr; do + use l10n_${lang} || continue + + doman -i18n=${lang} doc/${lang}/man/*.{1,5,8} + + docinto html/${lang} + dodoc -r doc/${lang}/HTML/. + done +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Make sure you execute" + elog "" + elog " # emerge --config ${CATEGORY}/${PN}" + elog "" + elog "to install the default systab on this system." + else + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "3.2.1" -le ${v}; then + # This is an upgrade + + elog "fcron's default systab was updated since your last installation." + elog "You can use" + elog "" + elog " # emerge --config ${CATEGORY}/${PN}" + elog "" + elog "to re-install systab (do not call this command before you" + elog "have merged your configuration files)." + + # Show this elog only once + break + fi + done + fi + + if ! use system-crontab; then + echo "" + ewarn "Remember that fcron will *not* use /etc/cron.d in this configuration" + ewarn "due to USE=-system-crontab!" + echo "" + fi +} + +pkg_config() { + if [[ $(fcrontab -l -u systab 2>/dev/null) ]]; then + eerror "We're not going to make any change to your systab as long as" + eerror "it contains data; please clear it before proceeding." + eerror "You can do that with" + eerror "" + eerror " # fcrontab -u systab -r" + eerror "" + eerror "However you are advised to do this by hand to review existing" + eerror "systab just in case." + return 1 + fi + + if use system-crontab; then + elog "This is going to set up fcron to execute check_system_crontabs." + elog "In this configuration, /etc/crontab and /etc/cron.d are respected." + elog "Per default fcron will check for modifications every 10 minutes." + /usr/libexec/check_system_crontabs -v -i -f + else + elog "This is going to set up fcron to set up a default systab that" + elog "executes /etc/cron.{hourly,daily,weekly,monthly} but will ignore" + elog "/etc/crontab and /etc/cron.d." + fcrontab -u systab - <<- EOF + !serial(true) + 00 * * * * /bin/rm -f /var/spool/cron/lastrun/cron.hourly + 00 00 * * * /bin/rm -f /var/spool/cron/lastrun/cron.daily + 00 00 * * 6 /bin/rm -f /var/spool/cron/lastrun/cron.weekly + 00 00 1 * * /bin/rm -f /var/spool/cron/lastrun/cron.monthly + */10 * * * * /usr/bin/test -x /usr/sbin/run-crons && /usr/sbin/run-crons + !serial(false) + EOF + fi +} |