Use C locale for bsdtar calls during package creation

This ensures packages build on a UTF-8 locale system with non-ASCII character
names can be installed on non-UTF-8 systems.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2014-06-12 12:50:15 +10:00
parent 9ff6dc93af
commit 537a335cc7
1 changed files with 3 additions and 3 deletions

View File

@ -1998,7 +1998,7 @@ create_package() {
shopt -s nullglob
msg2 "$(gettext "Generating .MTREE file...")"
bsdtar -czf .MTREE --format=mtree \
LANG=C bsdtar -czf .MTREE --format=mtree \
--options='!all,use-set,type,uid,gid,mode,time,size,md5,sha256,link' \
"${comp_files[@]}" *
comp_files+=(".MTREE")
@ -2009,7 +2009,7 @@ create_package() {
# bsdtar's gzip compression always saves the time stamp, making one
# archive created using the same command line distinct from another.
# Disable bsdtar compression and use gzip -n for now.
bsdtar -cf - "${comp_files[@]}" * |
LANG=C bsdtar -cf - "${comp_files[@]}" * |
case "$PKGEXT" in
*tar.gz) ${COMPRESSGZ[@]:-gzip -c -f -n} ;;
*tar.bz2) ${COMPRESSBZ2[@]:-bzip2 -c -f} ;;
@ -2143,7 +2143,7 @@ create_srcpackage() {
# tar it up
msg2 "$(gettext "Compressing source package...")"
cd_safe "${srclinks}"
if ! bsdtar -cL ${TAR_OPT} -f "$pkg_file" ${pkgbase}; then
if ! LANG=C bsdtar -cL ${TAR_OPT} -f "$pkg_file" ${pkgbase}; then
error "$(gettext "Failed to create source package file.")"
exit 1 # TODO: error code
fi