projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[package] base-files: introduce "igmp_snooping" option to toggle IGMP snooping on...
[openwrt.git]
/
scripts
/
feeds
diff --git
a/scripts/feeds
b/scripts/feeds
index
f2ffc3e
..
6121a62
100755
(executable)
--- a/
scripts/feeds
+++ b/
scripts/feeds
@@
-114,8
+114,13
@@
my %update_method = (
'update' => ""},
'src-git' => {
'init' => "git clone --depth 1 '%s' '%s'",
'update' => ""},
'src-git' => {
'init' => "git clone --depth 1 '%s' '%s'",
+ 'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'",
'update' => "git pull",
'controldir' => ".git"},
'update' => "git pull",
'controldir' => ".git"},
+ 'src-gitsvn' => {
+ 'init' => "git svn clone -r HEAD '%s' '%s'",
+ 'update' => "git svn rebase",
+ 'controldir' => ".git"},
'src-bzr' => {
'init' => "bzr checkout --lightweight '%s' '%s'",
'update' => "bzr update",
'src-bzr' => {
'init' => "bzr checkout --lightweight '%s' '%s'",
'update' => "bzr update",
@@
-123,7
+128,11
@@
my %update_method = (
'src-hg' => {
'init' => "hg clone '%s' '%s'",
'update' => "hg pull --update",
'src-hg' => {
'init' => "hg clone '%s' '%s'",
'update' => "hg pull --update",
- 'controldir' => ".hg"}
+ 'controldir' => ".hg"},
+ 'src-darcs' => {
+ 'init' => "darcs get '%s' '%s'",
+ 'update' => "darcs pull -a",
+ 'controldir' => "_darcs"},
);
# src-git: pull broken
);
# src-git: pull broken
@@
-139,10
+148,15
@@
sub update_feed_via($$$$) {
my $localpath = "./feeds/$name";
my $safepath = $localpath;
$safepath =~ s/'/'\\''/;
my $localpath = "./feeds/$name";
my $safepath = $localpath;
$safepath =~ s/'/'\\''/;
+ my ($base, $branch) = split(/;/, $src, 2);
if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) {
system("rm -rf '$safepath'");
if( $relocate || !$m->{'update'} || !-d "$localpath/$m->{'controldir'}" ) {
system("rm -rf '$safepath'");
- system(sprintf($m->{'init'}, $src, $safepath)) == 0 or return 1;
+ if ($m->{'init_branch'} and $branch) {
+ system(sprintf($m->{'init_branch'}, $branch, $base, $safepath)) == 0 or return 1;
+ } else {
+ system(sprintf($m->{'init'}, $src, $safepath)) == 0 or return 1;
+ }
} else {
system("cd '$safepath'; $m->{'update'}") == 0 or return 1;
}
} else {
system("cd '$safepath'; $m->{'update'}") == 0 or return 1;
}
@@
-221,7
+235,7
@@
sub list_feed {
my $feed = shift;
get_feed($feed);
my $feed = shift;
get_feed($feed);
- foreach my $name (sort { lc($a) cmp lc($b) } keys %package) {
+ foreach my $name (sort { lc($a) cmp lc($b) } keys %
$feed_
package) {
my $pkg = $feed_package->{$name};
next if $pkg->{vdepends};
if($pkg->{name}) {
my $pkg = $feed_package->{$name};
next if $pkg->{vdepends};
if($pkg->{name}) {
@@
-276,8
+290,10
@@
my %install_method = (
'src-cpy' => \&install_generic,
'src-link' => \&install_generic,
'src-git' => \&install_generic,
'src-cpy' => \&install_generic,
'src-link' => \&install_generic,
'src-git' => \&install_generic,
+ 'src-gitsvn' => \&install_generic,
'src-bzr' => \&install_generic,
'src-hg' => \&install_generic,
'src-bzr' => \&install_generic,
'src-hg' => \&install_generic,
+ 'src-darcs' => \&install_generic,
);
my %feed;
);
my %feed;
@@
-307,6
+323,9
@@
sub install_package {
return 0;
};
return 0;
};
+ # switch to the metadata for the selected feed
+ get_feed($feed->[1]);
+
my $pkg = $feed{$feed->[1]}->{$name} or return 1;
$pkg->{name} or do {
$installed{$name} and return 0;
my $pkg = $feed{$feed->[1]}->{$name} or return 1;
$pkg->{name} or do {
$installed{$name} and return 0;
@@
-337,8
+356,8
@@
sub install_package {
return 1;
};
return 1;
};
- # install all dependencies
- foreach my $vpkg (@{$feed_src->{$src}}
, $pkg
) {
+ # install all dependencies
referenced from the source package
+ foreach my $vpkg (@{$feed_src->{$src}}) {
foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}, @{$vpkg->{"builddepends/host"}}) {
next if $dep =~ /@/;
$dep =~ s/^\+//;
foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}, @{$vpkg->{"builddepends/host"}}) {
next if $dep =~ /@/;
$dep =~ s/^\+//;
@@
-394,11
+413,12
@@
sub install {
if (!defined($opts{p}) or $opts{p} eq $f->[1]) {
printf "Installing all packages from feed %s.\n", $f->[1];
get_feed($f->[1]);
if (!defined($opts{p}) or $opts{p} eq $f->[1]) {
printf "Installing all packages from feed %s.\n", $f->[1];
get_feed($f->[1]);
- foreach my $name (sort { lc($a) cmp lc($b) } keys %package) {
+ foreach my $name (sort { lc($a) cmp lc($b) } keys %
$feed_
package) {
my $p = $feed_package->{$name};
next if $p->{vdepends};
if( $p->{name} ) {
install_package($feed, $p->{name}) == 0 or $ret = 1;
my $p = $feed_package->{$name};
next if $p->{vdepends};
if( $p->{name} ) {
install_package($feed, $p->{name}) == 0 or $ret = 1;
+ get_feed($f->[1]);
}
}
}
}
}
}
@@
-565,7
+585,7
@@
Commands:
update -a|<feedname(s)>: Update packages and lists of feeds in feeds.conf .
Options:
update -a|<feedname(s)>: Update packages and lists of feeds in feeds.conf .
Options:
- -a : Update all feeds listed within feeds.conf. Otherwise the spe
z
ified feeds will be updated.
+ -a : Update all feeds listed within feeds.conf. Otherwise the spe
c
ified feeds will be updated.
-i : Recreate the index only. No feed update from repository is performed.
clean: Remove downloaded/generated files.
-i : Recreate the index only. No feed update from repository is performed.
clean: Remove downloaded/generated files.
This page took
0.025427 seconds
and
4
git commands to generate.