mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-22 14:43:30 +00:00
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
@ -45,7 +45,9 @@ Title: $(TITLE)
|
||||
Maintainer: $(MAINTAINER)
|
||||
$(if $(USERID),Require-User: $(USERID)
|
||||
)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 $(BUILDONLY),Build-Only: $(BUILDONLY)
|
||||
)$(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() {
|
||||
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 <<EOF
|
||||
Available Commands:
|
||||
@ -889,6 +913,8 @@ Available Commands:
|
||||
$0 kconfig [file] [config] Kernel config overrides
|
||||
$0 package_source [file] Package source file information
|
||||
$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
|
||||
}
|
||||
|
@ -97,6 +97,8 @@ sub parse_package_metadata($) {
|
||||
/^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1;
|
||||
/^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $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;
|
||||
/^Provides: \s*(.+)\s*$/ and do {
|
||||
my @vpkg = split /\s+/, $1;
|
||||
|
Loading…
Reference in New Issue
Block a user