pkg-order: Issues with conflicts
Hi,
This is a mail message that I received from the dftp
maintainer that is using pkg-order to order packages to be installed,
quoted with permission.
This is not directly related to deity, but thse issues _will_
impact us in the future.
manoj
----------------------------------------------------------------------
Hi Manoj!
I now again did some work on dftp... The changes you integrated into
pkg-order work great so far, but a new problem appeared this time :-(
If a package is in both, the installed and candidates list (with
different versions), there is a conflict that isn't handeled
correctly. Here's an example dftp session (with my test databases,
which are quite old now :-)
------------------------------------------------------------------------------
$installed contains libreadline2 2.1-2
$candidates contains libreadline2 2.1-3
Package libreadlineg2 conflicts with libreadline2(<< 2.1-2.1)
libreadline2 is to be installed in version 2.1-3
What to do? [?,d,o,n,u] (omit): ?
Options are:
d - deselect/deconfigure conflicting (second) package
o - omit selected (first) package
n - no action, try to install anyway
u - update conflicting package to remove conflict
? - repeat this help message
What to do? [?,d,o,n,u] (omit): update
libreadline2 will already be updated to version 2.1-3
What to do? [?,d,o,n,u] (omit): deselect
Deselecting package libreadline2
$candidates->delete( libreadline2 )
Package netstd depends on libreadline2(>= 2.1)
libreadline2 is installed in version 2.1-2
What to do? [?,a,o,n] (add): add
Selecting package libreadline2
$candidates->add( libreadline2 ) (again version 2.1-3, as available)
Package libreadlineg2 conflicts with libreadline2(<< 2.1-2.1)
libreadline2 is to be installed in version 2.1-3
What to do? [?,d,o,n,u] (omit): deselect
Deselecting package libreadline2
$candidates->delete( libreadline2 ) (again...)
Package netstd depends on libreadline2(>= 2.1)
libreadline2 is installed in version 2.1-2
What to do? [?,a,o,n] (add): nothing
Package libreadlineg2 conflicts with libreadline2(<< 2.1-2.1)
libreadline2 is installed in version 2.1-2
What to do? [?,d,o,n,u] (omit): u
Selected package libreadline2 (update from 2.1-2 to 2.1-3)
$candidates->add( libreadline2 )
Package libreadlineg2 conflicts with libreadline2(<< 2.1-2.1)
libreadline2 is to be installed in version 2.1-3
What to do? [?,d,o,n,u] (omit): deselect
Deselecting package libreadline2
$candidates->delete( libreadline2 )
Package libreadlineg2 conflicts with libreadline2(<< 2.1-2.1)
libreadline2 is installed in version 2.1-2
What to do? [?,d,o,n,u] (omit): deconfigure
Will remove package libreadline2 before installing
$installed->delete( libreadline2 )
Package libreadline2-altdev depends on libreadline2(= 2.1-3)
libreadline2 is not installed
What to do? [?,a,o,n] (add): add
Selecting package libreadline2
$candidates->add( libreadline2 )
... [no more conflicts]
------------------------------------------------------------------------------
There are two problems in there:
1) As already said above, pkg-order reports a conflict with the
installed version, though this is to be upgraded.
2) At the point where netstd appears, linreadline2 is known to be
installed, but still a unsatisfied dependency is reported.
They solve finally due to the "nothing" answer. This instructs dftp
not to ask about the netstd/libreadline2 dependency anymore but ignore
it completely from now on. After that, the libreadlineg2/libreadline2
conflict is reported twice (the second formerly was shadowed by the
netstd dependency), and I can deselect/remove it twice. This deletes
it in both, $candidates and $installed, and after the next add action
everything goes on smoothly...
I've not yet gone into the details of pkg-order why this happens, but
maybe I do the next days (when I find time). But perhaps you already
know where to look and I can save the work :-)
Roman
--
When in doubt, parenthesize. At the very least it will let some poor
schmuck bounce on the % key in vi. --Larry Wall in the perl man page
Manoj Srivastava <url:mailto:srivasta@acm.org>
Mobile, Alabama USA <url:http://www.datasync.com/%7Esrivasta/>
Reply to: