Package: devscripts
Version: 2.10.61
Severity: wishlist
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I want uupdate to work with .xz and .7z upstream archive (some upstream
use .7z now, it's quite effective for fonts archive - 90% better than gz),
so made a quick patch for that. I hope this would be included.
And I think this is not needed to add to --repack option for uscan.
- --
Regards,
Hideki Yamane
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkttGXsACgkQIu0hy8THJkvqeACeLLH4U9q1jZPOIfhzCzcjW5PX
2qkAoLL9lV5aRzSmV8AM7MMX1HEhoq9G
=crf3
-----END PGP SIGNATURE-----
diff -urN devscripts-2.10.61.orig/scripts/uupdate.1 devscripts-2.10.61/scripts/uupdate.1
--- devscripts-2.10.61.orig/scripts/uupdate.1 2010-01-03 12:20:42.000000000 +0900
+++ devscripts-2.10.61/scripts/uupdate.1 2010-02-06 15:58:49.000000000 +0900
@@ -20,11 +20,11 @@
.PP
Currently supported source code file types are \fI.tar.gz\fR,
\fI.tar.bz2\fR, \fI.tar.Z\fR, \fI.tgz\fR, \fI.tar\fR, \fI.tar.lzma\fR
-and \fI.zip\fR
+\fI.tar.xz\fR, \fI.zip\fR and \fI.7z\fR
archives. Also supported are already unpacked source code archives;
simply give the path of the source code directory. Supported patch
file types are \fBgzip\fR-compressed, \fBbzip2\fR-compressed,
-\fBlzma\fR-compressed and
+\fBlzma\fR-compressed, \fBxz\fR-compressed and
uncompressed patch files. The file types are identified by the file
names, so they must use the standard suffixes.
.PP
diff -urN devscripts-2.10.61.orig/scripts/uupdate.sh devscripts-2.10.61/scripts/uupdate.sh
--- devscripts-2.10.61.orig/scripts/uupdate.sh 2010-01-03 12:20:42.000000000 +0900
+++ devscripts-2.10.61/scripts/uupdate.sh 2010-02-06 16:11:54.000000000 +0900
@@ -48,7 +48,7 @@
"Usage for a new archive:
$PROGNAME [options] <new upstream archive> [<version>]
For a patch file:
- $PROGNAME [options] --patch|-p <patch>[.gz|.bz2|.lzma]
+ $PROGNAME [options] --patch|-p <patch>[.gz|.bz2|.lzma|.xz]
Options are:
--upstream-version <version>, -v <version>
specify version number of upstream package
@@ -56,10 +56,10 @@
which command to be used to become root
for package-building
--pristine, -u Source is pristine upstream source and should be
- copied to <pkg>_<version>.orig.tar.{gz|bz2|lzma}; not valid
+ copied to <pkg>_<version>.orig.tar.{gz|bz2|lzma|xz}; not valid
for patches
--no-symlink Copy new upstream archive to new location
- as <pkg>_<version>.orig.tar.{gz|bz2|lzma} instead of making a
+ as <pkg>_<version>.orig.tar.{gz|bz2|lzma|xz} instead of making a
symlink
--no-conf, --noconf
Don't read devscripts config files;
@@ -258,6 +258,7 @@
*.gz) CATPATCH="zcat $PATCH"; X=${X%.gz};;
*.bz2) CATPATCH="bzcat $PATCH"; X=${X%.bz2};;
*.lzma) CATPATCH="lzcat $PATCH"; X=${X%.lzma};;
+ *.xz) CATPATCH="xzcat $PATCH"; X=${X%.xz};;
*) CATPATCH="cat $PATCH";;
esac
;;
@@ -291,6 +292,14 @@
fi
X=${X%.lzma}
;;
+ *.xz)
+ if [ -r "$OPWD/$PATCH" ]; then
+ CATPATCH="xzcat $OPWD/$PATCH"
+ else
+ CATPATCH="xzcat ../$PATCH"
+ fi
+ X=${X%.xz}
+ ;;
*) if [ -r "$OPWD/$PATCH" ]; then
CATPATCH="cat $OPWD/$PATCH"
else
@@ -350,8 +359,11 @@
elif [ -r "../${PACKAGE}_$UVERSION.orig.tar.lzma" ]; then
OLDARCHIVE="${PACKAGE}_$UVERSION.orig.tar.lzma"
OLDARCHIVETYPE=lzma
+ elif [ -r "../${PACKAGE}_$UVERSION.orig.tar.xz" ]; then
+ OLDARCHIVE="${PACKAGE}_$UVERSION.orig.tar.xz"
+ OLDARCHIVETYPE=xz
else
- echo "$PROGNAME: can't find/read ${PACKAGE}_$UVERSION.orig.tar.{gz|bz2}" >&2
+ echo "$PROGNAME: can't find/read ${PACKAGE}_$UVERSION.orig.tar.{gz|bz2|lzma|xz}" >&2
echo "in the parent directory!" >&2
echo "Aborting...." >&2
exit 1
@@ -401,6 +413,12 @@
echo "aborting..." >&2
exit 1
}
+ elif [ "$OLDARCHIVETYPE" = xz ]; then
+ tar -J -xf ../$OLDARCHIVE || {
+ echo "$PROGNAME: can't untar $OLDARCHIVE;" >&2
+ echo "aborting..." >&2
+ exit 1
+ }
else
echo "$PROGNAME: internal error: unknown OLDARCHIVETYPE: $OLDARCHIVETYPE" >&2
exit 1
@@ -488,13 +506,17 @@
TYPE=bz2 ;;
*.orig.tar.lzma) X="${X%.orig.tar.lzma}"; UNPACK="tar --lzma -xf";
TYPE=lzma ;;
+ *.orig.tar.xz) X="${X%.orig.tar.xz}"; UNPACK="tar -J -xf";
+ TYPE=xz ;;
*.tar.gz) X="${X%.tar.gz}"; UNPACK="tar zxf"; TYPE=gz ;;
*.tar.bz2) X="${X%.tar.bz2}"; UNPACK="tar --bzip -xf"; TYPE=bz2 ;;
*.tar.lzma) X="${X%.tar.lzma}"; UNPACK="tar --lzma -xf"; TYPE=lzma ;;
+ *.tar.xz) X="${X%.tar.xz}"; UNPACK="tar -J -xf"; TYPE=xz ;;
*.tar.Z) X="${X%.tar.Z}"; UNPACK="tar zxf"; TYPE="" ;;
*.tgz) X="${X%.tgz}"; UNPACK="tar zxf"; TYPE=gz ;;
*.tar) X="${X%.tar}"; UNPACK="tar xf"; TYPE="" ;;
*.zip) X="${X%.zip}"; UNPACK="unzip"; TYPE="" ;;
+ *.7z) X="${X%.7z}"; UNPACK="7z x" TYPE="" ;;
*)
echo "$PROGNAME: sorry: Unknown archive type" >&2
exit 1
@@ -564,12 +586,21 @@
echo "already exists in the parent dir;" >&2
echo "please check on the situation before trying $PROGNAME again." >&2
exit 1
+ elif [ -e "../${PACKAGE}_$SNEW_VERSION.orig.tar.xz" ] && \
+ [ "$(md5sum "${ARCHIVE_PATH}" | cut -d" " -f1)" != \
+ "$(md5sum "../${PACKAGE}_$SNEW_VERSION.orig.tar.xz" | cut -d" " -f1)" ]
+ then
+ echo "$PROGNAME: a different ${PACKAGE}_$SNEW_VERSION.orig.tar.xz" >&2
+ echo "already exists in the parent dir;" >&2
+ echo "please check on the situation before trying $PROGNAME again." >&2
+ exit 1
fi
if [ $UUPDATE_PRISTINE = yes -a -n "$TYPE" -a \
! -e "../${PACKAGE}_$SNEW_VERSION.orig.tar.gz" -a \
! -e "../${PACKAGE}_$SNEW_VERSION.orig.tar.bz2" -a \
- ! -e "../${PACKAGE}_$SNEW_VERSION.orig.tar.lzma" ]; then
+ ! -e "../${PACKAGE}_$SNEW_VERSION.orig.tar.lzma" -a \
+ ! -e "../${PACKAGE}_$SNEW_VERSION.orig.tar.xz" ]; then
if [ "$UUPDATE_SYMLINK_ORIG" = yes ]; then
echo "Symlinking to pristine source from ${PACKAGE}_$SNEW_VERSION.orig.tar.$TYPE..."
case $ARCHIVE_PATH in
@@ -602,8 +633,15 @@
cp "$ARCHIVE_PATH" "../${PACKAGE}_$SNEW_VERSION.orig.tar.lzma"
fi
;;
+ xz)
+ if [ "$UUPDATE_SYMLINK_ORIG" = yes ]; then
+ ln -s "$LINKARCHIVE" "../${PACKAGE}_$SNEW_VERSION.orig.tar.xz"
+ else
+ cp "$ARCHIVE_PATH" "../${PACKAGE}_$SNEW_VERSION.orig.tar.xz"
+ fi
+ ;;
*)
- echo "$PROGNAME: can't preserve pristine sources from non .tar.gz/.tar.bz2 upstream archive!" >&2
+ echo "$PROGNAME: can't preserve pristine sources from non .tar.{gz,bz2,lzma,xz} upstream archive!" >&2
echo "Continuing anyway..." >&2
;;
esac
@@ -656,6 +694,10 @@
DIFF="../${PACKAGE}_$SVERSION.diff.lzma"
DIFFTYPE=diff
DIFFCAT=lzcat
+ elif [ -r "../${PACKAGE}_$SVERSION.diff.xz" ]; then
+ DIFF="../${PACKAGE}_$SVERSION.diff.xz"
+ DIFFTYPE=diff
+ DIFFCAT=xzcat
elif [ -r "../${PACKAGE}_$SVERSION.debian.tar.gz" ]; then
DIFF="../${PACKAGE}_$SVERSION.debian.tar.gz"
DIFFTYPE=tar
@@ -668,6 +710,10 @@
DIFF="../${PACKAGE}_$SVERSION.debian.tar.lzma"
DIFFTYPE=tar
DIFFUNPACK="tar --lzma -xf"
+ elif [ -r "../${PACKAGE}_$SVERSION.debian.tar.xz" ]; then
+ DIFF="../${PACKAGE}_$SVERSION.debian.tar.xz"
+ DIFFTYPE=tar
+ DIFFUNPACK="tar -J -xf"
fi
if [ "$DIFFTYPE" = diff ]; then
@@ -742,7 +788,7 @@
elif [ "$DIFFTYPE" = tar ]; then
if [ -d debian ]; then
- echo "$PROGNAME warning: using a debian.tar.{gz|bz2|lzma} file in old Debian source," >&@
+ echo "$PROGNAME warning: using a debian.tar.{gz|bz2|lzma|xz} file in old Debian source," >&@
echo "but upstream also contains a debian/ directory!" >&2
if [ -e "debian.upstream" ]; then
echo "Please apply the diff by hand and take care with this." >&2