Package: dphys-config
Version: 20130301~current-1
Severity: normal
Tags: patch
dphys-config fails on files with the "#@dphys-config-preprocess
backtick" preprocessor directive if the output of the command inside the
backtick contains again backticks. (This is independent of the number of
times the backtick preprocessor is called with
"#@dphys-config-preprocess".
The following patch fixes this issue:
--- /usr/bin/dphys-config 2013-12-05 01:55:37.000000000 +0100
+++ ../dphys-config 2015-03-11 14:39:38.149909422 +0100
@@ -647,20 +647,24 @@
${CMD_VERBOSE_PRINT} "preprocessing for backtick ..."
${CMD_DEBUG_SLEEP}
local LINE
+ local REMAINDER
+ local ALREADYPARSED
# IFS= to avoid read doing separator processing (mangles spaces)
# and -r to prevent \ interpretation (mangles line contents)
cat "${WORK}" | while IFS= read -r LINE ; do
-
+ ALREADYPARSED=''
+ REMAINDER="${LINE}"
+
# syntax taken from the shell backtick, which is also used here
# may have multiple substitutions on one line, so use while loop
- while echo "${LINE}" | grep -q '`' ; do
+ while echo "${REMAINDER}" | grep -q '`' ; do
# the '\` here need the \ because of the `` subshell
local FRONT
- FRONT="`echo "${LINE}" | cut -f 1 -d '\`' `"
+ FRONT="`echo "${REMAINDER}" | cut -f 1 -d '\`' `"
local TICK
- TICK="`echo "${LINE}" | cut -f 2 -d '\`' `"
+ TICK="`echo "${REMAINDER}" | cut -f 2 -d '\`' `"
local REST
- REST="`echo "${LINE}" | cut -f 3- -d '\`' `"
+ REST="`echo "${REMAINDER}" | cut -f 3- -d '\`' `"
# prevent non zero return from user given command from killing us
set +e
@@ -673,8 +677,10 @@
${CMD_LOG_WARNING} "backtick returned non zero: ${RETVAL}"
fi
- LINE="${FRONT}${SUBST}${REST}"
+ REMAINDER="${REST}"
+ ALREADYPARSED="${ALREADYPARSED}${FRONT}${SUBST}"
done
+ LINE="${ALREADYPARSED}${REMAINDER}"
echo "${LINE}" >> "${WORK}.temp"
done
The other two preprocessor directives are not affected. They cannot
appear more than once per line and hence didn't have issues to
distinguish between yet to be parsed parts of the line and output from
already parsed parts of the line.
I've already forwarded the issue and patch to upstream. This bug report
is primarily to document the issue publically.
-- System Information:
Debian Release: 8.0
APT prefers testing-updates
APT policy: (500, 'testing-updates'), (500, 'testing-proposed-updates'),
(500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages dphys-config depends on:
ii dash 0.5.7-4+b1
ii wget 1.16-1
dphys-config recommends no packages.
Versions of packages dphys-config suggests:
ii pciutils 1:3.2.1-3
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]