Still occurs with cvs. Note that the parent does not depend on the -shlibs in my test package.
I think this might be a very old bug from max. (fix at bottom)


Here is the pkg, fink remove them all then do 'fink rebuild baz baz-blammo"

Package: baz
Version: 2.1
Revision: 11
#Depends: %N-blammo, %N-doc
Type: nosource
CompileScript: echo "COMPILING BAZ AT THIS TIME"
InstallScript: <<
echo "none" >> README
<<
DocFiles: README
SplitOff: <<
 Package: %N-blammo
 DocFiles: README
<<
SplitOff2: <<
 Package: %N-doc
 DocFiles: README
<<
License: GPL
Maintainer: None <[EMAIL PROTECTED]>



And with this one in CVS you will get a 'circular dependency' error:
Failed: Problem resolving dependencies. Check for circular dependencies.


Package: baz Version: 2.1 Revision: 11 Depends: %N-blammo, %N-doc Type: nosource CompileScript: echo "COMPILING BAZ AT THIS TIME" InstallScript: << echo "none" >> README << DocFiles: README SplitOff: << Package: %N-blammo DocFiles: README << SplitOff2: << Package: %N-doc DocFiles: README << License: GPL Maintainer: None <[EMAIL PROTECTED]>

This fixes it I think... the loop removing relatives from the rebuild list was only being entered if the parent wasn't being rebuilt. I'm not sure if this is the correct fix, though... please verify what this breaks :)

Index: Engine.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/Engine.pm,v
retrieving revision 1.148
diff -u -r1.148 Engine.pm
--- Engine.pm 1 Jan 2004 18:48:08 -0000 1.148
+++ Engine.pm 2 Jan 2004 05:14:07 -0000
@@ -1449,7 +1449,7 @@
# to build in any case.
$to_be_rebuilt{$pkgname} = 0 unless exists $to_be_rebuilt{$pkgname};
$to_be_rebuilt{$pkgname} |= not $package->is_present();
- if (not $to_be_rebuilt{$pkgname} and exists $package->{_relatives}) {
+ if ($to_be_rebuilt{$pkgname} and exists $package->{_relatives}) {
foreach $pkg (@{$package->{_relatives}}) {
next unless exists $to_be_rebuilt{$pkg->get_name()};
$to_be_rebuilt{$pkgname} |= $to_be_rebuilt{$pkg->get_name()};



-Ben




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to