Your message dated Sun, 16 Mar 2008 17:17:03 +0000 with message-id <[EMAIL PROTECTED]> and subject line Bug#469050: fixed in devscripts 2.10.19 has caused the Debian Bug report #469050, regarding [checkbashisms] More tests to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [EMAIL PROTECTED] immediately.) -- 469050: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469050 Debian Bug Tracking System Contact [EMAIL PROTECTED] with problems
--- Begin Message ---Package: devscripts Version: 2.10.18.1 Severity: wishlist User: [EMAIL PROTECTED] Usertags: checkbashisms Tags: patch Attached is a .diff which adds the following checks: '(?:^|\s+)suspend\s' => q<suspend>, '(?:^|\s+)caller\s' => q<caller>, '(?:^|\s+)complete\s' => q<complete>, '(?:^|\s+)compgen\s' => q<compgen>, '(?:^|\s+)declare\s' => q<declare>, '(?:^|\s+)typeset\s' => q<typset>, '(?:^|\s+)disown\s' => q<disown>, '(?:^|\s+)builtin\s' => q<builtin>, '(?:^|\s+)set\s+-[BHT]+' => q<set -[BHT]>, '(?:^|\s+)alias\s+-p' => q<alias -p>, '(?:^|\s+)unalias\s+-a' => q<unalias -a>, '(?:^|\s+)local\s+(-[a-zA-Z]+)' => q<local -opt>, '(?:^|\s+)local\s+[^=;)}]+=' => q<local foo=bar>, Policy requires 'local' to be implemented, but local -r foo, local foo=bar, and such are extras. '\$BASH(_[A-Z]+)?\b' => q<$BASH(_SOMETHING)>, Obvious but helpful to detect whether the script checks if the interpreter is bash before using a bashism. Tests: $ /usr/bin/checkbashisms --version | head -n1 This is checkbashisms, from the Debian devscripts package, version 2.10.18.1 $ checkbashisms --version | head -n1 This is checkbashisms, from the Debian devscripts package, version 2.10.18.1 EXP $ cat bashisms #!/bin/sh bar() { caller } bar moo(){ local _moo=apt-get echo ${_moo} } moo builtin echo foo alias -p complete compgen disown declare foo typeset foo (set -B) (set -H) (set -T) unalias -a suspend & $ /usr/bin/checkbashisms bashisms $ checkbashisms bashisms possible bashism in bashisms line 8 (local foo=bar): local _moo=apt-get possible bashism in bashisms line 12 (builtin): builtin echo foo possible bashism in bashisms line 13 (alias -p): alias -p possible bashism in bashisms line 17 (declare): declare foo possible bashism in bashisms line 18 (typset): typeset foo possible bashism in bashisms line 22 (unalias -a): unalias -a possible bashism in bashisms line 23 (suspend): suspend & $ bash -p bashisms 6 bashisms apt-get foo bashisms: line 16: disown: current: no such job bashisms: line 23: suspend: cannot suspend: no job control $ dash bashisms bashisms: 6: caller: not found apt-get bashisms: 12: builtin: not found alias: -p not found bashisms: 14: complete: not found bashisms: 15: compgen: not found bashisms: 16: disown: not found bashisms: 17: declare: not found bashisms: 18: typeset: not found set: 19: Illegal option -B set: 20: Illegal option -H set: 21: Illegal option -T bashisms: 23: suspend: not found $ posh bashisms bashisms:6: caller: not found bashisms:11: local: _moo=apt-get: not identifier foo bashisms:13: alias: not found bashisms:14: complete: not found bashisms:15: compgen: not found bashisms:16: disown: not found bashisms:17: declare: not found bashisms:18: typeset: not found bashisms:19: set: -B: unknown option bashisms:20: set: -H: unknown option bashisms:21: set: -T: unknown option bashisms:22: unalias: not found bashisms:24: suspend: not found $ ksh bashisms bashisms[4]: caller: not found [No such file or directory] bashisms[8]: local: not found [No such file or directory] builtin: foo: not found alias 2d='set -f;_2d' alias autoload='typeset -fu' alias command='command ' alias fc=hist alias float='typeset -lE' alias functions='typeset -f' alias hash='alias -t --' alias history='hist -l' alias integer='typeset -li' alias nameref='typeset -n' alias nohup='nohup ' alias r='hist -s' alias redirect='command exec' alias source='command .' alias stop='kill -s STOP' alias suspend='kill -s STOP $$' alias times='{ { time;} 2>&1;}' alias type='whence -v' bashisms[14]: complete: not found [No such file or directory] bashisms[15]: compgen: not found [No such file or directory] bashisms[17]: declare: not found [No such file or directory] bashisms[21]: set: -T: unknown option Usage: set [-sabefhkmnprtuvxBCGH] [-A name] [-o[option]] [arg ...] bashisms: line 23: suspend: not found $ zsh bashisms bar:1: command not found: caller apt-get foo bashisms:13: bad option: -p bashisms:14: command not found: complete bashisms:15: command not found: compgen bashisms:disown:16: no current job foo='' bashisms:22: bad option: -a TIA Sincerely, -- Atomo64 - Raphael Please avoid sending me Word, PowerPoint or Excel attachments. See http://www.gnu.org/philosophy/no-word-attachments.html--- /usr/bin/checkbashisms 2008-02-27 12:34:54.000000000 -0600 +++ /home/raphael/bin/local/checkbashisms 2008-02-28 17:32:40.000000000 -0600 @@ -137,6 +137,19 @@ '\[\[(?!:)' => q<alternative test command ([[ foo ]] should be [ foo ])>, '<<<' => q<\<\<\< here string>, '/dev/(tcp|udp)' => q</dev/(tcp|udp)>, + '(?:^|\s+)suspend\s' => q<suspend>, + '(?:^|\s+)caller\s' => q<caller>, + '(?:^|\s+)complete\s' => q<complete>, + '(?:^|\s+)compgen\s' => q<compgen>, + '(?:^|\s+)declare\s' => q<declare>, + '(?:^|\s+)typeset\s' => q<typset>, + '(?:^|\s+)disown\s' => q<disown>, + '(?:^|\s+)builtin\s' => q<builtin>, + '(?:^|\s+)set\s+-[BHT]+' => q<set -[BHT]>, + '(?:^|\s+)alias\s+-p' => q<alias -p>, + '(?:^|\s+)unalias\s+-a' => q<unalias -a>, + '(?:^|\s+)local\s+(-[a-zA-Z]+)' => q<local -opt>, + '(?:^|\s+)local\s+[^=;)}]+=' => q<local foo=bar>, ); my %string_bashisms = ( @@ -153,6 +166,7 @@ '\$DIRSTACK\b' => q<$DIRSTACK>, '\$EUID\b' => q<$EUID should be "id -u">, '\$SECONDS\b' => q<$SECONDS>, + '\$BASH(_[A-Z]+)?\b' => q<$BASH(_SOMETHING)>, ); if ($opt_echo) {
signature.asc
Description: This is a digitally signed message part.
--- End Message ---
--- Begin Message ---Source: devscripts Source-Version: 2.10.19 We believe that the bug you reported is fixed in the latest version of devscripts, which is due to be installed in the Debian FTP archive: devscripts_2.10.19.dsc to pool/main/d/devscripts/devscripts_2.10.19.dsc devscripts_2.10.19.tar.gz to pool/main/d/devscripts/devscripts_2.10.19.tar.gz devscripts_2.10.19_amd64.deb to pool/main/d/devscripts/devscripts_2.10.19_amd64.deb A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Adam D. Barratt <[EMAIL PROTECTED]> (supplier of updated devscripts package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Sun, 16 Mar 2008 17:00:34 +0000 Source: devscripts Binary: devscripts Architecture: source amd64 Version: 2.10.19 Distribution: unstable Urgency: low Maintainer: Devscripts Devel Team <[EMAIL PROTECTED]> Changed-By: Adam D. Barratt <[EMAIL PROTECTED]> Description: devscripts - scripts to make the life of a Debian Package maintainer easier Closes: 381159 402531 457235 458130 464641 468761 469023 469050 469207 469238 469663 470025 470069 470366 470478 470696 470809 470999 471001 471059 471088 Changes: devscripts (2.10.19) unstable; urgency=low . * debsign: Correctly handle signing an automatically located .changes file if none was passed on the command line (Closes: #468761) * debchange: + Apply a more elegant fix for the bugfix in 2.10.18. Thanks to gregor herrmann for pointing the obvious solution out. + Don't complain about the package version changing from native to non-native if --nmu or --security was used + Fix an unescaped hyphen in the manpage + If starting a changelog stanza for a new maintainer upload with the distribution set to UNRELEASED, check whether the previous stanza is also UNRELEASED and, if so, merge them (assuming the "changelog" release heuristic is in use) (Closes: #458130) + Add non-maintainer uploads (including security and QA uploads), backports and the use of local version strings to the list of cases where debchange doesn't have to guess the user's intentions + Add an --allow-lower-version option which is similar to --force-bad-version but allows a regular expression to be specified which the new version must match. Based on a patch by Frank Küster (Closes: #381159) + Modify the version-handling code to generate NMU versions of the form X+nmu1 for Debian-native packages * checkbashisms: + Use Getopt::Long for option parsing + Add an option to force checking of scripts that would normally be skipped (Closes: #469023) + Clarify in the manpage that some issues detected by the script may be XSIisms etc rather than strictly bash-specific features + Add checks for suspend, caller, complete/compgen, declare/typeset, disown, builtin, set -[BHT], alias -p, unalias -a, local with options or an assigned value and $BASH(_*). Thanks to Raphael Geissert for the patch (Closes: #469050) + Modify each of the simple shell variable tests (e.g. $RANDOM) to also match ${variable} + Identify and ignore multi-line quoted text (Closes: #464641) + Reorder a couple of checks so that ". foo $HOSTNAME" is detected as source passing arguments rather than misuse of $HOSTNAME + Fix a potential false positive on "2>& 1" + Fix an unescaped hyphen in the manpage + Add a check for function names containing characters other than alphanumerics and underscore + Modify the "read without variable" test to also catch options other than -r. Thanks Luca Capello (Closes: #470696) + Add an option to allow flagging of lines which do not contain bashisms but which may contain other useful information - for example, checking whether $BASH is set before using bashisms or $RANDOM being used as a local variable rather than the bash built-in variable (Closes: #470999) + Add a check for "VAR+=foo" (Closes: #471001) + Also detect <<< inside a quoted string (Closes: #471059) + Improve comment detection and removal to not remove "s/#/foo/" * bts: + Allow the sendmail command to begin with a ~ (Closes: #469207) + Don't treat "userblah" as an alias for "users" in "select" * debcommit: + Set $SVKDIFF before calling "svk diff" (Closes: #469238) + If there are uncommitted changes to the changelog when --release is used, use them as the commit message. Otherwise use the message passed with --message or "releasing version X.Y" as currently (Closes: #470366) + Format commit messages in a more useful manner for git and hg. The first change found is unfolded and used as the summary line. If more than one change was found then an editor is spawned so that the message can be fine-tuned if required (Closes: #402531) * deb[ci]: + Allow either package names or filenames to be passed on the command line (Closes: #469663) + Fix reference to dpkg-deb(8) (should be section 1) and an unescaped hyphen in the manpage * annotate-output.1, cvs-debi.1, dd-list.1, debuild.1, dpkg-depcheck.1, dpkg-genbuilddeps.1, nmudiff.1, plotchangelog.1, uscan.1, devscripts.conf.5: Fix unescaped hyphens * nmudiff: Fix --nomutt's To: handling. Thanks Thomas Viehmann (Closes: #470069) * Debbugs.pm: + Turn on "use strict" and "use warnings" which got lost when moving the code from bts + Don't attempt to iterate the result of usertags() in select if it's empty (Closes: #470025) + Skip arguments to select() that contain valid keys but not values + Print a warning about unrecognised keys passed to select() + Add on_fault handlers to SOAP calls so we can return useful error messages * debuild: + Add working -j / DEB_BUILD_OPTS=parallel support (Finally closes: #457235) + Remove linda support. Thanks Thijs Kinkhorst (Closes: #470478) * debcheckout: Add launchpad.net/foo to the list of recognised Launchpad repository formats for authenticated mode. Thanks Martin Pitt * cvs-debuild: Remove linda support. Thanks Thijs Kinkhorst. * Packaging changes: + debian/control, README, conf.default.in: Remove references to linda + Add a NEWS file to alert dget users to the change in 2.10.17 to unpack source packages by default (Closes: #470809) * grep-excuses: Fix reference to bjorn.haxx.se in help output to refer to release.d.o/migration * debpkg: Fix reference to dpkg(8) in the manpage * pts-subscribe: Don't complain about mail and/or at not being available if --help / --version were used. Also don't complain about at unless an unsubscription mail needs generating. (Closes: #471088) Files: 0e70b1198575d83aa693b19c02be88ae 1224 devel optional devscripts_2.10.19.dsc 6a375367aedf07d9b2a14ca0e1740526 525805 devel optional devscripts_2.10.19.tar.gz cbe36931790187b37fa33053be0d2c27 457436 devel optional devscripts_2.10.19_amd64.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFH3VL0okcE1TReOoURAnyvAJoCjgtHmKgsasi4YDWZGEw0VX3adgCeIs9l RRgbRIi1Gwg2AIOX2Rj+TV4= =Xatm -----END PGP SIGNATURE-----
--- End Message ---

