makepkg: allow compression type to be autodetected
Inspired by commit 7e8f1469c4
, use our given
PKGEXT or SRCEXT to determine what method of compression to use on the
package we create. If the extension is invalid, this should fall back to
creating a non-compressed tar file.
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
f1f8f0e1c2
commit
91a013a879
1 changed files with 18 additions and 2 deletions
|
@ -871,13 +871,21 @@ create_package() {
|
||||||
# tar it up
|
# tar it up
|
||||||
msg2 "$(gettext "Compressing package...")"
|
msg2 "$(gettext "Compressing package...")"
|
||||||
|
|
||||||
|
local TAR_OPT
|
||||||
|
case "$PKGEXT" in
|
||||||
|
*tar.gz) TAR_OPT="z" ;;
|
||||||
|
*tar.bz2) TAR_OPT="j" ;;
|
||||||
|
*) warning "$(gettext "'%s' is not a valid archive extension.")" \
|
||||||
|
"$PKGEXT" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
local pkg_file="$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}"
|
local pkg_file="$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}"
|
||||||
|
|
||||||
# when fileglobbing, we want * in an empty directory to expand to
|
# when fileglobbing, we want * in an empty directory to expand to
|
||||||
# the null string rather than itself
|
# the null string rather than itself
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
if ! bsdtar -czf "$pkg_file" $comp_files *; then
|
if ! bsdtar -c${TAR_OPT}f "$pkg_file" $comp_files *; then
|
||||||
error "$(gettext "Failed to create package file.")"
|
error "$(gettext "Failed to create package file.")"
|
||||||
exit 1 # TODO: error code
|
exit 1 # TODO: error code
|
||||||
fi
|
fi
|
||||||
|
@ -992,12 +1000,20 @@ create_srcpackage() {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
local TAR_OPT
|
||||||
|
case "$SRCEXT" in
|
||||||
|
*tar.gz) TAR_OPT="z" ;;
|
||||||
|
*tar.bz2) TAR_OPT="j" ;;
|
||||||
|
*) warning "$(gettext "'%s' is not a valid archive extension.")" \
|
||||||
|
"$SRCEXT" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
local pkg_file="$PKGDEST/${pkgname}-${pkgver}-${pkgrel}${SRCEXT}"
|
local pkg_file="$PKGDEST/${pkgname}-${pkgver}-${pkgrel}${SRCEXT}"
|
||||||
|
|
||||||
# tar it up
|
# tar it up
|
||||||
msg2 "$(gettext "Compressing source package...")"
|
msg2 "$(gettext "Compressing source package...")"
|
||||||
cd "${srclinks}"
|
cd "${srclinks}"
|
||||||
if ! bsdtar -czLf "$pkg_file" ${pkgname}; then
|
if ! bsdtar -c${TAR_OPT}Lf "$pkg_file" ${pkgname}; then
|
||||||
error "$(gettext "Failed to create source package file.")"
|
error "$(gettext "Failed to create source package file.")"
|
||||||
exit 1 # TODO: error code
|
exit 1 # TODO: error code
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Reference in a new issue