dom0-updates: improve dnf config handling
Dom0 may not sent /etc/yum.conf but only /etc/dnf/dnf.conf - handle this case too. Since dom0 use dnf for a long time, prefer dnf.conf. Not all versions of dnf supports cachedir option, so handle also the case when it's set by default to /var/cache/dnf (instead of overriden with /var/cache/yum with yum.conf). Simply look for packages in whole /var/cache. QubesOS/qubes-issues#4225
This commit is contained in:
parent
1aeec025e0
commit
10399e8ab3
@ -5,7 +5,12 @@ DOM0_UPDATES_DIR=/var/lib/qubes/dom0-updates
|
||||
GUI=1
|
||||
CLEAN=0
|
||||
CHECK_ONLY=0
|
||||
OPTS="--installroot $DOM0_UPDATES_DIR --config=$DOM0_UPDATES_DIR/etc/yum.conf"
|
||||
OPTS="--installroot $DOM0_UPDATES_DIR"
|
||||
if [ -f "$DOM0_UPDATES_DIR/etc/dnf/dnf.conf" ]; then
|
||||
OPTS="$OPTS --config=$DOM0_UPDATES_DIR/etc/yum.conf"
|
||||
elif [ -f "$DOM0_UPDATES_DIR/etc/yum.conf" ]; then
|
||||
OPTS="$OPTS --config=$DOM0_UPDATES_DIR/etc/yum.conf"
|
||||
fi
|
||||
# DNF uses /etc/yum.repos.d, even when --installroot is specified
|
||||
OPTS="$OPTS --setopt=reposdir=$DOM0_UPDATES_DIR/etc/yum.repos.d"
|
||||
PKGLIST=
|
||||
@ -159,7 +164,7 @@ else
|
||||
$YUM_COMMAND $OPTS $PKGLIST
|
||||
fi
|
||||
|
||||
find "$DOM0_UPDATES_DIR/var/cache/yum" -name '*.rpm' -print0 |\
|
||||
find "$DOM0_UPDATES_DIR/var/cache" -name '*.rpm' -print0 |\
|
||||
xargs -0 -r ln -f -t "$DOM0_UPDATES_DIR/packages/"
|
||||
|
||||
if ls "$DOM0_UPDATES_DIR"/packages/*.rpm > /dev/null 2>&1; then
|
||||
|
Loading…
Reference in New Issue
Block a user