On Sat, Feb 26, 2005, Michael van Elst wrote:
>On Fri, Feb 25, 2005 at 06:10:04PM -0800, Bill Campbell wrote:
>
>> While updating a SuSE 9.2 Professional system from Release 2.2 to Release
>> 2.3 today I have run into quite a few issues with dependency order
>> problems.
>
>There are dependency problems that cannot be solved. This happens mostly
>when packages or options are renamed or when the dependency graph changes
>significantly between releases.
>
>In the latter case a clean install instead of an upgrade using -za instead of 
>-Ua
>should work.
>
>This doesn't mean that there are no bugs in the build tool :-|
>
>> I've looked at the code for the build.pl program, and am not
>> ready to dig into it yet to figure out how it's handling this.
>
>In short:
>
>1. identify which packages you want to have installed by looking up the most 
>recent
>   version in the repository (or if missing, the one that is already 
> installed).
>2. for each such package
>   2a. if the package is already on the TODO list, ignore it.

... Lots of interesting details deleted...

Given all the heavy lifting above, you have a list of packages that need to
be rebuilt, and should also have the names of packages that each of these
require.  I think that ``tsort'' may help by determining the order in which
these packages have to be built/installed.

For example, if I have a list of package/require pairs:

autoconf        m4
automake        autoconf
automake        libtool
automake        m4
gcc             make
libtool         m4
openpkg-tools   perl
perl            gcc
perl-xml        perl

If I run this through ``tsort | tac'' it will give me a list of the
packages in the order I need to build them (tac is necessary to reverse the
order as tsort generates the list in reverse order).

make
gcc
m4
perl
autoconf
libtool
perl-xml
openpkg-tools
automake

BTW:  Both programs, tsort and tac, are part of coreutils.

Bill
--
INTERNET:   [EMAIL PROTECTED]  Bill Campbell; Celestial Software LLC
UUCP:               camco!bill  PO Box 820; 6641 E. Mercer Way
FAX:            (206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/

``Independent self-reliant people would be a counterproductive anachronism
in the collective society of the future where people will be defined by
their associations.''  1896 John Dewey, educational philosopher, proponent
of modern public schools.
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Developer Communication List                   openpkg-dev@openpkg.org

Reply via email to