summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2009-05-13 08:21:11 +0200
committerDan McGee <dan@archlinux.org>2009-05-18 23:16:59 -0500
commitc301d6aa250620fda6b268e17e1b0dd41027e90b (patch)
tree6494615ff41188d16938ceefd75a65c5debd5d68
parent0bf340f73c1b1705ab9314955c931a83e15fecb3 (diff)
downloadpacman-c301d6aa250620fda6b268e17e1b0dd41027e90b.tar.xz
Add support for the xz archive format
This simple patch adds support for the xz archive format to makepkg and repo- add. Xz can be used as source, package and package db file type. Signed-off-by: Pierre Schmitz <pierre@archlinux.de> [Dan: fixed a few alignment issues] Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in5
-rw-r--r--scripts/repo-add.sh.in1
2 files changed, 6 insertions, 0 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index f94f925e..cb63f9ae 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -648,6 +648,8 @@ extract_sources() {
cmd="gunzip -d -f $file" ;;
*application/x-bzip*)
cmd="bunzip2 -f $file" ;;
+ *application/x-xz*)
+ cmd="xz -d -f $file" ;;
*)
# Don't know what to use to extract this file,
# skip to the next file
@@ -979,6 +981,7 @@ create_package() {
case "$PKGEXT" in
*tar.gz) EXT=${PKGEXT%.gz} ;;
*tar.bz2) EXT=${PKGEXT%.bz2} ;;
+ *tar.xz) EXT=${PKGEXT%.xz} ;;
*) warning "$(gettext "'%s' is not a valid archive extension.")" \
"$PKGEXT" ; EXT=$PKGEXT ;;
esac
@@ -996,6 +999,7 @@ create_package() {
case "$PKGEXT" in
*tar.gz) gzip -f -n "$pkg_file" ;;
*tar.bz2) bzip2 -f "$pkg_file" ;;
+ *tar.xz) xz -z -f "$pkg_file" ;;
esac
ret=$?
fi
@@ -1054,6 +1058,7 @@ create_srcpackage() {
case "$SRCEXT" in
*tar.gz) TAR_OPT="z" ;;
*tar.bz2) TAR_OPT="j" ;;
+ *tar.xz) TAR_OPT="J" ;;
*) warning "$(gettext "'%s' is not a valid archive extension.")" \
"$SRCEXT" ;;
esac
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 7dfb9e2d..14bd00e4 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -462,6 +462,7 @@ if [ $success -eq 1 ]; then
case "$REPO_DB_FILE" in
*tar.gz) TAR_OPT="z" ;;
*tar.bz2) TAR_OPT="j" ;;
+ *tar.xz) TAR_OPT="J" ;;
*) warning "$(gettext "'%s' does not have a valid archive extension.")" \
"$REPO_DB_FILE" ;;
esac