diff options
author | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-04-13 22:36:51 +0000 |
---|---|---|
committer | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-04-13 22:36:51 +0000 |
commit | 3f3f04ffd27182f5f93672083bea75b564e2cb42 (patch) | |
tree | 8951a811b0079a99c455bcda1a566e5856bee74f | |
parent | e74c1c3499c32380181548acc9dc950b2af05e4c (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-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; } |