metadata: remove redundant fields from package hash
[openwrt/openwrt.git] / scripts / feeds
index 0a7e9317f8e2e519e9ef200c9f7ac8caad42caec..4595c824a4b7c4836fdb1b67472dc476101e3d45 100755 (executable)
@@ -373,10 +373,14 @@ sub list {
        return 0;
 }
 
+# TODO: do_install_package etc. should deal with source packages rather
+# than binary packages
 sub do_install_package($$) {
        my $feed = shift;
        my $pkg = shift;
-       my $path = $pkg->{makefile};
+
+       my $path;
+       $pkg->{src} and $path = $pkg->{src}{makefile};
 
        if($path) {
                $path =~ s/\/Makefile$//;
@@ -494,7 +498,7 @@ sub install_package {
                warn "WARNING: Package '$name' is not available in feed $feed->[1].\n";
                return 0;
        };
-       my $src = $pkg->{src};
+       my $src = $pkg->{src}{name};
        my $type = $feed->[0];
        $src or $src = $name;
 
@@ -663,7 +667,7 @@ sub uninstall {
                                warn "WARNING: $name not installed\n";
                                next;
                        };
-                       $pkg->{src} and $name = $pkg->{src};
+                       $pkg->{src} and $name = $pkg->{src}{name};
                        warn "Uninstalling package '$name'\n";
                        system("rm -f ./package/feeds/*/$name");
                        $uninstall = 1;