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 <thomas.langer@lantiq.com> SVN-Revision: 43070
This commit is contained in:
parent
f9a06347df
commit
eb738f5275
3 changed files with 31 additions and 1 deletions
|
@ -45,7 +45,9 @@ Title: $(TITLE)
|
||||||
Maintainer: $(MAINTAINER)
|
Maintainer: $(MAINTAINER)
|
||||||
$(if $(USERID),Require-User: $(USERID)
|
$(if $(USERID),Require-User: $(USERID)
|
||||||
)Source: $(PKG_SOURCE)
|
)Source: $(PKG_SOURCE)
|
||||||
Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))
|
$(if $(PKG_LICENSE),License: $(PKG_LICENSE)
|
||||||
|
)$(if $(PKG_LICENSE_FILES),LicenseFiles: $(PKG_LICENSE_FILES)
|
||||||
|
)Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))
|
||||||
$(if $(KCONFIG),Kernel-Config: $(KCONFIG)
|
$(if $(KCONFIG),Kernel-Config: $(KCONFIG)
|
||||||
)$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
|
)$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
|
||||||
)$(if $(HIDDEN),Hidden: $(HIDDEN)
|
)$(if $(HIDDEN),Hidden: $(HIDDEN)
|
||||||
|
|
|
@ -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() {
|
sub parse_command() {
|
||||||
my $cmd = shift @ARGV;
|
my $cmd = shift @ARGV;
|
||||||
for ($cmd) {
|
for ($cmd) {
|
||||||
|
@ -880,6 +902,8 @@ sub parse_command() {
|
||||||
/^kconfig/ and return gen_kconfig_overrides();
|
/^kconfig/ and return gen_kconfig_overrides();
|
||||||
/^package_source$/ and return gen_package_source();
|
/^package_source$/ and return gen_package_source();
|
||||||
/^package_feeds$/ and return gen_package_feeds();
|
/^package_feeds$/ and return gen_package_feeds();
|
||||||
|
/^package_license$/ and return gen_package_license(0);
|
||||||
|
/^package_licensefull$/ and return gen_package_license(1);
|
||||||
}
|
}
|
||||||
print <<EOF
|
print <<EOF
|
||||||
Available Commands:
|
Available Commands:
|
||||||
|
@ -889,6 +913,8 @@ Available Commands:
|
||||||
$0 kconfig [file] [config] Kernel config overrides
|
$0 kconfig [file] [config] Kernel config overrides
|
||||||
$0 package_source [file] Package source file information
|
$0 package_source [file] Package source file information
|
||||||
$0 package_feeds [file] Package feed information in makefile format
|
$0 package_feeds [file] Package feed information in makefile format
|
||||||
|
$0 package_license [file] Package license information
|
||||||
|
$0 package_licensefull [file] Package license information (full list)
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,8 @@ sub parse_package_metadata($) {
|
||||||
/^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1;
|
/^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1;
|
||||||
/^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $1;
|
/^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $1;
|
||||||
/^Source: \s*(.+)\s*$/ and $pkg->{source} = $1;
|
/^Source: \s*(.+)\s*$/ and $pkg->{source} = $1;
|
||||||
|
/^License: \s*(.+)\s*$/ and $pkg->{license} = $1;
|
||||||
|
/^LicenseFiles: \s*(.+)\s*$/ and $pkg->{licensefiles} = $1;
|
||||||
/^Default: \s*(.+)\s*$/ and $pkg->{default} = $1;
|
/^Default: \s*(.+)\s*$/ and $pkg->{default} = $1;
|
||||||
/^Provides: \s*(.+)\s*$/ and do {
|
/^Provides: \s*(.+)\s*$/ and do {
|
||||||
my @vpkg = split /\s+/, $1;
|
my @vpkg = split /\s+/, $1;
|
||||||
|
|
Loading…
Reference in a new issue