diff options
author | Nicolas Thill <nico@openwrt.org> | 2008-04-13 22:36:51 +0000 |
---|---|---|
committer | Nicolas Thill <nico@openwrt.org> | 2008-04-13 22:36:51 +0000 |
commit | c7b3dff10c273fc8f4b5f1fd5f801e6a0edf2be7 (patch) | |
tree | a4eb778a49c4240d4c96e72c5666e94e46389386 | |
parent | 0dd8c59f1080d7e19a4fa721f350a8cdbdeea869 (diff) | |
download | openwrt-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-x | scripts/feeds | 14 |
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; } |