From: Matthias Schiffer Date: Sat, 6 Jan 2018 18:44:52 +0000 (+0100) Subject: metadata: remove redundant fields from package hash X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fluka.git;a=commitdiff_plain;h=423ec18116f333bd51ff5264b0b5c9edc02945c6 metadata: remove redundant fields from package hash Signed-off-by: Matthias Schiffer --- diff --git a/scripts/feeds b/scripts/feeds index 4ac6685b4d..4595c824a4 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -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$//; diff --git a/scripts/metadata.pm b/scripts/metadata.pm index f3c84e80c3..c0c967c01c 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -224,9 +224,7 @@ sub parse_package_metadata($) { /^Package:\s*(.+?)\s*$/ and do { undef $feature; $pkg = {}; - $pkg->{ignore} = $src->{ignore}; $pkg->{src} = $src; - $pkg->{makefile} = $src->{makefile}; $pkg->{name} = $1; $pkg->{title} = ""; $pkg->{depends} = []; @@ -273,7 +271,6 @@ sub parse_package_metadata($) { name => $vpkg, vdepends => [], src => $src, - makefile => $src->{makefile}, }; push @{$package{$vpkg}->{vdepends}}, $pkg->{name}; } diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index dab960e677..7bffb2374c 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -290,7 +290,7 @@ sub print_package_config_category($) { print "menu \"$menu\"\n"; } foreach my $pkg (@pkgs) { - next if $pkg->{ignore}; + next if $pkg->{src}{ignore}; my $title = $pkg->{name}; my $c = (72 - length($pkg->{name}) - length($pkg->{title})); if ($c > 0) { @@ -485,7 +485,7 @@ sub gen_package_mk() { if (defined($pkg_dep) && defined($pkg_dep->{src})) { unless (!$deptype || grep { $_ eq $deptype } @{$pkg_dep->{src}{buildtypes}}) { warn sprintf "WARNING: Makefile '%s' has a %s build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n", - $src->{makefile}, $type, $pkg_dep->{src}{name}, $deptype, $pkg_dep->{makefile}, $deptype; + $src->{makefile}, $type, $pkg_dep->{src}{name}, $deptype, $pkg_dep->{src}{makefile}, $deptype; next; } $idx = $pkg_dep->{src}{path}; @@ -539,7 +539,7 @@ sub gen_package_mk() { if (defined $pkg_dep->{src}) { unless (!$deptype || grep { $_ eq $deptype } @{$pkg_dep->{src}{buildtypes}}) { warn sprintf "WARNING: Makefile '%s' has a build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n", - $src->{makefile}, $pkg_dep->{src}{name}, $deptype, $pkg_dep->{makefile}, $deptype; + $src->{makefile}, $pkg_dep->{src}{name}, $deptype, $pkg_dep->{src}{makefile}, $deptype; next; } $idx = $pkg_dep->{src}{path}; @@ -640,7 +640,7 @@ sub gen_package_license($) { } else { if ($level == 1) { print "$pkg->{name}: Missing license! "; - print "Please fix $pkg->{makefile}\n"; + print "Please fix $pkg->{src}{makefile}\n"; } } }