fix [6191]
[openwrt/svn-archive/archive.git] / scripts / metadata.pl
index 9434af0f9d0cde4ad8d5179f75aba1a304896c2b..963be3f3828250b441f2fce57cb1037eac3502f8 100755 (executable)
@@ -45,6 +45,14 @@ sub parse_target_metadata() {
                };
                /^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
                /^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ];
+               /^Target-Profile-Description:/ and do {
+                       my $desc;
+                       while (<>) {
+                               last if /^@@/;
+                               $desc .= $_;
+                       }
+                       $profile->{desc} = $desc;
+               };
        }
        foreach my $target (@target) {
                @{$target->{profiles}} > 0 or $target->{profiles} = [
@@ -172,6 +180,7 @@ sub target_config_features(@) {
                /usb/ and $ret .= "\tselect USB_SUPPORT\n";
                /atm/ and $ret .= "\tselect ATM_SUPPORT\n";
                /pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
+               /video/ and $ret .= "\tselect VIDEO_SUPPORT\n";
                /squashfs/ and $ret .= "\tselect USES_SQUASHFS\n";
                /jffs2/ and $ret .= "\tselect USES_JFFS2\n";
                /ext2/ and $ret .= "\tselect USES_EXT2\n";
@@ -289,8 +298,12 @@ config LINUX_$target->{conf}_$profile->{id}
        bool "$profile->{name}"
        depends LINUX_$target->{conf}
 EOF
+                       my %pkgs;
                        foreach my $pkg (@{$target->{packages}}, @{$profile->{packages}}) {
-                               print "\tselect DEFAULT_$pkg\n";
+                               $pkgs{$pkg} = 1;
+                       }
+                       foreach my $pkg (keys %pkgs) {
+                               print "\tselect DEFAULT_$pkg\n" unless ($pkg =~ /^-/ or $pkgs{"-$pkg"});
                        }
                        print "\n";
                }