feeds: fix check for core packages that are not in the package/ toplevel directory
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 29 May 2013 18:17:07 +0000 (18:17 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 29 May 2013 18:17:07 +0000 (18:17 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36763 3c298f89-4303-0410-b956-a3cf2f4a3e73

scripts/feeds

index b1bdee5..383a0d8 100755 (executable)
@@ -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;
        };