[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: