Your message dated Thu, 27 Dec 2007 13:02:02 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#456990: fixed in dash 0.5.4-5
has caused the attached Bug report 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 I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
Package: dash
Version: 0.5.3-7
Severity: important
Hello,
The dash(1) in Debian stable does not support "set +o" in the manner
specified by SUSv3:
|+o
| Write the current option settings to standard output in a format
| that is suitable for reinput to the shell as commands that
| achieve the same options settings.
(citation from
http://www.opengroup.org/onlinepubs/009695399/utilities/set.html)
Instead, dash's "set +o" prints the shell's options in a
human-readable format.
Here is a simple test program that exercises this feature; it works as
I believe is required under bash, but not under dash.
# Save the shell's options
set +o > /tmp/settings-commands
set -o | sort > /tmp/settings-before
# Change some options.
set -v
set -f
set -x
set +o emacs
set -o vi
# Try to restore our options.
. /tmp/settings-commands
set -o | sort > /tmp/settings-after
# Compare.
diff /tmp/settings-before /tmp/settings-after
I believe the following small patch adds this feature to dash, and
documents it in the manual page:
--- src/options.c.orig 2005-11-25 22:17:55.000000000 -0500
+++ src/options.c 2007-12-18 16:37:33.000000000 -0500
@@ -240,10 +240,18 @@
int i;
if (name == NULL) {
- out1str("Current option settings\n");
- for (i = 0; i < NOPTS; i++)
- out1fmt("%-16s%s\n", optnames[i],
- optlist[i] ? "on" : "off");
+ if (val) {
+ out1str("Current option settings\n");
+ for (i = 0; i < NOPTS; i++)
+ out1fmt("%-16s%s\n", optnames[i],
+ optlist[i] ? "on" : "off");
+ } else {
+ for (i = 0; i < NOPTS; i++)
+ out1fmt("set %s %s\n",
+ optlist[i] ? "-o" : "+o",
+ optnames[i]);
+
+ }
} else {
for (i = 0; i < NOPTS; i++)
if (equal(name, optnames[i])) {
--- src/dash.1~ 2005-11-25 22:17:55.000000000 -0500
+++ src/dash.1 2007-12-18 16:16:04.000000000 -0500
@@ -1779,6 +1779,11 @@
If options are given, it sets the specified option
flags, or clears them as described in the section called
.Sx Argument List Processing .
+As a special case, if the option is -o or +o and no argument is
+supplied, the shell prints the settings of all its options. If the
+option is -o, the settings are printed in a human-readable format; if
+the option is +o, the settings are printed in a format suitable for
+reinput to the shell to affect the same option settings.
.Pp
The third use of the set command is to set the values of the shell's
positional parameters to the specified args.
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: powerpc (ppc)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-5-powerpc
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages dash depends on:
ii libc6 2.3.6.ds1-13etch2 GNU C Library: Shared libraries
dash recommends no packages.
-- debconf information:
dash/sh: false
--- End Message ---
--- Begin Message ---
Source: dash
Source-Version: 0.5.4-5
We believe that the bug you reported is fixed in the latest version of
dash, which is due to be installed in the Debian FTP archive:
ash_0.5.4-5_all.deb
to pool/main/d/dash/ash_0.5.4-5_all.deb
dash_0.5.4-5.diff.gz
to pool/main/d/dash/dash_0.5.4-5.diff.gz
dash_0.5.4-5.dsc
to pool/main/d/dash/dash_0.5.4-5.dsc
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.
Gerrit Pape <[EMAIL PROTECTED]> (supplier of updated dash 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: Thu, 27 Dec 2007 12:23:12 +0000
Source: dash
Binary: ash dash
Architecture: all source
Version: 0.5.4-5
Distribution: unstable
Urgency: low
Maintainer: Gerrit Pape <[EMAIL PROTECTED]>
Changed-By: Gerrit Pape <[EMAIL PROTECTED]>
Description:
ash - compatibility package for dash
dash - POSIX-compliant shell
Closes: 456990
Changes:
dash (0.5.4-5) unstable; urgency=low
.
* debian/diff/0038-EVAL-Fix-unaligned-trap-on-sparc.diff: applied
upstream, rename to
0038-EVAL-Fix-bad-pointer-arithmetic-in-evalcommand.diff.
* debian/diff/0039-ARITH-If-imaxdiv-isn-t-available-use-and-ope.diff:
applied upstream, rename to
0040-ARITH-If-imaxdiv-isn-t-available-use-and-ope.diff.
* debian/diff/0040-run-aclocal-autoconf-autoheader-automake.diff: redo
as debian/diff/0041-run-aclocal-autoconf-autoheader-automake.diff.
* debian/diff/0039-BUILTIN-Add-set-o-support.diff: new; from upstream
git: Add set +o support (closes: #456990).
* debian/diff/ja.po: remove again, doh.
Files:
91ff503e1307c13c3d6b4024992b99e3 545 shells optional dash_0.5.4-5.dsc
b435220d0b26fdb84b0bb2faa4ab919e 122563 shells optional dash_0.5.4-5.diff.gz
24ec845f2f323747da7f44ab9a02f37b 20030 shells optional ash_0.5.4-5_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHc56IGJoyQbxwpv8RAjcZAJ4vlar6Itly3JR800UukDGgeGesSQCfWcsU
KTl2OinQH3OfNSBM0ltSUgA=
=IJAZ
-----END PGP SIGNATURE-----
--- End Message ---