From 0904fcc479377c4845bf22f291fa1d6673d3035f Mon Sep 17 00:00:00 2001 From: Phil Date: Sun, 13 Feb 2011 01:39:01 +0000 Subject: [PATCH] update sysvinit to 2.88 --- sysvinit/80_killall_pidof.patch | 100 -------------------------------- sysvinit/ChangeLog | 7 --- sysvinit/PKGBUILD | 37 ++++++------ sysvinit/sysvinit.install | 3 + 4 files changed, 22 insertions(+), 125 deletions(-) delete mode 100644 sysvinit/80_killall_pidof.patch delete mode 100644 sysvinit/ChangeLog create mode 100644 sysvinit/sysvinit.install diff --git a/sysvinit/80_killall_pidof.patch b/sysvinit/80_killall_pidof.patch deleted file mode 100644 index 8ffe87a5d..000000000 --- a/sysvinit/80_killall_pidof.patch +++ /dev/null @@ -1,100 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 20_pidof.dpatch by Petter Reinholdtsen -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Modify pidof to not print empty line if no pid was found. (bug: #225476) - -@DPATCH@ -diff -urNad trunk~/src/killall5.c trunk/src/killall5.c ---- trunk~/src/killall5.c 2008-03-26 09:30:38.000000000 +0100 -+++ trunk/src/killall5.c 2008-03-26 09:31:14.000000000 +0100 -@@ -378,8 +378,8 @@ - int foundone = 0; - int ok = 0; - -- /* Try to stat the executable. */ -- if (prog[0] == '/' && stat(prog, &st) == 0) dostat++; -+ if (! prog) -+ return NULL; - - /* Get basename of program. */ - if ((s = strrchr(prog, '/')) == NULL) -@@ -387,9 +387,16 @@ - else - s++; - -+ if (! *s) -+ return NULL; -+ - q = (PIDQ_HEAD *)xmalloc(sizeof(PIDQ_HEAD)); - q = init_pid_q(q); - -+ /* Try to stat the executable. */ -+ if (prog[0] == '/' && stat(prog, &st) == 0) -+ dostat++; -+ - /* First try to find a match based on dev/ino pair. */ - if (dostat) { - for (p = plist; p; p = p->next) { -@@ -404,15 +411,35 @@ - if (!foundone) for (p = plist; p; p = p->next) { - ok = 0; - -- /* Compare name (both basename and full path) */ -- ok += (p->argv0 && strcmp(p->argv0, prog) == 0); -- ok += (p->argv0 && strcmp(p->argv0base, s) == 0); -+ /* matching nonmatching -+ * proc name prog name prog name -+ * --- ----------- ------------ -+ * b b, p/b, q/b -+ * p/b b, p/b q/b -+ * -+ * Algorithm: Match if: -+ * cmd = arg -+ * or cmd = base(arg) -+ * or base(cmd) = arg -+ * -+ * Specifically, do not match just because base(cmd) = base(arg) -+ * as was done in earlier versions of this program, since this -+ * allows /aaa/foo to match /bbb/foo . -+ */ -+ ok |= -+ (p->argv0 && strcmp(p->argv0, prog) == 0) -+ || (p->argv0 && s != prog && strcmp(p->argv0, s) == 0) -+ || (p->argv0base && strcmp(p->argv0base, prog) == 0); - - /* For scripts, compare argv[1] as well. */ -- if (scripts_too && p->argv1 && -- !strncmp(p->statname, p->argv1base, STATNAMELEN)) { -- ok += (strcmp(p->argv1, prog) == 0); -- ok += (strcmp(p->argv1base, s) == 0); -+ if ( -+ scripts_too && p->statname && p->argv1base -+ && !strncmp(p->statname, p->argv1base, STATNAMELEN) -+ ) { -+ ok |= -+ (p->argv1 && strcmp(p->argv1, prog) == 0) -+ || (p->argv1 && s != prog && strcmp(p->argv1, s) == 0) -+ || (p->argv1base && strcmp(p->argv1base, prog) == 0); - } - - /* -@@ -423,7 +450,7 @@ - (p->argv0 == NULL || - p->argv0[0] == 0 || - strchr(p->argv0, ' '))) { -- ok += (strcmp(p->statname, s) == 0); -+ ok |= (strcmp(p->statname, s) == 0); - } - if (ok) add_pid_to_q(q, p); - } -@@ -548,7 +575,8 @@ - } - } - } -- printf("\n"); -+ if (!first) -+ printf("\n"); - closelog(); - return(first ? 1 : 0); - } diff --git a/sysvinit/ChangeLog b/sysvinit/ChangeLog deleted file mode 100644 index c3a1c367c..000000000 --- a/sysvinit/ChangeLog +++ /dev/null @@ -1,7 +0,0 @@ -2009-04-29 Eric Belanger - - * sysvinit 2.86-5 - * Patched pidof to prevent false positives (close FS#14428) - * FHS man pages - * Added url - * Added ChangeLog diff --git a/sysvinit/PKGBUILD b/sysvinit/PKGBUILD index a360bf6cf..e6be523d6 100644 --- a/sysvinit/PKGBUILD +++ b/sysvinit/PKGBUILD @@ -1,28 +1,29 @@ -# $Id: PKGBUILD 37188 2009-05-01 02:26:00Z eric $ -# Maintainer: Eric Belanger -# Contributor: judd +# +# Chakra Packages for Chakra, part of chakra-project.org +# +# maintainer (i686): Phil Miller +# maintainer (x86_64): Manuel Tortosa pkgname=sysvinit -pkgver=2.86 -pkgrel=5 +pkgver=2.88 +pkgrel=1 pkgdesc="Linux System V Init" arch=('i686' 'x86_64') -url="http://freshmeat.net/projects/sysvinit/" +url="http://savannah.nongnu.org/projects/sysvinit" license=('GPL') groups=('base') depends=('shadow' 'util-linux' 'coreutils' 'glibc' 'awk') -source=(ftp://ftp.cistron.nl/pub/people/miquels/${pkgname}/${pkgname}-${pkgver}.tar.gz \ - 80_killall_pidof.patch) -md5sums=('7d5d61c026122ab791ac04c8a84db967' '3d65ca1e0c47648d1d58cd2af29a1ea4') +install=sysvinit.install +source=(http://download.savannah.gnu.org/releases/sysvinit/${pkgname}-${pkgver}dsf.tar.bz2) +md5sums=('6eda8a97b86e0a6f59dabbf25202aa6f') +sha1sums=('f2ca149df1314a91f3007cccd7a0aa47d990de26') build() { - cd ${srcdir}/${pkgname}-${pkgver} - patch -p1 < ../80_killall_pidof.patch || return 1 - cp src/init.c src/init.c.backup || return 1 - sed -i 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' src/init.c || return 1 - install -d ${pkgdir}/{bin,sbin} - install -d ${pkgdir}/usr/{bin,include} - install -d ${pkgdir}/usr/share/man/man{1,5,8} - make -C src || return 1 - make -C src ROOT=${pkgdir} install || return 1 + cd "${srcdir}/${pkgname}-${pkgver}dsf" + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}dsf" + make ROOT="${pkgdir}" install } diff --git a/sysvinit/sysvinit.install b/sysvinit/sysvinit.install new file mode 100644 index 000000000..2f0e62e74 --- /dev/null +++ b/sysvinit/sysvinit.install @@ -0,0 +1,3 @@ +post_upgrade() { + [ -x sbin/init ] && sbin/init u +}