Hi,
Today, I updated my repo and build-system, then tried to build d-i again.
It failed miserably with "dpkg: version '1%3a1.17.1-2' has bad syntax: invalid
character in version number".
I think it's due to dpkg upgrade, and especially because of the commit
662d97913fe8d9f4aa784ca7595c415c65202148 which introduce stricter (but correct)
parsing,
and the fact that installer/build/util/get_packages get its package versions
from the filename, which are escaped ("a:b" becomes "a%3ab").
I've not seen any complaint out there, so, maybe I'm the only one affected?
Weird.
Anyway, if that's not the case, I've attached a patch, which implements the
easiest, and maybe most "secure" way of getting the version string, but is
obviously slower: ask dpkg.
Regards,
Thibaut Girka.
diff --git a/installer/build/util/get-packages b/installer/build/util/get-packages
index 47b5aa9..a80fe16 100755
--- a/installer/build/util/get-packages
+++ b/installer/build/util/get-packages
@@ -189,7 +189,7 @@ lnpkg() {
local pkg=$1; local dir=$2 debdir=$3
local L LV l lv
for l in `find $dir -name "${pkg}_*" 2>/dev/null`; do
- lv=${l%_*}; lv=${lv##*_};
+ lv=$(dpkg -f "$l" Version); lv=${lv%"Version: "}
if dpkg --compare-versions "$lv" gt "$LV"; then
L=$l LV=$lv
fi
signature.asc
Description: This is a digitally signed message part