X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=scripts%2Ftarget-metadata.pl;h=7f7dc6d4ee77efdb814bd54a0836e6d927f0efee;hb=6b08a472632f0918c6ddbbe93c60e13068c7a82f;hp=7e7d26bac93147f2652abd549509269b29362174;hpb=f4ce133ccf3ac4d4f520399feba75aaee08317af;p=openwrt%2Fopenwrt.git diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl index 7e7d26bac9..7f7dc6d4ee 100755 --- a/scripts/target-metadata.pl +++ b/scripts/target-metadata.pl @@ -39,6 +39,7 @@ sub target_config_features(@) { /low_mem/ and $ret .= "\tselect LOW_MEMORY_FOOTPRINT\n"; /small_flash/ and $ret .= "\tselect SMALL_FLASH\n"; /nand/ and $ret .= "\tselect NAND_SUPPORT\n"; + /virtio/ and $ret .= "\tselect VIRTIO_SUPPORT\n"; } return $ret; } @@ -217,6 +218,9 @@ EOF config TARGET_MULTI_PROFILE bool "Multiple devices" depends on HAS_DEVICES + help + Instead of only building a single image, or all images, this allows you + to select images to be built for multiple devices in one build. EOF @@ -255,14 +259,32 @@ menu "Target Devices" config TARGET_PER_DEVICE_ROOTFS bool "Use a per-device root filesystem that adds profile packages" + help + When disabled, all device packages from all selected devices + will be included in all images by default. (Marked as <*>) You will + still be able to manually deselect any/all packages. + When enabled, each device builds it's own image, including only the + profile packages for that device. (Marked as {M}) You will be able + to change a package to included in all images by marking as {*}, but + will not be able to disable a profile package completely. + + To get the most use of this setting, you must set in a .config stub + before calling "make defconfig". Selecting TARGET_MULTI_PROFILE and + then manually selecting (via menuconfig for instance) this option + will have pre-defaulted all profile packages to included, making this + option appear to have had no effect. EOF foreach my $target (@target) { - my $profiles = $target->{profiles}; - foreach my $profile (@{$target->{profiles}}) { + my @profiles = sort { + my $x = $a->{name}; + my $y = $b->{name}; + "\L$x" cmp "\L$y"; + } @{$target->{profiles}}; + foreach my $profile (@profiles) { next unless $profile->{id} =~ /^DEVICE_/; print <{conf}_$profile->{id} +menuconfig TARGET_DEVICE_$target->{conf}_$profile->{id} bool "$profile->{name}" depends on TARGET_$target->{conf} default y if TARGET_ALL_PROFILES @@ -273,6 +295,17 @@ EOF print "\tselect MODULE_DEFAULT_$pkg if TARGET_PER_DEVICE_ROOTFS\n"; $defaults{$pkg} = 1; } + + print <{conf}_$profile->{id} + string "$profile->{name} additional packages" + default "" + depends on TARGET_PER_DEVICE_ROOTFS + depends on TARGET_DEVICE_$target->{conf}_$profile->{id} + +EOF } }