From eb738f52750451fc1083f38f8c5cb77220e49d84 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 26 Oct 2014 16:57:33 +0000 Subject: generate list of license information for packages Many packages define already metadata about their license (PKG_LICENSE), but this is only included in the ipk files. This change allows to create the information also on the build-host, to get an overview on the used licenses. In the full list, also all packages without this info are shown Signed-off-by: Thomas Langer SVN-Revision: 43070 --- scripts/metadata.pl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'scripts/metadata.pl') diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 366e61cb63..f3d04dba2d 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -871,6 +871,28 @@ sub gen_package_feeds() { } } +sub gen_package_license($) { + my $level = shift; + parse_package_metadata($ARGV[0]) or exit 1; + foreach my $name (sort {uc($a) cmp uc($b)} keys %package) { + my $pkg = $package{$name}; + if ($pkg->{name}) { + if ($pkg->{license}) { + print "$pkg->{name}: "; + print "$pkg->{license}\n"; + if ($pkg->{licensefiles} && $level == 0) { + print "\tFiles: $pkg->{licensefiles}\n"; + } + } else { + if ($level == 1) { + print "$pkg->{name}: Missing license! "; + print "Please fix $pkg->{makefile}\n"; + } + } + } + } +} + sub parse_command() { my $cmd = shift @ARGV; for ($cmd) { @@ -880,6 +902,8 @@ sub parse_command() { /^kconfig/ and return gen_kconfig_overrides(); /^package_source$/ and return gen_package_source(); /^package_feeds$/ and return gen_package_feeds(); + /^package_license$/ and return gen_package_license(0); + /^package_licensefull$/ and return gen_package_license(1); } print <