[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#458663: gz/bz2/xz for debootstrap data.tar



This anticipates the eventuality of data.tar.xz.

--- functions.orig	2009-11-16 08:41:11.094921291 -0500
+++ functions	2009-11-16 08:48:13.883895352 -0500
@@ -719,13 +719,19 @@
 
 extract () { (
 	cd "$TARGET"
-	local p=0
+	local p=0 tarball
 	for pkg in $(debfor "$@"); do
 		p="$(($p + 1))"
 		progress "$p" "$#" EXTRACTPKGS "Extracting packages"
 		packagename="$(echo "$pkg" | sed 's,^.*/,,;s,_.*$,,')"
 		info EXTRACTING "Extracting %s..." "$packagename"
-		ar -p "./$pkg" data.tar.gz | zcat | tar -xf -
+		tarball=$(ar -t "./$pkg" | grep "^data.tar.[bgx]z")
+		case "$tarball" in
+			(data.tar.gz) ar -p "./$pkg" data.tar.gz | zcat | tar -xf - ;;
+			(data.tar.bz2) ar -p "./$pkg" data.tar.bz2 | bzcat | tar -xf - ;;
+			(data.tar.xz) ar -p "./$pkg" data.tar.xz | xzcat | tar -xf - ;;
+			(*) error 1 UNKNOWNDATACOMP "Unknown compression type for %s in %s" "$tarball" "$pkg" ;;
+		esac
 	done
 ); }
 



Reply to: