From: Zhang Qiang Date: Mon, 27 Aug 2012 02:58:34 +0000 (+0800) Subject: add --repository option X-Git-Tag: 0.1~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=96e174cc34d2aef7617245a4ad5d3f415b53c3d0;p=tools%2Fdepanneur.git add --repository option If --repository specified, repos in conf would be skipped. Change-Id: I527ebdc870d1c87397e581581d944f92ca65025a --- diff --git a/depanneur b/depanneur index c3b71dc..af30c40 100755 --- a/depanneur +++ b/depanneur @@ -59,6 +59,7 @@ use File::Basename; my @threads; my @exclude = (); +my @repos= (); my $arch = "i586"; my $path = ""; my $style = "git"; @@ -105,6 +106,7 @@ my %workers = (); GetOptions ( + "repository=s" => \@repos, "arch=s" => \$arch, "dist=s" => \$dist, "clean" => \$clean, @@ -186,19 +188,29 @@ Available options: } -my $Config = LoadFile($config_filename); -if (!$Config) { - print "Error while parsing $config_filename"; - exit(1); -} my @package_repos = (); -foreach my $r (@{$Config->{Repositories}}) { - my $uri = URI->new($r->{Url}); - if ( $r->{Password} && $r->{Username} ) { - $uri->userinfo($r->{Username} . ":" . $r->{Password}); +my $Config; +if (-e $config_filename) { + $Config = LoadFile($config_filename); + if (!$Config) { + print "Error while parsing $config_filename"; + exit(1); } - if ($uri->scheme ne "file") { - push(@package_repos, $uri); +} + +if (@repos) { + @package_repos = @repos; +} else { + if ($Config){ + foreach my $r (@{$Config->{Repositories}}) { + my $uri = URI->new($r->{Url}); + if ( $r->{Password} && $r->{Username} ) { + $uri->userinfo($r->{Username} . ":" . $r->{Password}); + } + if ($uri->scheme ne "file") { + push(@package_repos, $uri); + } + } } }