refresh 2.6.32 patches
[openwrt/openwrt.git] / scripts / metadata.pl
index ca00fcae6dc893ce11cb92fc78eca57679934e39..63809c496d6c66c055b06f3c2da45b5f8fbb4105 100755 (executable)
@@ -152,6 +152,7 @@ sub target_config_features(@) {
 
        while ($_ = shift @_) {
                /broken/ and $ret .= "\tdepends BROKEN\n";
+               /audio/ and $ret .= "\tselect AUDIO_SUPPORT\n";
                /display/ and $ret .= "\tselect DISPLAY_SUPPORT\n";
                /gpio/ and $ret .= "\tselect GPIO_SUPPORT\n";
                /pci/ and $ret .= "\tselect PCI_SUPPORT\n";
@@ -161,8 +162,9 @@ sub target_config_features(@) {
                /squashfs/ and $ret .= "\tselect USES_SQUASHFS\n";
                /jffs2/ and $ret .= "\tselect USES_JFFS2\n";
                /ext2/ and $ret .= "\tselect USES_EXT2\n";
-               /tgz/ and $ret .= "\tselect USES_TGZ\n";
+               /targz/ and $ret .= "\tselect USES_TARGZ\n";
                /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
+               /ubifs/ and $ret .= "\tselect USES_UBIFS\n";
                /fpu/ and $ret .= "\tselect HAS_FPU\n";
                /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n";
                /powerpc64/ and $ret .= "\tselect powerpc64\n";
@@ -261,7 +263,7 @@ sub gen_target_config() {
        print <<EOF;
 choice
        prompt "Target System"
-       default TARGET_brcm_2_4
+       default TARGET_brcm47xx
        reset if !DEVEL
        
 EOF
@@ -421,6 +423,9 @@ sub mconf_depends {
                my $vdep;
                my $condition = $parent_condition;
 
+               next if $condition eq $depend;
+               next if $seen->{"$parent_condition:$depend"};
+               $seen->{"$parent_condition:$depend"} = 1;
                if ($depend =~ /^(.+):(.+)$/) {
                        if ($1 ne "PACKAGE_$pkgname") {
                                if ($condition) {
@@ -431,9 +436,7 @@ sub mconf_depends {
                        }
                        $depend = $2;
                }
-               next if $seen->{$depend};
                next if $package{$depend} and $package{$depend}->{buildonly};
-               $seen->{$depend} = 1;
                if ($vdep = $package{$depend}->{vdepends}) {
                        $depend = join("||", map { "PACKAGE_".$_ } @$vdep);
                } else {
@@ -549,9 +552,10 @@ EOF
                        print <<EOF;
        config FEATURE_$feature->{name}
                bool "$feature->{title}"
-               help
-$feature->{description}
 EOF
+                       $feature->{description} =~ /\w/ and do {
+                               print "\t\thelp\n".$feature->{description}."\n";
+                       };
                }
                print "endchoice\n"
        }
@@ -560,20 +564,24 @@ EOF
 
 sub gen_package_config() {
        parse_package_metadata($ARGV[0]) or exit 1;
-       print "menuconfig UCI_PRECONFIG\n\tbool \"Image configuration\"\n" if %preconfig;
+       print "menuconfig IMAGEOPT\n\tbool \"Image configuration\"\n\tdefault n\n";
        foreach my $preconfig (keys %preconfig) {
                foreach my $cfg (keys %{$preconfig{$preconfig}}) {
                        my $conf = $preconfig{$preconfig}->{$cfg}->{id};
                        $conf =~ tr/\.-/__/;
                        print <<EOF
        config UCI_PRECONFIG_$conf
-               string "$preconfig{$preconfig}->{$cfg}->{label}" if UCI_PRECONFIG
+               string "$preconfig{$preconfig}->{$cfg}->{label}" if IMAGEOPT
                depends PACKAGE_$preconfig
                default "$preconfig{$preconfig}->{$cfg}->{default}"
 
 EOF
                }
        }
+       print "source \"package/*/image-config.in\"\n";
+       if (scalar glob "package/feeds/*/*/image-config.in") {
+           print "source \"package/feeds/*/*/image-config.in\"\n";
+       }
        print_package_features();
        print_package_config_category 'Base system';
        foreach my $cat (keys %category) {
@@ -620,6 +628,9 @@ sub gen_package_mk() {
                if ($config) {
                        $pkg->{buildonly} and $config = "";
                        print "package-$config += $pkg->{subdir}$pkg->{src}\n";
+                       if ($pkg->{variant}) {
+                               print "\$(curdir)/$pkg->{subdir}$pkg->{src}/variants += \$(if $config,$pkg->{variant})\n"
+                       }
                        $pkg->{prereq} and print "prereq-$config += $pkg->{subdir}$pkg->{src}\n";
                }
 
@@ -756,7 +767,7 @@ sub gen_package_mk() {
 $cmds \\
        ) > \$@
        
-ifneq (\$(UCI_PRECONFIG)\$(CONFIG_UCI_PRECONFIG),)
+ifneq (\$(IMAGEOPT)\$(CONFIG_IMAGEOPT),)
   package/preconfig: \$(TARGET_DIR)/etc/uci-defaults/$preconfig
 endif
 EOF