Codebase list cli-common / 724ac9a
- little refactoring for resolving clilibs Mirco Bauer 17 years ago
2 changed file(s) with 45 addition(s) and 21 deletion(s). Raw diff Collapse all Expand all
4747 dh_md5sums -i
4848 dh_builddeb -i
4949
50 binary-arch:
51
5052 binary: binary-indep
51 .PHONY: clean build binary-indep install binary
53 .PHONY: clean build install binary-indep binary-arch binary
396396 }
397397 }
398398
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
399435 sub resolveShlibRefs {
400436 my $package = shift;
401437 my $assembly_filename = shift;
415451 loadDllMap("/etc/mono/config", \%dllmapdata);
416452 loadDllMap("$pwd/debian/tmp/etc/mono/config", \%dllmapdata);
417453 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);
436457
437458 # parse modulerefs
438459 my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
494515 $pkg = "libc6 $ver | libc6.1 $ver";
495516 }
496517
497 if (defined($clideps_override{$pkgname})) {
518 if (defined($overridedata{$pkgname})) {
498519 verbose_print("Found clideps-overidde: $pkgname for: $package");
499520
500 my $override = $clideps_override{$pkgname};
521 my $override = $overridedata{$pkgname};
501522 $override =~ m/(\S+)(?:\s+(\(\S+\s+\S+\)))?/;
502523 if ($1 eq "suggests" ||
503524 $1 eq "recommends") {
513534 $pkg = $pkgref;
514535 }
515536 }
537
516538 push(@{$ret{$type}}, $pkg);
517539 }
518540 close(F);