Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:adrianSuSE
build
createyastdeps
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File createyastdeps of Package build
#!/usr/bin/perl -w ################################################################ # # Copyright (c) 1995-2014 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 ':rpm'; use Build::Susetags; use Build::Options; my $cachedir = "/var/cache/build"; my $options = { 'cachedir' => ':', 'zypp' => ':', }; my ($opts, @args) = Build::Options::parse_options($options, @ARGV); $cachedir = $opts->{'cachedir'} if $opts->{'cachedir'}; for my $url (@args) { # XXX: use descrdir/datadir from content file my $descrdir = 'suse/setup/descr'; my $datadir = 'suse'; my $dir; my $baseurl = $url; if ($opts->{'zypp'}) { $dir = $opts->{'zypp'}; } elsif ($url =~ /^(?:ftps?|https?):\/\/([^\/]*)\/?/) { my $repoid = Digest::MD5::md5_hex($url); $dir = "$cachedir/$repoid/"; $baseurl .= '/' unless $baseurl =~ /\/$/; File::Path::mkpath($dir); system("$INC[0]/download", "$dir/", "${baseurl}$descrdir/packages.gz"); $descrdir = '.'; } else { $dir = $url; } $dir .= '/' unless $dir =~ /\/$/; $baseurl .= '/' unless $baseurl =~ /\/$/; my $packages = "$dir$descrdir/packages"; $packages = "$packages.gz" if ! -e $packages && -e "$packages.gz"; Build::Susetags::parse($packages, sub { my $xurl = $baseurl; # multi cd support hack $xurl =~ s/1\/$/$_[0]->{'medium'}/ if $_[0]->{'medium'}; $xurl .= "$datadir/" if $datadir; Build::writedeps(\*STDOUT, $_[0], $xurl); }, '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