From dd74efecc3055da7f6f605c6b567308f00569b4f Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Tue, 21 Sep 2004 14:17:04 +0000 Subject: [PATCH] Clifford Wolf: Adapted Create-DepDB and Check-Deps-2 for forked packages Added one more rule to dep_fixes.txt [2004092116155900966] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@4349 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- scripts/Check-Deps-2 | 86 ++++++++++++++++++++++++++++++------------- scripts/Create-DepDB | 4 +- scripts/dep_fixes.txt | 3 ++ 3 files changed, 66 insertions(+), 27 deletions(-) diff --git a/scripts/Check-Deps-2 b/scripts/Check-Deps-2 index 25ce3e0b3..3e3e2f731 100755 --- a/scripts/Check-Deps-2 +++ b/scripts/Check-Deps-2 @@ -3,23 +3,38 @@ use strict; use English; -my (@pkg, %opr, %pri, %dep, %rep, %rdp, %ign, %lop, %deldeps); +my (@pkg, %opr, %pri, %dep, %rep, %rdp, %ign, %lop, %deldeps, %bas); my @useddeps; # deps used for visualization of cross dependencies my %pkg_redone; # packages built in stages 6-8 -foreach (@ARGV) { $ign{$_} = 1; } +my $config = ""; + +while ($_ = shift @ARGV) { + if ( $_ eq "-cfg" ) { + $config = shift @ARGV; + } else { + $ign{$_} = 1; + } +} print "Reading package priorities ...\n"; -open(F, "./scripts/Create-PkgList |") || die $!; +if ( $config eq "" ) { + open(F, "./scripts/Create-PkgList |") || die $!; +} else { + open(F, "< config/$config/packages") || die $!; +} while () { @_ = split /\s+/; next if $_[1] =~ /[1234]/ or $_[1] !~ /5/; $pkg_redone{$_[4]} = 1 if $_[1] =~ /[678]/; next if defined $ign{$_[3]} || defined $ign{$_[4]}; - $opr{$_[4]} = $_[2]; - $pri{$_[4]} = $_[2]; - $rep{$_[4]} = $_[3]; - $pkg[$#pkg+1] = $_[4]; + my ($b, $p) = ($_[4], $_[4]); + ($b, $p) = ($1, $2) if $_[4] =~ /(.*)=(.*)/; + $opr{$p} = $_[2]; + $pri{$p} = $_[2]; + $rep{$p} = $_[3]; + $bas{$p} = $b; + $pkg[$#pkg+1] = $p; } close F; @@ -152,31 +167,52 @@ for $iteration (1..99) { $lop{$looplog} = $iteration; } +sub patchfile($$$$) { + my ($tmpfile, $descfile, $re1, $re2) = @_; + + if ( ! open(IN, $descfile) ) + { print "ERROR: $descfile: $!\n"; return; } + if ( ! open(OUT, ">$tmpfile") ) + { print "ERROR: $descfile: $!\n"; close IN; return; } + $did_something = 0; + while () { + $did_something = 1 if eval "s/$re1/$re2/i"; + print OUT; + } + close IN; close OUT; + if (not $did_something) { + print "ERROR: Can't patch $descfile!\n"; + print "ERROR: Regex was s/$re1/$re2/\n"; + } + system("diff -u0 ./$descfile $tmpfile >> dependencies.patch"); +} + +sub setpri($$$$$$) { + my ($pri, $opr, $rep, $bas, $package, $tmpfile) = @_; + + if ($bas eq "cpan") { + my $r = $package; $r =~ s/^cpan-//g; $r =~ s/-/(-|::)/g; + patchfile($tmpfile, "package/import/cpan/hosted_cpan.txt", + "$opr ($r)", "$pri \$1"); + patchfile($tmpfile, "package/import/cpan/hosted_cpan.cfg", + "(pkgfork cpan $package .*) $opr;", "\$1 $pri;"); + return; + } + + patchfile($tmpfile, "package/$rep/$bas/$package.desc", + "(\\[P\\] . \\S+) $opr", "\$1 $pri"); +} + if ( $did_something ) { print "\nCreate dependencies.patch ...\n"; my $tmpfile = `mktemp`; chomp $tmpfile; unlink "dependencies.patch"; foreach $package (@pkg) { - if ($pri{$package} != $opr{$package}) { - my $descfile = "package/$rep{$package}/". - "$package/$package.desc"; - open(IN, $descfile) || die $!; - open(OUT, ">$tmpfile") || die $!; - $did_something = 0; - my $re1 = "(\\[P\\] . \\S+) $opr{$package}"; - my $re2 = "\$1 $pri{$package}"; - while () { - $did_something = 1 if eval "s/$re1/$re2/"; - print OUT; - } - close IN; close OUT; - if (not $did_something) { - print "ERROR: Can't patch $descfile!\n"; - print "ERROR: Regex was s/$re1/$re2/\n"; + if ($pri{$package} != $opr{$package}) { + print "Setting priority $pri{$package} on package $rep{$package}/$bas{$package}=$package.\n"; + setpri($pri{$package}, $opr{$package}, $rep{$package}, $bas{$package}, $package, $tmpfile); } - system("diff -u0 ./$descfile $tmpfile >> dependencies.patch"); - } } unlink $tmpfile; print "Done. Please check moves manually bofore applying the patch.\n"; diff --git a/scripts/Create-DepDB b/scripts/Create-DepDB index ab9ed0d45..48206171e 100755 --- a/scripts/Create-DepDB +++ b/scripts/Create-DepDB @@ -77,12 +77,12 @@ perl -e ' foreach my $c (<'$cachedir'/*/*/*.cache>) { my ($pri, $time) = (1, 1); - my $pkg = $c; $pkg=~s,^.*/([^/]*)/[^/]*$,$1,; + my $pkg = $c; $pkg=~s,^.*/([^/]*)\.cache$,$1,; my $found_dep_entries = 0; my %deps = (); my $d = $c; - $d =~ s/\.cache$/.desc/; + $d =~ s,([^/]*)/[^/]*\.cache$,$1/$1.desc,; $d =~ s,^'$cachedir','$descdir',; if ( ! -f $d ) { print STDERR "WARNING: Can'\''t find $d -> skipping $c.\n"; diff --git a/scripts/dep_fixes.txt b/scripts/dep_fixes.txt index 2f79de3ba..a8f1c0c9b 100644 --- a/scripts/dep_fixes.txt +++ b/scripts/dep_fixes.txt @@ -4,6 +4,9 @@ # dependencies and by scripts/Build-Pkg to dump additional debug info # for this dependencies. +# additional false deps added manually (2004-09-21) +gtkdoc del gconf + # additional false deps added manually (2004-08-24) mysql del mysqlcc mono del mod_mono mono-xsp