summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-04-13 22:36:51 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-04-13 22:36:51 +0000
commit3f3f04ffd27182f5f93672083bea75b564e2cb42 (patch)
tree8951a811b0079a99c455bcda1a566e5856bee74f
parente74c1c3499c32380181548acc9dc950b2af05e4c (diff)
install dependencies after installing package to avoid deep recursion and mass memory consuption
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10823 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xscripts/feeds14
1 files changed, 7 insertions, 7 deletions
diff --git a/scripts/feeds b/scripts/feeds
index 2b50d5c1a5..78e65ad1d5 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -264,13 +264,6 @@ sub install_package {
# newly installed packages set the source package
$installed{$src} and return 0;
- # install all dependencies
- foreach my $dep (@{$pkg->{depends}}, @{$pkg->{builddepends}}) {
- next if $dep =~ /@/;
- $dep =~ s/^\+//;
- install_package($feed, $dep) == 0 or $ret = 1;
- }
-
# check previously installed packages
$installed{$name} and return 0;
$installed{$src} = 1;
@@ -286,6 +279,13 @@ sub install_package {
return 1;
};
+ # install all dependencies
+ foreach my $dep (@{$pkg->{depends}}, @{$pkg->{builddepends}}) {
+ next if $dep =~ /@/;
+ $dep =~ s/^\+//;
+ install_package($feed, $dep) == 0 or $ret = 1;
+ }
+
return $ret;
}