summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Thill <nico@openwrt.org>2008-04-13 22:36:51 +0000
committerNicolas Thill <nico@openwrt.org>2008-04-13 22:36:51 +0000
commitc7b3dff10c273fc8f4b5f1fd5f801e6a0edf2be7 (patch)
treea4eb778a49c4240d4c96e72c5666e94e46389386
parent0dd8c59f1080d7e19a4fa721f350a8cdbdeea869 (diff)
downloadopenwrt-c7b3dff10c273fc8f4b5f1fd5f801e6a0edf2be7.tar.gz
openwrt-c7b3dff10c273fc8f4b5f1fd5f801e6a0edf2be7.tar.bz2
openwrt-c7b3dff10c273fc8f4b5f1fd5f801e6a0edf2be7.zip
install dependencies after installing package to avoid deep recursion and mass memory consuption
SVN-Revision: 10823
-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;
}