From 7c266d7a1854b3b1b543fb35036d3e4e6c3135cf Mon Sep 17 00:00:00 2001 From: Tobias Klausmann Date: Fri, 30 Sep 2016 09:22:54 +0200 Subject: sys-process/cronbase: avoid bash complaining about null bytes Newer versions of bash warn about null bytes in command substitutions, so run-crons would generate mails with messages like this: /usr/sbin/run-crons: line 59: warning: command substitution: ignored null byte in input /usr/sbin/run-crons: line 59: warning: command substitution: ignored null byte in input /usr/sbin/run-crons: line 60: warning: command substitution: ignored null byte in input /usr/sbin/run-crons: line 60: warning: command substitution: ignored null byte in input Since the warning is not useful and the resultant string has its null bytes deleted, we might as well delete them with tr and get rid of the warning. --- sys-process/cronbase/cronbase-0.3.7-r1.ebuild | 33 --------------------------- sys-process/cronbase/cronbase-0.3.7-r2.ebuild | 33 +++++++++++++++++++++++++++ sys-process/cronbase/files/run-crons-0.3.7 | 6 +++-- 3 files changed, 37 insertions(+), 35 deletions(-) delete mode 100644 sys-process/cronbase/cronbase-0.3.7-r1.ebuild create mode 100644 sys-process/cronbase/cronbase-0.3.7-r2.ebuild (limited to 'sys-process') diff --git a/sys-process/cronbase/cronbase-0.3.7-r1.ebuild b/sys-process/cronbase/cronbase-0.3.7-r1.ebuild deleted file mode 100644 index d263aeb11e0e..000000000000 --- a/sys-process/cronbase/cronbase-0.3.7-r1.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" - -inherit user - -DESCRIPTION="base for all cron ebuilds" -HOMEPAGE="https://www.gentoo.org/" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -IUSE="" - -S=${WORKDIR} - -pkg_setup() { - enewgroup cron 16 - enewuser cron 16 -1 /var/spool/cron cron -} - -src_install() { - newsbin "${FILESDIR}"/run-crons-${PV} run-crons - - diropts -m0750 - keepdir /etc/cron.{hourly,daily,weekly,monthly} - - keepdir /var/spool/cron/lastrun - diropts -m0750 -o root -g cron - keepdir /var/spool/cron -} diff --git a/sys-process/cronbase/cronbase-0.3.7-r2.ebuild b/sys-process/cronbase/cronbase-0.3.7-r2.ebuild new file mode 100644 index 000000000000..d263aeb11e0e --- /dev/null +++ b/sys-process/cronbase/cronbase-0.3.7-r2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit user + +DESCRIPTION="base for all cron ebuilds" +HOMEPAGE="https://www.gentoo.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="" + +S=${WORKDIR} + +pkg_setup() { + enewgroup cron 16 + enewuser cron 16 -1 /var/spool/cron cron +} + +src_install() { + newsbin "${FILESDIR}"/run-crons-${PV} run-crons + + diropts -m0750 + keepdir /etc/cron.{hourly,daily,weekly,monthly} + + keepdir /var/spool/cron/lastrun + diropts -m0750 -o root -g cron + keepdir /var/spool/cron +} diff --git a/sys-process/cronbase/files/run-crons-0.3.7 b/sys-process/cronbase/files/run-crons-0.3.7 index c661c77a43fa..c5f2d9ca7b33 100755 --- a/sys-process/cronbase/files/run-crons-0.3.7 +++ b/sys-process/cronbase/files/run-crons-0.3.7 @@ -56,8 +56,10 @@ grab_lock() { # This is better than kill -0 because we can verify that it's really # another run-crons process. - cmdline1=$(cat "/proc/${cronpid}/cmdline" 2>/dev/null) || : - cmdline2=$(cat /proc/$$/cmdline) + # The tr call deletes null bytes so newer bash versions do not complain + # about them. + cmdline1=$(tr -d '\0' < "/proc/${cronpid}/cmdline" 2>/dev/null) || : + cmdline2=$(tr -d '\0' < /proc/$$/cmdline) if [ "${cmdline1}" = "${cmdline2}" ] ; then # Whoa, another run-crons is really running. return 1 -- cgit v1.2.3-65-gdbad