[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 26-Aug-2003 16:41:36 Branch: HEAD Handle: 2003082615413402 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: handle pubkey entries in rpm output Summary: RevisionChanges Path 1.99+4 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.76+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.6298 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.98 -r1.99 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 2 Aug 2003 22:19:52 - 1.98 +++ openpkg-src/openpkg-tool/openpkg-build.pl 26 Aug 2003 14:41:36 - 1.99 @@ -300,7 +300,7 @@ my($s) = @_; my($nam,$val,$pre,$with,$pxy,$ver,$rel); -($nam,$val) = $s =~ /^(\S+)\s*(?:=\s*(\S*?))?$/; +($nam,$val) = $s =~ /^([^\s\(]+(?:\([^\)]*\))?)\s*(?:=\s*(\S*?))?$/; # # build options are encoded as a Requirement @@ -429,6 +429,7 @@ @list = (); foreach (@l) { next unless $p = parse_provides($_); +next if $p-{name} =~ /^gpg\(/; # is this an option ? if (defined $p-{with}) { @@ -491,10 +492,11 @@ @list = (); foreach (@l) { ($name,$version,$release,$req) = /^(\S+)\s+(\S+)\s+(\S+)\s*(.*?)\s*$/; +next if $name eq 'gpg-pubkey'; $release =~ s/\+PROXY$//; while ($req =~ /\.(\S+)\s+\.(\S*)\s+\.(\S*)/g) { $p = parse_depends($1 $2 $3); -next if $p-{name} =~ /^rpmlib\(/; +next if $p-{name} =~ /^(rpmlib|gpg)\(/; $vs = vs({ version = $version, release = $release}); $p = { cond = '', value = $p }; @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.75 -r1.76 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec16 Aug 2003 16:30:49 - 1.75 +++ openpkg-src/openpkg-tool/openpkg-tool.spec26 Aug 2003 14:41:36 - 1.76 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030816 -Release: 20030816 +Version: 20030826 +Release: 20030826 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.6297 -r1.6298 news.txt --- openpkg-web/news.txt 26 Aug 2003 13:55:15 - 1.6297 +++ openpkg-web/news.txt 26 Aug 2003 14:41:34 - 1.6298 @@ -1,3 +1,4 @@ +26-Aug-2003: Upgraded package: Popenpkg-tool-20030826-20030826 26-Aug-2003: Upgraded package: Popenpkg-20030826-20030826 26-Aug-2003: Upgraded package: Pcacti-0.8.2a-20030826 26-Aug-2003: Upgraded package: Pperl-xml-20030826-20030826 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 03-Aug-2003 00:19:52 Branch: HEAD Handle: 2003080223195002 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: fix handling proxy packages Summary: RevisionChanges Path 1.98+1 -0 openpkg-src/openpkg-tool/openpkg-build.pl 1.74+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.6010 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.97 -r1.98 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 28 Jul 2003 19:55:14 - 1.97 +++ openpkg-src/openpkg-tool/openpkg-build.pl 2 Aug 2003 22:19:52 - 1.98 @@ -491,6 +491,7 @@ @list = (); foreach (@l) { ($name,$version,$release,$req) = /^(\S+)\s+(\S+)\s+(\S+)\s*(.*?)\s*$/; +$release =~ s/\+PROXY$//; while ($req =~ /\.(\S+)\s+\.(\S*)\s+\.(\S*)/g) { $p = parse_depends($1 $2 $3); next if $p-{name} =~ /^rpmlib\(/; @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.73 -r1.74 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec28 Jul 2003 17:17:11 - 1.73 +++ openpkg-src/openpkg-tool/openpkg-tool.spec2 Aug 2003 22:19:52 - 1.74 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030728 -Release: 20030728 +Version: 20030803 +Release: 20030803 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.6009 -r1.6010 news.txt --- openpkg-web/news.txt 2 Aug 2003 20:25:28 - 1.6009 +++ openpkg-web/news.txt 2 Aug 2003 22:19:50 - 1.6010 @@ -1,3 +1,4 @@ +03-Aug-2003: Upgraded package: Popenpkg-tool-20030803-20030803 02-Aug-2003: Upgraded package: Pkcd-7.3.0-20030802 02-Aug-2003: Upgraded package: Pperl-gtk-20030802-20030802 02-Aug-2003: Upgraded package: Ppgadmin-0.8.0.20030802-20030802 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 21-Jul-2003 21:21:12 Branch: HEAD Handle: 2003072120211001 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: rely on first update decision and don't second-guess wether an update is necessary, the second-guess doesn't have all required information Summary: RevisionChanges Path 1.95+2 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.70+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.5702 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.94 -r1.95 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 19 Jul 2003 08:46:44 - 1.94 +++ openpkg-src/openpkg-tool/openpkg-build.pl 21 Jul 2003 19:21:11 - 1.95 @@ -1744,9 +1744,9 @@ } elsif ($env-{zero}) { target_setstatus($target,'ZERO',1); print # rebuilding $target-{name} (zero)\n; -} elsif ($why = target_better($env, $target, $env-{installed})) { +} elsif (vs($target) ne vs($t)) { target_setstatus($target,'UPDATE',3); -print # rebuilding $target-{name} ($why)\n; +print # rebuilding $target-{name} (update)\n; } elsif (!target_suitable($t, $env-{with}, 0)) { target_setstatus($target,'MISMATCH',2); print # rebuilding $target-{name} (parameter mismatch)\n; @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.69 -r1.70 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec19 Jul 2003 08:46:45 - 1.69 +++ openpkg-src/openpkg-tool/openpkg-tool.spec21 Jul 2003 19:21:11 - 1.70 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030719 -Release: 20030719 +Version: 20030721 +Release: 20030721 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.5701 -r1.5702 news.txt --- openpkg-web/news.txt 21 Jul 2003 18:15:39 - 1.5701 +++ openpkg-web/news.txt 21 Jul 2003 19:21:10 - 1.5702 @@ -1,3 +1,4 @@ +21-Jul-2003: Upgraded package: Popenpkg-tool-20030721-20030721 21-Jul-2003: Upgraded package: Punixodbc-2.2.6-20030721 21-Jul-2003: Upgraded package: Pradius-1.1-20030721 21-Jul-2003: Upgraded package: Pteapop-0.3.6-20030721 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 19-Jul-2003 10:46:45 Branch: HEAD Handle: 2003071909464302 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: load binary RPMs even when rebuilding Summary: RevisionChanges Path 1.94+1 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.69+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.5660 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.93 -r1.94 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 18 Jul 2003 14:46:45 - 1.93 +++ openpkg-src/openpkg-tool/openpkg-build.pl 19 Jul 2003 08:46:44 - 1.94 @@ -2186,7 +2186,7 @@ # OR existing binary package doesn't satisfy wanted options # $cmd1 = undef; -if ($uncond || $_-{REBUILD} || !-f $bpkg || +if ($uncond || !-f $bpkg || !target_suitable(binary_target($_, $bpkg), $with, 1)) { $opt = make_defines($_-{OPTIONS}, $with, @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.68 -r1.69 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec18 Jul 2003 14:46:45 - 1.68 +++ openpkg-src/openpkg-tool/openpkg-tool.spec19 Jul 2003 08:46:45 - 1.69 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030718 -Release: 20030718 +Version: 20030719 +Release: 20030719 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.5659 -r1.5660 news.txt --- openpkg-web/news.txt 19 Jul 2003 07:43:51 - 1.5659 +++ openpkg-web/news.txt 19 Jul 2003 08:46:43 - 1.5660 @@ -1,3 +1,4 @@ +19-Jul-2003: Upgraded package: Popenpkg-tool-20030719-20030719 19-Jul-2003: Upgraded package: Pdelegate-8.5.6-20030719 18-Jul-2003: Upgraded package: Popenpkg-20030718-20030718 18-Jul-2003: Upgraded package: Puvscan-4.1.6.4278-20030718 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 18-Jul-2003 16:46:45 Branch: HEAD Handle: 2003071815464302 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg.1 openpkg-web news.txt Log: skip virtual targets in status map, better error output Summary: RevisionChanges Path 1.93+20 -12 openpkg-src/openpkg-tool/openpkg-build.pl 1.68+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.10+1 -1 openpkg-src/openpkg-tool/openpkg.1 1.5648 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.92 -r1.93 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 15 Jul 2003 10:08:31 - 1.92 +++ openpkg-src/openpkg-tool/openpkg-build.pl 18 Jul 2003 14:46:45 - 1.93 @@ -1718,14 +1718,14 @@ if ($t = target_has_conflicts($target, $env-{installed}, $env)) { target_setstatus($target,'CONFLICT',4); push(@$clist,$target); -print # $target-{name} conflicts with ,vsn($t),\n; +pusherr($env,$target,$target-{name} conflicts with .vsn($t)); return; } if ($t = target_has_conflicts($target, $env-{built}, $env)) { target_setstatus($target,'CONFLICT',4); push(@$clist,$target); -print # $target-{name} conflicts with ,vsn($t),\n; +pusherr($env,$target,$target-{name} conflicts with .vsn($t)); return; } @@ -1806,10 +1806,9 @@ } unless (depend_option($t, $d{$_}, $env)) { -print # $target-{name} has conflicting requirement\n; -push(@{$env-{fatal}},vsn($target)); -target_setstatus($target,'UNDEF',4); push @$clist, $target; +pusherr($env,$target,$target-{name} has conflicting requirement); +target_setstatus($target,'UNDEF',4); $conflict = 1; next; } @@ -1823,10 +1822,9 @@ push @deps, $t; } else { -print # $target-{name} searches a frood called '$_'\n; -push(@{$env-{fatal}},vsn($target)); -target_setstatus($target,'UNDEF',4); push @$clist, $target; +pusherr($env,$target,$target-{name} searches a frood called '$_'); +target_setstatus($target,'UNDEF',4); $conflict = 1; } } @@ -2058,6 +2056,15 @@ # # +# remember fatal error +# +sub pusherr ($$$) { +my($env,$target,$mess) = @_; +print # $mess\n; +push @{$env-{fatal}}, vsn($target).: $mess\n; +} + +# # compute path to binary RPM from rpm config and target data # sub target2rpm ($$) { @@ -2268,7 +2275,7 @@ my($old,$tag,$new); foreach (@$list, @$clist) { -next unless defined $_-{release}; +next unless $_-{release} =~ /\S/; $map{$_-{name}} = { rel= $_-{version}-$_-{release}, status = $_-{STATUS} @@ -2276,6 +2283,7 @@ } foreach (@$bonly) { +next unless $_-{release} =~ /\S/; $map{$_-{name}} = { rel= $_-{version}-$_-{release}, status = 'TEMP' @@ -2286,7 +2294,7 @@ foreach $n (keys %$installed) { next if $n =~ /::/; next if exists $map{$n}; -next unless grep { $_ ne '-' } keys %{$installed-{$n}}; +next unless grep { $_ ne '' } keys %{$installed-{$n}}; $map{$n}-{'status'} = 'OK'; push @names,$n; } @@ -2294,7 +2302,7 @@ foreach $n (keys %$repository) { next if $n =~ /::/; next if exists $map{$n}; -next unless grep { $_ ne '-' } keys %{$repository-{$n}}; +next unless grep { $_ ne '' } keys %{$repository-{$n}}; $t = find_target($n, $repository); $map{$n}-{'status'} = 'NEW'; $map{$n}-{'rel'}= vs($t); @@ -2434,7 +2442,7 @@ } else { if (@{$env-{fatal}}) { die FATAL: errors occured while building:\n, -join (',', @{$env-{fatal}}), +@{$env-{fatal}}, \n;
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 10-Jul-2003 16:43:07 Branch: HEAD Handle: 2003071015430501 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: require exact option match for binary targets to avoid picking up additional dependencies at this late stage Summary: RevisionChanges Path 1.91+14 -8 openpkg-src/openpkg-tool/openpkg-build.pl 1.65+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.5510 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.90 -r1.91 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 2 Jul 2003 12:23:50 - 1.90 +++ openpkg-src/openpkg-tool/openpkg-build.pl 10 Jul 2003 14:43:06 - 1.91 @@ -1510,9 +1510,12 @@ # check wether installed package matches # build options # -sub target_suitable ($$) { -my($target, $with) = @_; -my($iwith); +# if default = 1 then options which are not +# required must be identical to the DEFOPTS. +# +sub target_suitable ($$$) { +my($target, $with, $default) = @_; +my($iwith,$dwith); my($k,$v); if ($target-{GOAL}) { @@ -1522,9 +1525,12 @@ } $iwith = $target-{OPTIONS}; -while (($k,$v) = each %$with) { -if (exists $iwith-{$k}) { +$dwith = $target-{DEFOPTS}; +while (($k,$v) = each %$iwith) { +if (exists $with-{$k}) { return 0 if $iwith-{$k} ne $with-{$k}; +} elsif ($default) { +return 0 if $iwith-{$k} ne $dwith-{$k}; } } @@ -1651,7 +1657,7 @@ $t = $i-{$_}-[0]; next unless $t get_with($t); -if (target_suitable($t, $env-{with})) { +if (target_suitable($t, $env-{with}, 0)) { $tdef = $t; unless ($env-{upgrade} || $env-{zero}) { return ($t, 1); @@ -1742,7 +1748,7 @@ } elsif ($why = target_better($env, $target, $env-{installed})) { target_setstatus($target,'UPDATE',3); print # rebuilding $target-{name} ($why)\n; -} elsif (!target_suitable($t, $env-{with})) { +} elsif (!target_suitable($t, $env-{with}, 0)) { target_setstatus($target,'MISMATCH',2); print # rebuilding $target-{name} (parameter mismatch)\n; } elsif ($env-{goals} $target-{GOAL}) { @@ -2175,7 +2181,7 @@ # $cmd1 = undef; if ($uncond || $_-{REBUILD} || !-f $bpkg || -!target_suitable(binary_target($_, $bpkg), $with)) { +!target_suitable(binary_target($_, $bpkg), $with, 1)) { $opt = make_defines($_-{OPTIONS}, $with, $_-{DEFOPTS}, $c); @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.64 -r1.65 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec8 Jul 2003 14:41:21 - 1.64 +++ openpkg-src/openpkg-tool/openpkg-tool.spec10 Jul 2003 14:43:06 - 1.65 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030702 -Release: 20030702 +Version: 20030710 +Release: 20030710 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.5509 -r1.5510 news.txt --- openpkg-web/news.txt 10 Jul 2003 14:22:32 - 1.5509 +++ openpkg-web/news.txt 10 Jul 2003 14:43:05 - 1.5510 @@ -1,3 +1,4 @@ +10-Jul-2003: Upgraded package: Popenpkg-tool-20030710-20030710 10-Jul-2003: Upgraded package: Pimagemagick-5.4.8.2-1.1.1 10-Jul-2003: Upgraded package: Pimagemagick-5.5.3.2-1.2.1 10-Jul-2003: Upgraded package: Pnessus-libs-2.0.7-20030710 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 02-Jul-2003 14:23:51 Branch: HEAD Handle: 2003070213234901 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: correct handling of conditional provides Summary: RevisionChanges Path 1.90+13 -8 openpkg-src/openpkg-tool/openpkg-build.pl 1.63+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.5151 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.89 -r1.90 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 30 Jun 2003 19:36:07 - 1.89 +++ openpkg-src/openpkg-tool/openpkg-build.pl 2 Jul 2003 12:23:50 - 1.90 @@ -883,7 +883,7 @@ }; } if ($section eq 'provides') { -push @provides, $body; +push @provides, $body if !defined $usecond; } elsif ($section ne '') { push @{$bags-{$usecond}-{$section}}, $body; } @@ -957,7 +957,7 @@ my(@include); my($xml,$rep,$sub); -my($provides,@provides,%options,$rec); +my(@provides,%options,$rec); my($href,$name,$version,$release,$desc); my($options); @@ -979,15 +979,20 @@ defined $version defined $release; -$provides = $_-{'Provides'}-[0]-{'rdf:bag'}-[0]; -if ($provides-{'rdf:li'}) { -$provides = $provides-{'rdf:li'}; -} else { -$provides = $provides-{'resource'}; +@provides = (); +if ($_-{'Provides'}) { +@provides = map { +$_ = $_-{'rdf:bag'}-[0]; +$_ = $_-{'rdf:li'} ? $_-{'rdf:li'} : $_-{'resource'}; +@$_; +} grep { +!exists $_-{'cond'} +} @{$_-{'Provides'}}; } + @provides = map { depends2provides(parse_depends($_)) -} @$provides; +} @provides; %options = map { ( $_-{with} = $_-{version} ) @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.62 -r1.63 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec30 Jun 2003 19:36:07 - 1.62 +++ openpkg-src/openpkg-tool/openpkg-tool.spec2 Jul 2003 12:23:50 - 1.63 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030630 -Release: 20030630 +Version: 20030702 +Release: 20030702 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.5150 -r1.5151 news.txt --- openpkg-web/news.txt 2 Jul 2003 10:17:06 - 1.5150 +++ openpkg-web/news.txt 2 Jul 2003 12:23:49 - 1.5151 @@ -1,3 +1,4 @@ +02-Jul-2003: Upgraded package: Popenpkg-tool-20030702-20030702 02-Jul-2003: Upgraded package: Pmico-2.3.10-20030702 02-Jul-2003: Upgraded package: Plibmcrypt-2.5.7-20030702 02-Jul-2003: Upgraded package: Pcvsps-2.0rc1-20030702 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: RevisionChanges 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 - 1.88 +++ openpkg-src/openpkg-tool/openpkg-build.pl 30 Jun 2003 19:36:07 - 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},
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 25-Jun-2003 14:01:12 Branch: HEAD Handle: 2003062513010803 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg.1 openpkg.pod openpkg-web news.txt Log: fix dependency parsing, better handling of mutating virtual targets, added hint option to specify preferences Summary: RevisionChanges Path 1.85+110 -35openpkg-src/openpkg-tool/openpkg-build.pl 1.60+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.9 +6 -1 openpkg-src/openpkg-tool/openpkg.1 1.18+6 -0 openpkg-src/openpkg-tool/openpkg.pod 1.5011 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.84 -r1.85 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 24 Jun 2003 18:14:20 - 1.84 +++ openpkg-src/openpkg-tool/openpkg-build.pl 25 Jun 2003 12:01:11 - 1.85 @@ -31,10 +31,10 @@ use strict; use vars qw/ $opt_R $opt_r $opt_f $opt_u $opt_U $opt_a $opt_A -$opt_z $opt_Z $opt_P $opt_N $opt_E $opt_i $opt_D -$opt_p $opt_q $opt_s $opt_S $opt_X $opt_M $opt_L -$opt_W $opt_K $opt_e $opt_b $opt_B $opt_g/; -my $getopts = 'R:r:f:uUaAzZP:N:E:iD:p:qsSXMLWKebBg'; +$opt_z $opt_Z $opt_P $opt_N $opt_E $opt_H $opt_i +$opt_D $opt_p $opt_q $opt_s $opt_S $opt_X $opt_M +$opt_L $opt_W $opt_K $opt_e $opt_b $opt_B $opt_g/; +my $getopts = 'R:r:f:uUaAzZP:N:EH:iD:p:qsSXMLWKebBg'; getopts($getopts); ## @@ -112,7 +112,7 @@ close(FH); } -die openpkg:build:USAGE: $0 [-R rpm] [-r repository] [-f index.rdf] [-uUzZiqsSXMLWKebBg] [-P priv-cmd] [-N non-priv-cmd] [-p platform] [-Dwith ...] [-Ename ...] ( [-aA] | patternlist )\n +die openpkg:build:USAGE: $0 [-R rpm] [-r repository] [-f index.rdf] [-uUzZiqsSXMLWKebBg] [-P priv-cmd] [-N non-priv-cmd] [-p platform] [-Dwith ...] [-Ename ...] [-Hname ...] ( [-aA] | patternlist )\n unless $#ARGV = 0 || ($#ARGV == -1 ($opt_a || $opt_A)); ## @@ -411,15 +411,6 @@ } # -# compute list of package names from dependency list -# -sub depends2pkglist ($) { -my($t) = @_; -my(%d) = unique_map($t-{depends}, $t-{keeps}); -return (keys %d); -} - -# # retrieve the local installed base # # for packages that provide option resources (packagename::buildoption) @@ -432,20 +423,54 @@ my(@l) = run($RPM --provides -qa); my($p); my($nam,$val,%options); +my($vs,$rec,@provides); +my($name,$version,$release); +@provides = (); foreach (@l) { $p = parse_provides($_); +# is this an option ? if (defined $p-{with}) { -$options{$p-{prefix}}-{$p-{with}} = $p-{version} +$options{$p-{prefix}}-{$p-{with}} = $p-{version}; +push @provides, $p; +next; +} + +# is this a virtual target ? +$vs = vs($p); +if ($vs eq '') { +push @provides,$p; +next; } -push @{$map{$p-{name}}-{vs($p)}}, { -name = $p-{name}, -version= (defined $p-{version} ? $p-{version} : '*'), -release= (defined $p-{release} ? $p-{release} : '*'), +$name= $p-{name}; +$version = defined $p-{version} ? $p-{version} : '*'; +$release = defined $p-{release} ? $p-{release} : '*'; + +push(@provides, { +name= $name, +version = $version, +release = $release +}); + +# create target record +$rec = { +name = $name, +version= $version, +release= $release, PROXY = $p-{proxy} }; + +foreach (@provides) { +push @{$map{$_-{name}}-{vs($_)}}, $rec; +} + +@provides = (); +} + +if (@provides) { +print # ATTENTION: ,scalar(@provides), froods found\n } # @@ -472,6 +497,7 @@ my($r) = $env-{'repository'}; my($pkg, %dep, %dlist, %rev); my(@vers,$t);
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 24-Jun-2003 16:52:39 Branch: HEAD Handle: 2003062415523701 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: parse options from binary RPMs using --provides Summary: RevisionChanges Path 1.80+29 -12 openpkg-src/openpkg-tool/openpkg-build.pl 1.59+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.5003 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.79 -r1.80 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 20 Jun 2003 11:06:13 - 1.79 +++ openpkg-src/openpkg-tool/openpkg-build.pl 24 Jun 2003 14:52:38 - 1.80 @@ -537,6 +537,24 @@ } # +# parse option from rpm provides list +# +sub parse_provideslist ($$) { +my($l,$name) = @_; +my($p); +my($nam,$val,%opts); + +foreach (@$l) { +$p = parse_provides($_); + next unless defined $p-{with}; + next if defined $p-{prefix} $p-{prefix} ne $name; +$opts{$p-{with}} = $p-{version} +} + +return \%opts; +} + +# # copy options from new to old # where option already exists in old or option key # matches regular expression @@ -557,22 +575,18 @@ sub get_with ($;$) { my($t,$fn) = @_; my(@l,%with); -my($opt); +my($optmap,$opt); if ($t-{OPTIONS}) { $opt = $t-{OPTIONS}; } else { if (defined $fn) { -@l = run($RPM -qi -p $fn); -$opt = parse_options([EMAIL PROTECTED]); -# don't write back result, this is just -# for testing compatibility of a binary -# package +@l = run($RPM -q --provides -p $fn); } else { -@l = run($RPM -qi $t-{name}); -$opt = parse_options([EMAIL PROTECTED]); -$t-{OPTIONS} = $opt; -} +@l = run($RPM -q --provides $t-{name}); + } +$opt = parse_provideslist([EMAIL PROTECTED],$t-{name}); +$t-{OPTIONS} = $opt; } return $opt; } @@ -1914,6 +1928,7 @@ my(%target) = %$t; # pull in options from binary RPM file +delete $target{'OPTIONS'}; get_with(\%target, $fn); return \%target; @@ -1996,6 +2011,8 @@ $spkg = $_-{href}; $bpkg = target2rpm($_, $c); + $mywith = + # # rebuild binary package IF # @@ -2007,9 +2024,9 @@ # $cmd1 = undef; if ($uncond || $_-{REBUILD} || !-f $bpkg || -!target_suitable(binary_target($_, $bpkg), $mywith)) { +!target_suitable(binary_target($_, $bpkg), $with)) { -$opt = make_defines($_-{OPTIONS}, $mywith, +$opt = make_defines($_-{OPTIONS}, $with, $_-{DEFOPTS}, $c); # @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.58 -r1.59 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec20 Jun 2003 10:35:19 - 1.58 +++ openpkg-src/openpkg-tool/openpkg-tool.spec24 Jun 2003 14:52:38 - 1.59 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030620 -Release: 20030620 +Version: 20030624 +Release: 20030624 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.5002 -r1.5003 news.txt --- openpkg-web/news.txt 24 Jun 2003 13:54:50 - 1.5002 +++ openpkg-web/news.txt 24 Jun 2003 14:52:37 - 1.5003 @@ -1,3 +1,4 @@ +24-Jun-2003: Upgraded package: Popenpkg-tool-20030624-20030624 24-Jun-2003: Upgraded package: Pifile-1.3.2-20030624 24-Jun-2003: Upgraded package: Pwhoson-2.02a-20030624 24-Jun-2003: Upgraded package: Pvrrpd-0.8.7-20030624 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 20-Jun-2003 12:35:19 Branch: HEAD Handle: 2003062011351801 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: rebuild command line targets unconditionally Summary: RevisionChanges Path 1.77+3 -0 openpkg-src/openpkg-tool/openpkg-build.pl 1.58+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.4937 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.76 -r1.77 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 13 Jun 2003 13:18:55 - 1.76 +++ openpkg-src/openpkg-tool/openpkg-build.pl 20 Jun 2003 10:35:19 - 1.77 @@ -1584,6 +1584,9 @@ } elsif (!target_suitable($t, $env-{with})) { target_setstatus($target,'MISMATCH',2); print # rebuilding $target-{name} (parameter mismatch)\n; +} elsif ($target-{GOAL}) { +target_setstatus($target,'GOAL',3); +print # rebuilding $target-{name} (goal)\n; } else { print # $target-{name} is already installed\n; return; @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.57 -r1.58 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec13 Jun 2003 13:18:55 - 1.57 +++ openpkg-src/openpkg-tool/openpkg-tool.spec20 Jun 2003 10:35:19 - 1.58 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030613 -Release: 20030613 +Version: 20030620 +Release: 20030620 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.4936 -r1.4937 news.txt --- openpkg-web/news.txt 20 Jun 2003 10:10:39 - 1.4936 +++ openpkg-web/news.txt 20 Jun 2003 10:35:18 - 1.4937 @@ -1,3 +1,4 @@ +20-Jun-2003: Upgraded package: Popenpkg-tool-20030620-20030620 20-Jun-2003: Upgraded package: Pbinutils-2.14-20030620 20-Jun-2003: Upgraded package: Pxmame-0.70.1-20030620 20-Jun-2003: Upgraded package: Pzsh-4.1.1-20030620 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 13-Jun-2003 15:18:56 Branch: HEAD Handle: 2003061314185401 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg.1 openpkg.pod openpkg-web news.txt Log: add optional build-time checks for existing binary RPMs Summary: RevisionChanges Path 1.76+19 -6 openpkg-src/openpkg-tool/openpkg-build.pl 1.57+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.7 +12 -1 openpkg-src/openpkg-tool/openpkg.1 1.16+13 -0 openpkg-src/openpkg-tool/openpkg.pod 1.4857 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.75 -r1.76 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 3 Jun 2003 16:11:04 - 1.75 +++ openpkg-src/openpkg-tool/openpkg-build.pl 13 Jun 2003 13:18:55 - 1.76 @@ -33,8 +33,8 @@ $opt_R $opt_r $opt_f $opt_u $opt_U $opt_a $opt_A $opt_z $opt_Z $opt_P $opt_N $opt_E $opt_i $opt_D $opt_p $opt_q $opt_s $opt_S $opt_X $opt_M $opt_L -$opt_W $opt_K $opt_e/; -my $getopts = 'R:r:f:uUaAzZP:N:E:iD:p:qsSXMLWKe'; +$opt_W $opt_K $opt_e $opt_b $opt_B/; +my $getopts = 'R:r:f:uUaAzZP:N:E:iD:p:qsSXMLWKebB'; getopts($getopts); ## @@ -112,7 +112,7 @@ close(FH); } -die openpkg:build:USAGE: $0 [-R rpm] [-r repository] [-f index.rdf] [-uUzZiqsSXMLWKe] [-P priv-cmd] [-N non-priv-cmd] [-p platform] [-Dwith ...] [-Ename ...] ( [-aA] | patternlist )\n +die openpkg:build:USAGE: $0 [-R rpm] [-r repository] [-f index.rdf] [-uUzZiqsSXMLWKebB] [-P priv-cmd] [-N non-priv-cmd] [-p platform] [-Dwith ...] [-Ename ...] ( [-aA] | patternlist )\n unless $#ARGV = 0 || ($#ARGV == -1 ($opt_a || $opt_A)); ## @@ -1979,9 +1979,11 @@ # uncond - always do the --rebuild # with - parameter set passed to build tool # ignore - generate script that does not stop on error +# usebin - build-time check to skip rebuild when binary exists +# allbin - usebin also for goals # -sub print_list1 ([EMAIL PROTECTED]) { -my($list,$c,$uncond,$with,$ignore) = @_; +sub print_list1 ($$$) { +my($list,$c,$uncond,$with,$ignore,$usebin,$allbin) = @_; my($spkg,$bpkg,$ppkg); my($mywith, $opt); my($cmd1, $cmd2, $mark); @@ -2032,6 +2034,15 @@ $cmd1 = npriv($RPM$opt --rebuild $spkg); } } +# +# wrap build command with build-time check for existing +# binary target +# +if (defined $cmd1 +( $allbin || ($usebin !$_-{GOAL}) ) +) { +$cmd1 = if test ! -f $bpkg ; then $cmd1 ; fi; +} # # if package exist force rpm to copy over new files @@ -2253,7 +2264,9 @@ $config, $opt_a || $opt_u || $opt_U, $env-{with}, -$opt_i); +$opt_i, +$opt_b, +$opt_B); print_list2($bonly,$config) unless $opt_K; } } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.56 -r1.57 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec11 Jun 2003 14:46:37 - 1.56 +++ openpkg-src/openpkg-tool/openpkg-tool.spec13 Jun 2003 13:18:55 - 1.57 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030611 -Release: 20030611 +Version: 20030613 +Release: 20030613 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg.1 $ cvs diff -u -r1.6 -r1.7 openpkg.1 --- openpkg-src/openpkg-tool/openpkg.111 Jun 2003 14:45:02 - 1.6 +++ openpkg-src/openpkg-tool/openpkg.113 Jun 2003 13:18:55 - 1.7 @@ -129,7 +129,7 @@ .\
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 28-May-2003 13:22:09 Branch: HEAD Handle: 2003052812220701 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: check option conflicts, propagate committed options to dependency check Summary: RevisionChanges Path 1.74+38 -13 openpkg-src/openpkg-tool/openpkg-build.pl 1.54+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.4605 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.73 -r1.74 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 14 May 2003 10:27:51 - 1.73 +++ openpkg-src/openpkg-tool/openpkg-build.pl 28 May 2003 11:22:08 - 1.74 @@ -1360,7 +1360,11 @@ my($iwith); my($k,$v); -$with = name_with($target-{name}, $with); +if ($target-{GOAL}) { +$with = name_with($target-{name}, $with); +} else { +$with = name_only_with($target-{name}, $with); +} $iwith = $target-{OPTIONS}; while (($k,$v) = each %$with) { @@ -1405,16 +1409,38 @@ # add dependency as build option # sub depend_option ($$$) { -my($target,$dep,$with) = @_; +my($target,$dep,$env) = @_; +my($with,$opt,$relmap,@t,$t); my($pro) = depends2provides($dep); +my($conflict) = 0; return 1 unless defined $pro-{with}; -my($opt) = $pro-{prefix}.'::'.$pro-{with}; my($val) = defined $pro-{version} ? $pro-{version} : 'yes'; + +$with = $env-{with}; +$opt = $pro-{prefix}.'::'.$pro-{with}; if (defined $with-{$opt} $with-{$opt} ne $val) { -return 0; +print # ,vsn($target), + has conflicting requirement $opt = $with-{$opt} != $val\n; +$conflict = 1; +} + +$relmap = $env-{built}-{$pro-{prefix}} || + $env-{installed}-{$pro-{prefix}}; +@t = get_targets($relmap, sub { 1; }); +foreach $t (@t) { +$with = $t-{OPTIONS}; +$opt = $pro-{with}; +if (defined $with-{$opt} $with-{$opt} ne $val) { +print # ,vsn($t), + has conflicting requirement $opt = $with-{$opt} != $val\n; +$conflict = 1; +} } + +return 0 if $conflict; + print # ,vsn($target), adds option $opt = $val\n; $with-{$opt} = $val; return 1; @@ -1559,7 +1585,7 @@ } elsif ($why = target_better($env, $target, $env-{installed})) { target_setstatus($target,'UPDATE',3); print # rebuilding $target-{name} ($why)\n; -} elsif ($target-{GOAL} !target_suitable($t, $env-{with})) { +} elsif (!target_suitable($t, $env-{with})) { target_setstatus($target,'MISMATCH',2); print # rebuilding $target-{name} (parameter mismatch)\n; } else { @@ -1621,7 +1647,7 @@ print # $target-{name} requires .vsn($t). for $_\n; } -unless (depend_option($t, $d{$_}, $env-{with})) { +unless (depend_option($t, $d{$_}, $env)) { print # $target-{name} has conflicting requirement\n; push(@{$env-{fatal}},vsn($target)); target_setstatus($target,'UNDEF',4); @@ -1652,6 +1678,11 @@ $target-{WHY} = $target-{STATUS}; push(@$list, $target); $target-{LIMBO} = 0; + +# remember new options +override_options($target-{OPTIONS}, + name_with($target-{name}, $env-{with}), + ''); foreach (@{target_nosource($target,$env)}) { my($p) = target_source($target,$env)-[$_]; @@ -1965,12 +1996,6 @@ $spkg = $_-{href}; $bpkg = target2rpm($_, $c); -if ($_-{GOAL}) { -$mywith = name_with($_-{name},$with); -} else { -$mywith = name_only_with($_-{name},$with); -} - # # rebuild binary package IF # @@ -1982,7 +2007,7 @@ # $cmd1 = undef; if ($uncond || $_-{REBUILD} || !-f $bpkg || -!target_suitable(binary_target($_, $bpkg),$mywith)) { +!target_suitable(binary_target($_, $bpkg), $mywith)) { $opt
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 03-Apr-2003 17:15:40 Branch: HEAD Handle: 2003040316153801 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: force rebuilding of reverse dependencies, even when binary packages exist that match all requirements Summary: RevisionChanges Path 1.67+2 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.48+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3937 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.66 -r1.67 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 30 Mar 2003 00:07:42 - 1.66 +++ openpkg-src/openpkg-tool/openpkg-build.pl 3 Apr 2003 15:15:39 - 1.67 @@ -1883,12 +1883,13 @@ # rebuild binary package IF # # 'unconditional' option +# OR target is tagged as rebuilding # OR there is no binary package # OR dependency check found that installed package is not suitable # OR existing binary package doesn't satisfy wanted options # $cmd1 = undef; -if ($uncond || !-f $bpkg || +if ($uncond || $_-{REBUILD} || !-f $bpkg || !target_suitable(binary_target($_, $bpkg),$with)) { $opt = make_defines($_-{OPTIONS}, $with, @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.47 -r1.48 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec30 Mar 2003 00:07:42 - 1.47 +++ openpkg-src/openpkg-tool/openpkg-tool.spec3 Apr 2003 15:15:39 - 1.48 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030330 -Release: 20030330 +Version: 20030403 +Release: 20030403 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3936 -r1.3937 news.txt --- openpkg-web/news.txt 3 Apr 2003 12:58:11 - 1.3936 +++ openpkg-web/news.txt 3 Apr 2003 15:15:38 - 1.3937 @@ -1,3 +1,4 @@ +03-Apr-2003: Upgraded package: Popenpkg-tool-20030403-20030403 03-Apr-2003: Upgraded package: Popenpkg-20030403-20030403 03-Apr-2003: Upgraded package: Prt-3.0.0-20030403 03-Apr-2003: Upgraded package: Pperl-text-20030403-20030403 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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-Mar-2003 01:07:43 Branch: HEAD Handle: 200303374101 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: fix rc file processing Summary: RevisionChanges Path 1.66+1 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.47+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3887 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.65 -r1.66 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 21 Mar 2003 10:50:44 - 1.65 +++ openpkg-src/openpkg-tool/openpkg-build.pl 30 Mar 2003 00:07:42 - 1.66 @@ -103,7 +103,7 @@ } elsif (my($opt,$val) = /^\-([$go])\s*(.*?)\s*$/) { $val = 1 unless defined $val; if (exists $env-{$opt}) { -$env-{$opt} = $val; +$env-{$opt} .= $val; } else { $env-{$opt} = $val; } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.46 -r1.47 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec21 Mar 2003 09:45:05 - 1.46 +++ openpkg-src/openpkg-tool/openpkg-tool.spec30 Mar 2003 00:07:42 - 1.47 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030321 -Release: 20030321 +Version: 20030330 +Release: 20030330 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3886 -r1.3887 news.txt --- openpkg-web/news.txt 29 Mar 2003 20:14:08 - 1.3886 +++ openpkg-web/news.txt 30 Mar 2003 00:07:41 - 1.3887 @@ -1,3 +1,4 @@ +30-Mar-2003: Upgraded package: Popenpkg-tool-20030330-20030330 29-Mar-2003: Upgraded package: Psendmail-8.12.9-20030329 29-Mar-2003: Upgraded package: Ppks-0.9.6-20030329 29-Mar-2003: Upgraded package: Pperl-curses-20030329-20030329 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 21-Mar-2003 10:45:07 Branch: HEAD Handle: 2003032109450005 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: ignore commandline build options for dependency rebuilds Summary: RevisionChanges Path 1.64+7 -4 openpkg-src/openpkg-tool/openpkg-build.pl 1.46+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3754 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.63 -r1.64 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 20 Mar 2003 15:33:54 - 1.63 +++ openpkg-src/openpkg-tool/openpkg-build.pl 21 Mar 2003 09:45:04 - 1.64 @@ -1468,7 +1468,7 @@ } elsif ($why = target_better($env, $target, $env-{installed})) { target_setstatus($target,'UPDATE',3); print # rebuilding $target-{name} ($why)\n; -} elsif (!target_suitable($t, $env-{with})) { +} elsif ($target-{GOAL} !target_suitable($t, $env-{with})) { target_setstatus($target,'MISMATCH',2); print # rebuilding $target-{name} (parameter mismatch)\n; } else { @@ -1817,12 +1817,13 @@ # then map the result to --define command line arguments # suitable for rpm # -sub make_defines () { -my($old, $new, $def, $c) = @_; +sub make_defines ($) { +my($old, $new, $def, $c, $isgoal) = @_; my($with); $old = {} unless $old; $def = {} unless $def; +$new = {} unless $isgoal; # # override old parameters with new parameters @@ -1880,7 +1881,9 @@ if ($uncond || !-f $bpkg || !target_suitable(binary_target($_, $bpkg),$with)) { -$opt = make_defines($_-{OPTIONS}, $with, $_-{DEFOPTS}, $c); +$opt = make_defines($_-{OPTIONS}, $with, +$_-{DEFOPTS}, $c, +$_-{GOAL}); # # proxy packages are rebuilt from their maste @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.45 -r1.46 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec20 Mar 2003 15:33:54 - 1.45 +++ openpkg-src/openpkg-tool/openpkg-tool.spec21 Mar 2003 09:45:05 - 1.46 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030320 -Release: 20030320 +Version: 20030321 +Release: 20030321 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3753 -r1.3754 news.txt --- openpkg-web/news.txt 21 Mar 2003 09:44:26 - 1.3753 +++ openpkg-web/news.txt 21 Mar 2003 09:45:00 - 1.3754 @@ -1,3 +1,4 @@ +21-Mar-2003: Upgraded package: Popenpkg-tool-20030321-20030321 21-Mar-2003: Upgraded package: Pinn-2.3.5-20030321 21-Mar-2003: Upgraded package: Popenldap-2.1.16-20030321 21-Mar-2003: Upgraded package: Pgawk-3.1.2-20030321 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 20-Mar-2003 16:33:54 Branch: HEAD Handle: 2003032015335301 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: Avoid switching (and conflicting) virtual targets on upgrade Summary: RevisionChanges Path 1.63+25 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.45+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3741 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.62 -r1.63 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 19 Mar 2003 13:54:10 - 1.62 +++ openpkg-src/openpkg-tool/openpkg-build.pl 20 Mar 2003 15:33:54 - 1.63 @@ -1342,7 +1342,7 @@ my($dep, $env) = @_; my($name,$op,@vers); my($i,$r,$b,$cond,$version); -my($t,$tdef); +my($t,$tdef,$why); ($name, $op, $version) = ($dep-{name}, $dep-{op}, $dep-{val}); @@ -1370,6 +1370,10 @@ $tdef = undef; +# +# search installed target that matches requirement +# use it if we are not upgrading (no -U) +# if ($i (@vers = get_versions($i, $cond))) { foreach (@vers) { $t = $i-{$_}-[0]; @@ -1382,17 +1386,36 @@ } } } + +# +# search target in current build list that matches requirement +# use it if it exists +# if ($b (@vers = get_versions($b, $cond))) { return ($b-{$vers[0]}-[0], 1); } +# +# search target in repository and install it, if it is newer +# than corresponding installed versions +# avoid repository packages that would install 'new' (i.e. +# are not an upgrade of an existing package) +# $t = chose_source($env, $name, undef, $r, get_versions($r, $cond)); if ($t) { -if (!$tdef || target_better($env, $t, $env-{installed})) { +if (!$tdef || ( +$why = target_better($env, $t, $env-{installed}) +$why ne 'new' +)) { return ($t, 0); } } +# +# if nothing is suitable in repository then fall back to +# anything we already have installed but that we skipped +# above to look for upgrades. +# if ($tdef) { return ($tdef, 1); } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.44 -r1.45 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec19 Mar 2003 09:48:38 - 1.44 +++ openpkg-src/openpkg-tool/openpkg-tool.spec20 Mar 2003 15:33:54 - 1.45 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030319 -Release: 20030319 +Version: 20030320 +Release: 20030320 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3740 -r1.3741 news.txt --- openpkg-web/news.txt 20 Mar 2003 15:29:23 - 1.3740 +++ openpkg-web/news.txt 20 Mar 2003 15:33:53 - 1.3741 @@ -1,3 +1,4 @@ +20-Mar-2003: Upgraded package: Popenpkg-tool-20030320-20030320 20-Mar-2003: Upgraded package: Pemacs-21.3-20030319 20-Mar-2003: Upgraded package: Plyx-1.3.1-20030320 20-Mar-2003: Upgraded package: Pperl-tk-20030320-20030320 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 19-Mar-2003 10:48:39 Branch: HEAD Handle: 2003031909483701 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: keep upgraded packages that are build-required by another package Summary: RevisionChanges Path 1.61+2 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.44+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3725 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.60 -r1.61 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 7 Mar 2003 16:11:25 - 1.60 +++ openpkg-src/openpkg-tool/openpkg-build.pl 19 Mar 2003 09:48:38 - 1.61 @@ -1670,8 +1670,8 @@ %keep = map { $_ = 1 } @keeps; @bonly = reverse grep { - !$keep{$_} !$env-{installed}-{$_-{name}}-{vs($_)}; - } @targets; +!$keep{$_} !$env-{installed}-{$_-{name}} +} @targets; return ([EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]); } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.43 -r1.44 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec7 Mar 2003 16:11:25 - 1.43 +++ openpkg-src/openpkg-tool/openpkg-tool.spec19 Mar 2003 09:48:38 - 1.44 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030307 -Release: 20030307 +Version: 20030319 +Release: 20030319 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3724 -r1.3725 news.txt --- openpkg-web/news.txt 18 Mar 2003 19:16:46 - 1.3724 +++ openpkg-web/news.txt 19 Mar 2003 09:48:37 - 1.3725 @@ -1,3 +1,4 @@ +19-Mar-2003: Upgraded package: Popenpkg-tool-20030319-20030319 18-Mar-2003: Upgraded package: Pmysql4-4.0.12-20030318 18-Mar-2003: Upgraded package: Pdoclifter-1.0.4-20030318 18-Mar-2003: Upgraded package: Pvim-6.1.410-20030318 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
OpenPKG CVS Repository http://cvs.openpkg.org/ Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src openpkg-web Date: 04-Mar-2003 15:38:47 Branch: HEAD Handle: 2003030414384501 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: SuSE which(1) dislikes to expand already absolute pathnames Summary: RevisionChanges Path 1.59+1 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.42+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3533 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.58 -r1.59 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 3 Mar 2003 15:00:06 - 1.58 +++ openpkg-src/openpkg-tool/openpkg-build.pl 4 Mar 2003 14:38:46 - 1.59 @@ -157,7 +157,7 @@ my($RPM,$CURL,$PROG); $RPM = $opt_R || $env{''}-{'R'} || '@l_prefix@/bin/rpm'; -$RPM = (`which $RPM` =~ m{^(/.*)})[0]; +$RPM = (`which $RPM` =~ m{^(/.*)})[0] if ($RPM !~ m|^/|); die FATAL: cannot locate rpm in path\n unless $RPM =~ m{^/}; # augment command line parameters @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.41 -r1.42 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec3 Mar 2003 15:00:08 - 1.41 +++ openpkg-src/openpkg-tool/openpkg-tool.spec4 Mar 2003 14:38:46 - 1.42 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030303 -Release: 20030303 +Version: 20030304 +Release: 20030304 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3532 -r1.3533 news.txt --- openpkg-web/news.txt 4 Mar 2003 14:25:47 - 1.3532 +++ openpkg-web/news.txt 4 Mar 2003 14:38:45 - 1.3533 @@ -1,3 +1,4 @@ +04-Mar-2003: Upgraded package: Popenpkg-tool-20030304-20030304 04-Mar-2003: Upgraded package: Pgcc33-3.3s20030303-20030304 04-Mar-2003: Upgraded package: Pbind-9.2.2-20030304 04-Mar-2003: Upgraded package: Pgnutls-0.8.2-20030304 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 03-Mar-2003 16:00:15 Branch: HEAD Handle: 200303031508 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: fix path computation for relative urls Summary: RevisionChanges Path 1.58+3 -6 openpkg-src/openpkg-tool/openpkg-build.pl 1.41+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3515 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.57 -r1.58 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 20 Feb 2003 09:24:27 - 1.57 +++ openpkg-src/openpkg-tool/openpkg-build.pl 3 Mar 2003 15:00:06 - 1.58 @@ -618,15 +618,12 @@ } else { if (defined $fn) { $subfn = $fn; -$subfn =~ s/\/[^\/]*$//; -$subfn .= '/' unless $subfn =~ /\/$/; -$subfn .= $suburl; +$subfn =~ s/(\/)?\/*[^\/]*$/$1$suburl/; $suburl = $subfn; } else { $subfn = $url; -$subfn =~ s/\/[^\/]*$//; -$subfn .= '/' unless $subfn =~ /\/$/; -$suburl = $subfn$suburl; +$subfn =~ s/(\/)?\/*[^\/]*$/$1$suburl/; +$suburl = $subfn; $subfn = undef; } } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.40 -r1.41 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec28 Feb 2003 14:22:09 - 1.40 +++ openpkg-src/openpkg-tool/openpkg-tool.spec3 Mar 2003 15:00:08 - 1.41 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030228 -Release: 20030228 +Version: 20030303 +Release: 20030303 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3514 -r1.3515 news.txt --- openpkg-web/news.txt 3 Mar 2003 11:04:04 - 1.3514 +++ openpkg-web/news.txt 3 Mar 2003 15:00:00 - 1.3515 @@ -1,3 +1,4 @@ +03-Mär-2003: Upgraded package: Popenpkg-tool-20030303-20030303 03-Mar-2003: Upgraded package: Ptidy-20030302-20030303 03-Mar-2003: Upgraded package: Ppostfix-2.0.4-20030303 03-Mar-2003: Upgraded package: Plibtasn1-0.2.2-20030303 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 20-Feb-2003 10:24:28 Branch: HEAD Handle: 2003022009242602 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: use double quotes for su quoting to avoid conflicts with --define options Summary: RevisionChanges Path 1.57+1 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.39+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3372 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.56 -r1.57 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 18 Feb 2003 16:20:36 - 1.56 +++ openpkg-src/openpkg-tool/openpkg-build.pl 20 Feb 2003 09:24:27 - 1.57 @@ -178,7 +178,7 @@ if (!defined $w) { return $s; } elsif ($w =~ /^-(.*)/) { -return $1 '$s'; +return $1 \$s\; } else { return $w $s; } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.38 -r1.39 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec18 Feb 2003 16:20:36 - 1.38 +++ openpkg-src/openpkg-tool/openpkg-tool.spec20 Feb 2003 09:24:28 - 1.39 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030218 -Release: 20030218 +Version: 20030220 +Release: 20030220 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3371 -r1.3372 news.txt --- openpkg-web/news.txt 20 Feb 2003 09:17:22 - 1.3371 +++ openpkg-web/news.txt 20 Feb 2003 09:24:26 - 1.3372 @@ -1,3 +1,4 @@ +20-Feb-2003: Upgraded package: Popenpkg-tool-20030220-20030220 20-Feb-2003: Upgraded package: Prrdtool-1.0.41-20030220 20-Feb-2003: Upgraded package: Ppostfix-2.0.3-20030220 20-Feb-2003: Upgraded package: Pperl-util-20030220-20030220 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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 Date: 15-Feb-2003 09:54:00 Branch: HEAD Handle: 2003021508535901 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec Log: fix simple parser Summary: RevisionChanges Path 1.55+1 -0 openpkg-src/openpkg-tool/openpkg-build.pl 1.37+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.54 -r1.55 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 7 Feb 2003 13:18:46 - 1.54 +++ openpkg-src/openpkg-tool/openpkg-build.pl 15 Feb 2003 08:53:59 - 1.55 @@ -719,6 +719,7 @@ $platform = undef; $prefix= undef; $bags = {}; +@provides = (); } if (!(defined $href) @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.36 -r1.37 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec12 Feb 2003 10:10:23 - 1.36 +++ openpkg-src/openpkg-tool/openpkg-tool.spec15 Feb 2003 08:54:00 - 1.37 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030212 -Release: 20030212 +Version: 20030215 +Release: 20030215 # list of sources Source0: openpkg.sh @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 04-Feb-2003 12:26:56 Branch: HEAD Handle: 2003020411265501 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: support repeated options (e.g. -E) in config file Summary: RevisionChanges Path 1.49+5 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.33+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3184 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.48 -r1.49 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 3 Feb 2003 16:52:23 - 1.48 +++ openpkg-src/openpkg-tool/openpkg-build.pl 4 Feb 2003 11:26:56 - 1.49 @@ -102,7 +102,11 @@ $env = $env{$1}; } elsif (my($opt,$val) = /^\-([$go])\s*(.*?)\s*$/) { $val = 1 unless defined $val; -$env-{$opt} = $val; +if (exists $env-{$opt}) { +$env-{$opt} = $val; +} else { +$env-{$opt} = $val; +} } } close(FH); @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.32 -r1.33 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec3 Feb 2003 12:58:55 - 1.32 +++ openpkg-src/openpkg-tool/openpkg-tool.spec4 Feb 2003 11:26:56 - 1.33 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030203 -Release: 20030203 +Version: 20030204 +Release: 20030204 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3183 -r1.3184 news.txt --- openpkg-web/news.txt 4 Feb 2003 11:17:59 - 1.3183 +++ openpkg-web/news.txt 4 Feb 2003 11:26:55 - 1.3184 @@ -1,3 +1,4 @@ +04-Feb-2003: Upgraded package: Popenpkg-tool-20030204-20030204 04-Feb-2003: Upgraded package: Pperl-xml-20030204-20030204 04-Feb-2003: Upgraded package: Pperl-apache-20030204-20030204 04-Feb-2003: Upgraded package: Psendmail-8.12.7-20030204 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 03-Feb-2003 13:58:56 Branch: HEAD Handle: 2003020312585401 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: prefer packages matching target name over packages providing target name to resolve ambiguities Summary: RevisionChanges Path 1.47+7 -0 openpkg-src/openpkg-tool/openpkg-build.pl 1.32+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.3171 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.46 -r1.47 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 24 Jan 2003 14:48:47 - 1.46 +++ openpkg-src/openpkg-tool/openpkg-build.pl 3 Feb 2003 12:58:55 - 1.47 @@ -1081,6 +1081,13 @@ @recs = @nrecs if @nrecs; } +if (scalar(@recs) 1) { +@nrecs = grep { +$name eq $_-{name} +} @recs; +@recs = @nrecs if @nrecs; +} + if (scalar(@recs) 1 !$env-{sourceonly}) { @nrecs = grep { defined $_-{'platform'} @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.31 -r1.32 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec31 Jan 2003 12:26:10 - 1.31 +++ openpkg-src/openpkg-tool/openpkg-tool.spec3 Feb 2003 12:58:55 - 1.32 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030124 -Release: 20030124 +Version: 20030203 +Release: 20030203 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.3170 -r1.3171 news.txt --- openpkg-web/news.txt 3 Feb 2003 12:39:06 - 1.3170 +++ openpkg-web/news.txt 3 Feb 2003 12:58:54 - 1.3171 @@ -1,3 +1,4 @@ +03-Feb-2003: Upgraded package: Popenpkg-tool-20030203-20030203 03-Feb-2003: Upgraded package: Prt-2.0.15-20030203 03-Feb-2003: Upgraded package: Pvim-6.1.317-20030203 03-Feb-2003: Upgraded package: Ppango-1.2.1-20030203 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
Re: [CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
On Mon, Feb 03, 2003, Michael van Elst wrote: [...] prefer packages matching target name over packages providing target name to resolve ambiguities Thanks a lot, Michael. Ralf S. Engelschall [EMAIL PROTECTED] www.engelschall.com __ The OpenPKG Projectwww.openpkg.org Developer Communication List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 24-Jan-2003 10:57:55 Branch: HEAD Handle: 2003012409575301 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg.pod openpkg-web news.txt Log: support optional discriminator prefix to pattern Summary: RevisionChanges Path 1.44+30 -18 openpkg-src/openpkg-tool/openpkg-build.pl 1.30+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.12+7 -1 openpkg-src/openpkg-tool/openpkg.pod 1.3027 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.43 -r1.44 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 22 Jan 2003 13:55:39 - 1.43 +++ openpkg-src/openpkg-tool/openpkg-build.pl 24 Jan 2003 09:57:54 - 1.44 @@ -1048,8 +1048,8 @@ # # there can be multiple sources for a target release # -sub chose_source ($$@) { -my($env, $name, $vmap, @vers) = @_; +sub chose_source (@) { +my($env, $name, $select, $vmap, @vers) = @_; my(@recs,@nrecs,$rec); return unless @vers; @@ -1067,6 +1067,12 @@ } map { @{$vmap-{$_}} } @vers; return unless @recs; +if (defined $select) { +@recs = grep { +vsn($_) =~ /^\Q$select\E/ +} @recs; +} + if (scalar(@recs) 1) { @nrecs = grep { $env-{built}-{$_-{name}} || @@ -1092,12 +1098,14 @@ } return; -} else { +} elsif (@recs) { if ($env-{upgrade}) { $rec = $recs[-1]; } else { $rec = $recs[0]; } +} else { +return; } print # source for $name is .vsn($rec).\n; @@ -1312,7 +1320,7 @@ return ($b-{$vers[0]}-[0], 1); } -$t = chose_source($env, $name, $r, get_versions($r, $cond)); +$t = chose_source($env, $name, undef, $r, get_versions($r, $cond)); if ($t) { if (!$tdef || ($env-{upgrade} target_newer($t, $env-{installed}))) { @@ -1496,19 +1504,21 @@ # handle various patterns # if (defined $pattern) { -@todo = (); -foreach (split(/\s+/,$pattern)) { -next unless /\S/; -if (s/\*+$//) { -push @todo, '^'.quotemeta($_).''; -} else { -push @todo, '^'.quotemeta($_).'$'; -} -} @todo = map { my($p) = $_; -grep(/$p/, keys %{$env-{repository}}) -} @todo; +my($s); +$s = $1 if $p =~ s/(,[^\s,]+)$//; +if ($p =~ s/\*+$//) { +$p = '^'.quotemeta($p).''; +} else { +$p = '^'.quotemeta($p).'$'; +} +map { +$_$s +} grep { +/$p/ +} keys %{$env-{repository}} +} split(/\s+/,$pattern); } else { # # undefined pattern means -a option that selects @@ -1532,7 +1542,7 @@ sub build_list ($$) { my($pattern, $env) = @_; my(@goals,@targets,@keeps,@conflicts,@bonly,$t); -my($name,$r,$i,@vers); +my($name,$select,$r,$i,@vers); my($todo,%keep); $todo = search_pattern($pattern, $env); @@ -1541,6 +1551,8 @@ # chose sources for goals from repository # foreach $name (@$todo) { +$select = undef; +$select = $1 if $name =~ s/,([^\s,]+)$//; $t = undef; # @@ -1554,14 +1566,14 @@ #unless ($env-{upgrade}) { #$i = $env-{installed}-{$name}; #if (@vers = get_versions($i, sub { 1; })) { -#$t = chose_source($env, $name, $i, @vers); +#$t = chose_source($env, $name, $select, $i, @vers); #} #} unless ($t) { $r = $env-{repository}-{$name}; if (@vers = get_versions($r, sub { 1; })) { -$t = chose_source($env, $name, $r, @vers); +$t = chose_source($env, $name, $select, $r, @vers); } } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 16-Jan-2003 15:59:51 Branch: HEAD Handle: 2003011614595001 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: fix R option in rc-file Summary: RevisionChanges Path 1.39+1 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.27+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2856 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.38 -r1.39 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 15 Jan 2003 14:55:44 - 1.38 +++ openpkg-src/openpkg-tool/openpkg-build.pl 16 Jan 2003 14:59:51 - 1.39 @@ -152,7 +152,7 @@ my($RPM,$RPM_PRIV,$RPM_NPRIV,$CURL,$PROG); -$RPM = $opt_R || $env{''}-{opt}-{'R'} || '@l_prefix@/bin/rpm'; +$RPM = $opt_R || $env{''}-{'R'} || '@l_prefix@/bin/rpm'; $RPM = (`which $RPM` =~ m{^(/.*)})[0]; die FATAL: cannot locate rpm in path\n unless $RPM =~ m{^/}; @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.26 -r1.27 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec15 Jan 2003 13:45:43 - 1.26 +++ openpkg-src/openpkg-tool/openpkg-tool.spec16 Jan 2003 14:59:51 - 1.27 @@ -32,8 +32,8 @@ Distribution: OpenPKG [PLUS] Group:Bootstrapping License: GPL -Version: 20030115 -Release: 20030115 +Version: 20030116 +Release: 20030116 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.2855 -r1.2856 news.txt --- openpkg-web/news.txt 16 Jan 2003 14:21:20 - 1.2855 +++ openpkg-web/news.txt 16 Jan 2003 14:59:50 - 1.2856 @@ -1,3 +1,4 @@ +16-Jan-2003: Upgraded package: Popenpkg-tool-20030116-20030116 16-Jan-2003: Upgraded package: Papache-1.3.27-20030116 16-Jan-2003: Upgraded package: Pguile-1.6.1-20030116 16-Jan-2003: Upgraded package: Pas-gui-0.5.10-20030116 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 15-Jan-2003 13:15:47 Branch: HEAD Handle: 2003011512154402 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg.pod openpkg-web news.txt Log: optimize get_revdep, add -L and -W option for generating a dependency list Summary: RevisionChanges Path 1.34+86 -34 openpkg-src/openpkg-tool/openpkg-build.pl 1.25+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.10+15 -0 openpkg-src/openpkg-tool/openpkg.pod 1.2812 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.33 -r1.34 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 14 Jan 2003 12:00:55 - 1.33 +++ openpkg-src/openpkg-tool/openpkg-build.pl 15 Jan 2003 12:15:46 - 1.34 @@ -29,8 +29,12 @@ $|=1; # autoflush use strict; -use vars qw/$opt_R $opt_r $opt_f $opt_u $opt_U $opt_a $opt_A $opt_z $opt_Z $opt_P $opt_N $opt_E $opt_i $opt_D $opt_p $opt_q $opt_s $opt_S $opt_X $opt_M/; -my $getopts = 'R:r:f:uUaAzZP:N:E:iD:p:qsSXM'; +use vars qw/ +$opt_R $opt_r $opt_f $opt_u $opt_U $opt_a $opt_A +$opt_z $opt_Z $opt_P $opt_N $opt_E $opt_i $opt_D +$opt_p $opt_q $opt_s $opt_S $opt_X $opt_M $opt_L +$opt_W/; +my $getopts = 'R:r:f:uUaAzZP:N:E:iD:p:qsSXMLW'; getopts($getopts); ## @@ -116,7 +120,7 @@ my($cond,$with) = @_; my(@s,$res); -return 1 if $cond eq ''; +return 1 if $cond eq '' || !defined $with; foreach (split(/\s+/,$cond)) { if ($_ eq '+') { @@ -449,9 +453,8 @@ # compute reverse dependency map # # -sub get_revdep ($) { -my($env) = @_; -my($i) = $env-{'installed'}; +sub get_revdep ($$) { +my($env, $i) = @_; my($r) = $env-{'repository'}; my($pkg, %dep, %dlist, %rev); my(@vers,$t); @@ -481,8 +484,10 @@ next unless $i-{$t-{name}}; next unless $t-{depends}; foreach (depends2pkglist($t-{depends})) { -$dep{$_}{$t-{name}} = 1; -push @{$dlist{$_}}, $t; +unless ($dep{$_}{$t-{name}}) { +$dep{$_}{$t-{name}} = 1; +push @{$dlist{$_}}, $t; +} } } } @@ -1389,7 +1394,7 @@ $target-{REBUILD}) { unless ($env-{revdep}) { -$env-{revdep} = get_revdep($env); +$env-{revdep} = get_revdep($env, $env-{intalled}); } foreach $t (@{$env-{revdep}-{$target-{name}}}) { @@ -1407,15 +1412,11 @@ } # -# generate build lists for targets matched by pattern +# grep environment for packages that match a pattern # -# all input and output is passed in 'env' hash -# -sub build_list ($$) { +sub search_pattern ($$) { my($pattern, $env) = @_; -my(@goals,@targets,@keeps,@conflicts,@bonly,$t); -my($name,$r,$i,@vers); -my(@todo,%keep); +my(@todo); # # handle various patterns @@ -1446,10 +1447,26 @@ } keys %{$env-{repository}}; } +return \@todo; +} + +# +# generate build lists for targets matched by pattern +# +# all input and output is passed in 'env' hash +# +sub build_list ($$) { +my($pattern, $env) = @_; +my(@goals,@targets,@keeps,@conflicts,@bonly,$t); +my($name,$r,$i,@vers); +my($todo,%keep); + +$todo = search_pattern($pattern, $env); + # # chose sources for goals from repository # -foreach $name (@todo) { +foreach $name (@$todo) { $t = undef; # @@ -1502,6 +1519,21 @@ return (\@targets, \@bonly, \@conflicts); } +sub build_deps ($$) { +my($pattern, $env) = @_; +my($todo); + +$todo = search_pattern($pattern, $env); + +$env-{revdep} = get_revdep($env, $env-{repository}); + +return [ map { +$env-{revdep}-{$_} +? ( @{$env-{revdep}-{$_}} ) +: ( ) +} @$todo ]; +} + ### # @@ -1765,6 +1797,17 @@ } } +# +#
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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 Date: 15-Jan-2003 14:45:44 Branch: HEAD Handle: 2003011513454300 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec Log: avoid duplicates in dependency list, sort dependency list, push back requirement to OpenPKG1.0.0 Summary: RevisionChanges Path 1.36+2 -5 openpkg-src/openpkg-tool/openpkg-build.pl 1.26+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.35 -r1.36 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 15 Jan 2003 12:56:31 - 1.35 +++ openpkg-src/openpkg-tool/openpkg-build.pl 15 Jan 2003 13:45:43 - 1.36 @@ -1562,8 +1562,6 @@ : ( ) } @list; -@out = @list; - # # recurse over dependencies # @@ -1573,6 +1571,7 @@ next if $env-{builddeps}-{$_-{name}}; $env-{builddeps}-{$_-{name}} = 1; +push @out, $_; $list = build_deps($_-{name}, $env); push @out, @$list; } @@ -1849,9 +1848,7 @@ sub print_deps ($) { my($list) = @_; -foreach (@$list) { -print vsn($_),\n; -} +print join(\n, sort map { vsn($_) } @$list),\n; } ### @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.25 -r1.26 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec15 Jan 2003 12:15:46 - 1.25 +++ openpkg-src/openpkg-tool/openpkg-tool.spec15 Jan 2003 13:45:43 - 1.26 @@ -46,8 +46,8 @@ # build information Prefix: %{l_prefix} BuildRoot:%{l_buildroot} -BuildPreReq: OpenPKG, openpkg = 20021230 -PreReq: OpenPKG, openpkg = 20021230 +BuildPreReq: OpenPKG, openpkg = 1.0.0 +PreReq: OpenPKG, openpkg = 1.0.0 AutoReq: no AutoReqProv: no @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 10-Jan-2003 10:50:58 Branch: HEAD Handle: 2003011009505601 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: fix option parsing Summary: RevisionChanges Path 1.28+5 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.21+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2631 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.27 -r1.28 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 9 Jan 2003 14:23:17 - 1.27 +++ openpkg-src/openpkg-tool/openpkg-build.pl 10 Jan 2003 09:50:57 - 1.28 @@ -361,15 +361,18 @@ sub depends2provides ($) { my($dep) = @_; -my($ver,$rel,$pxy); +my($ver,$rel,$pxy,$pre,$with); ($ver,$rel,$pxy) = $dep-{val} =~ /^([^\s\-]+)-([^\s\+]+)(\+PROXY)?$/; +($pre,$with) = $dep-{name} =~ /^(\S+?)::(\S*)$/; return { name= $dep-{name}, version = (defined $ver ? $ver : $dep-{val}), release = $rel, -proxy = $pxy +proxy = $pxy, +prefix = $pre, +with= $with } } @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.20 -r1.21 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec9 Jan 2003 14:23:17 - 1.20 +++ openpkg-src/openpkg-tool/openpkg-tool.spec10 Jan 2003 09:50:57 - 1.21 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group:Bootstrapping License: GPL -Version: 20030109 -Release: 20030109 +Version: 20030110 +Release: 20030110 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.2630 -r1.2631 news.txt --- openpkg-web/news.txt 10 Jan 2003 09:45:30 - 1.2630 +++ openpkg-web/news.txt 10 Jan 2003 09:50:56 - 1.2631 @@ -1,3 +1,4 @@ +10-Jan-2003: Upgraded package: Popenpkg-tool-20030110-20030110 10-Jan-2003: Upgraded package: Ptidy-20030108-20030110 10-Jan-2003: Upgraded package: Pimap-2002b-20030110 10-Jan-2003: Upgraded package: Pccache-2.1.1-20030110 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 03-Jan-2003 10:55:40 Branch: HEAD Handle: 2003010309553901 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: fix simple parser Summary: RevisionChanges Path 1.23+1 -0 openpkg-src/openpkg-tool/openpkg-build.pl 1.17+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2507 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.22 -r1.23 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 2 Jan 2003 09:16:52 - 1.22 +++ openpkg-src/openpkg-tool/openpkg-build.pl 3 Jan 2003 09:55:40 - 1.23 @@ -514,6 +514,7 @@ @bprereq = (); @provides = (); @conflicts = (); +%options = (); } if (!(defined $href) /Repository.*?href=([^]*)/) { @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.16 -r1.17 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec2 Jan 2003 09:16:52 - 1.16 +++ openpkg-src/openpkg-tool/openpkg-tool.spec3 Jan 2003 09:55:40 - 1.17 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group:Bootstrapping License: GPL -Version: 20030102 -Release: 20030102 +Version: 20030103 +Release: 20030103 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.2506 -r1.2507 news.txt --- openpkg-web/news.txt 3 Jan 2003 09:34:17 - 1.2506 +++ openpkg-web/news.txt 3 Jan 2003 09:55:39 - 1.2507 @@ -1,3 +1,4 @@ +03-Jan-2003: Upgraded package: Popenpkg-tool-20030103-20030103 03-Jan-2003: Upgraded package: Pperl-5.8.0-20030103 03-Jan-2003: Upgraded package: Pncurses-5.3.20021231-20030103 03-Jan-2003: Upgraded package: Pperl-dbi-20030103-20030103 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
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: 02-Jan-2003 10:16:53 Branch: HEAD Handle: 2003010209165101 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: Fix simple text parser Summary: RevisionChanges Path 1.22+2 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.16+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2496 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.21 -r1.22 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 31 Dec 2002 15:12:39 - 1.21 +++ openpkg-src/openpkg-tool/openpkg-build.pl 2 Jan 2003 09:16:52 - 1.22 @@ -525,12 +525,12 @@ ($tag,$cond,$body) = / -([\w:]+) +(\/?[\w:]+) \s* (?:cond=([^]+))? (.*?) -\/\1 +(?:\/\1)? $ /mx; @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.15 -r1.16 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec31 Dec 2002 15:12:39 - 1.15 +++ openpkg-src/openpkg-tool/openpkg-tool.spec2 Jan 2003 09:16:52 - 1.16 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group:Bootstrapping License: GPL -Version: 20021231 -Release: 20021231 +Version: 20030102 +Release: 20030102 # list of sources Source0: openpkg.sh @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.2495 -r1.2496 news.txt --- openpkg-web/news.txt 2 Jan 2003 08:21:20 - 1.2495 +++ openpkg-web/news.txt 2 Jan 2003 09:16:51 - 1.2496 @@ -1,3 +1,4 @@ +02-Jan-2003: Upgraded package: Popenpkg-tool-20030102-20030102 02-Jan-2003: Upgraded package: Pbinutils-2.13.2.1-20030102 02-Jan-2003: Upgraded package: Pperl-mail-20030102-20030102 02-Jan-2003: Upgraded package: Pperl-www-20030102-20030102 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
OpenPKG CVS Repository http://cvs.openpkg.org/ Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src openpkg-web Date: 30-Dec-2002 15:31:46 Branch: HEAD Handle: 2002123014314501 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: support new %option(s) stuff Summary: RevisionChanges Path 1.17+6 -4 openpkg-src/openpkg-tool/openpkg-build.pl 1.13+5 -5 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2428 +1 -0 openpkg-web/news.txt patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.16 -r1.17 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 20 Dec 2002 14:54:58 - 1.16 +++ openpkg-src/openpkg-tool/openpkg-build.pl 30 Dec 2002 14:31:46 - 1.17 @@ -355,10 +355,12 @@ sub parse_options ($) { my($l) = @_; -$l = join(\n,@$l) if ref $l; -return unless $l =~ s/.*Options//; -my(%with) = $l =~ /--define\s*'(\S+)\s+(\S+?)'/g; -return \%with; +$l = join(\n, @$l) if ref $l; +return if ($l !~ m/(--define|%option)/s); +my $with = {}; +$l =~ s/--define\s*'(\S+)\s+(\S+?)'/$with-{$1} = $2, ''/ge; # before openpkg-20021230 +$l =~ s/%option\s*(\S+)\s+(\S+)/$with-{$1} = $2, ''/ge; # after openpkg-20021230 +return $with; } sub override_options ($$$) { @@ . patch -p0 '@@ .' Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.12 -r1.13 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec26 Dec 2002 12:42:35 - 1.12 +++ openpkg-src/openpkg-tool/openpkg-tool.spec30 Dec 2002 14:31:46 - 1.13 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group:Bootstrapping License: GPL -Version: 20021226 -Release: 20021226 +Version: 20021230 +Release: 20021230 # list of sources Source0: openpkg.sh @@ -46,15 +46,15 @@ # build information Prefix: %{l_prefix} BuildRoot:%{l_buildroot} -BuildPreReq: OpenPKG, openpkg = 20020206 -PreReq: OpenPKG, openpkg = 20020206 +BuildPreReq: OpenPKG, openpkg = 20021230 +PreReq: OpenPKG, openpkg = 20021230 AutoReq: no AutoReqProv: no %description The OpenPKG tool is a helper utility for managing an OpenPKG instance. -Options: none +%options %prep @@ . patch -p0 '@@ .' Index: openpkg-web/news.txt $ cvs diff -u -r1.2427 -r1.2428 news.txt --- openpkg-web/news.txt 30 Dec 2002 14:10:35 - 1.2427 +++ openpkg-web/news.txt 30 Dec 2002 14:31:45 - 1.2428 @@ -1,3 +1,4 @@ +30-Dec-2002: Upgraded package: Popenpkg-tool-20021230-20021230 30-Dec-2002: Upgraded package: Popenpkg-20021230-20021230 30-Dec-2002: New package: Porbit2-2.5.1-20021230 30-Dec-2002: Upgraded package: Ppopt-1.7-20021230 @@ . __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
Re: [CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
Hallo Ralf, Log: support new %option(s) stuff ich fuerchte das war nicht so gut Der Index ist jetzt fehlerhaft, weil du die einfache spec-Syntax geaendert hast, die der Index-Parser nur versteht. Die Syntax von %options gefaellt mir nicht sehr, denn %description ist freitext und sollte daher auch nur als solcher betrachtet werden. Eine fehlende (optionale!) Einrueckung und der Parser funktioniert nicht mehr. Die Syntax von %description in einem .spec-file unterscheidet sich jetzt von der die rpm ausgibt. Es ist unmoeglich die Description in einem specfile alleine zu parsen. Die Syntax von %option ist reiner Zucker. -- Michael van Elst [EMAIL PROTECTED] __ The OpenPKG Projectwww.openpkg.org Developer Communication List [EMAIL PROTECTED]
Re: [CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
[PLEASE WRITE IN ENGLISH ON OPENPKG MAILING LISTS] On Mon, Dec 30, 2002, Michael van Elst wrote: Log: support new %option(s) stuff [...] Der Index ist jetzt fehlerhaft, weil du die einfache spec-Syntax geaendert hast, die der Index-Parser nur versteht. I've now tried to fix openpkg index so it understands again the options by parsing the %option lines. Die Syntax von %options gefaellt mir nicht sehr, denn %description ist freitext und sollte daher auch nur als solcher betrachtet werden. Eine fehlende (optionale!) Einrueckung und der Parser funktioniert nicht mehr. Die Syntax von %description in einem .spec-file unterscheidet sich jetzt von der die rpm ausgibt. Es ist unmoeglich die Description in einem specfile alleine zu parsen. There is no need to parse %options in %description if you parse a .spec file directly. If you parse directly, you can just look for the %option directives outside %description. And if you parse the %description output of RPM you again just have to look for the %option directives again. That's the reason why %options output the options again in the same %option syntax. So, forget %description and %options: In both cases you just look for %option! Die Syntax von %option ist reiner Zucker. It is just syntactic sugar, of course. But the syntactic sugar is _reduced_ now. That was the goal. And with %options the redundancy is gone now, too. Ralf S. Engelschall [EMAIL PROTECTED] __ The OpenPKG Projectwww.openpkg.org Developer Communication List [EMAIL PROTECTED]
Re: [CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
On Mon, Dec 30, 2002, Ralf S. Engelschall wrote: Die Syntax von %options gefaellt mir nicht sehr, denn %description ist freitext und sollte daher auch nur als solcher betrachtet werden. Eine fehlende (optionale!) Einrueckung und der Parser funktioniert nicht mehr. Die Syntax von %description in einem .spec-file unterscheidet sich jetzt von der die rpm ausgibt. Es ist unmoeglich die Description in einem specfile alleine zu parsen. There is no need to parse %options in %description if you parse a .spec file directly. If you parse directly, you can just look for the %option directives outside %description. And if you parse the %description output of RPM you again just have to look for the %option directives again. That's the reason why %options output the options again in the same %option syntax. So, forget %description and %options: In both cases you just look for %option! As mentioned by you, openpkg build currently still tries to find the options in the %description texts from the INDEX. But the new correct way would be that openpkg index parses the %option (no 's') commands, adds these options as RDF tags to the index and that openpkg build uses this information from the index only. openpkg build just should look for the %option commands in %description for _installed_ packages. Michael, can you adjust openpkg index and openpkg build for us to fit into the new world order? I've already poked around in your sources, but I'm not 100% sure whether I fully understood the logic in order to change this myself the correct way. Ralf S. Engelschall [EMAIL PROTECTED] __ The OpenPKG Projectwww.openpkg.org Developer Communication List [EMAIL PROTECTED]
Re: [CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
On Mon, Dec 30, 2002, Ralf S. Engelschall wrote: There is no need to parse %options in %description if you parse a .spec file directly. My point is that you can no longer do that. You syntax change just made parsing the spec files more complex and more error prone. No wonder that it is currently broken :) -- Michael van Elst [EMAIL PROTECTED] __ The OpenPKG Projectwww.openpkg.org Developer Communication List [EMAIL PROTECTED]
Re: [CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...
On Mon, Dec 30, 2002, Michael van Elst wrote: packages. Michael, can you adjust openpkg index and openpkg build for us to fit into the new world order? I'll have a look tomorrow. Can you describe the syntax for %options ? What is the -pXXX ? Forget %options, this is just the macro for expanding the %option in %description. You only have to care about %option, of course. Anyway, the syntax is: %option variable value %options [-ppadding] where %option variable value is syntactically equivalent with %ifndef variable %define variable value %endif plus remembering the string %option variable %{variable} in an internal macro. Then %options expands this internal macro back into the %option variable value strings. If a padding is given, the variable part in %option variable value is padding with spaces to a fixed width in order to get a nice aligned output in %description texts. Ralf S. Engelschall [EMAIL PROTECTED] __ The OpenPKG Projectwww.openpkg.org Developer Communication List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool....
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: 20-Dec-2002 15:54:59 Branch: HEAD Handle: 2002122014545701 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: now handles missing upgrade paths gracefully by falling back dependency to installed version Summary: RevisionChanges Path 1.16+14 -2 openpkg-src/openpkg-tool/openpkg-build.pl 1.10+2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2345 +1 -0 openpkg-web/news.txt Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.15 -r1.16 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 18 Dec 2002 10:34:35 - 1.15 +++ openpkg-src/openpkg-tool/openpkg-build.pl 20 Dec 2002 14:54:58 - 1.16 @@ -884,7 +884,7 @@ my($dep, $env) = @_; my($name,@vers); my($i,$r,$b,$cond,$version); -my($t); +my($t,$tdef); $dep =~ s/(\S+)\s*//; $name = $1; @@ -908,10 +908,13 @@ return; } +$tdef = undef; + if ($i (@vers = get_versions($i, $cond))) { foreach (@vers) { $t = $i-{$_}-[0]; if (get_with($t), target_suitable($t, $env-{with})) { +$tdef = $t; if (!$env-{upgrade}) { return ($t, 1); } @@ -922,7 +925,16 @@ return ($b-{$vers[0]}-[0], 1); } -return (chose_source($env, $name, $r, get_versions($r, $cond)), 0); +$t = chose_source($env, $name, $r, get_versions($r, $cond)); +if ($t) { +return ($t, 0); +} + +if ($tdef) { +return ($tdef, 1); +} + +return; } Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.9 -r1.10 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec18 Dec 2002 10:37:07 - 1.9 +++ openpkg-src/openpkg-tool/openpkg-tool.spec20 Dec 2002 14:54:58 - 1.10 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group:Bootstrapping License: GPL -Version: 20021218 -Release: 20021218 +Version: 20021220 +Release: 20021220 # list of sources Source0: openpkg.sh Index: openpkg-web/news.txt $ cvs diff -u -r1.2344 -r1.2345 news.txt --- openpkg-web/news.txt 20 Dec 2002 14:35:12 - 1.2344 +++ openpkg-web/news.txt 20 Dec 2002 14:54:57 - 1.2345 @@ -1,3 +1,4 @@ +20-Dez-2002: Upgraded package: Popenpkg-tool-20021220-20021220 20-Dez-2002: Upgraded package: Ptomcat-adapter-3.2.4-20021220 20-Dec-2002: Upgraded package: Plout-3.28-20021220 19-Dec-2002: Upgraded package: Pas-gui-0.5.9-20021219 __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool....
OpenPKG CVS Repository http://cvs.openpkg.org/ Server: cvs.openpkg.org Name: Michael van Elst Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-web, openpkg-src Date: 11-Dec-2002 13:23:16 Branch: HEAD Handle: 2002121112231401 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec openpkg-web news.txt Log: Use subshell in target directory instead of forwarded option Summary: RevisionChanges Path 1.11+6 -1 openpkg-src/openpkg-tool/openpkg-build.pl 1.8 +2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec 1.2245 +1 -0 openpkg-web/news.txt Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.10 -r1.11 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 3 Dec 2002 14:27:39 - 1.10 +++ openpkg-src/openpkg-tool/openpkg-build.pl 11 Dec 2002 12:23:15 - 1.11 @@ -1254,7 +1254,12 @@ if ($_-{PROXY}) { $ppkg = find_proxy($_,$bpkg) or die FATAL: proxy package ,vsn($_), does not exist\n; -$cmd1 = $RPM_NPRIV$opt --makeproxy -o $bpkg $ppkg; +# +# rpm doesn't support additional parameters to the +# mkproxy script +# $cmd1 = $RPM_NPRIV$opt --makeproxy $ppkg -- -o $bpkg; +# +$cmd1 = ( cd $c-{rpmdir} $RPM_NPRIV$opt --makeproxy $ppkg ); } elsif (defined $_-{platform}) { $cmd1 = $CURL -q -s -o $bpkg $spkg; } else { Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.7 -r1.8 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec3 Dec 2002 14:29:01 - 1.7 +++ openpkg-src/openpkg-tool/openpkg-tool.spec11 Dec 2002 12:23:15 - 1.8 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group:Bootstrapping License: GPL -Version: 20021203 -Release: 20021203 +Version: 20021211 +Release: 20021211 # list of sources Source0: openpkg.sh Index: openpkg-web/news.txt $ cvs diff -u -r1.2244 -r1.2245 news.txt --- openpkg-web/news.txt 11 Dec 2002 12:20:02 - 1.2244 +++ openpkg-web/news.txt 11 Dec 2002 12:23:14 - 1.2245 @@ -1,3 +1,4 @@ +11-Dec-2002: Upgraded package: Popenpkg-tool-20021211-20021211 11-Dec-2002: Upgraded package: Pmajordomo-1.94.5-20021211 11-Dec-2002: Upgraded package: Pcvs-1.11.2-20021211 11-Dec-2002: Upgraded package: Psendmail-8.12.6-20021211 __ The OpenPKG Projectwww.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]
[CVS] OpenPKG: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool....
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 Date: 29-Nov-2002 11:10:22 Branch: HEAD Handle: 2002112910102100 Modified files: openpkg-src/openpkg-tool openpkg-build.pl openpkg-tool.spec Log: allow for global options used by l_tool_locate macro parse empty Options: list from description Summary: RevisionChanges Path 1.9 +23 -17 openpkg-src/openpkg-tool/openpkg-build.pl 1.6 +2 -2 openpkg-src/openpkg-tool/openpkg-tool.spec Index: openpkg-src/openpkg-tool/openpkg-build.pl $ cvs diff -u -r1.8 -r1.9 openpkg-build.pl --- openpkg-src/openpkg-tool/openpkg-build.pl 27 Nov 2002 16:40:12 - 1.8 +++ openpkg-src/openpkg-tool/openpkg-build.pl 29 Nov 2002 10:10:21 - 1.9 @@ -226,7 +226,7 @@ sub get_config () { -my($c,@q); +my($c,@q,@g); $c = `$RPM_NPRIV --eval '%{_rpmdir} %{_rpmfilename} %{_target_os} %{_target_cpu} %{_target_platform} %{_prefix}'`; chomp($c); @@ -235,11 +235,16 @@ $q[1] =~ s/%{OS}/$q[2]/; $q[1] =~ s/%{ARCH}/$q[3]/; + +$c = `$RPM_NPRIV --showrc`; +@g = $c =~ /\%\{l_tool_locate\s+([^\s\}]+)/g; + return { rpmdir = $q[0], template = $q[1], platform = $q[4], -prefix = $q[5] +prefix = $q[5], +optreg = '(?:'.join('|', map { \Qwith_$_\E } @g).')' }; } @@ -335,16 +340,16 @@ sub parse_options ($) { my($l) = @_; -$l = [ split(/\n+/, $l) ] unless ref $l; -my(%with) = map { /--define\s*'(\S+)\s+(\S+?)'/ } @$l; -return unless %with; +$l = join(\n,@$l) if ref $l; +return unless $l =~ s/.*Options://; +my(%with) = $l =~ /--define\s*'(\S+)\s+(\S+?)'/g; return \%with; } -sub override_options ($$) { -my($old, $new) = @_; +sub override_options ($$$) { +my($old, $new, $reg) = @_; while (my ($k,$v) = each %$new) { -$old-{$k} = $v if exists $old-{$k}; +$old-{$k} = $v if exists $old-{$k} || $k =~ /^$reg$/; } } @@ -834,14 +839,14 @@ # # report options that are not used for # -sub warn_about_options ($$) { -my($target, $with) = @_; +sub warn_about_options ($$$) { +my($target, $with, $c) = @_; my($iwith) = $target-{OPTIONS}; my($k,$v); return unless defined $iwith; while (($k,$v) = each %$with) { -if (!exists $iwith-{$k}) { +if (!exists $iwith-{$k} $k !~ $c-{optreg}) { print # ATTENTION: $target-{name} ignores option '$k'\n; } } @@ -936,7 +941,8 @@ return; } # use options from installed base -override_options($target-{OPTIONS}, $t-{OPTIONS}); +override_options($target-{OPTIONS}, $t-{OPTIONS}, + $env-{config}-{optreg}); # remember this is a rebuild for a proxy package $target-{PROXY} = $t-{PROXY}; $target-{REBUILD} = 1; @@ -1080,7 +1086,7 @@ die FATAL: no known source found for '$name'\n unless $t; -warn_about_options($t, $env-{with}); +warn_about_options($t, $env-{with}, $env-{config}); push(@goals, $t); } return unless @goals; @@ -1134,8 +1140,8 @@ return (glob($prefix/RPM/PKG/$bpkg))[0]; } -sub make_defines ($$) { -my($old, $new) = @_; +sub make_defines ($$$) { +my($old, $new, $c) = @_; my($with); # @@ -1148,7 +1154,7 @@ # if ($old) { $old = { %$old }; -override_options($old, $new); +override_options($old, $new, $c-{optreg}); } else { $old = $new; } @@ -1189,7 +1195,7 @@ if ($uncond || !-f $bpkg || $_-{REBUILD} || !target_suitable(binary_target($_, $bpkg),$with)) { -$opt = make_defines($_-{OPTIONS}, $with); +$opt = make_defines($_-{OPTIONS}, $with, $c); # # proxy packages are rebuilt from their maste Index: openpkg-src/openpkg-tool/openpkg-tool.spec $ cvs diff -u -r1.5 -r1.6 openpkg-tool.spec --- openpkg-src/openpkg-tool/openpkg-tool.spec28 Nov 2002 08:32:24 - 1.5 +++ openpkg-src/openpkg-tool/openpkg-tool.spec29 Nov 2002 10:10:21 - 1.6 @@ -32,8 +32,8 @@ Distribution: OpenPKG [EVAL] Group: