From: Matthias Schiffer Date: Sat, 6 Jan 2018 18:28:52 +0000 (+0100) Subject: metadata: replace %subdir hash with a path field in source packages X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f0c702f124090470ec2b1140c576033e4e50fa1b;p=openwrt%2Fstaging%2Fdedeckeh.git metadata: replace %subdir hash with a path field in source packages Every single reference to subdir was concatenated with the source package name, so it makes sense to store the concatenated value instead. Signed-off-by: Matthias Schiffer --- diff --git a/scripts/metadata.pm b/scripts/metadata.pm index 642bbcee77..f3c84e80c3 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -2,13 +2,12 @@ package metadata; use base 'Exporter'; use strict; use warnings; -our @EXPORT = qw(%package %srcpackage %category %subdir %preconfig %features %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline @ignore %usernames %groupnames); +our @EXPORT = qw(%package %srcpackage %category %preconfig %features %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline @ignore %usernames %groupnames); our %package; our %preconfig; our %srcpackage; our %category; -our %subdir; our %features; our %overrides; our @ignore; @@ -178,7 +177,6 @@ sub parse_target_metadata($) { } sub clear_packages() { - %subdir = (); %preconfig = (); %package = (); %srcpackage = (); @@ -204,12 +202,10 @@ sub parse_package_metadata($) { }; while () { chomp; - /^Source-Makefile: \s*((?:package\/)?((?:.+\/)?)([^\/]+)\/Makefile)\s*$/ and do { - $subdir{$3} = $2; - + /^Source-Makefile: \s*((?:package\/)?((?:.+\/)?([^\/]+))\/Makefile)\s*$/ and do { $src = { makefile => $1, - subdir => $2, + path => $2, name => $3, ignore => $ignore{$3}, packages => [], @@ -235,7 +231,6 @@ sub parse_package_metadata($) { $pkg->{title} = ""; $pkg->{depends} = []; $pkg->{mdepends} = []; - $pkg->{subdir} = $src->{subdir}; $pkg->{tristate} = 1; $pkg->{override} = $override; $package{$1} = $pkg; @@ -278,7 +273,6 @@ sub parse_package_metadata($) { name => $vpkg, vdepends => [], src => $src, - subdir => $src->{subdir}, makefile => $src->{makefile}, }; push @{$package{$vpkg}->{vdepends}}, $pkg->{name}; diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index 12cd6fe344..dab960e677 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -419,7 +419,6 @@ sub gen_package_mk() { parse_package_metadata($ARGV[0]) or exit 1; foreach my $srcname (sort {uc($a) cmp uc($b)} keys %srcpackage) { my $src = $srcpackage{$srcname}; - my $path = $subdir{$srcname}.$srcname; my $variant_default; my @srcdeps; @@ -429,30 +428,30 @@ sub gen_package_mk() { my $config = ''; $config = "\$(CONFIG_PACKAGE_$pkg->{name})" unless $pkg->{buildonly}; - $pkg->{prereq} and print "prereq-$config += $path\n"; + $pkg->{prereq} and print "prereq-$config += $src->{path}\n"; next if $pkg->{buildonly}; - print "package-$config += $path\n"; + print "package-$config += $src->{path}\n"; if ($pkg->{variant}) { if (!defined($variant_default) or $pkg->{variant_default}) { $variant_default = $pkg->{variant}; } - print "\$(curdir)/$path/variants += \$(if $config,$pkg->{variant})\n"; + print "\$(curdir)/$src->{path}/variants += \$(if $config,$pkg->{variant})\n"; } } if (defined($variant_default)) { - print "\$(curdir)/$path/default-variant := $variant_default\n"; + print "\$(curdir)/$src->{path}/default-variant := $variant_default\n"; } unless (grep {!$_->{buildonly}} @{$src->{packages}}) { - print "package- += $path\n"; + print "package- += $src->{path}\n"; } if (@{$src->{buildtypes}} > 0) { - print "buildtypes-$path = ".join(' ', @{$src->{buildtypes}})."\n"; + print "buildtypes-$src->{path} = ".join(' ', @{$src->{buildtypes}})."\n"; } foreach my $dep (@{$src->{builddepends}}, map { @{$_->{depends}} } @{$src->{packages}}) { @@ -489,9 +488,9 @@ sub gen_package_mk() { $src->{makefile}, $type, $pkg_dep->{src}{name}, $deptype, $pkg_dep->{makefile}, $deptype; next; } - $idx = $pkg_dep->{subdir}.$pkg_dep->{src}{name}; + $idx = $pkg_dep->{src}{path}; } elsif (defined($srcpackage{$dep})) { - $idx = $subdir{$dep}.$dep; + $idx = $srcpackage{$dep}{path}; } else { next; } @@ -503,7 +502,7 @@ sub gen_package_mk() { } my $depline = join(" ", sort keys %deplines); if ($depline) { - $line .= "\$(curdir)/$path/$type/compile += $depline\n"; + $line .= "\$(curdir)/$src->{path}/$type/compile += $depline\n"; } } @@ -543,9 +542,9 @@ sub gen_package_mk() { $src->{makefile}, $pkg_dep->{src}{name}, $deptype, $pkg_dep->{makefile}, $deptype; next; } - $idx = $pkg_dep->{subdir}.$pkg_dep->{src}{name}; + $idx = $pkg_dep->{src}{path}; } elsif (defined($srcpackage{$dep})) { - $idx = $subdir{$dep}.$dep; + $idx = $srcpackage{$dep}{path}; } if ($idx) { @@ -573,7 +572,7 @@ sub gen_package_mk() { } my $depline = join(" ", sort keys %deplines); if ($depline) { - $line .= "\$(curdir)/$path/compile += $depline\n"; + $line .= "\$(curdir)/$src->{path}/compile += $depline\n"; } }