OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael van Elst
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src openpkg-web Date: 30-Jun-2003 21:36:08
Branch: HEAD Handle: 2003063020360601
Modified files:
openpkg-src/openpkg-tool
openpkg-build.pl openpkg-tool.spec
openpkg-web news.txt
Log:
fix revdep search
Summary:
Revision Changes Path
1.89 +31 -18 openpkg-src/openpkg-tool/openpkg-build.pl
1.62 +2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec
1.5112 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg-tool/openpkg-build.pl
============================================================================
$ cvs diff -u -r1.88 -r1.89 openpkg-build.pl
--- openpkg-src/openpkg-tool/openpkg-build.pl 26 Jun 2003 12:48:44 -0000 1.88
+++ openpkg-src/openpkg-tool/openpkg-build.pl 30 Jun 2003 19:36:07 -0000 1.89
@@ -520,14 +520,15 @@
my($env, $i) = @_;
my($r) = $env->{'repository'};
my($pkg, %dep, %dlist, %rev);
- my(@vers,$t,$t1,$with,$name);
- my($d,$k,%d,$old,%name);
+ my(@vers,$t,$t1,$t2,$with,$name,$vmap);
+ my($d,$k,%d,$old,%name,%pkg);
print "# computing reverse dependencies\n";
foreach $pkg (keys %$i) {
- unless ($r->{$pkg}) {
+ $vmap = $r->{$pkg};
+ unless ($vmap) {
print "# ATTENTION: $pkg has no upgrade path\n";
next;
}
@@ -546,17 +547,25 @@
$k = target_attribute($t, $env, 'keeps', $with);
next unless @$d || @$k;
%d = unique_map($d,$k);
+ # resolve package
+ unless (exists $pkg{$pkg}) {
+ ($t2,$old) = dep2target({ name => $pkg }, $env);
+ $t2 = undef if $old;
+ $pkg{$pkg} = undef;
+ }
+ $t2 = $pkg{$pkg};
+ next unless $t2;
foreach (keys %d) {
next if $_ eq 'OpenPKG';
# resolve target
- unless ($name{$_}) {
+ unless (exists $name{$_}) {
($t1,$old) = dep2target($d{$_}, $env);
$name{$_} = $t1 ? $t1->{name} : $_;
}
$name = $name{$_};
unless ($dep{$name}{$t->{name}}) {
$dep{$name}{$t->{name}} = 1;
- push @{$dlist{$name}}, $t;
+ push @{$dlist{$name}}, $t2;
}
}
}
@@ -1714,10 +1723,6 @@
# see if a target is already installed and requires a rebuild
#
if ($t = find_target($target->{name}, $env->{installed})) {
- if (!exists $env->{repository}->{$target->{name}}) {
- print "# excluding $target->{name} (no upgrade path)\n";
- return;
- }
if (exists $env->{exclude}->{$target->{name}}) {
print "# excluding $target->{name} (no upgrade allowed)\n";
return;
@@ -1787,13 +1792,9 @@
if ($t->{LIMBO}) {
print "# ATTENTION: ".vsn($t)." is in LIMBO\n";
}
- } elsif ($k{$_}) {
- push @$blist,$t;
- print "# $target->{name} installs ".vsn($t)." for $_\n";
- } else {
- print "# $target->{name} requires ".vsn($t)." for $_\n";
+ next;
}
-
+
unless (depend_option($t, $d{$_}, $env)) {
print "# $target->{name} has conflicting requirement\n";
push(@{$env->{fatal}},vsn($target));
@@ -1803,6 +1804,13 @@
next;
}
+ if ($k{$_}) {
+ push @$blist,$t;
+ print "# $target->{name} installs ".vsn($t)." for $_\n";
+ } else {
+ print "# $target->{name} requires ".vsn($t)." for $_\n";
+ }
+
push @deps, $t;
} else {
print "# $target->{name} searches a frood called '$_'\n";
@@ -1824,19 +1832,21 @@
$target->{WHO} = $who;
$target->{WHY} = $target->{STATUS};
push(@$list, $target);
- $target->{LIMBO} = 0;
-
+
# remember new options
override_options(get_with($target),
name_with($target->{name}, $env->{with}),
'');
+ # moan about non-source packages
foreach (@{target_nosource($target,$env)}) {
my($p) = target_source($target,$env)->[$_];
$p =~ s/.*\///;
print "# ATTENTION: unpackaged source $_: $p\n";
}
+ $target->{LIMBO} = 0;
+
#
# a dependency could not be resolved, don't bother with reverse
# dependencies for this target
@@ -1946,7 +1956,7 @@
if ($t) {
warn_about_options($t, $env->{with}, $env->{config});
$t->{GOAL} = 1;
- push(@goals, $t);
+ push @goals, $t;
} else {
if ($env->{status}) {
print "# dropping goal '$name'\n";
@@ -2142,6 +2152,9 @@
foreach (@$list) {
$spkg = $_->{href};
+ unless ($spkg =~ /\S/) {
+ die "FATAL: internal error, ",vsn($_)," without source URL\n";
+ }
$bpkg = target2rpm($_, $c);
$mywith =
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg-tool/openpkg-tool.spec
============================================================================
$ cvs diff -u -r1.61 -r1.62 openpkg-tool.spec
--- openpkg-src/openpkg-tool/openpkg-tool.spec 26 Jun 2003 11:00:38 -0000
1.61
+++ openpkg-src/openpkg-tool/openpkg-tool.spec 30 Jun 2003 19:36:07 -0000
1.62
@@ -32,8 +32,8 @@
Distribution: OpenPKG [PLUS]
Group: Bootstrapping
License: GPL
-Version: 20030626
-Release: 20030626
+Version: 20030630
+Release: 20030630
# list of sources
Source0: openpkg.sh
@@ .
patch -p0 <<'@@ .'
Index: openpkg-web/news.txt
============================================================================
$ cvs diff -u -r1.5111 -r1.5112 news.txt
--- openpkg-web/news.txt 30 Jun 2003 18:16:05 -0000 1.5111
+++ openpkg-web/news.txt 30 Jun 2003 19:36:06 -0000 1.5112
@@ -1,3 +1,4 @@
+30-Jun-2003: Upgraded package: P<openpkg-tool-20030630-20030630>
30-Jun-2003: Upgraded package: P<gcc33-3.3.1s20030630-20030630>
30-Jun-2003: New package: P<clamav-0.60-20030630>
30-Jun-2003: Upgraded package: P<fsl-1.2.0-20030630>
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]