Opened 23 months ago
Closed 22 months ago
#287 closed defect (fixed)
qvm-dom0-upgrade fails
| Reported by: | joanna | Owned by: | joanna |
|---|---|---|---|
| Priority: | major | Milestone: | Release 1 Beta 2 |
| Component: | core | Keywords: | |
| Cc: |
Description
When run for the first time, without args, it complains about not being able to open /var/lib/qubes/updates/repodata/repmd.xml
When run with some argument (whatever, e.g. just a '-h'), the UpdateVM displays a message that some number of updates are available and if I want to download them. But then it fails with:
qfile-agent: Fatal error: stat *.rpm (error type: No such file or dir)
Change History (17)
comment:1 Changed 22 months ago by rafal
- Owner changed from joanna to rafal
- Status changed from new to assigned
comment:2 Changed 22 months ago by rafal
- Owner changed from rafal to joanna
comment:3 Changed 22 months ago by rafal
One more action: add --resolve to yumdownloader, so that in case user specifies a package as commandline argument, the required dependencies will be fetched as well.
comment:4 Changed 22 months ago by rafal
Another action: do "rpm --import /etc/pki/rpm-gpg/*" somewhere, e.g. in firstboot. Without it, qubes-receive-updates will fail (rather, rpm -Kv that it calls will fail).
comment:5 Changed 22 months ago by joanna
Well, we do *not* want to alert users (and let them automatically download) every update for every one of 700 rpms that are installed in Dom0. 99% of those updates would be irrelevant for Qubes Dom0.
Besides, I did try the following:
qvm-dom0-upgrade --resolve --enablerepo=fedora-updates vim
and it didn't help anyway. (This should have override the enables=0 flag).
comment:6 Changed 22 months ago by marmarek
The repo name is 'updates', not 'fedora-updates'.
Perhaps qvm-dom0-upgrade should have additional switch to include common options when installing new packages (--resolve --enablerepo=fedora --enablerepo=updates ?), or just add its when called with package name(s).
comment:7 Changed 22 months ago by joanna
I did use '--enablerepo=fedora,update', of course. It was just a typo above.
comment:8 Changed 22 months ago by marmarek
Ah, ok - there is no package 'vim'. Packages is named 'vim-enhanced'.
But of course message should be more descriptive (like "no packages to install")...
comment:9 Changed 22 months ago by joanna
[joanna@dom0 ~]$ qvm-dom0-upgrade --resolve --enablerepo=fedora,updates vim-enhanced Checking for dom0 updates Running command on VM: 'firewallvm'... Loaded plugins: post-transaction-actions, presto, refresh-packagekit file:///var/lib/qubes/updates/repodata/repomd.xml: [Errno 14] Could not open/read file:///var/lib/qubes/updates/repodata/repomd.xml Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: qubes-dom0-cached. Please verify its path and try again vim-enhanced
comment:10 Changed 22 months ago by marmarek
- Resolution set to fixed
- Status changed from assigned to closed
comment:11 Changed 22 months ago by joanna
- Resolution fixed deleted
- Status changed from closed to reopened
After I successfully did:
qvm-dom0-upgrade --resolve --enablerepo=fedora vim-enhancced
... I'm still unable to install the rpms, as the qubes-dom0-cached repo is not created under /var/lib/qubes/updates/
comment:12 Changed 22 months ago by rafal
- Resolution set to fixed
- Status changed from reopened to closed
As mentioned previously, probably the missing piece is
http://git.qubes-os.org/?p=rafal/installer.git;a=commit;h=3eda9af075c4fd5d4d9040d94959ab700aa63579
prebeta2 branch.
comment:13 Changed 22 months ago by joanna
- Resolution fixed deleted
- Status changed from closed to reopened
Yes, after manually doing rpm --import the qvm-dom0-upgrade seems to be working.
However, when I try to add a new package to dom0, e.g. vim-enhanced by doing:
qvm-dom0-upgrade vim-enhanced --enablerepo=updates --resolve
this correctly downloads all the rpms and puts them into /var/lib/qubes/updates/rpm, but doesn't make them visible to yum, i.e. yum list available returns nothing.
comment:14 Changed 22 months ago by rafal
This is yum caching issue - if you do as root "yum clean all; yum list available" it shows up, right ?
Do we want to add metadata_expire=0 to dom0 yum.conf ?
comment:15 Changed 22 months ago by joanna
- Status changed from reopened to accepted
Yes, it worked after yum clean all!
yes, we would like to set expire=0, and also enable fedora repo by default. I will do it in a moment.
Also, we should either:
1) rename this tool to qvm-dom0-update-downloads, or
2) make the tool automatically call yum install with the list of packages passed previously to qvm-dom0-update
comment:16 Changed 22 months ago by joanna
Also, when I do qvm-dom0-upgrades in pre5, it first checks and tells me there are no updates (which is true), but when run subsequently it displays a dialog saying there are 2 downloads avilable. After I click OK, it downloads them, but they are not visible in Dom0 (it would be actually strange if they were, because there are *no* updates in this case).
comment:17 Changed 22 months ago by joanna
- Resolution set to fixed
- Status changed from accepted to closed
Hmm... this seems to be no longer a problem on the new ISO build. Closing.

Suggested actions:
1) change to enable=1 in fedora.repo and fedora-updates.repo in qubes-release-1.1.noarch.rpm.
These files are copied to updateVM. There are "enable=0" lines there, yumdownloader cannot retrieve packages, and the *.rpm glob is not expanded (because there is no rpm files), thus an error.
2) having fixed 1, the repmd.xml will be created upon first successful package fetch; so I guess we do not need to create it manually in e.g. qubes-core-dom0 %post
Reassigning to joanna, to give a chance to object to 1).