lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 3 Apr 2011 12:40:04 -0700 From: Randy Dunlap <rdunlap@...otime.net> To: Andreas Mohr <andi@...as.de> Cc: Sam Ravnborg <sam@...nborg.org>, Herbert Xu <herbert@...dor.apana.org.au>, Andrew Morton <akpm@...ux-foundation.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [PATCH] Re: [PATCH] eradicate bashisms in scripts/patch-kernel On Sun, 3 Apr 2011 20:58:28 +0200 Andreas Mohr wrote: > Silence a remaining annoying (or worse, irritating - "is my entire patched tree > broken now!?") bashism-related message that occurs when /bin/sh is configured > to instead deploy dash, a POSIX-compliant shell, as is the pretty much > standard case on e.g. Debian. > > # linux-2.6.38.patch-kernel_test/scripts/patch-kernel linux-2.6.38.patch-kernel_test patch-2.6 > Current kernel version is 2.6.38 ( Flesh-Eating Bats with Fangs) > ===> linux-2.6.38.patch-kernel_test/scripts/patch-kernel: line 253: [: =: unary operator expected <=== > cannot find patch file: patch-2.6.39 Hi, Are you trying to update a 2.6.38 kernel directory to 2.6.39? I'm a little confused since the command line does not say anything about 2.6.39. > --- > > Debug log of uncorrected script: > > # sh -x linux-2.6.38.patch-kernel_test/scripts/patch-kernel linux-2.6.38.patch-kernel_test patch-2.6 > + PNAME=patch-kernel > + sourcedir=linux-2.6.38.patch-kernel_test > + patchdir=patch-2.6 > + stopvers=default > + '[' linux-2.6.38.patch-kernel_test = -h -o linux-2.6.38.patch-kernel_test = --help -o '!' -r linux-2.6.38.patch-kernel_test/Makefile ']' > + for PARM in '$*' > + case $PARM in > + for PARM in '$*' > + case $PARM in > ++ mktemp ./.tmpver.XXXXXX > + TMPFILE=./.tmpver.2Yv11Y > + grep -E '^(VERSION|PATCHLEVEL|SUBLEVEL|EXTRAVERSION)' linux-2.6.38.patch-kernel_test/Makefile > + tr -d '[:blank:]' > + . ./.tmpver.2Yv11Y.1 > ++ VERSION=2 > ++ PATCHLEVEL=6 > ++ SUBLEVEL=38 > ++ EXTRAVERSION= > + rm -f ./.tmpver.2Yv11Y ./.tmpver.2Yv11Y.1 > + '[' -z 2 -o -z 6 -o -z 38 ']' > ++ grep '^NAME' linux-2.6.38.patch-kernel_test/Makefile > + NAME='NAME = Flesh-Eating Bats with Fangs' > + NAME=' Flesh-Eating Bats with Fangs' > + echo 'Current kernel version is 2.6.38 ( Flesh-Eating Bats with Fangs)' > Current kernel version is 2.6.38 ( Flesh-Eating Bats with Fangs) > + EXTRAVER= > + '[' x '!=' x ']' > + '[' default '!=' default ']' > + STOPSUBLEVEL=9999 > + STOPEXTRA=9999 > + '[' 9999 -lt 38 ']' > + '[' x '!=' x ']' > + CURRENTFULLVERSION=2.6.38 > + '[' x '!=' x ']' > + '[' 9999 -gt 38 ']' > + : > + CURRENTFULLVERSION=2.6.38 > + EXTRAVER= > + '[' = 2.6.38 ']' > linux-2.6.38.patch-kernel_test/scripts/patch-kernel: line 253: [: =: unary operator expected > + SUBLEVEL=39 > + FULLVERSION=2.6.39 > + '[' 39 -gt 9999 ']' > + patch=patch-2.6.39 > + findFile patch-2.6/patch-2.6.39 > + filebase=patch-2.6/patch-2.6.39 > + '[' -r patch-2.6/patch-2.6.39.gz ']' > + '[' -r patch-2.6/patch-2.6.39.bz ']' > + '[' -r patch-2.6/patch-2.6.39.bz2 ']' > + '[' -r patch-2.6/patch-2.6.39.zip ']' > + '[' -r patch-2.6/patch-2.6.39.Z ']' > + '[' -r patch-2.6/patch-2.6.39 ']' > + return 1 > + noFile patch-2.6.39 > + echo 'cannot find patch file: patch-2.6.39' > cannot find patch file: patch-2.6.39 > + exit 1 > > > > > Debug log of patched script (condensed to relevant parts): > > + STOPSUBLEVEL=9999 > + STOPEXTRA=9999 > + '[' 9999 -lt 38 ']' > + '[' x '!=' x ']' > + CURRENTFULLVERSION=2.6.38 > + '[' x '!=' x ']' > + '[' 9999 -gt 38 ']' > + : > + CURRENTFULLVERSION=2.6.38 > + EXTRAVER= > + '[' x = x2.6.38 ']' > + SUBLEVEL=39 > + FULLVERSION=2.6.39 > > > Since my last patch (the parent mail) happened to modify the very same line, Parent email from 2007??? wow. :) Why doesn't the debug/trace info show the value of STOPFULLVERSION? Is it empty? > I'm slightly wondering why last time it didn't exhibit this issue > (IIRC this occurred for the first time a couple months later, > perhaps in newer shell versions). > > Patch has been created on git 2.6.39-rc1, > run through checkpatch.pl, > tested to work on dash and still work on bash, > and tested to apply cleanly to 2.6.37, too. > > IMHO this is a low-priority item, > certainly not requiring service within current -rc handling, > and neither at -stable (I assume that only point versions > could make good use of this patch anyway). > IOW standard patch circulation. > I'm assuming that Sam would be the one to queue it up, > just like last time. Michal is the new kbuild maintainer, so he could queue it, or I can. > Thanks! > > Signed-off-by: Andreas Mohr <andi@...as.de> > > > diff --git a/scripts/patch-kernel b/scripts/patch-kernel > index 46a59ca..20fb25c 100755 > --- a/scripts/patch-kernel > +++ b/scripts/patch-kernel > @@ -250,7 +250,7 @@ while : # incrementing SUBLEVEL (s in v.p.s) > do > CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL" > EXTRAVER= > - if [ $STOPFULLVERSION = $CURRENTFULLVERSION ]; then > + if [ x$STOPFULLVERSION = x$CURRENTFULLVERSION ]; then > echo "Stopping at $CURRENTFULLVERSION base as requested." > break > fi Patch is OK, but I still wonder about the value of $STOPFULLVERSION. --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists