OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Michael van Elst
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-re                       Date:   14-Nov-2002 14:19:00
  Branch: HEAD                             Handle: 2002111413190000

  Modified files:
    openpkg-re              openpkg-build

  Log:
    use openpkg curl if LWP module not found

  Summary:
    Revision    Changes     Path
    1.23        +31 -13     openpkg-re/openpkg-build
  ____________________________________________________________________________

  Index: openpkg-re/openpkg-build
  ============================================================
  $ cvs diff -u -r1.22 -r1.23 openpkg-build
  --- openpkg-re/openpkg-build  14 Nov 2002 11:47:41 -0000      1.22
  +++ openpkg-re/openpkg-build  14 Nov 2002 13:19:00 -0000      1.23
  @@ -312,32 +312,50 @@
   sub get_index ($$$) {
       my($url,$fn,$with) = @_;
       my($ua,$req,$res,$rdf);
  -    my($pid);
  +    my($pid,$curl);
       my(%map);
   
       $url = $fn if defined $fn;
       $url .= '00INDEX.rdf.bz2' if $url =~ /\/$/;
   
       if ($url =~ /^\w+:/) { # looks like URL scheme
  -        print "# fetching index $url\n";
   
           eval {
               require LWP;
           };
           if ($@) {
  -            die "FATAL: LWP is not installed, please fetch index manually\n";
  -        }
  +            
  +            print "# curling index $url\n";
   
  -        $ua  = new LWP::UserAgent;
  -        $req = new HTTP::Request GET => $url;
  -        $res = $ua->request($req);
  -
  -        die "FATAL: cannot read build index\n" unless $res->is_success;
  -
  -        if ($url =~ /\.bz2$/) {
  -            $pid = spawn($res->content,'bzip2','-dc');
  +            $curl = $RPM;
  +            $curl =~ s/bin\/rpm$/lib\/openpkg\/curl/
  +                or die "FATAL: cannot deduce curl path from $RPM\n";
  +            -f $curl
  +                or die "FATAL: $curl not found\n";
  +
  +            if ($url =~ /\.bz2$/) {
  +                open(FH, "$curl -q -s -o - \"$url\" |")
  +                    or die "FATAL: cannot curl '$url' ($!)\n";
  +                $pid = spawn(\*FH,'bzip2','-dc');
  +                close(FH);
  +            } else {
  +                open(RFH, "$curl -q -s -o - \"$url\" |")
  +                    or die "FATAL: cannot curl '$url' ($!)\n";
  +            }
           } else {
  -            $pid = cat($res->content,'cat');
  +            print "# fetching index $url\n";
  +
  +            $ua  = new LWP::UserAgent;
  +            $req = new HTTP::Request GET => $url;
  +            $res = $ua->request($req);
  +
  +            die "FATAL: cannot read build index\n" unless $res->is_success;
  +
  +            if ($url =~ /\.bz2$/) {
  +                $pid = spawn($res->content,'bzip2','-dc');
  +            } else {
  +                $pid = cat($res->content,'cat');
  +            }
           }
       } else {
           print "# reading index file $fn\n";
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to