[Pkg-mono-svn-commits] rev 247 - mono/branches/experimental/trunk/debian
Eduard Bloch
blade@quantz.debian.org
Sun, 15 Feb 2004 16:16:41 +0100
Author: blade
Date: 2004-02-15 16:16:41 +0100 (Sun, 15 Feb 2004)
New Revision: 247
Modified:
mono/branches/experimental/trunk/debian/dh_mono
Log:
Almost fixed... TODO: finish the embedded manpage, clarify details
Modified: mono/branches/experimental/trunk/debian/dh_mono
===================================================================
--- mono/branches/experimental/trunk/debian/dh_mono 2004-02-15 14:43:52 UTC (rev 246)
+++ mono/branches/experimental/trunk/debian/dh_mono 2004-02-15 15:16:41 UTC (rev 247)
@@ -146,9 +146,9 @@
my %libsLoc; # custom dll-to-pkgname map
my %minvLoc; # custom pkgname-to-min-version map
# first create reserve lists from mono.local
- if(-r "debian/mono.local") {
+ if(-r "debian/monolibs.local") {
my $l;
- open($l, "<debian/mono.local");
+ open($l, "<debian/monolibs.local");
while(<$l>) {
# syntax:
# foobar.dll package-name
@@ -160,16 +160,17 @@
}
}
- # feel %deps with pkg names as keys
+ # fill %deps with pkg names as keys
foreach my $lib (keys %libs) {
my $kand = $libsLoc{$lib}; # resolve via local map
- $kand = `dlocate /usr/lib/$lib.dll || dpkg -S /usr/lib/$lib.dll`
- unless $kand;
- $kand = `dlocate $lib.dll | grep /usr/share/dotnet` unless $kand;
+# $kand = `dlocate -e /usr/lib/$lib.dll || dpkg -S /usr/lib/$lib.dll`
+ $kand = `dpkg -S /usr/lib/$lib.dll` unless $kand;
+# $kand = `dlocate -e $lib.dll | grep /usr/share/dotnet` unless $kand;
$kand = `dpkg -S $lib.dll | grep /usr/share/dotnet` unless $kand;
$kand =~ s/:.*//;
if($kand) {
- $deps{$kand} = 1;
+ # we also don't want to have circular deps to this package
+ $deps{$kand} = 1 if($kand ne $package);
}
else {
print "Warning, $lib.dll not found on this system or in debian/mono.local!\n";
@@ -187,8 +188,14 @@
foreach my $pkg (keys %deps) {
my $version = $minvLoc{$pkg};
$version =~ s#[\(\)]##g if $version;
- if(!$version && `dpkg -s $pkg` =~ /^Version:\s*(\S+)/) {
+ if(!$version && `dpkg -s $pkg` =~ /^Version:\s*(\S+)/m) {
$version = ">= $1";
+ # FIXME add an option to match the exact versions
+ # match only the upstream version
+ if(!0) {
+ $version =~ s/-[^-]+$//;
+ $version =~ s/=/>/;
+ }
}
addsubstvar($package, "mono:Depends", $pkg, $version)
}