From b5bfe9be6c3c23700c3b25cd1d70bb21d38d2fbd Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Mon, 12 Sep 2016 15:16:34 +0200 Subject: xdowngrade: make more robust --- xdowngrade | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/xdowngrade b/xdowngrade index c7ce16b..e64beb0 100755 --- a/xdowngrade +++ b/xdowngrade @@ -1,14 +1,25 @@ #!/bin/sh -e # xdowngrade PKGS.xbps... - install XBPS package directly from .xbps file +for f; do + if ! [ -r "$f" ]; then + echo "$0: no such package: $f" 2>&1 + exit 2 + fi +done T=$(mktemp --tmpdir -d xdowngrade-$(date -I).XXXXXXXX) -ln -s -r -t $T/ "$@" +ln -s -r -t "$T/" -- "$@" xbps-rindex -a $T/* +n=$(xbps-query -i --repository="$T/" -L 2>/dev/null | awk '{print $1}') +if [ -z "$n" ] || [ "$n" -ne "$#" ]; then + echo "$0: failed to register all $# packages." 2>&1 + exit 2 +fi pkg= for f; do f=${f##*/} f=${f%.*.*} pkg="$pkg ${f%-*}" done -xbps-install -i -R $T -f $pkg -rm -r $T +xbps-install -i -R "$T" -f -- $pkg +rm -r "$T" -- cgit 1.4.1