Created attachment 349683 [details] example of multiple versions of a package checked for update Description of problem: If a repo contains multiple versions of the same package, g-pk shows all the versions, and all are already checked. If this is in a big list of packages, the user doesn't notice the reason that leads to the issue Version-Release number of selected component (if applicable): gnome-packagekit-2.27.2-1.fc11.i586 How reproducible: Pre: have at least one repo that has multiple versions of a single package. Steps to Reproduce: 1. g-pk: show updates 2. package in question is listed 3x times, all 3 are checked. 3. install updates Actual results: running...resolving...downloading... Error: The package download failed. Please check your network connectivity. Errors were encountered while downloading packages. timmsy-lean-font-0.0.6-11.2.i586: failure: timmsy-lean-font-0.0.6-11.2.i586.rpm from timmsy: (256, 'No more mirrors to try.') Expected results: 1. g-pk should show all available versions of updates, but 2. only the latest/highest version should be checked for installation. 3. given that the package is downloadable, why is the download failing (is it an uncaught case from 1/2 above ?) Additional info: The package in question has only obsoletes in it, no code, perhaps that screws with pk's understanding of evr. http://members.iinet.net.au/~timmsy/timmsyrepo/ createrepo was run on the folder that has all the packages in it. Additionally: a) If only the older of the two packages is selected, the download fails. b) If the newest (higher evr) package is selected, the changelog is not shown, whereas it is shown if the earliest nvr is selected. c) if manually select newest and install, it succeeds. d) It would make sense to order the found packages within the name/description sorting as alphabetically ascending for package name, and then newest (highest) first when there is multiple versions of a specific found/showing.
What's the output of "pkcon get-updates" and "pkcon get-updates --filter=newest" please? Thanks.
(In reply to comment #1) > What's the output of "pkcon get-updates" and "pkcon get-updates > --filter=newest" please? # pkcon get-updates normal timmsy-lean-font-0.0.6-11.4 timmsy's lean machine font package removals normal timmsy-lean-bluetooth-0.0.6-11.2 timmsy's lean machine bluetooth package removals normal timmsy-lean-bluetooth-0.0.6-11.3 timmsy's lean machine bluetooth package removals normal timmsy-media-0.0.6-11.4 timmsy's favourite media manipulator packages normal timmsy-lean-bluetooth-0.0.6-11.1 timmsy's lean machine bluetooth package removals normal timmsy-lean-x-0.0.6-11.4 timmsy's lean machine package removal x drivers normal timmsy-lean-bluetooth-0.0.6-11.4 timmsy's lean machine bluetooth package removals # pkcon get-updates --filter=newest normal timmsy-lean-font-0.0.6-11.4 timmsy's lean machine font package removals normal timmsy-lean-bluetooth-0.0.6-11.2 timmsy's lean machine bluetooth package removals normal timmsy-lean-bluetooth-0.0.6-11.3 timmsy's lean machine bluetooth package removals normal timmsy-media-0.0.6-11.4 timmsy's favourite media manipulator packages normal timmsy-lean-bluetooth-0.0.6-11.1 timmsy's lean machine bluetooth package removals normal timmsy-lean-x-0.0.6-11.4 timmsy's lean machine package removal x drivers normal timmsy-lean-bluetooth-0.0.6-11.4 timmsy's lean machine bluetooth package removals [above responses have had " " added/removed for clarity] ps. the url I gave has an extra version now as well, so now 4x are checked by default. eg: timmsy-media has been updated; checking only it causes trouble with unable to download rpm - no more mirrors to try; this packages has only requires in it.
(In reply to comment #2) > # pkcon get-updates --filter=newest > normal timmsy-lean-font-0.0.6-11.4 timmsy's lean machine > font package removals > normal timmsy-lean-bluetooth-0.0.6-11.2 timmsy's lean machine > bluetooth package removals > normal timmsy-lean-bluetooth-0.0.6-11.3 timmsy's lean machine > bluetooth package removals > normal timmsy-media-0.0.6-11.4 timmsy's favourite media > manipulator packages > normal timmsy-lean-bluetooth-0.0.6-11.1 timmsy's lean machine > bluetooth package removals > normal timmsy-lean-x-0.0.6-11.4 timmsy's lean machine > package removal x drivers > normal timmsy-lean-bluetooth-0.0.6-11.4 timmsy's lean machine > bluetooth package removals Okay, that's odd. The newest filter should have removed timmsy-lean-bluetooth-0.0.6-11.2 from the list. I guess it's failing as timmsy-lean-bluetooth-0.0.6-11.2 is listed before timmsy-lean-bluetooth-0.0.6-11.3, and the newest check is sequential. Let me russle up a patch for you to test.
Created attachment 349771 [details] test patch Can you try this patch please. To apply, just do: cd /usr/share/PackageKit/helpers/yum/ sudo patch -p0 < /home/hughsie/Desktop/yum-filter.patch and then please attach the output of: ./yumBackend.py get-updates none Thanks.
Hi Richard, (been away), here is the result of patched version as requested: # cd /usr/share/PackageKit/helpers/yum/ # sudo patch -p0 </home/davidt/dev/bugz/yum-filter.patch patching file yumFilter.py # ./yumBackend.py get-updates none Error: No NETWORK envp Loaded plugins: presto No plugin match for: rpm-warm-cache No plugin match for: remove-with-leaves allow-cancel false allow-cancel true status info package normal timmsy-lean-font;0.0.6-11.4;i586;timmsy timmsy's lean machine font package removals package normal timmsy-lean-bluetooth;0.0.6-11.2;i586;timmsy timmsy's lean machine bluetooth package removals package normal timmsy-lean-bluetooth;0.0.6-11.3;i586;timmsy timmsy's lean machine bluetooth package removals package normal timmsy-media;0.0.6-11.4;i586;timmsy timmsy's favourite media manipulator packages package normal timmsy-lean-bluetooth;0.0.6-11.1;i586;timmsy timmsy's lean machine bluetooth package removals package normal timmsy-lean-x;0.0.6-11.4;i586;timmsy timmsy's lean machine package removal x drivers package normal timmsy-lean-bluetooth;0.0.6-11.4;i586;timmsy timmsy's lean machine bluetooth package removals finished
Cool, that's working nicely. Can I please now get the output of: ./yumBackend.py get-updates newest And then we can ensure we only get the newest entry. I've also patched gnome-packagekit to use newest when getting the update list upstream too.
(In reply to comment #6) > Cool, that's working nicely. Can I please now get the output of: > ./yumBackend.py get-updates newest # ./yumBackend.py get-updates newest Error: No NETWORK envp Loaded plugins: presto No plugin match for: rpm-warm-cache No plugin match for: remove-with-leaves allow-cancel false allow-cancel true status info package normal timmsy-lean-font;0.0.6-11.4;i586;timmsy timmsy's lean machine font package removals package normal timmsy-lean-bluetooth;0.0.6-11.4;i586;timmsy timmsy's lean machine bluetooth package removals package normal timmsy-media;0.0.6-11.4;i586;timmsy timmsy's favourite media manipulator packages package normal timmsy-lean-x;0.0.6-11.4;i586;timmsy timmsy's lean machine package removal x drivers finished Note: the prompt did not return to the # prompt when this completed. This also occurred with the previous test you got me to run. I don't know if it means anything. Just hitting enter causes the prompt to be written. > And then we can ensure we only get the newest entry. That would seem to be successful, current highest version is -11.4 and now only that version is listed.
(In reply to comment #7) > Note: the prompt did not return to the # prompt when this completed. This also > occurred with the previous test you got me to run. I don't know if it means > anything. Just hitting enter causes the prompt to be written. Yes, expected, it's waiting for new input. > > And then we can ensure we only get the newest entry. > That would seem to be successful, current highest version is -11.4 and now only > that version is listed. Superb. New release upstream today, so should be in rawhide by later tomorrow. Do you want a F11 backport?
gnome-packagekit-2.27.3-1.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/gnome-packagekit-2.27.3-1.fc11
Re: bodhi comment: 2009-07-06 22:05:10: So I get the error: ----- Errors were encountered while downloading packages. timmsy-lean-font-0.0.6-11.4.i586: failure: timmsy-lean-font-0.0.6-11.4.i586.rpm from timmsy: (256, 'No more mirrors to try.') timmsy-lean-x-0.0.6-11.4.i586: failure: timmsy-lean-x-0.0.6-11.4.i586.rpm from timmsy: (256, 'No more mirrors to try.') ----- This is with the 2 new packages from 11 testing-to-be. Packet capture shows that in fact both packages were retrieved from the one and only URL in the .repo config (x ten times). I used firefox to download eg: http://members.iinet.net.au/~timmsy/timmsyrepo/timmsy-lean-x-0.0.6-11.4.i586.rpm then clicking on the link. I get the unsigned warning, and then gpk crashes (dbus problem) (I have the trace http://fpaste.org/paste/17741 ). rpm -Kv on the file says: Header SHA1 digest: OK (87b5f11e3eb959af5dab92b03824e713bed3bee0) MD5 digest: OK (48f44c096ffd80b3a2f23841a4bfc435) Since I can't tell if that is due to changes introduced in this fix, or perhaps with virtual provides packages etc, would you like a separate bug for that ?
yum update timmsy-lean-x gives: ===== Running "predownload" handler for "presto" plugin Setting up and reading Presto delta metadata No Presto metadata available for timmsy Processing delta metadata No delta information for repository timmsy. Package(s) data still to download: 4.2 k timmsy-lean-x-0.0.6-11.4.i586.rpm | 4.2 kB 00:00 http://members.iinet.net.au/%7Etimmsy/timmsyrepo/timmsy-lean-x-0.0.6-11.4.i586.rpm: (-1, u'Package does not match intended download') Trying other mirror. Running "postdownload" handler for "downloadonly" plugin Error Downloading Packages: timmsy-lean-x-0.0.6-11.4.i586: failure: timmsy-lean-x-0.0.6-11.4.i586.rpm from timmsy: (256, 'No more mirrors to try.') ===== So while the rpm download is complete (eg yum localinstall it.rpm --nogpgcheck works), the repodata on the web server must differ, or I'm triggering a bug in yum/createrepo. Note that comparing sha256sum of repodata/* retrieved from the server v what was created locally and sent to the server shows the repodata is the correct version and wasn't corrupted in transfer. I'm going to createrepo and upload again to see if it makes any difference.
(In reply to comment #10) > Errors were encountered while downloading packages. > timmsy-lean-font-0.0.6-11.4.i586: failure: timmsy-lean-font-0.0.6-11.4.i586.rpm > from timmsy: (256, 'No more mirrors to try.') > timmsy-lean-x-0.0.6-11.4.i586: failure: timmsy-lean-x-0.0.6-11.4.i586.rpm from > timmsy: (256, 'No more mirrors to try.') > ----- Rerunning createrepo and uploading to my repo fixed the issue with the download. Consider the download part of this bug to be packager (my) error ;-) However, could gpk could provide more definitive error in this case: The current error sounds like gpk was getting 404 errors when trying to download the file, which is not the case (it actually successfully download the named rpm ten times (good thing it wasn't a 50MB rpm)). maybe more like: [maybe in advanced expander] "A package of the correct name was downloaded from the repo, but the package contents (or whatever check failed) does not match information about the package from the current repository metadata: `shasum 1` v `shasum 2`. The repository or mirror may be partially out of date, or it could indicate tampering/corruption of the package contents." Might help to reduce mess ups like mine.
gnome-packagekit-2.27.3-1.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update gnome-packagekit'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-7497
gnome-packagekit-2.27.3-1.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.