Your message dated Sat, 25 Feb 2012 22:06:21 -0500
with message-id <[email protected]>
and subject line Re: Bug#659084: devscripts: [PATCH] debsign - use POSIX 
command substitution $()
has caused the Debian Bug report #659084,
regarding [debsign] use POSIX command substitution?
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.)


-- 
659084: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659084
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: devscripts
Version: 2.11.3
Severity: wishlist

The following patch updates to use POSIX[1] command substitution $() in
place of backtics (``).

Motivation:

- Recommended practise. The $() is recommend by many[2]. It nests easily.
- Readability. In high resolution display a "tick" is hard to see.
  Different font may also make reading the "tick" difficult to distinguish.
- Typing convenience. The backtick key may be placed in difficult
  position in non-US keyboard. E.g acrobatics is needed with FI-keyboard
  by pressing three keys in succession: AltGr + key + Space char

REFERENCES

[1]
POSIX standard IEEE Std 1003.1: 2.6.3 Command Substitution
http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03

[2]
Bash manual
    "...old-style backquote" in section "3.5.4 Command Substitution"
    http://www.gnu.org/software/bash/manual/bashref.html#Command-Substitution

BashFAQ:
    "$(...) preferred over `...` (backticks)?"

Advanced Bash-Scripting Guide:
    "...The $(...) form has superseded backticks for command substitution."
    http://tldp.org/LDP/abs/html/commandsub.html

Bash Hackers Wiki:
    "[conclusion]... it's clean syntax, intuitive, more readable,
    nestable, its inner parsing is separate"
    http://wiki.bash-hackers.org/syntax/expansion/cmdsubst

-- Package-specific info:

--- /etc/devscripts.conf ---

--- ~/.devscripts ---
Not present

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages devscripts depends on:
ii  dpkg-dev   1.16.1.2
ii  libc6      2.13-26
ii  perl       5.14.2-7
ii  python     2.7.2-10
ii  python2.6  2.6.7-4
ii  python2.7  2.7.2-13
>From 49971a68e7576d89d538815addf776b9273adf15 Mon Sep 17 00:00:00 2001
From: Jari Aalto <[email protected]>
Date: Wed, 8 Feb 2012 00:32:29 -0500
Subject: [PATCH] debsign.sh: Use POSIX command substitution $()
Organization: Private
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit


Signed-off-by: Jari Aalto <[email protected]>
---
 scripts/debsign.sh |   65 ++++++++++++++++++++++++++++------------------------
 1 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/scripts/debsign.sh b/scripts/debsign.sh
index 3751ca9..ce71a13 100755
--- a/scripts/debsign.sh
+++ b/scripts/debsign.sh
@@ -25,7 +25,7 @@
 set -e
 
 PRECIOUS_FILES=0
-PROGNAME=`basename $0`
+PROGNAME=$(basename $0)
 MODIFIED_CONF_MSG='Default settings modified by devscripts configuration files:'
 
 # Temporary directories
@@ -103,7 +103,7 @@ temp_filename() {
     local filename
 
     if ! [ -w "$(dirname "$1")" ]; then
-	filename=`mktemp -t "$(basename "$1").$2.XXXXXXXXXX"` || {
+	filename=$(mktemp -t "$(basename "$1").$2.XXXXXXXXXX") || {
 	    echo "$PROGNAME: Unable to create temporary file; aborting" >&2
 	    exit 1
 	}
@@ -162,9 +162,9 @@ signfile () {
     ASCII_SIGNED_FILE="${UNSIGNED_FILE}.asc"
     (cat "$1" ; echo "") > "$UNSIGNED_FILE"
 
-    gpgversion=`$signcommand --version | head -n 1 | cut -d' ' -f3`
-    gpgmajorversion=`echo $gpgversion | cut -d. -f1`
-    gpgminorversion=`echo $gpgversion | cut -d. -f2`
+    gpgversion=$($signcommand --version | head -n 1 | cut -d' ' -f3)
+    gpgmajorversion=$(echo $gpgversion | cut -d. -f1)
+    gpgminorversion=$(echo $gpgversion | cut -d. -f2)
 
     if [ $gpgmajorversion -gt 1 -o $gpgminorversion -ge 4 ]
     then
@@ -205,7 +205,7 @@ withecho () {
 # and failure if the file needs signing.  Parameters: $1=filename,
 # $2=file description for message (dsc or changes)
 check_already_signed () {
-    [ "`head -n 1 \"$1\"`" = "-----BEGIN PGP SIGNED MESSAGE-----" ] || \
+    [ "$(head -n 1 \"$1\")" = "-----BEGIN PGP SIGNED MESSAGE-----" ] || \
 	return 1
 
     local resign
@@ -276,7 +276,7 @@ else
 
     # We do not replace this with a default directory to avoid accidentally
     # signing a broken package
-    DEBRELEASE_DEBS_DIR="`echo \"$DEBRELEASE_DEBS_DIR\" | sed -e 's%/\+%/%g; s%\(.\)/$%\1%;'`"
+    DEBRELEASE_DEBS_DIR="$(echo \"$DEBRELEASE_DEBS_DIR\" | sed -e 's%/\+%/%g; s%\(.\)/$%\1%;')"
     if ! [ -d "$DEBRELEASE_DEBS_DIR" ]; then
 	debsdir_warning="config file specified DEBRELEASE_DEBS_DIR directory $DEBRELEASE_DEBS_DIR does not exist!"
     fi
@@ -382,10 +382,10 @@ dosigning() {
 	remotechanges=$changes
 	remotedsc=$dsc
 	remotecommands=$commands
-	remotedir="`perl -e 'chomp($_="'"$dsc"'"); m%/% && s%/[^/]*$%% && print'`"
-	changes=`basename "$changes"`
-	dsc=`basename "$dsc"`
-	commands=`basename "$commands"`
+	remotedir="$(perl -e 'chomp($_="'"$dsc"'"); m%/% && s%/[^/]*$%% && print')"
+	changes=$(basename "$changes")
+	dsc=$(basename "$dsc")
+	commands=$(basename "$commands")
 
 	if [ -n "$changes" ]
 	then
@@ -403,8 +403,8 @@ dosigning() {
 	    for changes in $changes
 	    do
 		printf "\n"
-		dsc=`echo "${remotedir+$remotedir/}$changes" | \
-		    perl -pe 's/\.changes$/.dsc/; s/(.*)_(.*)_(.*)\.dsc/\1_\2.dsc/'`
+		dsc=$(echo "${remotedir+$remotedir/}$changes" |
+		      perl -pe 's/\.changes$/.dsc/; s/(.*)_(.*)_(.*)\.dsc/\1_\2.dsc/')
 		dosigning;
 	    done
 	    exit 0;
@@ -423,19 +423,24 @@ dosigning() {
 	   echo "Leaving current signature unchanged." >&2
 	   return
 	}
+
 	if [ -n "$maint" ]
-	then maintainer="$maint"
-	# Try the "Changed-By:" field first
-	else maintainer=`sed -n 's/^Changed-By: //p' $changes`
+	then
+	    maintainer="$maint"
+	else
+	    # Try the "Changed-By:" field first
+	    maintainer=$(sed -n 's/^Changed-By: //p' $changes)
 	fi
+
 	if [ -z "$maintainer" ]
-	then maintainer=`sed -n 's/^Maintainer: //p' $changes`
+	then
+	    maintainer=$(sed -n 's/^Maintainer: //p' $changes)
 	fi
 
 	signas="${signkey:-$maintainer}"
 
 	# Is there a dsc file listed in the changes file?
-	if grep -q `basename "$dsc"` "$changes"
+	if grep -q $(basename "$dsc") "$changes"
 	then
 	    if [ -n "$remotehost" ]
 	    then
@@ -448,9 +453,9 @@ dosigning() {
 		exit 1
 	    fi
 	    check_already_signed "$dsc" "dsc" || withecho signfile "$dsc" "$signas"
-	    dsc_md5=`md5sum $dsc | cut -d' ' -f1`
-	    dsc_sha1=`sha1sum $dsc | cut -d' ' -f1`
-	    dsc_sha256=`sha256sum $dsc | cut -d' ' -f1`
+	    dsc_md5=$(md5sum $dsc | cut -d' ' -f1)
+	    dsc_sha1=$(sha1sum $dsc | cut -d' ' -f1)
+	    dsc_sha256=$(sha256sum $dsc | cut -d' ' -f1)
 
 	    temp_changes="$(temp_filename "$changes" "temp")"
 	    cp "$changes" "$temp_changes"
@@ -569,7 +574,7 @@ for valid format" >&2;
 	if [ -n "$maint" ]
 	then maintainer="$maint"
 	else
-            maintainer=`sed -n 's/^Uploader: //p' $commands`
+            maintainer=$(sed -n 's/^Uploader: //p' $commands)
             if [ -z "$maintainer" ]
             then
 		echo "Unable to parse Uploader, .commands file invalid."
@@ -602,10 +607,10 @@ for valid format" >&2;
 	if [ -n "$maint" ]
 	then maintainer="$maint"
 	# Try the new "Changed-By:" field first
-	else maintainer=`sed -n 's/^Changed-By: //p' $dsc`
+	else maintainer=$(sed -n 's/^Changed-By: //p' $dsc)
 	fi
 	if [ -z "$maint" ]
-	then maintainer=`sed -n 's/^Maintainer: //p' $dsc`
+	then maintainer=$(sed -n 's/^Maintainer: //p' $dsc)
 	 fi
 
 	signas="${signkey:-$maintainer}"
@@ -636,19 +641,19 @@ case $# in
 	    exit 1
 	fi
 
-	mustsetvar package "`dpkg-parsechangelog | sed -n 's/^Source: //p'`" \
+	mustsetvar package "$(dpkg-parsechangelog | sed -n 's/^Source: //p')" \
 	    "source package"
-	mustsetvar version "`dpkg-parsechangelog | sed -n 's/^Version: //p'`" \
+	mustsetvar version "$(dpkg-parsechangelog | sed -n 's/^Version: //p')" \
 	    "source version"
 
 	if [ "x$sourceonly" = x ]
 	then
-	    mustsetvar arch "`dpkg-architecture -a${targetarch} -t${targetgnusystem} -qDEB_HOST_ARCH`" "build architecture"
+	    mustsetvar arch "$(dpkg-architecture -a${targetarch} -t${targetgnusystem} -qDEB_HOST_ARCH)" "build architecture"
 	else
 	    arch=source
 	fi
 
-	sversion=`echo "$version" | perl -pe 's/^\d+://'`
+	sversion=$(echo "$version" | perl -pe 's/^\d+://')
 	pv="${package}_${sversion}"
 	pva="${package}_${sversion}_${arch}"
 	dsc="$debsdir/$pv.dsc"
@@ -682,8 +687,8 @@ case $# in
 		    ;;
 	        *.changes)
 		    changes=$1
-		    dsc=`echo $changes | \
-			perl -pe 's/\.changes$/.dsc/; s/(.*)_(.*)_(.*)\.dsc/\1_\2.dsc/'`
+		    dsc=$(echo $changes |
+			  perl -pe 's/\.changes$/.dsc/; s/(.*)_(.*)_(.*)\.dsc/\1_\2.dsc/')
 		    commands=
 		    ;;
 		*.commands)
-- 
1.7.9


--- End Message ---
--- Begin Message ---
tag 659084 wontfix
thanks

On Sun, Feb 26, 2012 at 03:30:24AM +0100, Jakub Wilk wrote:
> * Jari Aalto <[email protected]>, 2012-02-08, 02:58:
> >-    [ "`head -n 1 \"$1\"`" = "-----BEGIN PGP SIGNED MESSAGE-----" ] || \
> >+    [ "$(head -n 1 \"$1\")" = "-----BEGIN PGP SIGNED MESSAGE-----" ] || \
> 
> Bzzt, wrong.
> 
> $ foo=/etc/ld.so.conf; echo "`head -n 1 \"$foo\"`"
> include /etc/ld.so.conf.d/*.conf
> 
> $ foo=/etc/ld.so.conf; echo "$(head -n 1 \"$1\")"
> head: cannot open `""' for reading: No such file or directory

A seemingly trivial patch for purely aesthetic changes contained bugs.
Please actually test your patches before sending them.

As I mentioned before, aesthetic reasons aren't good enough to change
the code.  I'm closing this bug.

-- 
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <[email protected]>

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to