Marek Marczykowski-Górecki: > On Mon, Nov 28, 2016 at 01:32:00AM +0000, qubenix wrote: > >> Unman: >>> On Mon, Nov 28, 2016 at 12:16:00AM +0000, qubenix wrote: >>>> -----BEGIN PGP SIGNED MESSAGE----- >>>> Hash: SHA512 >>>> >>>> When there is nothing to upgrade for dom0 the qubes-dom0-update script >>>> exits with a "1". Is this intended behavior? >>>> >>>> A snippet from my term running qubes-dom0-update with "bash -x": >>>> >>>> + qvm-run --nogui --pass-io sys-update 'script --quiet --return >>>> --command '\''/usr/lib/qubes/qubes-download-dom0-updates.sh --doit >>>> --nogui >>>> --exclude=qubes-template-debian-8,qubes-template-whonix-gw,qubes-template-whonix-ws,qubes-template-fedora-23, >>>> -v -y --enablerepo=qubes-dom0-current-testing'\'' /dev/null' >>>> Checking for dom0 updates... >>>> Config time: 0.111 >>>> repo time: 0.000 >>>> repo time: 0.000 >>>> Setting up Package Sacks >>>> pkgsack time: 0.087 >>>> No Match for argument Config >>>> No Match for argument repo >>>> No Match for argument Yum >>>> No Match for argument Setting >>>> No Match for argument pkgsack >>>> No Match for argument rpmdb >>>> No Match for argument Building >>>> No Match for argument up:Obs >>>> No Match for argument up:simple >>>> No Match for argument up:obs >>>> No Match for argument up:condense >>>> No Match for argument updates >>>> rpmdb time: 0.016 > > This is interesting. I guess it's result of "-v" you've given and some > yum/dnf genius printing diagnostic messages to stdout instead of stderr, so it > interfere with the actual output (which is later feed back to yum/dnf to > actually download available updates)... > >>>> Nothing to download >>>> + RETCODE=1 > > And here we've got RETCODE=1. > >>>> + '[' '' == 1 ']' >>>> + '[' 1 -ne 0 ']' >>>> + exit 1 >>>> >>>> - -- >>>> qubenix >>> >>> If I remember right dnf returns 100 if there are updates, 0 if none, and >>> 1 if an error occurs. >>> I'm pretty sure that qubes-dom0-update returns the dnf exit code, but >>> also reports "Nothing to download" if no packages have been downloaded. >>> You should check to see what's happening on the update qube, and whether >>> there was any error there. >>> (I really should look at the code - I may be way off.) >>> >>> unman >>> >>> > >> Looks like it returns the exit code from qvm-run >> (https://github.com/QubesOS/qubes-core-admin-linux/blob/master/dom0-updates/qubes-dom0-update >> - lines 168..174): > >> qvm-run $QVMRUN_OPTS --pass-io $UPDATEVM "script --quiet --return >> --command '/usr/lib/qubes/qubes-download-dom0-updates.sh --doit --nogui >> $ALL_OPTS' /dev/null" >> RETCODE=$? >> if [ "$CHECK_ONLY" == "1" ]; then >> exit $RETCODE >> elif [ "$RETCODE" -ne 0 ]; then >> exit $RETCODE >> fi > >> qvm-run >> (https://github.com/QubesOS/qubes-core-admin/blob/master/qvm-tools/qvm-run) >> is python so I need to study it hard to understand it. > >
Even stranger, if I run something like this: sudo qubes-dom0-update -v -y --enablerepo=qubes-dom0-current-testing while [[ "$?" != "0" ]]; do sudo qubes-dom0-update -v -y --enablerepo=qubes-dom0-current-testing done It will, almost every time, run the first update with exit 1 and the second time with exit 0. I will try some tests (when I have some time, today is busy) without "-v". -- qubenix GPG: B536812904D455B491DCDCDD04BE1E61A3C2E500 -- You received this message because you are subscribed to the Google Groups "qubes-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/d233ea07-9ca2-1f03-0971-f61ea18f5f5c%40riseup.net. For more options, visit https://groups.google.com/d/optout.
