Poldek doesn't allow upgrading colored packages to no color ones

Bug #299685 reported by Patryk Zawadzki
2
Affects Status Importance Assigned to Milestone
poldek
Fix Committed
Undecided
Unassigned
PLD Linux
Fix Released
High
Unassigned
Nominated for Th by Patryk Zawadzki

Bug Description

poldek-0.30-0.20080820.23.3.x86_64 (th)

Excerpts from the trace run:

: obs_filter() X11-libs-1:6.9.0-19.amd64 (c=2) colored like X11-libs-7.0.0-5.x86_64 (c=0) => no

Here it marks the upgrade as cross-arch due to new package not providing any 64-bit ELF objects (the old one had two libs and hence the color 2).

: try_to_upgrade_orphan() X11-libs-6.9.0-19.amd64 req: X11-common = 1:6.9.0-19 (satisfied=no)
: select_successor() X11-libs-6.9.0-19.amd64 (c=2)
: - 0. X11-libs-7.0.0-5.x86_64 -> color 0, score 0
: select_successor() RET NULL (for X11-libs-6.9.0-19.amd64)

Here it checks for the viable upgrade paths and obviously treats color 0 as an incompatible arch to color 2.

IMHO poldek should allow any color → no-color and no-color → color upgrades (as long as all resulting packages are architecturally compatible).

Tags: poldek
Revision history for this message
Patryk Zawadzki (patrys) wrote :

The following patch allows upgrades from or to color=0 packages.

Quoting Jeff:

01:37:42  jbj_> colored dependencies can only be matched by same color or color 0.
01:38:22  jbj_> 1 == elf32, 2 == elf64
01:39:12  jbj_> 0 <-> 2 should switch fine. 1 <-> 2 is what makes no sense.

Revision history for this message
Patryk Zawadzki (patrys) wrote :

02:05:59  jbj_> so quiz time: pkg contains elf32 and elf64 files. what is the pkg color?
02:06:16  jbj_> the anser is 3 = 2 + 1.
02:06:53  jbj_> and there is no reason to mix elf32 and elf64. but if you do, the pkgcolor will be 3.

Revision history for this message
Patryk Zawadzki (patrys) wrote :

With the second patch:

:i3_process_pkg_obsoletes() X11-libs-7.0.0-5.x86_64
: obs_filter() X11-libs-1:6.9.0-19.amd64 (c=2) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes
: obs_filter() X11-DPS-1:6.9.0-19.amd64 (c=2) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes
: obs_filter() X11-DPS-1:6.9.0-19.amd64 (c=2) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes
: obs_filter() X11-common-1:6.9.0-19.amd64 (c=0) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes
: obs_filter() X11-common-1:6.9.0-19.amd64 (c=0) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes
: obs_filter() X11-DPS-1:6.9.0-19.amd64 (c=2) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes
: obs_filter() X11-common-1:6.9.0-19.amd64 (c=0) colored like X11-libs-7.0.0-5.x86_64 (c=0) => yes

Changed in poldek:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.