[Pkg-mono-svn-commits] rev 1976 - in cli-common/trunk: . debian
Mirco Bauer
meebey-guest at costa.debian.org
Sun Aug 28 22:11:59 UTC 2005
Author: meebey-guest
Date: 2005-08-28 22:11:58 +0000 (Sun, 28 Aug 2005)
New Revision: 1976
Modified:
cli-common/trunk/cli-policy.sgml
cli-common/trunk/debian/changelog
cli-common/trunk/dh_clideps
cli-common/trunk/dh_makeclilibs
Log:
- fixes and new/better handling, see debian/changelog
Modified: cli-common/trunk/cli-policy.sgml
===================================================================
--- cli-common/trunk/cli-policy.sgml 2005-08-28 14:13:23 UTC (rev 1975)
+++ cli-common/trunk/cli-policy.sgml 2005-08-28 22:11:58 UTC (rev 1976)
@@ -126,7 +126,7 @@
<heading>Build Dependencies</heading>
<p>At a minimum, CLI packages must build-depend on
- <package>cli-common</package> (>= 0.1.3) and the compiler.</p>
+ <package>cli-common</package> (>= 0.2.0) and the compiler.</p>
<p>
Current CLI compilers in Debian:
Modified: cli-common/trunk/debian/changelog
===================================================================
--- cli-common/trunk/debian/changelog 2005-08-28 14:13:23 UTC (rev 1975)
+++ cli-common/trunk/debian/changelog 2005-08-28 22:11:58 UTC (rev 1976)
@@ -1,8 +1,9 @@
cli-common (0.2.0) unstable; urgency=low
- * NOT RELEASED YET
* Mirco 'meebey' Bauer
+ + Ported the CLI policy in SGML.
+ /usr/share/doc/cli-common contains now the CLI policy.
+ + Includes CLI policy version 0.2.0.
+ debian/control:
- Added debiandoc-sgml and tetex-extra to build-deps-indep.
- Changed Build-Depends to Build-Depends-Indep.
@@ -11,6 +12,14 @@
- Moved pod2man calls to build target.
+ debian/cli-common.docs:
- Added generated CLI policy documents.
+ + dh_clideps:
+ - Added error handling/messages when monodis fails for some reason.
+ - Fixed bug, it was not generating required dependencies when run in
+ internal-mono mode, caused wrong CLI deps for mono packages.
+ - Packages with no .exe files will no longer have a mono-jit
+ dependency.
+ - The versioned dependency of mono-jit for applications will be >= 1.0
+ when using .NET 1.0 and >= 1.1.8.1-1 when using .NET 2.0 now.
-- Debian Mono Group <pkg-mono-group at lists.alioth.debian.org> Sun, 28 Aug 2005 15:53:48 +0200
Modified: cli-common/trunk/dh_clideps
===================================================================
--- cli-common/trunk/dh_clideps 2005-08-28 14:13:23 UTC (rev 1975)
+++ cli-common/trunk/dh_clideps 2005-08-28 22:11:58 UTC (rev 1976)
@@ -8,6 +8,7 @@
use strict;
use File::Find;
+use File::Temp;
use Debian::Debhelper::Dh_Lib;
#eval 'use Debian::Debhelper::Dh_Lib';
@@ -34,7 +35,7 @@
which refers to the particular shared library (by its SONAME).
If you use this program, your package should build-depend on cli-common
-(>= 0.1.3).
+(>= 0.2.0).
=head1 OPTIONS
@@ -68,7 +69,9 @@
if (defined($ARGV[0]) && $ARGV[0] eq "internal-mono") {
$clr = "mono";
- $cli_parser = "MONO_PATH=debian/tmp/usr/lib/mono debian/tmp/usr/bin/monodis";
+ my $pwd=`pwd`;
+ chomp $pwd;
+ $cli_parser = "MONO_PATH=$pwd/debian/tmp/usr/lib/mono $pwd/debian/tmp/usr/bin/monodis";
$cli_version = `debian/tmp/usr/bin/mono --version 2>&1`;
verbose_print("Will use built Mono (debian/tmp/usr/bin/monodis) for CIL parsing.");
} elsif (-x "/usr/bin/monodis") {
@@ -87,9 +90,9 @@
local $/="";
open(FILE, 'debian/control');
my @filedata = <FILE>;
- close FILE;
- if (!($filedata[0] =~ /Build-Depends(-Indep)?: .*cli-common \(>= 0\.1\.3\)/)) {
- warning("Warning! No Build-Depends(-Indep) on cli-common (>= 0.1.3)!");
+ close(FILE);
+ if (!($filedata[0] =~ /Build-Depends(-Indep)?: .*cli-common \(>= 0\.2\.0\)/)) {
+ warning("Warning! No Build-Depends(-Indep) on cli-common (>= 0.2.0)!");
}
}
@@ -133,21 +136,43 @@
my $tmp = tmpdir($package);
my %deps;
my @depkgs;
-
+ my $found_exe = 0;
+ my $needs_net_1_0 = 0;
+ my $needs_net_2_0 = 0;
+
delsubstvar($package, "cli:Depends"); # for idempotency
# find binaries
find (sub {
+ return unless -f and /\.(exe|dll)$/;
my $vers;
- return unless -f and /\.(exe|dll)$/;
- local *F;
my $file = $_;
- return unless open F, "LANG=C $cli_parser --assemblyref $file 2>&1 |";
+ if (/\.exe$/) {
+ $found_exe = 1;
+ }
+ my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
+ my $command = "LANG=C $cli_parser --assemblyref $file 2>&1 > $tmpfile";
- if (my $extra = extraDeps ($file)) {
+ system($command);
+ if ($?) {
+ my $output;
+ {
+ local *F;
+ open(F, $tmpfile);
+ local $/;
+ $output = <F>;
+ close(F);
+ }
+ error("cli_parser call failed: '".$command."' rc: $? output: $output");
+ return;
+ }
+
+ if (my $extra = extraDeps($file)) {
push(@depkgs, $extra);
}
our($vers, $name, $key);
+ local *F;
+ open(F, $tmpfile);
while (<F>) {
$vers = $1 if /Version=(.*)\n/;
$name = $1 if /Could not find assembly ([^,]+),/;
@@ -166,9 +191,19 @@
push(@depkgs, $libdata{$compat});
}
#print "ok, ".$deps{ "$name/$vers" . "__" . lc($key) };
+
+ if ($name eq "mscorlib") {
+ if ($vers eq "1.0.5000.0") {
+ $needs_net_1_0 = 1;
+ } elsif ($vers eq "2.0.3600.0") {
+ $needs_net_2_0 = 1;
+ } else {
+ warning("Warning! Unknown mscorlib version: $vers!");
+ }
+ }
}
}
- close F;
+ close(F);
}, $tmp);
my %depkgsFiltered;
@@ -197,9 +232,15 @@
}
my $deps;
- if (!defined($dh{R_FLAG})) {
+ if (!defined($dh{R_FLAG}) && $found_exe) {
if ($clr eq "mono") {
- $deps = "mono-jit (>= $cli_version)";
+ if ($needs_net_1_0) {
+ $deps = "mono-jit (>= 1.0)";
+ } elsif ($needs_net_2_0) {
+ $deps = "mono-jit (>= 1.1.8.1-1)";
+ } else {
+ $deps = "mono-jit (>= $cli_version)";
+ }
} elsif ($clr eq "pnet") {
$deps = "pnet-interpreter (>= $cli_version)";
}
Modified: cli-common/trunk/dh_makeclilibs
===================================================================
--- cli-common/trunk/dh_makeclilibs 2005-08-28 14:13:23 UTC (rev 1975)
+++ cli-common/trunk/dh_makeclilibs 2005-08-28 22:11:58 UTC (rev 1976)
@@ -147,8 +147,8 @@
open(FILE, 'debian/control');
my @filedata = <FILE>;
close FILE;
- if (!($filedata[0] =~ /Build-Depends(-Indep)?: .*cli-common \(>= 0\.1\.3\)/)) {
- warning("Warning! No Build-Depends(-Indep) on cli-common (>= 0.1.3)!");
+ if (!($filedata[0] =~ /Build-Depends(-Indep)?: .*cli-common \(>= 0\.2\.0\)/)) {
+ warning("Warning! No Build-Depends(-Indep) on cli-common (>= 0.2.0)!");
}
}
More information about the Pkg-mono-svn-commits
mailing list