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.

Reply via email to