[CVS] OpenPKG: openpkg-src/openpkg-tool/ openpkg-build.pl openpkg-tool...

2003-08-26 Thread Michael van Elst
  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...

2003-08-02 Thread Michael van Elst
  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...

2003-07-21 Thread Michael van Elst
  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...

2003-07-19 Thread Michael van Elst
  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...

2003-07-18 Thread Michael van Elst
  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...

2003-07-10 Thread Michael van Elst
  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...

2003-07-02 Thread Michael van Elst
  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...

2003-06-30 Thread Michael van Elst
  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...

2003-06-25 Thread Michael van Elst
  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...

2003-06-24 Thread Michael van Elst
  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...

2003-06-20 Thread Michael van Elst
  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...

2003-06-13 Thread Michael van Elst
  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...

2003-05-28 Thread Michael van Elst
  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...

2003-04-03 Thread Michael van Elst
  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...

2003-03-29 Thread Michael van Elst
  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...

2003-03-21 Thread Michael van Elst
  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...

2003-03-20 Thread Michael van Elst
  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...

2003-03-19 Thread Michael van Elst
  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...

2003-03-04 Thread Ralf S. Engelschall
  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...

2003-03-03 Thread Michael van Elst
  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...

2003-02-20 Thread Michael van Elst
  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...

2003-02-15 Thread Michael van Elst
  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...

2003-02-04 Thread Michael van Elst
  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...

2003-02-03 Thread Michael van Elst
  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...

2003-02-03 Thread Ralf S. Engelschall
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...

2003-01-24 Thread Michael van Elst
  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...

2003-01-16 Thread Michael van Elst
  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...

2003-01-15 Thread Michael van Elst
  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...

2003-01-15 Thread Michael van Elst
  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...

2003-01-10 Thread Michael van Elst
  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...

2003-01-03 Thread Michael van Elst
  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...

2003-01-02 Thread Michael van Elst
  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...

2002-12-30 Thread Ralf S. Engelschall
  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...

2002-12-30 Thread Michael van Elst
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...

2002-12-30 Thread Ralf S. Engelschall
[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...

2002-12-30 Thread Ralf S. Engelschall
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...

2002-12-30 Thread Michael van Elst
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...

2002-12-30 Thread Ralf S. Engelschall
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....

2002-12-20 Thread Michael van Elst
  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....

2002-12-11 Thread Michael van Elst
  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....

2002-11-29 Thread Michael van Elst
  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: