add alternative board id for the ZyXEL P-334WT
[openwrt/openwrt.git] / scripts / feeds
index afb8fff298f83059ed8e89fd06c4900c5da75a4f..b5abfc8cea768cb057ca77498499e389a0936fd6 100755 (executable)
@@ -245,7 +245,7 @@ sub install_package {
        $feed or do {
                $installed{$name} and return 0;
                # TODO: check if it's already installed within ./package directory
-               warn "WARNING: No feed for package '$name' found, maybe it's already part of the standard packages?\n";
+               $srcpackage{$name} or -d "./package/$name" or warn "WARNING: No feed for package '$name' found, maybe it's already part of the standard packages?\n";
                return 0;
        };
 
@@ -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}}) {
-               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,15 @@ sub install_package {
                return 1;
        };
 
+       # install all dependencies
+       foreach my $vpkg (@{$srcpackage{$src}}) {
+               foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}) {
+                       next if $dep =~ /@/;
+                       $dep =~ s/^\+//;
+                       install_package($feed, $dep) == 0 or $ret = 1;
+               }
+       }
+
        return $ret;
 }