Commit 269b0608 authored by Natanael Copa's avatar Natanael Copa

lbu: add support for filenames with spaces in /etc

ref #472
parent d43136f0
...@@ -225,6 +225,17 @@ If <dirname> nor <filename> is not specified, a package named ...@@ -225,6 +225,17 @@ If <dirname> nor <filename> is not specified, a package named
exit 1 exit 1
} }
_gen_filelist() {
apk audit --backup -q
if [ -f var/lib/apk/world ]; then
echo var/lib/apk/world
fi
}
_gen_filelist_0() {
_gen_filelist | tr '\n' '\0'
}
cmd_package() { cmd_package() {
local pkg="$1" local pkg="$1"
local rc=0 local rc=0
...@@ -257,11 +268,6 @@ cmd_package() { ...@@ -257,11 +268,6 @@ cmd_package() {
echo " /var/lib/apk/world will be used." echo " /var/lib/apk/world will be used."
rm -f etc/lbu/packages.list rm -f etc/lbu/packages.list
fi fi
currentlist=$(apk audit --backup -q)
if [ -f var/lib/apk/world ]; then
currentlist="$currentlist var/lib/apk/world"
fi
# create tar archive # create tar archive
[ -f "$EXCLUDE_LIST" ] && excl="-X $EXCLUDE_LIST" [ -f "$EXCLUDE_LIST" ] && excl="-X $EXCLUDE_LIST"
[ -f "$INCLUDE_LIST" ] && incl="-T $INCLUDE_LIST" [ -f "$INCLUDE_LIST" ] && incl="-T $INCLUDE_LIST"
...@@ -269,17 +275,19 @@ cmd_package() { ...@@ -269,17 +275,19 @@ cmd_package() {
echo "Archiving the following files:" >&2 echo "Archiving the following files:" >&2
# we dont want to mess the tar output with the # we dont want to mess the tar output with the
# password prompt. Lets get the tar output first. # password prompt. Lets get the tar output first.
tar $excl $incl -c -v $currentlist > /dev/null _gen_filelist_0 | xargs -0 tar $excl $incl -c -v > /dev/null
rc=$? rc=$?
fi fi
if [ $rc -eq 0 ]; then if [ $rc -eq 0 ]; then
if [ -z "$ENCRYPTION" ]; then if [ -z "$ENCRYPTION" ]; then
tar $excl $incl -c $currentlist | gzip -c >"$tmppkg" _gen_filelist_0 | xargs -0 tar $excl $incl -c \
| gzip -c >"$tmppkg"
rc=$? rc=$?
else else
set -- enc "-$ENCRYPTION" -salt set -- enc "-$ENCRYPTION" -salt
[ -n "$PASSWORD" ] && set -- "$@" -pass pass:"$PASSWORD" [ -n "$PASSWORD" ] && set -- "$@" -pass pass:"$PASSWORD"
tar $excl $incl -c $currentlist | gzip -c \ _gen_filelist_0 | xargs -0 tar $excl $incl -c \
| gzip -c \
| $OPENSSL "$@" > "$tmppkg" | $OPENSSL "$@" > "$tmppkg"
rc=$? rc=$?
fi fi
...@@ -361,7 +369,7 @@ The environment variables can also be set in $LBU_CONF ...@@ -361,7 +369,7 @@ The environment variables can also be set in $LBU_CONF
} }
cmd_commit() { cmd_commit() {
local media mnt statuslist tmplist currentlist local media mnt statuslist tmplist
local incl excl outfile ovls lines local incl excl outfile ovls lines
check_openssl check_openssl
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment