Bug 674326 - Obsoletes: can lead to transaction error
Summary: Obsoletes: can lead to transaction error
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: PackageKit
Version: 14
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Richard Hughes
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-01 13:43 UTC by Rex Dieter
Modified: 2011-03-14 14:12 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-03-14 14:12:20 UTC
Type: ---


Attachments (Terms of Use)
another log similar to comment #1, using updates-testing instead, not custom repo (8.81 KB, text/plain)
2011-02-09 18:18 UTC, Rex Dieter
no flags Details

Description Rex Dieter 2011-02-01 13:43:52 UTC
I've a case where pkg foo-1, was split into foo-2 and foo-bar-2 where:

foo-bar:
Obsoletes: foo < 2
Requires:  foo = 2

(ie, to handle the case of an upgrade path where nothing disappears off a users' system, but that the new foo-bar is now optional and not pulled in unconditionally in the case:
yum/pkcon install foo
)

The concrete example here is,
https://admin.fedoraproject.org/updates/qt-4.7.1-13.fc14

where foo = qt-x11, and foo-bar = qt-config

Testing with these:
rpm -q PackageKit gnome-packagekit kpackagekit
PackageKit-0.6.11-2.fc14.x86_64
gnome-packagekit-2.32.0-2.fc14.x86_64
kpackagekit-0.6.3.3-1.fc14.x86_64


In various testing, I've found,
pkcon update   => works

both gnome-packagekit, kpackagekit fail in the normal 'update' case (where all available updates listed are selected), with error:
could not add package update for qt-x11-1:4.7.1-13.fc14(x86_64)updates-testing: 1:qt-x11-4.7.1-13.fc14.x86_64"

If I find and deselect 'qt-config' from the list of available updates, the transaction completes.


Is this fixable short-term in pk, or should I consider removing the Obsoletes that helps the 'update, but don't drop anything' case?  I'm open to any other advice as well.

Comment 1 Rex Dieter 2011-02-09 18:14:46 UTC
As requested on irc, output from: gpk-update-viewer --verbose:


TI:12:13:17	FI:egg-debug.c	FN:egg_debug_post_parse_hook,415
 - Verbose debugging 1 (on console 0)
TI:12:13:17	FI:egg-console-kit.c	FN:egg_console_kit_init,300
 - ConsoleKit session ID: /org/freedesktop/ConsoleKit/Session3
TI:12:13:17	FI:gpk-common.c	FN:gpk_window_set_size_request,253
 - using native mode: 700x600
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::mime-types
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::distro-id
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::version-micro
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::version-major
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::version-minor
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::backend-description
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::network-state
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::roles
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::backend-name
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::backend-author
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::groups
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::filters
TI:12:13:18	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_new_update_array,2729
 - only showing newest updates
(gpk-update-viewer:10920): PackageKit-DEBUG: role now get-updates
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x1, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x1, so ignoring
TI:12:13:18	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,1059
 - no last package
TI:12:13:18	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status setup
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
TI:12:13:18	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status info
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x3, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status finished
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>Qt toolkit</b>
qt-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-config;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>Graphical configuration tool for programs using Qt 4</b>
qt-config-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-devel;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>Development files for the Qt toolkit</b>
qt-devel-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-mysql;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>MySQL driver for Qt&apos;s SQL classes</b>
qt-mysql-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-sqlite;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>SQLite driver for Qt&apos;s SQL classes</b>
qt-sqlite-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-webkit;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>Qt WebKit library</b>
qt-webkit-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-webkit-devel;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>Development files for qt-webkit-devel</b>
qt-webkit-devel-1:4.7.1-13.fc14 (x86_64)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_get_updates_cb,2631
 - adding: id=qt-x11;1:4.7.1-13.fc14;x86_64;kde-testing, text=<b>Qt GUI-related libraries</b>
qt-x11-1:4.7.1-13.fc14 (x86_64)
(gpk-update-viewer:10920): PackageKit-DEBUG: role now get-update-detail
(gpk-update-viewer:10920): PackageKit-DEBUG: role now get-details
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x1, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x1, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,1059
 - no last package
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status setup
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,1059
 - no last package
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status wait
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status info
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x3, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status finished
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status setup
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x3, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x3, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x3, so ignoring
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status finished
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
TI:12:13:21	FI:gpk-update-viewer.c	FN:gpk_packages_treeview_clicked_cb,2062
 - selected row is: qt;1:4.7.1-13.fc14;x86_64;kde-testing, 0x1748210
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_update_viewer_button_install_cb,1215
 - Doing the package updates
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_packages_treeview_clicked_cb,2067
 - no row selected
(gpk-update-viewer:10920): PackageKit-DEBUG: adding state 0x169d010
(gpk-update-viewer:10920): PackageKit-DEBUG: doing update
(gpk-update-viewer:10920): PackageKit-DEBUG: role now simulate-update-packages
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x1, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x1, so ignoring
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,1059
 - no last package
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status setup
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
(gpk-update-viewer:10920): PackageKit-DEBUG: already processing request 0x2, so ignoring
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,1059
 - no last package
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_update_viewer_progress_cb,992
 - status finished
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
(gpk-update-viewer:10920): PackageKit-DEBUG: properties changed, so getting new list
(gpk-update-viewer:10920): PackageKit-DEBUG: remove state 0x169d010
*** WARNING ***
TI:12:13:24	FI:gpk-update-viewer.c	FN:gpk_update_viewer_update_packages_cb,481
 - failed to update packages: transaction-error, could not add package update for qt-x11-1:4.7.1-13.fc14(x86_64)kde-testing: 1:qt-x11-4.7.1-13.fc14.x86_64
(gpk-update-viewer:10920): PackageKit-DEBUG: emit transaction-list-changed (when idle)
(gpk-update-viewer:10920): PackageKit-DEBUG: notify::locked
TI:12:13:32	FI:gpk-update-viewer.c	FN:gpk_update_viewer_quit,138
 - emitting action-close

Comment 2 Rex Dieter 2011-02-09 18:18:50 UTC
Created attachment 477878 [details]
another log similar to comment #1, using updates-testing instead, not custom repo

Comment 3 Rex Dieter 2011-02-09 19:24:38 UTC
I've found 2 places in the .spec that includes an Obsoletes, so may be confusing things.  I'll fix that in qt and retest to see if that's the culprit.

Comment 4 Rex Dieter 2011-02-09 19:25:26 UTC
nvm, that problem was a bit different and should be irrelevant here.

Comment 5 Rex Dieter 2011-03-14 14:12:20 UTC
dropped the Obsoletes, so I no longer have a test case or can reproduce, so I guess I'll close this out for now.

(feel free to chime in or reopen if you feel this is still worth pursuing)


Note You need to log in before you can comment on or make changes to this bug.