On Wed, Oct 21, 2009 at 11:39:57PM -0400, James Vega wrote: > On Wed, Oct 21, 2009 at 11:29:07PM +0300, Eugene V. Lyubimkin wrote: > > # - Honor the configuration option > > # 'cupt::worker::allow-indirect-upgrade' to work around packages > > with > > # broken-by-design dependencies that make the package > > unupgradeable. > > # Thanks to James Vega. Upload priority is set to 'high' due to > > this > > # fix. (Closes: #551831) > > Although the upgrade did work, I'm not sure it's working as cleanly as > it should be:
In case it helps, here's some more sample data using a recent rpm upgrade as an example. Using cupt 1.0.0, a safe-upgrade to the recent release fails and has to be run again: r...@succubus:/# cupt -R --purge -o debug::worker=1 -o debug::resolver=1 safe-upgrade Building the package cache... [done] Initializing package resolver and worker... [done] Scheduling requested actions... D: install package 'librpmio0', version '4.7.1-9' D: auto-installing relation 'liblua5.1-0' D: auto-installing relation 'liblzma0 (>= 4.999.9beta)' D: install package 'rpm', version '4.7.1-9' D: auto-installing relation 'rpm-common' D: install package 'librpm0', version '4.7.1-9' D: auto-installing relation 'rpm-common' D: install package 'librpmbuild0', version '4.7.1-9' [done] Resolving possible unmet dependencies... D: selected package 'liblua5.1-0', version '5.1.4-4' for relation expression 'liblua5.1-0' D: install package 'liblua5.1-0', version '5.1.4-4' D: selected package 'liblzma0', version '4.999.9beta+20091004-1' for relation expression 'liblzma0 (>= 4.999.9beta)' D: install package 'liblzma0', version '4.999.9beta+20091004-1' D: selected package 'rpm-common', version '4.7.1-9' for relation expression 'rpm-common' D: install package 'rpm-common', version '4.7.1-9' D: selected package 'rpm-common', version '4.7.1-9' for relation expression 'rpm-common' D: started resolving D: (0:0.0) finished D: (0:0.0) proposing this solution The following 3 packages will be INSTALLED: liblua5.1-0 liblzma0 rpm-common The following 4 packages will be UPGRADED: librpm0 librpmbuild0 librpmio0 rpm Need to get 3854KiB/3854KiB of archives. After unpacking 1272KiB will be used. Do you want to continue? [y/N/q] y D: (0:0.0) accepted Performing requested actions: Get:1 http://debian.lcs.mit.edu/debian sid/main liblua5.1-0 5.1.4-4 [79.1KiB] Get:2 http://debian.lcs.mit.edu/debian sid/main liblzma0 4.999.9beta+20091004-1 [144KiB] Get:3 http://debian.lcs.mit.edu/debian sid/main librpm0 4.7.1-9 [818KiB] Get:4 http://debian.lcs.mit.edu/debian sid/main librpmbuild0 4.7.1-9 [693KiB] Get:5 http://debian.lcs.mit.edu/debian sid/main librpmio0 4.7.1-9 [703KiB] Get:6 http://debian.lcs.mit.edu/debian sid/main rpm-common 4.7.1-9 [644KiB] Get:7 http://debian.lcs.mit.edu/debian sid/main rpm 4.7.1-9 [773KiB] Fetched 3854KiB in 3s. D: new action dependency: 'configure librpm0 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure librpmbuild0 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure librpmio0 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure rpm-common 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure liblua5.1-0 5.1.4-4' -> 'configure librpmio0 4.7.1-9' D: new action dependency: 'configure liblzma0 4.999.9beta+20091004-1' -> 'configure librpmio0 4.7.1-9' D: new action dependency: 'remove librpm0 4.7.0-9' -> 'remove librpmio0 4.7.0-9' D: new action dependency: 'remove librpm0 4.7.0-9' -> 'unpack rpm-common 4.7.1-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'unpack rpm-common 4.7.1-9' D: new action dependency: 'configure rpm 4.7.1-9' -> '(fake) configure alien [rpm (>= 2.4.4-2)] 8.78' D: new action dependency: '(fake) remove alien [rpm (>= 2.4.4-2)] 8.78' -> 'remove rpm 4.7.0-9' D: new action dependency: 'configure librpm0 4.7.1-9' -> 'configure librpmbuild0 4.7.1-9' D: new action dependency: 'configure librpmio0 4.7.1-9' -> 'configure librpmbuild0 4.7.1-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'remove librpm0 4.7.0-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'remove librpmbuild0 4.7.0-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'remove librpmio0 4.7.0-9' D: new action dependency: 'remove librpmbuild0 4.7.0-9' -> 'remove librpm0 4.7.0-9' D: new action dependency: 'remove librpmbuild0 4.7.0-9' -> 'remove librpmio0 4.7.0-9' D: new action dependency: 'configure librpmio0 4.7.1-9' -> 'configure librpm0 4.7.1-9' D: new action dependency: 'configure rpm-common 4.7.1-9' -> 'configure librpm0 4.7.1-9' D: multiplied action dependency: 'configure rpm 4.7.1-9' -> 'remove rpm 4.7.0-9', virtual mediator: 'alien [rpm (>= 2.4.4-2)]' D: ate action dependency: 'unpack rpm 4.7.1-9' -> 'unpack librpmbuild0 4.7.1-9' using 'librpmbuild0 (>= 4.7.0)' D: merging action 'install librpmbuild0 4.7.1-9' D: ate action dependency: 'configure rpm 4.7.1-9' -> 'unpack rpm 4.7.1-9' using 'rpm (>= 2.4.4-2), rpm (>= 2.4.4-2)' D: merging action 'install rpm 4.7.1-9' D: ate action dependency: 'install librpmbuild0 4.7.1-9' -> 'unpack librpmio0 4.7.1-9' using 'librpmio0 (>= 4.7.0)' D: ate action dependency: 'unpack librpm0 4.7.1-9' -> 'unpack librpmio0 4.7.1-9' using 'librpmio0 (>= 4.7.0)' D: ate action dependency: 'install rpm 4.7.1-9' -> 'unpack librpmio0 4.7.1-9' using 'librpmio0 (>= 4.7.0)' D: merging action 'install librpmio0 4.7.1-9' D: merging action 'install rpm-common 4.7.1-9' D: ate action dependency: 'install rpm 4.7.1-9' -> 'unpack librpm0 4.7.1-9' using 'librpm0 (>= 4.7.0)' D: ate action dependency: 'install librpmbuild0 4.7.1-9' -> 'unpack librpm0 4.7.1-9' using 'librpm0 (>= 4.7.0)' D: merging action 'install librpm0 4.7.1-9' D: not merging action 'configure liblzma0 4.999.9beta+20091004-1' D: not merging action 'configure liblua5.1-0 5.1.4-4' debconf: delaying package configuration, since apt-utils is not installed D: unpack liblzma0_4.999.9beta+20091004-1 Selecting previously deselected package liblzma0. (Reading database ... 12844 files and directories currently installed.) Unpacking liblzma0 (from .../liblzma0_4.999.9beta+20091004-1_i386.deb) ... D: configure liblzma0_4.999.9beta+20091004-1 Setting up liblzma0 (4.999.9beta+20091004-1) ... D: unpack liblua5.1-0_5.1.4-4 Selecting previously deselected package liblua5.1-0. (Reading database ... 12852 files and directories currently installed.) Unpacking liblua5.1-0 (from .../liblua5.1-0_5.1.4-4_i386.deb) ... D: configure liblua5.1-0_5.1.4-4 Setting up liblua5.1-0 (5.1.4-4) ... D: install librpmio0_4.7.1-9 (Reading database ... 12858 files and directories currently installed.) Preparing to replace librpmio0 4.7.0-9 (using .../librpmio0_4.7.1-9_i386.deb) ... Unpacking replacement librpmio0 ... Setting up librpmio0 (4.7.1-9) ... D: install --force-depends --force-conflicts librpm0_4.7.1-9 rpm-common_4.7.1-9 rpm_4.7.1-9 librpmbuild0_4.7.1-9 (Reading database ... 12857 files and directories currently installed.) Preparing to replace librpm0 4.7.0-9 (using .../librpm0_4.7.1-9_i386.deb) ... Unpacking replacement librpm0 ... Selecting previously deselected package rpm-common. dpkg: considering removing rpm in favour of rpm-common ... dpkg: warning: ignoring dependency problem with removal of rpm: alien depends on rpm (>= 2.4.4-2) rpm is to be removed. dpkg: yes, will remove rpm in favour of rpm-common. Unpacking rpm-common (from .../rpm-common_4.7.1-9_all.deb) ... Unpacking rpm (from .../archives/rpm_4.7.1-9_i386.deb) ... Preparing to replace librpmbuild0 4.7.0-9 (using .../librpmbuild0_4.7.1-9_i386.deb) ... Unpacking replacement librpmbuild0 ... Setting up rpm-common (4.7.1-9) ... dpkg: error processing rpm (--install): package rpm is not ready for configuration cannot configure (current status `config-files') Setting up librpm0 (4.7.1-9) ... Setting up librpmbuild0 (4.7.1-9) ... Processing triggers for man-db ... Errors were encountered while processing: rpm r...@succubus:/# cupt -R --purge -o debug::worker=1 -o debug::resolver=1 safe-upgrade Building the package cache... [done] Initializing package resolver and worker... [done] Scheduling requested actions... [done] Resolving possible unmet dependencies... D: auto-removed package 'librpmio0' D: auto-removed package 'libelf1' D: auto-removed package 'libpopt0' D: auto-removed package 'libnss3-1d' D: auto-removed package 'libnspr4-0d' D: auto-removed package 'librpm0' D: auto-removed package 'librpmbuild0' D: auto-removed package 'liblua5.1-0' D: auto-removed package 'rpm-common' D: auto-removed package 'liblzma0' D: auto-removed package 'libsqlite3-0' D: started resolving D: (0:0.0) problem: package 'alien': unsatisfied depends 'rpm (>= 2.4.4-2)' D: (0:0.0) -> (0,+840) trying: package 'rpm': '<not installed>' -> '4.7.1-9' D: (0:840.0) problem: package 'rpm': unsatisfied depends 'libelf1 (>= 0.131)' D: (0:840.0) -> (0,+412.5) trying: package 'libelf1': '<not installed>' -> '0.143-1' D: (0:1252.5) problem: package 'rpm': unsatisfied depends 'libnss3-1d (>= 3.12.0~1.9b1)' D: (0:1252.5) -> (0,+412.5) trying: package 'libnss3-1d': '<not installed>' -> '3.12.4-1' D: (0:1665.0) problem: package 'rpm': unsatisfied depends 'libpopt0 (>= 1.15)' D: (0:1665.0) -> (0,+425) trying: package 'libpopt0': '<not installed>' -> '1.15-1' D: (0:2090.0) problem: package 'rpm': unsatisfied depends 'librpm0 (>= 4.7.0)' D: (0:2090.0) -> (0,+412.5) trying: package 'librpm0': '<not installed>' -> '4.7.1-9' D: (0:2502.5) problem: package 'rpm': unsatisfied depends 'librpmbuild0 (>= 4.7.0)' D: (0:2502.5) -> (0,+412.5) trying: package 'librpmbuild0': '<not installed>' -> '4.7.1-9' D: (0:2915.0) problem: package 'rpm': unsatisfied depends 'librpmio0 (>= 4.7.0)' D: (0:2915.0) -> (0,+412.5) trying: package 'librpmio0': '<not installed>' -> '4.7.1-9' D: (0:3327.5) problem: package 'rpm': unsatisfied depends 'rpm-common' D: (0:3327.5) -> (0,+412.5) trying: package 'rpm-common': '<not installed>' -> '4.7.1-9' D: (0:3740.0) problem: package 'librpmio0': unsatisfied depends 'liblua5.1-0' D: (0:3740.0) -> (0,+412.5) trying: package 'liblua5.1-0': '<not installed>' -> '5.1.4-4' D: (0:4152.5) problem: package 'librpmio0': unsatisfied depends 'liblzma0 (>= 4.999.9beta)' D: (0:4152.5) -> (0,+412.5) trying: package 'liblzma0': '<not installed>' -> '4.999.9beta+20091004-1' D: (0:4565.0) problem: package 'libnss3-1d': unsatisfied depends 'libnspr4-0d (>= 1.8.0.10)' D: (0:4565.0) -> (0,+412.5) trying: package 'libnspr4-0d': '<not installed>' -> '4.8-1' D: (0:4977.5) problem: package 'libnss3-1d': unsatisfied depends 'libsqlite3-0 (>= 3.6.18)' D: (0:4977.5) -> (0,+415) trying: package 'libsqlite3-0': '<not installed>' -> '3.6.19-1' D: (0:5392.5) finished D: (0:5392.5) proposing this solution The following 1 packages will be INSTALLED: rpm Need to get 0B/773KiB of archives. After unpacking 1176KiB will be used. Do you want to continue? [y/N/q] y D: (0:5392.5) accepted Performing requested actions: D: new action dependency: 'configure rpm 4.7.1-9' -> '(fake) configure alien [rpm (>= 2.4.4-2)] 8.78' D: not merging action 'configure rpm 4.7.1-9' debconf: delaying package configuration, since apt-utils is not installed D: unpack rpm_4.7.1-9 (Reading database ... 12783 files and directories currently installed.) Unpacking rpm (from .../archives/rpm_4.7.1-9_i386.deb) ... Processing triggers for man-db ... D: configure rpm_4.7.1-9 Setting up rpm (4.7.1-9) ... Trying rpm init... Where as using git HEAD (65b28f33 as of the time of this writing) results in a successful upgrade but with more complaints from dpkg: r...@succubus:/cupt# perl -I . ./cupt -R --purge -o debug::worker=1 -o debug::resolver=1 safe-upgrade Building the package cache... [done] Initializing package resolver and worker... [done] Scheduling requested actions... D: install package 'librpmio0', version '4.7.1-9' D: auto-installing relation 'liblua5.1-0' D: auto-installing relation 'liblzma0 (>= 4.999.9beta)' D: install package 'rpm', version '4.7.1-9' D: auto-installing relation 'rpm-common' D: install package 'librpm0', version '4.7.1-9' D: auto-installing relation 'rpm-common' D: install package 'librpmbuild0', version '4.7.1-9' [done] Resolving possible unmet dependencies... D: selected package 'liblua5.1-0', version '5.1.4-4' for relation expression 'liblua5.1-0' D: install package 'liblua5.1-0', version '5.1.4-4' D: selected package 'liblzma0', version '4.999.9beta+20091004-1' for relation expression 'liblzma0 (>= 4.999.9beta)' D: install package 'liblzma0', version '4.999.9beta+20091004-1' D: selected package 'rpm-common', version '4.7.1-9' for relation expression 'rpm-common' D: install package 'rpm-common', version '4.7.1-9' D: selected package 'rpm-common', version '4.7.1-9' for relation expression 'rpm-common' D: started resolving D: (0:0.0) finished D: (0:0.0) proposing this solution The following 3 packages will be INSTALLED: liblua5.1-0 liblzma0 rpm-common The following 4 packages will be UPGRADED: librpm0 librpmbuild0 librpmio0 rpm Need to get 0B/3854KiB of archives. After unpacking 1272KiB will be used. D: (0:0.0) accepted Performing requested actions: D: new action dependency: 'configure liblua5.1-0 5.1.4-4' -> 'configure librpmio0 4.7.1-9' D: new action dependency: 'configure liblzma0 4.999.9beta+20091004-1' -> 'configure librpmio0 4.7.1-9' D: new action dependency: 'remove librpm0 4.7.0-9' -> 'remove librpmio0 4.7.0-9' D: new action dependency: 'configure librpm0 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure librpmbuild0 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure librpmio0 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure rpm-common 4.7.1-9' -> 'configure rpm 4.7.1-9' D: new action dependency: 'configure librpmio0 4.7.1-9' -> 'configure librpm0 4.7.1-9' D: new action dependency: 'configure rpm-common 4.7.1-9' -> 'configure librpm0 4.7.1-9' D: new action dependency: 'remove librpmbuild0 4.7.0-9' -> 'remove librpm0 4.7.0-9' D: new action dependency: 'remove librpmbuild0 4.7.0-9' -> 'remove librpmio0 4.7.0-9' D: new action dependency: 'configure librpm0 4.7.1-9' -> 'configure librpmbuild0 4.7.1-9' D: new action dependency: 'configure librpmio0 4.7.1-9' -> 'configure librpmbuild0 4.7.1-9' D: new action dependency: 'remove librpm0 4.7.0-9' -> 'unpack rpm-common 4.7.1-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'unpack rpm-common 4.7.1-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'remove librpm0 4.7.0-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'remove librpmbuild0 4.7.0-9' D: new action dependency: 'remove rpm 4.7.0-9' -> 'remove librpmio0 4.7.0-9' D: new action dependency: '(fake) remove alien [rpm (>= 2.4.4-2)] 8.78' -> 'remove rpm 4.7.0-9' D: new action dependency: 'configure rpm 4.7.1-9' -> '(fake) configure alien [rpm (>= 2.4.4-2)] 8.78' D: multiplied action dependency: 'configure rpm 4.7.1-9' -> 'remove rpm 4.7.0-9', virtual mediator: 'alien [rpm (>= 2.4.4-2)]' D: ate action dependency: 'unpack rpm 4.7.1-9' -> 'unpack librpmbuild0 4.7.1-9' using 'librpmbuild0 (>= 4.7.0)' D: merging action 'install librpmbuild0 4.7.1-9' D: ate action dependency: 'configure rpm 4.7.1-9' -> 'unpack rpm 4.7.1-9' using 'rpm (>= 2.4.4-2), rpm (>= 2.4.4-2)' D: merging action 'install rpm 4.7.1-9' D: ate action dependency: 'unpack librpm0 4.7.1-9' -> 'unpack librpmio0 4.7.1-9' using 'librpmio0 (>= 4.7.0)' D: ate action dependency: 'install librpmbuild0 4.7.1-9' -> 'unpack librpmio0 4.7.1-9' using 'librpmio0 (>= 4.7.0)' D: ate action dependency: 'install rpm 4.7.1-9' -> 'unpack librpmio0 4.7.1-9' using 'librpmio0 (>= 4.7.0)' D: merging action 'install librpmio0 4.7.1-9' D: not merging action 'configure rpm-common 4.7.1-9' D: ate action dependency: 'install librpmbuild0 4.7.1-9' -> 'unpack librpm0 4.7.1-9' using 'librpm0 (>= 4.7.0)' D: ate action dependency: 'install rpm 4.7.1-9' -> 'unpack librpm0 4.7.1-9' using 'librpm0 (>= 4.7.0)' D: merging action 'install librpm0 4.7.1-9' D: not merging action 'configure liblzma0 4.999.9beta+20091004-1' D: not merging action 'configure liblua5.1-0 5.1.4-4' debconf: delaying package configuration, since apt-utils is not installed D: unpack liblua5.1-0_5.1.4-4 Selecting previously deselected package liblua5.1-0. (Reading database ... 13355 files and directories currently installed.) Unpacking liblua5.1-0 (from .../liblua5.1-0_5.1.4-4_i386.deb) ... D: configure liblua5.1-0_5.1.4-4 Setting up liblua5.1-0 (5.1.4-4) ... D: unpack liblzma0_4.999.9beta+20091004-1 Selecting previously deselected package liblzma0. (Reading database ... 13361 files and directories currently installed.) Unpacking liblzma0 (from .../liblzma0_4.999.9beta+20091004-1_i386.deb) ... D: configure liblzma0_4.999.9beta+20091004-1 Setting up liblzma0 (4.999.9beta+20091004-1) ... D: install librpmio0_4.7.1-9 (Reading database ... 13369 files and directories currently installed.) Preparing to replace librpmio0 4.7.0-9 (using .../librpmio0_4.7.1-9_i386.deb) ... Unpacking replacement librpmio0 ... Setting up librpmio0 (4.7.1-9) ... D: unpack --force-depends --force-conflicts rpm-common_4.7.1-9 Selecting previously deselected package rpm-common. dpkg: considering removing librpm0 in favour of rpm-common ... dpkg: warning: ignoring dependency problem with removal of librpm0: rpm depends on librpm0 (>= 4.7.0) librpm0 is to be removed. dpkg: warning: ignoring dependency problem with removal of librpm0: librpmbuild0 depends on librpm0 (>= 4.7.0) librpm0 is to be removed. dpkg: yes, will remove librpm0 in favour of rpm-common. dpkg: considering removing rpm in favour of rpm-common ... dpkg: warning: ignoring dependency problem with removal of rpm: alien depends on rpm (>= 2.4.4-2) rpm is to be removed. dpkg: yes, will remove rpm in favour of rpm-common. (Reading database ... 13368 files and directories currently installed.) Unpacking rpm-common (from .../rpm-common_4.7.1-9_all.deb) ... Processing triggers for man-db ... D: install --force-depends --force-conflicts librpm0_4.7.1-9 librpmbuild0_4.7.1-9 rpm_4.7.1-9 (Reading database ... 13289 files and directories currently installed.) Unpacking librpm0 (from .../librpm0_4.7.1-9_i386.deb) ... Preparing to replace librpmbuild0 4.7.0-9 (using .../librpmbuild0_4.7.1-9_i386.deb) ... Unpacking replacement librpmbuild0 ... Unpacking rpm (from .../archives/rpm_4.7.1-9_i386.deb) ... dpkg: librpm0: dependency problems, but configuring anyway as you requested: librpm0 depends on rpm-common; however: Package rpm-common is not configured yet. Setting up librpm0 (4.7.1-9) ... Setting up librpmbuild0 (4.7.1-9) ... dpkg: rpm: dependency problems, but configuring anyway as you requested: rpm depends on rpm-common; however: Package rpm-common is not configured yet. Setting up rpm (4.7.1-9) ... Trying rpm init... Processing triggers for man-db ... D: configure rpm-common_4.7.1-9 Setting up rpm-common (4.7.1-9) ... -- James GPG Key: 1024D/61326D40 2003-09-02 James Vega <james...@debian.org>
signature.asc
Description: Digital signature