396 | 396 |
}
|
397 | 397 |
}
|
398 | 398 |
|
|
399 |
sub loadOverrides {
|
|
400 |
my $package = shift;
|
|
401 |
our $overridedata = shift;
|
|
402 |
|
|
403 |
# load clideps overrides
|
|
404 |
verbose_print("Loading clideps-override for $package...");
|
|
405 |
my $fh;
|
|
406 |
open($fh, "cat $pwd/debian/$package.clideps-override 2> /dev/null |");
|
|
407 |
while (<$fh>) {
|
|
408 |
/(\S+)\s+(\S+)(?:\s+(\(\S+\s+\S+\)))?\n?/;
|
|
409 |
my ($type, $package, $version);
|
|
410 |
$type = $1;
|
|
411 |
$package = $2;
|
|
412 |
$version = $3 if defined($3);
|
|
413 |
if ($version) {
|
|
414 |
$overridedata->{$package} = $type." ".$version;
|
|
415 |
} else {
|
|
416 |
$overridedata->{$package} = $type;
|
|
417 |
}
|
|
418 |
}
|
|
419 |
close($fh);
|
|
420 |
}
|
|
421 |
|
|
422 |
sub resolveClilibRefs {
|
|
423 |
my $package = shift;
|
|
424 |
my $assembly_filename = shift;
|
|
425 |
my %ret = ( depends => [],
|
|
426 |
recommends => [],
|
|
427 |
suggests => [] );
|
|
428 |
|
|
429 |
my %overridedata;
|
|
430 |
loadOverrides($package, \%overridedata);
|
|
431 |
|
|
432 |
# TODO: finish me
|
|
433 |
}
|
|
434 |
|
399 | 435 |
sub resolveShlibRefs {
|
400 | 436 |
my $package = shift;
|
401 | 437 |
my $assembly_filename = shift;
|
|
415 | 451 |
loadDllMap("/etc/mono/config", \%dllmapdata);
|
416 | 452 |
loadDllMap("$pwd/debian/tmp/etc/mono/config", \%dllmapdata);
|
417 | 453 |
loadDllMap($config_filename, \%dllmapdata);
|
418 | |
|
419 | |
# load clideps overrides
|
420 | |
verbose_print("Loading clideps-override...");
|
421 | |
my %clideps_override;
|
422 | |
open($fh, "cat $pwd/debian/$package.clideps-override 2> /dev/null |");
|
423 | |
while (<$fh>) {
|
424 | |
/(\S+)\s+(\S+)(?:\s+(\(\S+\s+\S+\)))?\n?/;
|
425 | |
my ($type, $package, $version);
|
426 | |
$type = $1;
|
427 | |
$package = $2;
|
428 | |
$version = $3 if defined($3);
|
429 | |
if ($version) {
|
430 | |
$clideps_override{$package} = $type." ".$version;
|
431 | |
} else {
|
432 | |
$clideps_override{$package} = $type;
|
433 | |
}
|
434 | |
}
|
435 | |
close($fh);
|
|
454 |
|
|
455 |
my %overridedata;
|
|
456 |
loadOverrides($package, \%overridedata);
|
436 | 457 |
|
437 | 458 |
# parse modulerefs
|
438 | 459 |
my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
|
|
494 | 515 |
$pkg = "libc6 $ver | libc6.1 $ver";
|
495 | 516 |
}
|
496 | 517 |
|
497 | |
if (defined($clideps_override{$pkgname})) {
|
|
518 |
if (defined($overridedata{$pkgname})) {
|
498 | 519 |
verbose_print("Found clideps-overidde: $pkgname for: $package");
|
499 | 520 |
|
500 | |
my $override = $clideps_override{$pkgname};
|
|
521 |
my $override = $overridedata{$pkgname};
|
501 | 522 |
$override =~ m/(\S+)(?:\s+(\(\S+\s+\S+\)))?/;
|
502 | 523 |
if ($1 eq "suggests" ||
|
503 | 524 |
$1 eq "recommends") {
|
|
513 | 534 |
$pkg = $pkgref;
|
514 | 535 |
}
|
515 | 536 |
}
|
|
537 |
|
516 | 538 |
push(@{$ret{$type}}, $pkg);
|
517 | 539 |
}
|
518 | 540 |
close(F);
|