Am 02.01.2004 um 06:26 schrieb Ben Hines:
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)
[...]
Nope, this isn't be the proper fix... even if it were 100% "correct" in the sense that it doesn't lead to regressions (which I don't know - maybe it is, maybe it isn't), with the below patch, the whole if() with its nested foreach becomes a no-op and could be completely removed. :-). (Since the if() would only be entered if $to_be_rebuilt{$pkgname} is true; and the only thing that gets modified is again $to_be_rebuilt{$pkgname}; and it is modified |= so it can only become "more true", but never false :-). Hence: either we remove the whole section, or we fix it properly. I really have to dig into the code first to understand what this was doing and why it was added, before I make further comments on this, though :-)
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 :)
Anyway, I noticed another problem now. I just wanted to test-build swi-prolog, which depends on its splitoff "swi-prolog-lite". So I did
fink build swi-prolog
Which lead to fink telling me that it needs swi-prolog-lite for that! Not good, not good at all. Wonder if this is a regression in 0.18.0 or an old issue, hm.
Cheers,
Max
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()};
------------------------------------------------------- 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