scripts/download.pl: Use CDN for kernel downloads
[openwrt/staging/lynxis.git] / scripts / metadata.pl
index f5afb1e47b49a60d696afc42705d706e1f39c7c7..822382cd6c865ec2a0407d89f000e867819266e2 100755 (executable)
@@ -282,19 +282,12 @@ EOF
 
        foreach my $target (@target) {
                my $profiles = $target->{profiles};
-               $target->{sort} and @$profiles = sort {
-                       $a->{priority} <=> $b->{priority} or
-                       $a->{name} cmp $b->{name};
-               } @$profiles;
-
-               foreach my $profile (@$profiles) {
+               foreach my $profile (@{$target->{profiles}}) {
                        print <<EOF;
 config TARGET_$target->{conf}_$profile->{id}
        bool "$profile->{name}"
        depends on TARGET_$target->{conf}
-$profile->{config}
 EOF
-                       $profile->{kconfig} and print "\tselect PROFILE_KCONFIG\n";
                        my @pkglist = merge_package_lists($target->{packages}, $profile->{packages});
                        foreach my $pkg (@pkglist) {
                                print "\tselect DEFAULT_$pkg\n";
@@ -337,6 +330,18 @@ EOF
                }
        }
        print <<EOF;
+config TARGET_PROFILE
+       string
+EOF
+       foreach my $target (@target) {
+               my $profiles = $target->{profiles};
+               foreach my $profile (@$profiles) {
+                       print "\tdefault \"$profile->{id}\" if TARGET_$target->{conf}_$profile->{id}\n";
+               }
+       }
+
+       print <<EOF;
+
 config TARGET_ARCH_PACKAGES
        string
        
@@ -900,11 +905,26 @@ sub gen_version_filtered_list() {
        }
 }
 
+sub gen_profile_mk() {
+       my $file = shift @ARGV;
+       my $target = shift @ARGV;
+       my @targets = parse_target_metadata($file);
+       foreach my $cur (@targets) {
+               next unless $cur->{id} eq $target;
+               print "PROFILE_NAMES = ".join(" ", map { $_->{id} } @{$cur->{profiles}})."\n";
+               foreach my $profile (@{$cur->{profiles}}) {
+                       print $profile->{id}.'_NAME:='.$profile->{name}."\n";
+                       print $profile->{id}.'_PACKAGES:='.join(' ', @{$profile->{packages}})."\n";
+               }
+       }
+}
+
 sub parse_command() {
        GetOptions("ignore=s", \@ignore);
        my $cmd = shift @ARGV;
        for ($cmd) {
                /^target_config$/ and return gen_target_config();
+               /^profile_mk$/ and return gen_profile_mk();
                /^package_mk$/ and return gen_package_mk();
                /^package_config$/ and return gen_package_config();
                /^kconfig/ and return gen_kconfig_overrides();
@@ -917,6 +937,7 @@ sub parse_command() {
        print <<EOF
 Available Commands:
        $0 target_config [file]                 Target metadata in Kconfig format
+       $0 profile_mk [file] [target]           Profile metadata in makefile format
        $0 package_mk [file]                    Package metadata in makefile format
        $0 package_config [file]                Package metadata in Kconfig format
        $0 kconfig [file] [config] [patchver]   Kernel config overrides