1
0
mirror of https://github.com/moparisthebest/pacman synced 2025-03-11 07:31:04 -04:00

repo-add: check early for xdelta if it is needed

The check for xdelta3 was done as needed (and not in all cases).  Do this
check early so that repo-add does not abort part way through.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2015-03-15 16:40:11 +10:00
parent 81d233b793
commit 6aef45ee1a

View File

@ -212,6 +212,28 @@ check_gpg() {
fi
}
check_xdelta() {
local need_xdelta=0
if (( DELTA )); then
need_xdelta=1
else
if [[ $cmd == "repo-add" ]];
for f in ${args[@]:1}; do
case $f in
*.delta) need_xdelta=1 ;;
*) ;;
done
fi
if (( need_xdelta )); then
if ! type xdelta3 &>/dev/null; then
error "$(gettext "Cannot find the xdelta3 binary! Is xdelta3 installed?")"
exit 1
fi
fi
}
# sign the package database once repackaged
create_signature() {
(( ! SIGN )) && return
@ -525,10 +547,6 @@ add() {
if [[ ${1##*.} == "delta" ]]; then
deltafile=$1
msg "$(gettext "Adding delta '%s'")" "$deltafile"
if ! type xdelta3 &>/dev/null; then
error "$(gettext "Cannot find the xdelta3 binary! Is xdelta3 installed?")"
exit 1
fi
if db_write_delta "$deltafile"; then
return 0
else
@ -736,6 +754,8 @@ if (( SIGN || KEY || VERIFY )); then
check_gpg
fi
check_xdelta
fail=0
for arg in "${args[@]:1}"; do
case $cmd in