Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:adrianSuSE
build
createdebdeps
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File createdebdeps of Package build
#!/usr/bin/perl -w ################################################################ # # Copyright (c) 1995-2016 SUSE Linux Products GmbH # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or 3 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program (see the file COPYING); if not, write to the # Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # ################################################################ BEGIN { unshift @INC, ($::ENV{"BUILD_DIR"} || "/usr/lib/build"); } use strict; use Digest::MD5 (); use File::Path (); use Build ':deb'; use Build::Options; use Build::Deb; use Build::Debrepo; use Build::Download; my $cachedir = "/var/cache/build"; my $options = { 'cachedir' => ':', 'archpath' => ':', }; # # supported urls # # distribution: <baseurl>/<dist>/[components] # flat repo: <baseurl>/. my ($opts, @args) = Build::Options::parse_options($options, @ARGV); $cachedir = $opts->{'cachedir'} if $opts->{'cachedir'}; my $archpath = $opts->{'archpath'}; if (!$archpath) { $archpath = `uname -p` || 'unknown'; chomp $archpath; } my $basearch = $archpath; $basearch =~ s/:.*//; $basearch = Build::Deb::basearch($basearch); my $pkgnum = 0; my $ua = Build::Download::create_ua(); for my $url (@args) { die("$url: not an remote debian repo\n") unless $url =~ /^(:?ftps?|https?):\/\/([^\/]*)\/?/; my $repoid = Digest::MD5::md5_hex($url); my $dir = "$cachedir/$repoid"; my ($baseurl, $disturl, $components) = Build::Debrepo::parserepourl($url); File::Path::mkpath($dir); for my $component (@$components) { unlink("$dir/Packages.gz"); if ($component eq '.') { Build::Download::download("${disturl}Packages.gz", "$dir/.Packages.gz.$$", "$dir/Packages.gz", 'ua' => $ua, 'retry' => 3); die("Packages.gz missing\n") unless -s "$dir/Packages.gz"; } else { Build::Download::download("$disturl$component/binary-$basearch/Packages.gz", "$dir/.Packages.gz.$$", "$dir/Packages.gz", 'ua' => $ua, 'retry' => 3); die("Packages.gz missing for basearch $basearch, component $component\n") unless -s "$dir/Packages.gz"; } Build::Debrepo::parse("$dir/Packages.gz", sub { $pkgnum++; $_[0]->{'id'} = "$pkgnum/0/0"; Build::writedeps(\*STDOUT, $_[0], $baseurl); }, 'addselfprovides' => 1); } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor