On Jan 13, 2008, at 7:30 PM, Daniel Johnson wrote:
On Jan 13, 2008, at 7:09 PM, Koen van der Drift wrote:On Jan 13, 2008, at 6:59 PM, Daniel Johnson wrote:But why does it work in octave which only BuildDepends on fink >= 0.27.9, instead of fink >= 0.27.99. Since now I get the following error:Error: private-library entry in Shlibs requires declaring a BuildDepends on fink (>= 0.27.99) or higher.It only works if you change it to 0.27.99 or later, but since no such version has been released you can't actually use it in a public info file.Now I'm confused, since octave.info has BuildDepends: fink (>= 0.27.9), not BuildDepends: fink (>= 0.27.99).Ah, never mind, it still fails the validation ;-) - Koen.Yeah, like I said, octave.info CAN'T use 0.27.99 since no such fink version has been released. :) If it did, only people using fink HEAD could build octave.But I'm still having a problem: Validating .deb dir /sw/src/fink.build/root-fontforge-20080110-101...Error: package contains a dylib with no corresponding Shlibs entry (/ sw/lib/fontforge/libfontforge.1.0.0.dylib -> /sw/lib/fontforge/ libfontforge.1.dylib 2.0.0) If this is a private library, add '!/sw/lib/fontforge/ libfontforge.1.0.0.dylib' to the Shlibs field. Error: package contains a dylib with no corresponding Shlibs entry (/ sw/lib/fontforge/libgdraw.3.0.0.dylib -> /sw/lib/fontforge/libgdraw. 3.dylib 4.0.0) If this is a private library, add '!/sw/lib/fontforge/libgdraw. 3.0.0.dylib' to the Shlibs field. Error: package contains a dylib with no corresponding Shlibs entry (/ sw/lib/fontforge/libgunicode.3.0.0.dylib -> /sw/lib/fontforge/ libgunicode.3.dylib 4.0.0) If this is a private library, add '!/sw/lib/fontforge/ libgunicode.3.0.0.dylib' to the Shlibs field. Error: package contains a dylib with no corresponding Shlibs entry (/ sw/lib/fontforge/libgutils.1.0.0.dylib -> /sw/lib/fontforge/ libgutils.1.dylib 2.0.0) If this is a private library, add '!/sw/lib/fontforge/ libgutils.1.0.0.dylib' to the Shlibs field.This is even after adding those lines (with no whitespace in front) so I'm still missing something. Guess I need to dig into the validator more.
OK, the validator is buggy. This is the code that prints the error:
for my $dylib (@installed_dylibs) {
next if (-l $destdir . $dylib);
if (defined $otool) {
my $dylib_temp = resolve_rooted_symlink($destdir,
$dylib);
if (not defined $dylib_temp) {
print "Warning: unable to resolve symlink for
$dylib.\n";
} else {
$dylib_temp =~ s/\'/\\\'/gs;
if (open (OTOOL, "$otool -L '$dylib_temp' |")) {
<OTOOL>; # skip first line
my ($libname, $compat_version) = <OTOOL> =~ /^\s*(\S+)\s*\
(compatibility version ([\d\.]+)/;
close (OTOOL);
if (not exists $deb_shlibs->{$libname})
{
print "Error: package contains a dylib with no corresponding
Shlibs entry ($dylib -> $libname $compat_version)\n";
print " If this is a private library, add '!$dylib' to the
Shlibs field.\n";
$looks_good = 0;
}
}
}
}
}
It doesn't actually check if private libraries are specified. So
that's two private-shlibs bugs. :)
Daniel
smime.p7s
Description: S/MIME cryptographic signature
------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________ Fink-devel mailing list [email protected] http://news.gmane.org/gmane.os.apple.fink.devel
