From a6e5196a198a67e8e92d81ba280b787da9786187 Mon Sep 17 00:00:00 2001 From: Diego Elio Pettenò Date: Tue, 4 May 2010 11:40:38 +0000 Subject: Version bump and cleanup old versions. The 3.0.6 merges most of our custom changes so it's mostly vanilla. (Portage version: 2.2_rc67/cvs/Linux x86_64) --- sys-process/fcron/ChangeLog | 10 +- sys-process/fcron/fcron-3.0.4-r1.ebuild | 250 --------------------- sys-process/fcron/fcron-3.0.4-r2.ebuild | 259 ---------------------- sys-process/fcron/fcron-3.0.6.ebuild | 262 +++++++++++++++++++++++ sys-process/fcron/files/fcron-3.0.4-docfix.patch | 36 ---- sys-process/fcron/files/fcron.init | 50 ----- 6 files changed, 271 insertions(+), 596 deletions(-) delete mode 100644 sys-process/fcron/fcron-3.0.4-r1.ebuild delete mode 100644 sys-process/fcron/fcron-3.0.4-r2.ebuild create mode 100644 sys-process/fcron/fcron-3.0.6.ebuild delete mode 100644 sys-process/fcron/files/fcron-3.0.4-docfix.patch delete mode 100755 sys-process/fcron/files/fcron.init (limited to 'sys-process') diff --git a/sys-process/fcron/ChangeLog b/sys-process/fcron/ChangeLog index 1791f7c41593..901e922a2da5 100644 --- a/sys-process/fcron/ChangeLog +++ b/sys-process/fcron/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-process/fcron # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v 1.78 2010/04/24 19:54:30 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/ChangeLog,v 1.79 2010/05/04 11:40:38 flameeyes Exp $ + +*fcron-3.0.6 (04 May 2010) + + 04 May 2010; Diego E. Pettenò + -fcron-3.0.4-r1.ebuild, -fcron-3.0.4-r2.ebuild, + -files/fcron-3.0.4-docfix.patch, +fcron-3.0.6.ebuild, -files/fcron.init: + Version bump and cleanup old versions. The 3.0.6 merges most of our custom + changes so it's mostly vanilla. 24 Apr 2010; Raúl Porcel fcron-3.0.5-r2.ebuild: Add ~arm wrt #314629 diff --git a/sys-process/fcron/fcron-3.0.4-r1.ebuild b/sys-process/fcron/fcron-3.0.4-r1.ebuild deleted file mode 100644 index 2bbccf7ad328..000000000000 --- a/sys-process/fcron/fcron-3.0.4-r1.ebuild +++ /dev/null @@ -1,250 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/fcron-3.0.4-r1.ebuild,v 1.6 2009/10/02 16:31:05 armin76 Exp $ - -inherit autotools cron pam eutils - -MY_P=${P/_/-} -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" - -LICENSE="GPL-2" -KEYWORDS="amd64 hppa ~ia64 ~mips ppc sparc x86 ~x86-fbsd" -IUSE="debug doc pam selinux" - -DEPEND="doc? ( >=app-text/docbook-dsssl-stylesheets-1.77 ) - selinux? ( sys-libs/libselinux ) - pam? ( virtual/pam )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - enewgroup fcron - enewuser fcron -1 -1 -1 fcron - rootuser=$(egetent passwd 0 | cut -d ':' -f 1) - rootgroup=$(egetent group 0 | cut -d ':' -f 1) - if useq debug; then - ewarn - ewarn "WARNING: debug USE flag active!" - ewarn "The debug USE flag makes fcron start in debug mode" - ewarn "by default, thus not detaching into background." - ewarn "This will make your system HANG on bootup if" - ewarn "fcron is to be started automatically by the" - ewarn "init system!" - ewarn - ebeep 10 - epause 60 - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - # respect LDFLAGS - sed -i "s:\(@LIBS@\):\$(LDFLAGS) \1:" Makefile.in || die "sed failed" - - ## patch check_system_crontabs to support "-c /path/to/fcron.conf" - pushd script &>/dev/null \ - && epatch "${FILESDIR}"/check_system_crontabs.fcron-config-file.patch \ - && popd &>/dev/null - - eautoreconf || die "autoreconf failed" -} - -src_compile() { - local myconf - - use doc \ - && myconf="${myconf} --with-dsssl-dir=/usr/share/sgml/stylesheets/dsssl/docbook" - - [[ -n "${rootuser}" ]] && myconf="${myconf} --with-rootname=${rootuser}" - [[ -n "${rootgroup}" ]] && myconf="${myconf} --with-rootgroup=${rootgroup}" - - econf \ - "$(useq debug || echo --with-cflags=${CFLAGS})" \ - $(use_with debug '' yes) \ - $(use_with pam) \ - $(use_with selinux) \ - --sysconfdir=/etc/fcron \ - --with-username=fcron \ - --with-groupname=fcron \ - --with-piddir=/var/run \ - --with-etcdir=/etc/fcron \ - --with-spooldir=/var/spool/fcron \ - --with-fifodir=/var/run \ - --with-fcrondyn=yes \ - --disable-checks \ - --with-editor=/usr/bin/vi \ - --with-sendmail=/usr/sbin/sendmail \ - --with-shell=/bin/sh \ - ${myconf} \ - || die "configure failed" - - emake || die "make failed" -} - -src_install() { - # cron eclass stuff - docron fcron -m0755 -o ${rootuser:-root} -g ${rootgroup:-root} - docrondir /var/spool/fcron -m6770 -o fcron -g fcron - docrontab fcrontab -m6755 -o fcron -g fcron - - # install fcron tools - insinto /usr/bin - # fcronsighup needs to be suid root, because it sends a HUP - # to the running fcron daemon - insopts -m6755 -o ${rootuser:-root} -g fcron - doins fcronsighup - insopts -m6755 -o fcron -g fcron - doins fcrondyn - - # /etc stuff - diropts -m0750 -o ${rootuser:-root} -g fcron - dodir /etc/fcron - insinto /etc/fcron - insopts -m0640 -o ${rootuser:-root} -g fcron - doins files/fcron.{allow,deny,conf} - - # install PAM files - newpamd files/fcron.pam fcron - newpamd files/fcrontab.pam fcrontab - - # install /etc/crontab and /etc/fcrontab - insopts -m0640 -o ${rootuser:-root} -g ${rootgroup:-root} - insinto /etc - doins "${FILESDIR}"/crontab "${FILESDIR}"/fcrontab - - # install init script - newinitd "${FILESDIR}"/fcron.init fcron - - # install the very handy check_system_crontabs script - dosbin script/check_system_crontabs - - # doc stuff - dodoc MANIFEST VERSION - newdoc files/fcron.conf fcron.conf.sample - dodoc "${FILESDIR}"/crontab - dodoc doc/en/txt/{readme,thanks,faq,todo,relnotes,changes}.txt - rm -f doc/en/man/*.3 # ugly hack for bitstring.3 manpage - doman doc/en/man/*.[0-9] - use doc && dohtml doc/en/HTML/*.html - - # localized docs - local LANGUAGES=$(sed -n 's:LANGUAGES =::p' doc/Makefile) - LANGUAGES="${LANGUAGES/en/}" - local lang - for lang in ${LANGUAGES}; do - hasq ${lang} ${LINGUAS} || continue - rm -f doc/${lang}/man/*.3 # ugly hack for bitstring.3 manpage - doman -i18n=${lang} doc/${lang}/man/*.[0-9] - use doc && docinto html/${lang} && dohtml doc/${lang}/HTML/*.html - done -} - -pkg_postinst() { - einfo - einfo "fcron has some important differences compared to vixie-cron:" - einfo - einfo "1. fcron stores the crontabs in ${ROOT}var/spool/fcron" - einfo " instead of ${ROOT}var/spool/cron/crontabs" - einfo - einfo "2. fcron uses a special binary file format for storing the" - einfo " crontabs in ${ROOT}var/spool/fcron/USERNAME," - einfo " but the original plain text version is saved as" - einfo " ${ROOT}var/spool/fcron/USERNAME.orig for your" - einfo " reference (and for being edited with fcrontab)." - einfo - einfo "3. fcron does not feature a system crontab in exactly the" - einfo " same way as vixie-cron does. This version of fcron" - einfo " features a crontab for a pseudo-user 'systab' for use" - einfo " as the system crontab. Running a command like" - einfo - einfo " fcrontab -u systab ${ROOT}etc/crontab" - einfo - einfo " will write ${ROOT}etc/crontab to the fcron crontabs directory as" - einfo - einfo " ${ROOT}var/spool/fcron/systab" - einfo - einfo " Please note that changes to ${ROOT}etc/crontab will not become" - einfo " active automatically! fcron also does not use the directory" - einfo " ${ROOT}etc/cron.d by default like vixie-cron does." - einfo " Fortunately, it's possible to emulate vixie-cron's behavior" - einfo " with regards to ${ROOT}etc/crontab and ${ROOT}etc/cron.d by using a" - einfo " little helper script called 'check_system_crontabs'." - einfo " The file ${ROOT}etc/fcrontab (not ${ROOT}etc/crontab!) has been set up" - einfo " to run the script once a while to check whether" - einfo " ${ROOT}etc/fcrontab, ${ROOT}etc/crontab or files in ${ROOT}etc/cron.d/ have" - einfo " changed since the last generation of the systab and" - einfo " regenerate it from those three locations as necessary." - einfo " You should now run 'check_system_crontabs' once to properly" - einfo " generate an initial systab:" - einfo - einfo " check_system_crontabs -v -i -f" - einfo - einfo " The file ${ROOT}etc/fcrontab should only be used to run that" - einfo " script in order to ensure independence from the standard" - einfo " system crontab file ${ROOT}etc/crontab." - einfo " You may of course adjust the schedule for the script" - einfo " 'check_system_crontabs' or any other setting in" - einfo " ${ROOT}etc/fcrontab as you desire." - einfo - einfo "If you do NOT want to use 'check_system_crontabs', you" - einfo "might still want to activate the use of the well known" - einfo "directories ${ROOT}etc/cron.{hourly|daily|weekly|monthly} by" - einfo "just generating a systab once from ${ROOT}etc/crontab:" - einfo - einfo " fcrontab -u systab ${ROOT}etc/crontab" - einfo - einfo "Happy fcron'ing!" - einfo - - ewarn - ewarn "Fixing permissions and ownership of ${ROOT}usr/bin/fcron{tab,dyn,sighup}" - chown fcron:fcron "${ROOT}"usr/bin/fcron{tab,dyn} >&/dev/null - chown ${rootuser:-root}:fcron "${ROOT}"usr/bin/fcronsighup >&/dev/null - chmod 6755 "${ROOT}"usr/bin/fcron{tab,dyn,sighup} >&/dev/null - ewarn "Fixing permissions and ownership of ${ROOT}etc/{fcron,fcrontab,crontab}" - chown -R ${rootuser:-root}:fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null - chmod -R g+rX,o= "${ROOT}"etc/fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null - ewarn - - ewarn - ewarn "WARNING: fcron now uses a dedicated user and group" - ewarn "'fcron' for the suid/sgid programs/files instead of" - ewarn "the user and group 'cron' that were previously used." - ewarn - ewarn "fcron usage can now only be restricted by adding users" - ewarn "to the following files instead of to the group 'cron':" - ewarn - ewarn " ${ROOT}etc/fcron/fcron.allow" - ewarn " ${ROOT}etc/fcron/fcron.deny" - ewarn - ebeep 10 - epause 10 - - if ls -1 "${ROOT}"var/spool/cron/fcrontabs/* >&/dev/null; then - ewarn - ewarn "WARNING: fcron now uses a dedicated fcron-specific" - ewarn "spooldir ${ROOT}var/spool/fcron instead of the commonly" - ewarn "used ${ROOT}var/spool/cron for several reasons." - ewarn - ewarn "Copying over existing crontabs from ${ROOT}var/spool/cron/fcrontabs" - cp "${ROOT}"var/spool/cron/fcrontabs/* "${ROOT}"var/spool/fcron/ >&/dev/null \ - || die "failed to migrate existing crontabs" - ewarn "You should now remove ${ROOT}var/spool/cron/fcrontabs!" - ewarn - ewarn "Fixing permissions and ownership of ${ROOT}var/spool/fcron" - chown root:root "${ROOT}"var/spool/fcron/* >&/dev/null - chmod 0600 "${ROOT}"var/spool/fcron/* >&/dev/null - chown fcron:fcron "${ROOT}"var/spool/fcron/*.orig >&/dev/null - chmod 0640 "${ROOT}"var/spool/fcron/*.orig >&/dev/null - ewarn - ewarn "*** YOU SHOULD IMMEDIATELY UPDATE THE" - ewarn "*** fcrontabs ENTRY IN ${ROOT}etc/fcron/fcron.conf" - ewarn "*** AND RESTART YOUR FCRON DAEMON!" - ebeep 20 - epause 10 - fi -} diff --git a/sys-process/fcron/fcron-3.0.4-r2.ebuild b/sys-process/fcron/fcron-3.0.4-r2.ebuild deleted file mode 100644 index 0cee5b10900e..000000000000 --- a/sys-process/fcron/fcron-3.0.4-r2.ebuild +++ /dev/null @@ -1,259 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/fcron-3.0.4-r2.ebuild,v 1.2 2009/10/02 16:31:05 armin76 Exp $ - -inherit autotools cron pam eutils - -MY_P=${P/_/-} -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" - -LICENSE="GPL-2" -KEYWORDS="~amd64 ~hppa ~ia64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd" -IUSE="debug doc pam selinux" - -DEPEND="doc? ( app-text/openjade - app-text/docbook-sgml - >=app-text/docbook-dsssl-stylesheets-1.77 ) - selinux? ( sys-libs/libselinux ) - pam? ( virtual/pam )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - enewgroup fcron - enewuser fcron -1 -1 -1 fcron - rootuser=$(egetent passwd 0 | cut -d ':' -f 1) - rootgroup=$(egetent group 0 | cut -d ':' -f 1) - if useq debug; then - ewarn - ewarn "WARNING: debug USE flag active!" - ewarn "The debug USE flag makes fcron start in debug mode" - ewarn "by default, thus not detaching into background." - ewarn "This will make your system HANG on bootup if" - ewarn "fcron is to be started automatically by the" - ewarn "init system!" - ewarn - ebeep 10 - epause 60 - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - # respect LDFLAGS - sed -i "s:\(@LIBS@\):\$(LDFLAGS) \1:" Makefile.in || die "sed failed" - - ## patch check_system_crontabs to support "-c /path/to/fcron.conf" - pushd script &>/dev/null \ - && epatch "${FILESDIR}"/check_system_crontabs.fcron-config-file.patch \ - && popd &>/dev/null - - ## fix SGML files - epatch "${FILESDIR}"/${P}-docfix.patch - - eautoreconf || die "autoreconf failed" -} - -src_compile() { - local myconf - - use doc \ - && myconf="${myconf} --with-dsssl-dir=/usr/share/sgml/stylesheets/dsssl/docbook --with-db2man=/usr/bin/docbook2man" - - [[ -n "${rootuser}" ]] && myconf="${myconf} --with-rootname=${rootuser}" - [[ -n "${rootgroup}" ]] && myconf="${myconf} --with-rootgroup=${rootgroup}" - - econf \ - "$(useq debug || echo --with-cflags=${CFLAGS})" \ - $(use_with debug '' yes) \ - $(use_with pam) \ - $(use_with selinux) \ - --sysconfdir=/etc/fcron \ - --with-username=fcron \ - --with-groupname=fcron \ - --with-piddir=/var/run \ - --with-etcdir=/etc/fcron \ - --with-spooldir=/var/spool/fcron \ - --with-fifodir=/var/run \ - --with-fcrondyn=yes \ - --disable-checks \ - --with-editor=/usr/bin/vi \ - --with-sendmail=/usr/sbin/sendmail \ - --with-shell=/bin/sh \ - ${myconf} \ - || die "configure failed" - - emake || die "make failed" - - use doc && { - make updatedoc || die "make updatedoc failed" - } -} - -src_install() { - # cron eclass stuff - docron fcron -m0755 -o ${rootuser:-root} -g ${rootgroup:-root} - docrondir /var/spool/fcron -m6770 -o fcron -g fcron - docrontab fcrontab -m6755 -o fcron -g fcron - - # install fcron tools - insinto /usr/bin - # fcronsighup needs to be suid root, because it sends a HUP - # to the running fcron daemon - insopts -m6755 -o ${rootuser:-root} -g fcron - doins fcronsighup - insopts -m6755 -o fcron -g fcron - doins fcrondyn - - # /etc stuff - diropts -m0750 -o ${rootuser:-root} -g fcron - dodir /etc/fcron - insinto /etc/fcron - insopts -m0640 -o ${rootuser:-root} -g fcron - doins files/fcron.{allow,deny,conf} - - # install PAM files - newpamd files/fcron.pam fcron - newpamd files/fcrontab.pam fcrontab - - # install /etc/crontab and /etc/fcrontab - insopts -m0640 -o ${rootuser:-root} -g ${rootgroup:-root} - insinto /etc - doins "${FILESDIR}"/crontab "${FILESDIR}"/fcrontab - - # install init script - newinitd "${FILESDIR}"/fcron.init fcron - - # install the very handy check_system_crontabs script - dosbin script/check_system_crontabs - - # doc stuff - dodoc MANIFEST VERSION - newdoc files/fcron.conf fcron.conf.sample - dodoc "${FILESDIR}"/crontab - dodoc doc/en/txt/{readme,thanks,faq,todo,relnotes,changes}.txt - rm -f doc/en/man/*.3 # ugly hack for bitstring.3 manpage - doman doc/en/man/*.[0-9] - use doc && dohtml doc/en/HTML/*.html - - # localized docs - local LANGUAGES=$(sed -n 's:LANGUAGES =::p' doc/Makefile) - LANGUAGES="${LANGUAGES/en/}" - local lang - for lang in ${LANGUAGES}; do - hasq ${lang} ${LINGUAS} || continue - rm -f doc/${lang}/man/*.3 # ugly hack for bitstring.3 manpage - doman -i18n=${lang} doc/${lang}/man/*.[0-9] - use doc && docinto html/${lang} && dohtml doc/${lang}/HTML/*.html - done -} - -pkg_postinst() { - elog - elog "fcron has some important differences compared to vixie-cron:" - elog - elog "1. fcron stores the crontabs in ${ROOT}var/spool/fcron" - elog " instead of ${ROOT}var/spool/cron/crontabs" - elog - elog "2. fcron uses a special binary file format for storing the" - elog " crontabs in ${ROOT}var/spool/fcron/USERNAME," - elog " but the original plain text version is saved as" - elog " ${ROOT}var/spool/fcron/USERNAME.orig for your" - elog " reference (and for being edited with fcrontab)." - elog - elog "3. fcron does not feature a system crontab in exactly the" - elog " same way as vixie-cron does. This version of fcron" - elog " features a crontab for a pseudo-user 'systab' for use" - elog " as the system crontab. Running a command like" - elog - elog " fcrontab -u systab ${ROOT}etc/crontab" - elog - elog " will write ${ROOT}etc/crontab to the fcron crontabs directory as" - elog - elog " ${ROOT}var/spool/fcron/systab" - elog - elog " Please note that changes to ${ROOT}etc/crontab will not become" - elog " active automatically! fcron also does not use the directory" - elog " ${ROOT}etc/cron.d by default like vixie-cron does." - elog " Fortunately, it's possible to emulate vixie-cron's behavior" - elog " with regards to ${ROOT}etc/crontab and ${ROOT}etc/cron.d by using a" - elog " little helper script called 'check_system_crontabs'." - elog " The file ${ROOT}etc/fcrontab (not ${ROOT}etc/crontab!) has been set up" - elog " to run the script once a while to check whether" - elog " ${ROOT}etc/fcrontab, ${ROOT}etc/crontab or files in ${ROOT}etc/cron.d/ have" - elog " changed since the last generation of the systab and" - elog " regenerate it from those three locations as necessary." - elog " You should now run 'check_system_crontabs' once to properly" - elog " generate an initial systab:" - elog - elog " check_system_crontabs -v -i -f" - elog - elog " The file ${ROOT}etc/fcrontab should only be used to run that" - elog " script in order to ensure independence from the standard" - elog " system crontab file ${ROOT}etc/crontab." - elog " You may of course adjust the schedule for the script" - elog " 'check_system_crontabs' or any other setting in" - elog " ${ROOT}etc/fcrontab as you desire." - elog - elog "If you do NOT want to use 'check_system_crontabs', you" - elog "might still want to activate the use of the well known" - elog "directories ${ROOT}etc/cron.{hourly|daily|weekly|monthly} by" - elog "just generating a systab once from ${ROOT}etc/crontab:" - elog - elog " fcrontab -u systab ${ROOT}etc/crontab" - elog - elog "Happy fcron'ing!" - elog - - ewarn - ewarn "Fixing permissions and ownership of ${ROOT}usr/bin/fcron{tab,dyn,sighup}" - chown fcron:fcron "${ROOT}"usr/bin/fcron{tab,dyn} >&/dev/null - chown ${rootuser:-root}:fcron "${ROOT}"usr/bin/fcronsighup >&/dev/null - chmod 6755 "${ROOT}"usr/bin/fcron{tab,dyn,sighup} >&/dev/null - ewarn "Fixing permissions and ownership of ${ROOT}etc/{fcron,fcrontab,crontab}" - chown -R ${rootuser:-root}:fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null - chmod -R g+rX,o= "${ROOT}"etc/fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null - ewarn - - ewarn - ewarn "WARNING: fcron now uses a dedicated user and group" - ewarn "'fcron' for the suid/sgid programs/files instead of" - ewarn "the user and group 'cron' that were previously used." - ewarn - ewarn "fcron usage can now only be restricted by adding users" - ewarn "to the following files instead of to the group 'cron':" - ewarn - ewarn " ${ROOT}etc/fcron/fcron.allow" - ewarn " ${ROOT}etc/fcron/fcron.deny" - ewarn - ebeep 10 - epause 10 - - if ls -1 "${ROOT}"var/spool/cron/fcrontabs/* >&/dev/null; then - ewarn - ewarn "WARNING: fcron now uses a dedicated fcron-specific" - ewarn "spooldir ${ROOT}var/spool/fcron instead of the commonly" - ewarn "used ${ROOT}var/spool/cron for several reasons." - ewarn - ewarn "Copying over existing crontabs from ${ROOT}var/spool/cron/fcrontabs" - cp "${ROOT}"var/spool/cron/fcrontabs/* "${ROOT}"var/spool/fcron/ >&/dev/null \ - || die "failed to migrate existing crontabs" - ewarn "You should now remove ${ROOT}var/spool/cron/fcrontabs!" - ewarn - ewarn "Fixing permissions and ownership of ${ROOT}var/spool/fcron" - chown root:root "${ROOT}"var/spool/fcron/* >&/dev/null - chmod 0600 "${ROOT}"var/spool/fcron/* >&/dev/null - chown fcron:fcron "${ROOT}"var/spool/fcron/*.orig >&/dev/null - chmod 0640 "${ROOT}"var/spool/fcron/*.orig >&/dev/null - ewarn - ewarn "*** YOU SHOULD IMMEDIATELY UPDATE THE" - ewarn "*** fcrontabs ENTRY IN ${ROOT}etc/fcron/fcron.conf" - ewarn "*** AND RESTART YOUR FCRON DAEMON!" - ebeep 20 - epause 10 - fi -} diff --git a/sys-process/fcron/fcron-3.0.6.ebuild b/sys-process/fcron/fcron-3.0.6.ebuild new file mode 100644 index 000000000000..cc6b054840f7 --- /dev/null +++ b/sys-process/fcron/fcron-3.0.6.ebuild @@ -0,0 +1,262 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/fcron-3.0.6.ebuild,v 1.1 2010/05/04 11:40:38 flameeyes Exp $ + +inherit cron pam eutils + +MY_P=${P/_/-} +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" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd" +IUSE="debug pam selinux linguas_fr" + +DEPEND="selinux? ( sys-libs/libselinux ) + pam? ( virtual/pam )" + +# see bug 282214 for the reason to depend on bash +RDEPEND="${DEPEND} + app-shells/bash + app-editors/gentoo-editor + pam? ( >=sys-auth/pambase-20100310 )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup fcron + enewuser fcron -1 -1 -1 fcron + rootuser=$(egetent passwd 0 | cut -d ':' -f 1) + rootgroup=$(egetent group 0 | cut -d ':' -f 1) +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # respect LDFLAGS + sed -i "s:\(@LIBS@\):\$(LDFLAGS) \1:" Makefile.in || die "sed failed" +} + +src_compile() { + local myconf + + # 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-flags -DDEBUG + + [[ -n "${rootuser}" ]] && myconf="${myconf} --with-rootname=${rootuser}" + [[ -n "${rootgroup}" ]] && myconf="${myconf} --with-rootgroup=${rootgroup}" + + econf \ + --with-cflags="${CFLAGS}" \ + $(use_with pam) \ + $(use_with selinux) \ + --sysconfdir=/etc/fcron \ + --with-username=fcron \ + --with-groupname=fcron \ + --with-piddir=/var/run \ + --with-spooldir=/var/spool/fcron \ + --with-fifodir=/var/run \ + --with-fcrondyn=yes \ + --disable-checks \ + --with-editor=/usr/libexec/gentoo-editor \ + --with-sendmail=/usr/sbin/sendmail \ + --with-shell=/bin/sh \ + --without-db2man --without-dsssl-dir \ + ${myconf} \ + || die "configure failed" + + emake || die "make failed" + + # bug #216460 + sed -i \ + -e 's:/usr/local/etc/fcron:/etc/fcron/fcron:g' \ + -e 's:/usr/local/etc:/etc:g' \ + -e 's:/usr/local/:/usr/:g' \ + doc/*/*/*.{txt,1,5,8,html} \ + || die "unable to fix documentation references" +} + +src_install() { + # create directories that don't have special permissions first so + # that we can play with the permissions later + dodir /usr/bin /etc /var/spool + + diropts -m6770 -o fcron -g fcron + keepdir /var/spool/fcron + + # install fcron tools + insinto /usr/bin + dosbin fcron || die + + # fcronsighup needs to be suid root, because it sends a HUP + # to the running fcron daemon + insopts -m6755 -o ${rootuser:-root} -g fcron + doins fcronsighup || die + insopts -m6755 -o fcron -g fcron + doins fcrondyn fcrontab || die + + # /etc stuff + diropts -m0750 -o ${rootuser:-root} -g fcron + dodir /etc/fcron + insinto /etc/fcron + insopts -m0640 -o ${rootuser:-root} -g fcron + doins files/fcron.{allow,deny,conf} || die + + diropts -m0755 + insopts -m0644 + + # install /etc/crontab and /etc/fcrontab + insopts -m0640 -o ${rootuser:-root} -g ${rootgroup:-root} + doins "${FILESDIR}"/crontab "${FILESDIR}"/fcrontab || die + + # install PAM files + pamd_mimic system-services fcron auth account session + cat - > "${T}"/fcrontab.pam <&/dev/null + chown ${rootuser:-root}:fcron "${ROOT}"usr/bin/fcronsighup >&/dev/null + chmod 6755 "${ROOT}"usr/bin/fcron{tab,dyn,sighup} >&/dev/null + ewarn "Fixing permissions and ownership of ${ROOT}etc/{fcron,fcrontab,crontab}" + chown -R ${rootuser:-root}:fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null + chmod -R g+rX,o= "${ROOT}"etc/fcron "${ROOT}"etc/{fcron,fcrontab,crontab} >&/dev/null + ewarn + + ewarn + ewarn "WARNING: fcron now uses a dedicated user and group" + ewarn "'fcron' for the suid/sgid programs/files instead of" + ewarn "the user and group 'cron' that were previously used." + ewarn + ewarn "fcron usage can now only be restricted by adding users" + ewarn "to the following files instead of to the group 'cron':" + ewarn + ewarn " ${ROOT}etc/fcron/fcron.allow" + ewarn " ${ROOT}etc/fcron/fcron.deny" + ewarn + + if ls -1 "${ROOT}"var/spool/cron/fcrontabs/* >&/dev/null; then + ewarn + ewarn "WARNING: fcron now uses a dedicated fcron-specific" + ewarn "spooldir ${ROOT}var/spool/fcron instead of the commonly" + ewarn "used ${ROOT}var/spool/cron for several reasons." + ewarn + ewarn "Copying over existing crontabs from ${ROOT}var/spool/cron/fcrontabs" + cp "${ROOT}"var/spool/cron/fcrontabs/* "${ROOT}"var/spool/fcron/ >&/dev/null \ + || die "failed to migrate existing crontabs" + ewarn "You should now remove ${ROOT}var/spool/cron/fcrontabs!" + ewarn + ewarn "Fixing permissions and ownership of ${ROOT}var/spool/fcron" + chown root:root "${ROOT}"var/spool/fcron/* >&/dev/null + chmod 0600 "${ROOT}"var/spool/fcron/* >&/dev/null + chown fcron:fcron "${ROOT}"var/spool/fcron/*.orig >&/dev/null + chmod 0640 "${ROOT}"var/spool/fcron/*.orig >&/dev/null + ewarn + ewarn "*** YOU SHOULD IMMEDIATELY UPDATE THE" + ewarn "*** fcrontabs ENTRY IN ${ROOT}etc/fcron/fcron.conf" + ewarn "*** AND RESTART YOUR FCRON DAEMON!" + fi + + elog "" + elog "Since version 3.0.5 the fcron init script will no longer wait for LDAP, MySQL" + elog "or PostgreSQL before starting. If you need any of these for authentication or" + elog "for jobs that are executed by fcron, please create a /etc/conf.d/fcron file to" + elog "set the rc_need variable to the list of services you should be waiting for." + elog "" +} diff --git a/sys-process/fcron/files/fcron-3.0.4-docfix.patch b/sys-process/fcron/files/fcron-3.0.4-docfix.patch deleted file mode 100644 index 3af27b22f028..000000000000 --- a/sys-process/fcron/files/fcron-3.0.4-docfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -urN fcron-3.0.4.orig/doc/en/changes.sgml fcron-3.0.4/doc/en/changes.sgml ---- fcron-3.0.4.orig/doc/en/changes.sgml 2007-11-08 10:02:42.000000000 +0100 -+++ fcron-3.0.4/doc/en/changes.sgml 2008-07-24 11:47:27.861704216 +0200 -@@ -178,6 +178,7 @@ - made fcrontab behave better when there is no space left in the - spool directory (used to truncate the fcrontab source file). - -+ - - Added a script, check_system_crontabs, to emulate Vixie cron's - behavior about /etc/crontab and /etc/cron.d. Please have a look -@@ -1135,4 +1136,4 @@ - sgml-parent-document:("fcron-doc.sgml" "book" "chapter" "sect1" "") - End: - --> -- -\ No newline at end of file -+ -diff -urN fcron-3.0.4.orig/doc/fr/changes.sgml fcron-3.0.4/doc/fr/changes.sgml ---- fcron-3.0.4.orig/doc/fr/changes.sgml 2007-11-08 10:02:42.000000000 +0100 -+++ fcron-3.0.4/doc/fr/changes.sgml 2008-07-24 11:48:12.422376403 +0200 -@@ -86,6 +86,7 @@ - made fcrontab behave better when there is no space left in the - spool directory (used to truncate the fcrontab source file). - -+ - - Added a script, check_system_crontabs, to emulate Vixie cron's - behavior about /etc/crontab and /etc/cron.d. Please have a look -@@ -1043,4 +1044,4 @@ - sgml-parent-document:("fcron-doc.sgml" "book" "chapter" "sect1" "") - End: - --> -- -\ No newline at end of file -+ diff --git a/sys-process/fcron/files/fcron.init b/sys-process/fcron/files/fcron.init deleted file mode 100755 index e57421a97b8f..000000000000 --- a/sys-process/fcron/files/fcron.init +++ /dev/null @@ -1,50 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/files/fcron.init,v 1.3 2007/04/14 15:57:05 wschlich Exp $ - -depend() { - use logger slapd mysql postgresql - need clock hostname - # provide the cron service if we are the main instance - if [ "${SVCNAME}" = "fcron" ]; then - provide cron - fi -} - -checkconfig() { - FCRON_INSTANCE=${SVCNAME##*.} - if [ -n "${FCRON_INSTANCE}" -a "${SVCNAME}" != "fcron" ]; then - FCRON_CONF=/etc/fcron/fcron.${FCRON_INSTANCE}.conf - else - FCRON_CONF=/etc/fcron/fcron.conf - fi - if [ ! -e ${FCRON_CONF} ]; then - eerror "You will need an ${FCRON_CONF} first" - eerror "There is a sample in /etc/fcron" - return 1 - fi - FCRON_PIDFILE=$(grep '^pidfile' ${FCRON_CONF} 2>/dev/null | sed -e 's:^pidfile[[:space:]]*=[[:space:]]*\(.*\)$:\1:') - FCRON_PIDFILE=${FCRON_PIDFILE:-/var/run/fcron.pid} - FCRON_SPOOLDIR=$(grep '^fcrontabs' ${FCRON_CONF} 2>/dev/null | sed -e 's:^fcrontabs[[:space:]]*=[[:space:]]*\(.*\)$:\1:') - FCRON_SPOOLDIR=${FCRON_SPOOLDIR:-/var/spool/cron/fcrontabs} - if [ ! -d ${FCRON_SPOOLDIR} ]; then - ebegin "Creating missing spooldir ${FCRON_SPOOLDIR}" - /usr/sbin/fcron --newspooldir ${FCRON_SPOOLDIR} - eend $? - fi -} - -start() { - checkconfig || return 1 - ebegin "Starting ${SVCNAME}" - start-stop-daemon --start --pidfile ${FCRON_PIDFILE} --exec /usr/sbin/fcron -- -c ${FCRON_CONF} - eend $? -} - -stop() { - checkconfig || return 1 - ebegin "Stopping ${SVCNAME}" - start-stop-daemon --stop --pidfile ${FCRON_PIDFILE} - eend $? -} -- cgit v1.2.3-65-gdbad