Package: apt-move
Version: 4.2.24-1
Severity: grave
Tags: patch
Hello,
apt-move uses
if ! type exp /dev/null 21; then
if type dash /dev/null 21; then
exec dash $0 $@
else
exec ash $0 $@
fi
fi
to make sure that it is executing under dash or ash. dash 0.5.3-1 breaks
this code, causing it to enter endless loop as dash lost its 'exp' builtin:
$ dpkg -l dash
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version
Description
+++---
ii dash 0.5.2-8
The Debian Almquist Shell
$ type exp
exp is a shell builtin
$ dpkg -l dash
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version
Description
+++---
ii dash 0.5.3-1
The Debian Almquist Shell
$ type exp
exp: not found
It is probably caused by this upstream change:
2005-02-28 Herbert Xu [EMAIL PROTECTED]
* Replaced EXEVAL with SKIPEVAL.
* Update funcnest atomically.
* Only set skipcount for break and continue.
* Removed expcmd built-in.
* Normalise input in likely/unlikely macros.
I've verified that upstream apt-move 4.2.25 still uses this detection.
If you believe that this detection is correct and dash is package with problem,
then feel free to reassign this to dash. As Herbert is upstream maintainer
for both dash and apt-move, it probably does not matter a lot, as it
ends up in his mailbox this way or another.
For Debian I would apply patch below, which removes dash/ash detection and
forces dash through #!.
Thanks,
Petr Vandrovec
diff -urN apt-move-4.2.24/apt-move apt-move-4.2.24/apt-move
--- apt-move-4.2.24/apt-move2005-10-24 17:35:09.0 +0200
+++ apt-move-4.2.24/apt-move2005-11-29 13:42:54.0 +0100
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/dash
#
# Copyright (c) 1999 Michael Merten [EMAIL PROTECTED]
# Copyright (c) 1999-2000 Gregory T. Norris [EMAIL PROTECTED]
@@ -18,14 +18,6 @@
#
set -e
-if ! type exp /dev/null 21; then
- if type dash /dev/null 21; then
- exec dash $0 $@
- else
- exec ash $0 $@
- fi
-fi
-
[ ${CDPATH+1} ] unset CDPATH
if [ ${LC_ALL+1} ]; then
export LC_MONETARY=$LC_ALL
diff -urN apt-move-4.2.24.go/debian/control apt-move-4.2.24/debian/control
--- apt-move-4.2.24.go/debian/control 2005-10-21 03:18:29.0 +0200
+++ apt-move-4.2.24/debian/control 2005-11-29 13:42:40.0 +0100
@@ -7,7 +7,7 @@
Package: apt-move
Architecture: any
-Depends: bc, dash | ash, ${shlibs:Depends}
+Depends: bc, dash, ${shlibs:Depends}
Recommends: apt
Description: Maintain Debian packages in a package pool
apt-move is used to move a collection of Debian package files into a proper
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]