diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk index 6f1624aeb133837d83fb74e8d736fd01da4a9264..f5f1200ba2c1b1e4ad9f0d2ba977d71d2f93c41f 100644 --- a/include/package-dumpinfo.mk +++ b/include/package-dumpinfo.mk @@ -28,6 +28,7 @@ ifneq ($(DUMP),) echo "Category: $(CATEGORY)"; \ echo "Title: $(TITLE)"; \ echo "Maintainer: $(MAINTAINER)"; \ + echo "Source: $(PKG_SOURCE)"; \ echo "Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))"; \ $(if $(KCONFIG),echo "Kernel-Config: $(KCONFIG)";) \ $(if $(BUILDONLY),echo "Build-Only: $(BUILDONLY)";) \ diff --git a/scripts/metadata.pl b/scripts/metadata.pl index fa30556205d260034bd12f7570acf877e4d88b10..7496f33a7d6723e1ca3080a7ec7ec7c3fd426f1f 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -201,12 +201,20 @@ sub print_target($) { } my $v = kver($target->{version}); + if (@{$target->{subtargets}} == 0) { $confstr = <<EOF; config TARGET_$target->{conf} bool "$target->{name}" select LINUX_$kernel select LINUX_$v EOF + } + else { + $confstr = <<EOF; +config TARGET_$target->{conf} + bool "$target->{name}" +EOF + } if ($target->{subtarget}) { $confstr .= "\tdepends TARGET_$target->{boardconf}\n"; } @@ -293,7 +301,14 @@ EOF print "\tselect DEFAULT_$pkg\n"; $defaults{$pkg} = 1; } - print "\n"; + my $help = $profile->{desc}; + if ($help =~ /\w+/) { + $help =~ s/^\s*/\t /mg; + $help = "\thelp\n$help"; + } else { + undef $help; + } + print "$help\n"; } } @@ -651,6 +666,16 @@ EOF } } +sub gen_package_source() { + 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} && $pkg->{source}) { + print "$pkg->{name}: "; + print "$pkg->{source}\n"; + } + } +} sub parse_command() { my $cmd = shift @ARGV; @@ -659,6 +684,7 @@ sub parse_command() { /^package_mk$/ and return gen_package_mk(); /^package_config$/ and return gen_package_config(); /^kconfig/ and return gen_kconfig_overrides(); + /^package_source$/ and return gen_package_source(); } print <<EOF Available Commands: @@ -666,6 +692,7 @@ Available Commands: $0 package_mk [file] Package metadata in makefile format $0 package_config [file] Package metadata in Kconfig format $0 kconfig [file] [config] Kernel config overrides + $0 package_source [file] Package source file information EOF } diff --git a/scripts/metadata.pm b/scripts/metadata.pm index 9486c66cb315960ccaa9f46f6910ba4930106b64..97746809a4698b6e428c3a16fdb2a6516e1aa109 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -73,6 +73,7 @@ sub parse_package_metadata($) { /^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; /^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1; /^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $1; + /^Source: \s*(.+)\s*$/ and $pkg->{source} = $1; /^Default: \s*(.+)\s*$/ and $pkg->{default} = $1; /^Provides: \s*(.+)\s*$/ and do { my @vpkg = split /\s+/, $1;