summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-05-29 18:17:07 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-05-29 18:17:07 +0000
commitcca2ffed0504ae30e52b9b37f271e52744ac8d30 (patch)
tree8a466ad86bf63802603c0d10b5240a561630994c
parentbd7d209f972f084364cfac5cd35025107c912bfb (diff)
feeds: fix check for core packages that are not in the package/ toplevel directory
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36763 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xscripts/feeds11
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/feeds b/scripts/feeds
index b1bdee597e..383a0d80d9 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -333,6 +333,15 @@ sub lookup_package($$) {
return;
}
+sub is_core_package($) {
+ my $package = shift;
+ foreach my $file ("tmp/info/.packageinfo-$package", glob("tmp/info/.packageinfo-*_$package")) {
+ next unless index($file, "tmp/info/.packageinfo-feeds_");
+ return 1 if -s $file;
+ }
+ return 0;
+}
+
sub install_package {
my $feed = shift;
my $name = shift;
@@ -342,7 +351,7 @@ sub install_package {
$feed or do {
$installed{$name} and return 0;
# TODO: check if it's already installed within ./package directory
- $feed_src->{$name} or -d "./package/$name" or warn "WARNING: No feed for package '$name' found, maybe it's already part of the standard packages?\n";
+ $feed_src->{$name} or is_core_package($name) or warn "WARNING: No feed for package '$name' found, maybe it's already part of the standard packages?\n";
return 0;
};