From 58ef101032c301f54b9ecc9fcc9b84b5038df030 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Mon, 23 Oct 2017 16:45:32 +0100 Subject: scripts/lib/bsp: delete, all users have been removed With the removal of yocto-bsp and yocto-kernel there are no longer any users of this library, therefore delete it. (From meta-yocto rev: 0d44e59bfaa95162cf2133df1d08f6419314bb8e) Signed-off-by: Joshua Lock Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/lib/bsp/help.py | 1054 ----------------------------------------------- 1 file changed, 1054 deletions(-) delete mode 100644 scripts/lib/bsp/help.py (limited to 'scripts/lib/bsp/help.py') diff --git a/scripts/lib/bsp/help.py b/scripts/lib/bsp/help.py deleted file mode 100644 index 85d446b860..0000000000 --- a/scripts/lib/bsp/help.py +++ /dev/null @@ -1,1054 +0,0 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# -# Copyright (c) 2012, Intel Corporation. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# -# DESCRIPTION -# This module implements some basic help invocation functions along -# with the bulk of the help topic text for the Yocto BSP Tools. -# -# AUTHORS -# Tom Zanussi -# - -import subprocess -import logging - - -def subcommand_error(args): - logging.info("invalid subcommand %s" % args[0]) - - -def display_help(subcommand, subcommands): - """ - Display help for subcommand. - """ - if subcommand not in subcommands: - return False - - help = subcommands.get(subcommand, subcommand_error)[2] - pager = subprocess.Popen('less', stdin=subprocess.PIPE) - pager.communicate(bytes(help, 'UTF-8')) - - return True - - -def yocto_help(args, usage_str, subcommands): - """ - Subcommand help dispatcher. - """ - if len(args) == 1 or not display_help(args[1], subcommands): - print(usage_str) - - -def invoke_subcommand(args, parser, main_command_usage, subcommands): - """ - Dispatch to subcommand handler borrowed from combo-layer. - Should use argparse, but has to work in 2.6. - """ - if not args: - logging.error("No subcommand specified, exiting") - parser.print_help() - elif args[0] == "help": - yocto_help(args, main_command_usage, subcommands) - elif args[0] not in subcommands: - logging.error("Unsupported subcommand %s, exiting\n" % (args[0])) - parser.print_help() - else: - usage = subcommands.get(args[0], subcommand_error)[1] - subcommands.get(args[0], subcommand_error)[0](args[1:], usage) - - -## -# yocto-bsp help and usage strings -## - -yocto_bsp_usage = """ - - Create a customized Yocto BSP layer. - - usage: yocto-bsp [--version] [--help] COMMAND [ARGS] - - Current 'yocto-bsp' commands are: - create Create a new Yocto BSP - list List available values for options and BSP properties - - See 'yocto-bsp help COMMAND' for more information on a specific command. -""" - -yocto_bsp_help_usage = """ - - usage: yocto-bsp help - - This command displays detailed help for the specified subcommand. -""" - -yocto_bsp_create_usage = """ - - Create a new Yocto BSP - - usage: yocto-bsp create [-o | --outdir ] - [-i | --infile ] - [-c | --codedump] [-s | --skip-git-check] - - This command creates a Yocto BSP based on the specified parameters. - The new BSP will be a new Yocto BSP layer contained by default within - the top-level directory specified as 'meta-bsp-name'. The -o option - can be used to place the BSP layer in a directory with a different - name and location. - - The value of the 'karch' parameter determines the set of files that - will be generated for the BSP, along with the specific set of - 'properties' that will be used to fill out the BSP-specific portions - of the BSP. The possible values for the 'karch' parameter can be - listed via 'yocto-bsp list karch'. - - NOTE: Once created, you should add your new layer to your - bblayers.conf file in order for it to be subsequently seen and - modified by the yocto-kernel tool. - - See 'yocto bsp help create' for more detailed instructions. -""" - -yocto_bsp_create_help = """ - -NAME - yocto-bsp create - Create a new Yocto BSP - -SYNOPSIS - yocto-bsp create [-o | --outdir ] - [-i | --infile ] - [-c | --codedump] [-s | --skip-git-check] - -DESCRIPTION - This command creates a Yocto BSP based on the specified - parameters. The new BSP will be a new Yocto BSP layer contained - by default within the top-level directory specified as - 'meta-bsp-name'. The -o option can be used to place the BSP layer - in a directory with a different name and location. - - The value of the 'karch' parameter determines the set of files - that will be generated for the BSP, along with the specific set of - 'properties' that will be used to fill out the BSP-specific - portions of the BSP. The possible values for the 'karch' parameter - can be listed via 'yocto-bsp list karch'. - - The BSP-specific properties that define the values that will be - used to generate a particular BSP can be specified on the - command-line using the -i option and supplying a JSON object - consisting of the set of name:value pairs needed by the BSP. - - If the -i option is not used, the user will be interactively - prompted for each of the required property values, which will then - be used as values for BSP generation. - - The set of properties available for a given architecture can be - listed using the 'yocto-bsp list' command. - - Specifying -c causes the Python code generated and executed to - create the BSP to be dumped to the 'bspgen.out' file in the - current directory, and is useful for debugging. - - NOTE: Once created, you should add your new layer to your - bblayers.conf file in order for it to be subsequently seen and - modified by the yocto-kernel tool. - - For example, assuming your poky repo is at /path/to/poky, your new - BSP layer is at /path/to/poky/meta-mybsp, and your build directory - is /path/to/build: - - $ gedit /path/to/build/conf/bblayers.conf - - BBLAYERS ?= " \\ - /path/to/poky/meta \\ - /path/to/poky/meta-poky \\ - /path/to/poky/meta-mybsp \\ - " -""" - -yocto_bsp_list_usage = """ - - usage: yocto-bsp list karch - yocto-bsp list --properties - [-o | --outfile ] - yocto-bsp list --property - [-o | --outfile ] - - This command enumerates the complete set of possible values for a - specified option or property needed by the BSP creation process. - - The first form enumerates all the possible values that exist and can - be specified for the 'karch' parameter to the 'yocto bsp create' - command. - - The second form enumerates all the possible properties that exist and - must have values specified for them in the 'yocto bsp create' command - for the given 'karch'. - - The third form enumerates all the possible values that exist and can - be specified for any of the enumerable properties of the given - 'karch' in the 'yocto bsp create' command. - - See 'yocto-bsp help list' for more details. -""" - -yocto_bsp_list_help = """ - -NAME - yocto-bsp list - List available values for options and BSP properties - -SYNOPSIS - yocto-bsp list karch - yocto-bsp list --properties - [--o | -outfile ] - yocto-bsp list --property - [--o | -outfile ] - -DESCRIPTION - This command enumerates the complete set of possible values for a - specified option or property needed by the BSP creation process. - - The first form enumerates all the possible values that exist and - can be specified for the 'karch' parameter to the 'yocto bsp - create' command. Example output for the 'list karch' command: - - $ yocto-bsp list karch - Architectures available: - arm - powerpc - i386 - mips - mips64 - x86_64 - qemu - - The second form enumerates all the possible properties that exist - and must have values specified for them in the 'yocto bsp create' - command for the given 'karch'. This command is mainly meant to - allow the development user interface alternatives to the default - text-based prompting interface. If the -o option is specified, - the list of properties, in addition to being displayed, will be - written to the specified file as a JSON object. In this case, the - object will consist of the set of name:value pairs corresponding - to the (possibly nested) dictionary of properties defined by the - input statements used by the BSP. Some example output for the - 'list --properties' command: - - $ yocto-bsp list arm --properties - "touchscreen" : { - "msg" : Does your BSP have a touchscreen? (y/N) - "default" : n - "type" : boolean - } - "uboot_loadaddress" : { - "msg" : Please specify a value for UBOOT_LOADADDRESS. - "default" : 0x80008000 - "type" : edit - "prio" : 40 - } - "kernel_choice" : { - "prio" : 10 - "default" : linux-yocto_3.2 - "depends-on" : use_default_kernel - "depends-on-val" : n - "msg" : Please choose the kernel to use in this BSP => - "type" : choicelist - "gen" : bsp.kernel.kernels - } - "if kernel_choice == "linux-yocto_3.0":" : { - "base_kbranch_linux_yocto_3_0" : { - "prio" : 20 - "default" : yocto/standard - "depends-on" : new_kbranch_linux_yocto_3_0 - "depends-on-val" : y - "msg" : Please choose a machine branch to base this BSP on => - "type" : choicelist - "gen" : bsp.kernel.all_branches - } - . - . - . - - Each entry in the output consists of the name of the input element - e.g. "touchscreen", followed by the properties defined for that - element enclosed in braces. This information should provide - sufficient information to create a complete user interface with. - Two features of the scheme provide for conditional input. First, - if a Python "if" statement appears in place of an input element - name, the set of enclosed input elements apply and should be - presented to the user only if the 'if' statement evaluates to - true. The test in the if statement will always reference another - input element in the list, which means that the element being - tested should be presented to the user before the elements - enclosed by the if block. Secondly, in a similar way, some - elements contain "depends-on" and depends-on-val" tags, which mean - that the affected input element should only be presented to the - user if the element it depends on has already been presented to - the user and the user has selected the specified value for that - element. - - The third form enumerates all the possible values that exist and - can be specified for any of the enumerable properties of the given - 'karch' in the 'yocto bsp create' command. If the -o option is - specified, the list of values for the given property, in addition - to being displayed, will be written to the specified file as a - JSON object. In this case, the object will consist of the set of - name:value pairs corresponding to the array of property values - associated with the property. - - $ yocto-bsp list i386 --property xserver_choice - ["xserver_vesa", "VESA xserver support"] - ["xserver_i915", "i915 xserver support"] - - $ yocto-bsp list arm --property base_kbranch_linux_yocto_3_0 - Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.0... - ["yocto/base", "yocto/base"] - ["yocto/eg20t", "yocto/eg20t"] - ["yocto/gma500", "yocto/gma500"] - ["yocto/pvr", "yocto/pvr"] - ["yocto/standard/arm-versatile-926ejs", "yocto/standard/arm-versatile-926ejs"] - ["yocto/standard/base", "yocto/standard/base"] - ["yocto/standard/cedartrail", "yocto/standard/cedartrail"] - . - . - . - ["yocto/standard/qemu-ppc32", "yocto/standard/qemu-ppc32"] - ["yocto/standard/routerstationpro", "yocto/standard/routerstationpro"] - - The third form as well is meant mainly for developers of - alternative interfaces - it allows the developer to fetch the - possible values for a given input element on-demand. This - on-demand capability is especially valuable for elements that - require relatively expensive remote operations to fulfill, such as - the example that returns the set of branches available in a remote - git tree above. - -""" - -## -# yocto-kernel help and usage strings -## - -yocto_kernel_usage = """ - - Modify and list Yocto BSP kernel config items and patches. - - usage: yocto-kernel [--version] [--help] COMMAND [ARGS] - - Current 'yocto-kernel' commands are: - config list List the modifiable set of bare kernel config options for a BSP - config add Add or modify bare kernel config options for a BSP - config rm Remove bare kernel config options from a BSP - patch list List the patches associated with a BSP - patch add Patch the Yocto kernel for a BSP - patch rm Remove patches from a BSP - feature list List the features used by a BSP - feature add Have a BSP use a feature - feature rm Have a BSP stop using a feature - features list List the features available to BSPs - feature describe Describe a particular feature - feature create Create a new BSP-local feature - feature destroy Remove a BSP-local feature - - See 'yocto-kernel help COMMAND' for more information on a specific command. - -""" - - -yocto_kernel_help_usage = """ - - usage: yocto-kernel help - - This command displays detailed help for the specified subcommand. -""" - -yocto_kernel_config_list_usage = """ - - List the modifiable set of bare kernel config options for a BSP - - usage: yocto-kernel config list - - This command lists the 'modifiable' config items for a BSP i.e. the - items which are eligible for modification or removal by other - yocto-kernel commands. - - 'modifiable' config items are the config items contained a BSP's - user-config.cfg base config. -""" - - -yocto_kernel_config_list_help = """ - -NAME - yocto-kernel config list - List the modifiable set of bare kernel - config options for a BSP - -SYNOPSIS - yocto-kernel config list - -DESCRIPTION - This command lists the 'modifiable' config items for a BSP - i.e. the items which are eligible for modification or removal by - other yocto-kernel commands. -""" - - -yocto_kernel_config_add_usage = """ - - Add or modify bare kernel config options for a BSP - - usage: yocto-kernel config add [ ...] - - This command adds one or more CONFIG_XXX=x items to a BSP's user-config.cfg - base config. -""" - - -yocto_kernel_config_add_help = """ - -NAME - yocto-kernel config add - Add or modify bare kernel config options - for a BSP - -SYNOPSIS - yocto-kernel config add [ ...] - -DESCRIPTION - This command adds one or more CONFIG_XXX=x items to a BSP's - foo.cfg base config. - - NOTE: It's up to the user to determine whether or not the config - options being added make sense or not - this command does no - sanity checking or verification of any kind to ensure that a - config option really makes sense and will actually be set in in - the final config. For example, if a config option depends on - other config options, it will be turned off by kconfig if the - other options aren't set correctly. -""" - - -yocto_kernel_config_rm_usage = """ - - Remove bare kernel config options from a BSP - - usage: yocto-kernel config rm - - This command removes (turns off) one or more CONFIG_XXX items from a - BSP's user-config.cfg base config. - - The set of config items available to be removed by this command for a - BSP is listed and the user prompted for the specific items to remove. -""" - - -yocto_kernel_config_rm_help = """ - -NAME - yocto-kernel config rm - Remove bare kernel config options from a - BSP - -SYNOPSIS - yocto-kernel config rm - -DESCRIPTION - This command removes (turns off) one or more CONFIG_XXX items from a - BSP's user-config.cfg base config. - - The set of config items available to be removed by this command - for a BSP is listed and the user prompted for the specific items - to remove. -""" - - -yocto_kernel_patch_list_usage = """ - - List the patches associated with the kernel for a BSP - - usage: yocto-kernel patch list - - This command lists the patches associated with a BSP. - - NOTE: this only applies to patches listed in the kernel recipe's - user-patches.scc file (and currently repeated in its SRC_URI). -""" - - -yocto_kernel_patch_list_help = """ - -NAME - yocto-kernel patch list - List the patches associated with the kernel - for a BSP - -SYNOPSIS - yocto-kernel patch list - -DESCRIPTION - This command lists the patches associated with a BSP. - - NOTE: this only applies to patches listed in the kernel recipe's - user-patches.scc file (and currently repeated in its SRC_URI). -""" - - -yocto_kernel_patch_add_usage = """ - - Patch the Yocto kernel for a specific BSP - - usage: yocto-kernel patch add [ ...] - - This command adds one or more patches to a BSP's machine branch. The - patch will be added to the BSP's linux-yocto kernel user-patches.scc - file (and currently repeated in its SRC_URI) and will be guaranteed - to be applied in the order specified. -""" - - -yocto_kernel_patch_add_help = """ - -NAME - yocto-kernel patch add - Patch the Yocto kernel for a specific BSP - -SYNOPSIS - yocto-kernel patch add [ ...] - -DESCRIPTION - This command adds one or more patches to a BSP's machine branch. - The patch will be added to the BSP's linux-yocto kernel - user-patches.scc file (and currently repeated in its SRC_URI) and - will be guaranteed to be applied in the order specified. - - NOTE: It's up to the user to determine whether or not the patches - being added makes sense or not - this command does no sanity - checking or verification of any kind to ensure that a patch can - actually be applied to the BSP's kernel branch; it's assumed that - the user has already done that. -""" - - -yocto_kernel_patch_rm_usage = """ - - Remove a patch from the Yocto kernel for a specific BSP - - usage: yocto-kernel patch rm - - This command removes one or more patches from a BSP's machine branch. - The patch will be removed from the BSP's linux-yocto kernel - user-patches.scc file (and currently repeated in its SRC_URI) and - kernel SRC_URI dir. - - The set of patches available to be removed by this command for a BSP - is listed and the user prompted for the specific patches to remove. -""" - - -yocto_kernel_patch_rm_help = """ - -NAME - yocto-kernel patch rm - Remove a patch from the Yocto kernel for a specific BSP - -SYNOPSIS - yocto-kernel patch rm - -DESCRIPTION - This command removes one or more patches from a BSP's machine - branch. The patch will be removed from the BSP's linux-yocto - kernel user-patches.scc file (and currently repeated in its - SRC_URI). - - The set of patches available to be removed by this command for a - BSP is listed and the user prompted for the specific patches to - remove. -""" - -yocto_kernel_feature_list_usage = """ - - List the BSP features that are being used by a BSP - - usage: yocto-kernel feature list - - This command lists the features being used by a BSP i.e. the features - which are eligible for modification or removal by other yocto-kernel - commands. - - 'modifiable' features are the features listed in a BSP's - user-features.scc file. -""" - - -yocto_kernel_feature_list_help = """ - -NAME - yocto-kernel feature list - List the modifiable set of features - being used by a BSP - -SYNOPSIS - yocto-kernel feature list - -DESCRIPTION - This command lists the 'modifiable' features being used by a BSP - i.e. the features which are eligible for modification or removal - by other yocto-kernel commands. -""" - - -yocto_kernel_feature_add_usage = """ - - Add to or modify the list of features being used for a BSP - - usage: yocto-kernel feature add [/xxxx/yyyy/feature.scc ...] - - This command adds one or more feature items to a BSP's kernel - user-features.scc file, which is the file used to manage features in - a yocto-bsp-generated BSP. Features to be added must be specified as - fully-qualified feature names. -""" - - -yocto_kernel_feature_add_help = """ - -NAME - yocto-kernel feature add - Add to or modify the list of features - being used for a BSP - -SYNOPSIS - yocto-kernel feature add [/xxxx/yyyy/feature.scc ...] - -DESCRIPTION - This command adds one or more feature items to a BSP's - user-features.scc file, which is the file used to manage features - in a yocto-bsp-generated BSP. Features to be added must be - specified as fully-qualified feature names. -""" - - -yocto_kernel_feature_rm_usage = """ - - Remove a feature from the list of features being used for a BSP - - usage: yocto-kernel feature rm - - This command removes (turns off) one or more features from a BSP's - user-features.scc file, which is the file used to manage features in - a yocto-bsp-generated BSP. - - The set of features available to be removed by this command for a BSP - is listed and the user prompted for the specific items to remove. -""" - - -yocto_kernel_feature_rm_help = """ - -NAME - yocto-kernel feature rm - Remove a feature from the list of - features being used for a BSP - -SYNOPSIS - yocto-kernel feature rm - -DESCRIPTION - This command removes (turns off) one or more features from a BSP's - user-features.scc file, which is the file used to manage features - in a yocto-bsp-generated BSP. - - The set of features available to be removed by this command for a - BSP is listed and the user prompted for the specific items to - remove. -""" - - -yocto_kernel_available_features_list_usage = """ - - List the set of kernel features available to a BSP - - usage: yocto-kernel features list - - This command lists the complete set of kernel features available to a - BSP. This includes the features contained in linux-yocto meta - branches as well as recipe-space features defined locally to the BSP. -""" - - -yocto_kernel_available_features_list_help = """ - -NAME - yocto-kernel features list - List the set of kernel features - available to a BSP - -SYNOPSIS - yocto-kernel features list - -DESCRIPTION - This command lists the complete set of kernel features available - to a BSP. This includes the features contained in linux-yocto - meta branches as well as recipe-space features defined locally to - the BSP. -""" - - -yocto_kernel_feature_describe_usage = """ - - Print the description and compatibility information for a given kernel feature - - usage: yocto-kernel feature describe [/xxxx/yyyy/feature.scc ...] - - This command prints the description and compatibility of a specific - feature in the format 'description [compatibility]. -""" - - -yocto_kernel_feature_describe_help = """ - -NAME - yocto-kernel feature describe - print the description and - compatibility information for a given kernel feature - -SYNOPSIS - yocto-kernel feature describe [/xxxx/yyyy/feature.scc ...] - -DESCRIPTION - This command prints the description and compatibility of a - specific feature in the format 'description [compatibility]. If - the feature doesn't define a description or compatibility, a - string with generic unknown values will be printed. -""" - - -yocto_kernel_feature_create_usage = """ - - Create a recipe-space kernel feature in a BSP - - usage: yocto-kernel feature create newfeature.scc \ - "Feature Description" capabilities [ ...] [ ...] - - This command creates a new kernel feature from the bare config - options and patches specified on the command-line. -""" - - -yocto_kernel_feature_create_help = """ - -NAME - yocto-kernel feature create - create a recipe-space kernel feature - in a BSP - -SYNOPSIS - yocto-kernel feature create newfeature.scc \ - "Feature Description" capabilities [ ...] [ ...] - -DESCRIPTION - This command creates a new kernel feature from the bare config - options and patches specified on the command-line. The new - feature will be created in recipe-space, specifically in either - the kernel .bbappend's /files/cfg or /files/features subdirectory, - depending on whether or not the feature contains config items only - or config items along with patches. The named feature must end - with .scc and must not contain a feature directory to contain the - feature (this will be determined automatically), and a feature - description in double-quotes along with a capabilities string - (which for the time being can be one of: 'all' or 'board'). -""" - - -yocto_kernel_feature_destroy_usage = """ - - Destroy a recipe-space kernel feature in a BSP - - usage: yocto-kernel feature destroy feature.scc - - This command destroys a kernel feature defined in the specified BSP's - recipe-space kernel definition. -""" - - -yocto_kernel_feature_destroy_help = """ - -NAME - yocto-kernel feature destroy feature.scc - destroy a - recipe-space kernel feature in a BSP - -SYNOPSIS - yocto-kernel feature destroy feature.scc - -DESCRIPTION - This command destroys a kernel feature defined in the specified - BSP's recipe-space kernel definition. The named feature must end - with .scc and must not contain a feature directory to contain the - feature (this will be determined automatically). If the kernel - feature is in use by a BSP, it can't be removed until the BSP - stops using it (see yocto-kernel feature rm to stop using it). -""" - -## -# yocto-layer help and usage strings -## - -yocto_layer_usage = """ - - Create a generic Yocto layer. - - usage: yocto-layer [--version] [--help] COMMAND [ARGS] - - Current 'yocto-layer' commands are: - create Create a new generic Yocto layer - list List available values for input options and properties - - See 'yocto-layer help COMMAND' for more information on a specific command. -""" - -yocto_layer_help_usage = """ - - usage: yocto-layer help - - This command displays detailed help for the specified subcommand. -""" - -yocto_layer_create_usage = """ - - WARNING: this plugin will be removed starting 2.5 development in favour - of using 'bitbake-layers create-layer' script/plugin, offering a single - script to manage layers. - - Create a new generic Yocto layer - - usage: yocto-layer create [layer_priority] - [-o | --outdir ] - [-i | --infile ] - - This command creates a generic Yocto layer based on the specified - parameters. The new layer will be a new Yocto layer contained by - default within the top-level directory specified as - 'meta-layer-name'. The -o option can be used to place the layer in a - directory with a different name and location. - - If layer_priority is specified, a simple layer will be created using - the given layer priority, and the user will not be prompted for - further input. - - NOTE: Once created, you should add your new layer to your - bblayers.conf file in order for it to be subsequently seen and - modified by the yocto-kernel tool. Instructions for doing this can - be found in the README file generated in the layer's top-level - directory. - - See 'yocto layer help create' for more detailed instructions. -""" - -yocto_layer_create_help = """ - -WARNING: this plugin will be removed starting 2.5 development in favour -of using 'bitbake-layers create-layer' script/plugin, offering a single -script to manage layers. - -NAME - yocto-layer create - Create a new generic Yocto layer - -SYNOPSIS - yocto-layer create [layer_priority] - [-o | --outdir ] - [-i | --infile ] - -DESCRIPTION - This command creates a generic Yocto layer based on the specified - parameters. The new layer will be a new Yocto layer contained by - default within the top-level directory specified as - 'meta-layer-name'. The -o option can be used to place the layer - in a directory with a different name and location. - - If layer_priority is specified, a simple layer will be created - using the given layer priority, and the user will not be prompted - for further input. - - The layer-specific properties that define the values that will be - used to generate the layer can be specified on the command-line - using the -i option and supplying a JSON object consisting of the - set of name:value pairs needed by the layer. - - If the -i option is not used, the user will be interactively - prompted for each of the required property values, which will then - be used as values for layer generation. - - The set of properties available can be listed using the - 'yocto-layer list' command. - - Specifying -c causes the Python code generated and executed to - create the layer to be dumped to the 'bspgen.out' file in the - current directory, and is useful for debugging. - - NOTE: Once created, you should add your new layer to your - bblayers.conf file in order for it to be subsequently seen and - modified by the yocto-kernel tool. Instructions for doing this - can be found in the README file generated in the layer's top-level - directory. - - For example, assuming your poky repo is at /path/to/poky, your new - layer is at /path/to/poky/meta-mylayer, and your build directory - is /path/to/build: - - $ gedit /path/to/build/conf/bblayers.conf - - BBLAYERS ?= " \\ - /path/to/poky/meta \\ - /path/to/poky/meta-yocto \\ - /path/to/poky/meta-mylayer \\ - " -""" - -yocto_layer_list_usage = """ - - usage: yocto-layer list properties - [-o | --outfile ] - yocto-layer list property - [-o | --outfile ] - - This command enumerates the complete set of possible values for a - specified option or property needed by the layer creation process. - - The first form enumerates all the possible properties that exist and - must have values specified for them in the 'yocto-layer create' - command. - - The second form enumerates all the possible values that exist and can - be specified for any of the enumerable properties in the 'yocto-layer - create' command. - - See 'yocto-layer help list' for more details. -""" - -yocto_layer_list_help = """ - -NAME - yocto-layer list - List available values for layer input options and properties - -SYNOPSIS - yocto-layer list properties - [--o | -outfile ] - yocto-layer list property - [--o | -outfile ] - -DESCRIPTION - This command enumerates the complete set of possible values for a - specified option or property needed by the layer creation process. - - The first form enumerates all the possible properties that exist - and must have values specified for them in the 'yocto-layer - create' command. This command is mainly meant to aid the - development of user interface alternatives to the default - text-based prompting interface. If the -o option is specified, - the list of properties, in addition to being displayed, will be - written to the specified file as a JSON object. In this case, the - object will consist of the set of name:value pairs corresponding - to the (possibly nested) dictionary of properties defined by the - input statements used by the BSP. Some example output for the - 'list properties' command: - - $ yocto-layer list properties - "example_bbappend_name" : { - "default" : example - "msg" : Please enter the name you'd like to use for your bbappend file: - "type" : edit - "prio" : 20 - "filename" : /home/trz/yocto/yocto-layer-dev/scripts/lib/bsp/substrate/target/arch/layer/layer-questions.noinstall - } - "create_example_recipe" : { - "default" : n - "msg" : Would you like to have an example recipe created? (y/n) - "type" : boolean - "prio" : 20 - "filename" : /home/trz/yocto/yocto-layer-dev/scripts/lib/bsp/substrate/target/arch/layer/layer-questions.noinstall - } - "example_recipe_name" : { - "default" : example - "msg" : Please enter the name you'd like to use for your example recipe: - "type" : edit - "prio" : 20 - "filename" : /home/trz/yocto/yocto-layer-dev/scripts/lib/bsp/substrate/target/arch/layer/layer-questions.noinstall - } - "layer_priority" : { - "default" : 6 - "msg" : Please enter the layer priority you'd like to use for the layer: - "type" : edit - "prio" : 20 - "filename" : /home/trz/yocto/yocto-layer-dev/scripts/lib/bsp/substrate/target/arch/layer/layer-questions.noinstall - } - "create_example_bbappend" : { - "default" : n - "msg" : Would you like to have an example bbappend file created? (y/n) - "type" : boolean - "prio" : 20 - "filename" : /home/trz/yocto/yocto-layer-dev/scripts/lib/bsp/substrate/target/arch/layer/layer-questions.noinstall - } - "example_bbappend_version" : { - "default" : 0.1 - "msg" : Please enter the version number you'd like to use for your bbappend file (this should match the recipe you're appending to): - "type" : edit - "prio" : 20 - "filename" : /home/trz/yocto/yocto-layer-dev/scripts/lib/bsp/substrate/target/arch/layer/layer-questions.noinstall - } - - Each entry in the output consists of the name of the input element - e.g. "layer_priority", followed by the properties defined for that - element enclosed in braces. This information should provide - sufficient information to create a complete user interface. Two - features of the scheme provide for conditional input. First, if a - Python "if" statement appears in place of an input element name, - the set of enclosed input elements apply and should be presented - to the user only if the 'if' statement evaluates to true. The - test in the if statement will always reference another input - element in the list, which means that the element being tested - should be presented to the user before the elements enclosed by - the if block. Secondly, in a similar way, some elements contain - "depends-on" and depends-on-val" tags, which mean that the - affected input element should only be presented to the user if the - element it depends on has already been presented to the user and - the user has selected the specified value for that element. - - The second form enumerates all the possible values that exist and - can be specified for any of the enumerable properties in the - 'yocto-layer create' command. If the -o option is specified, the - list of values for the given property, in addition to being - displayed, will be written to the specified file as a JSON object. - In this case, the object will consist of the set of name:value - pairs corresponding to the array of property values associated - with the property. - - $ yocto-layer list property layer_priority - [no output - layer_priority is a text field that has no enumerable values] - - The second form as well is meant mainly for developers of - alternative interfaces - it allows the developer to fetch the - possible values for a given input element on-demand. This - on-demand capability is especially valuable for elements that - require relatively expensive remote operations to fulfill, such as - the example that returns the set of branches available in a remote - git tree above. - -""" - -## -# test code -## - -test_bsp_properties = { - 'smp': 'yes', - 'touchscreen': 'yes', - 'keyboard': 'no', - 'xserver': 'yes', - 'xserver_choice': 'xserver-i915', - 'features': ['goodfeature', 'greatfeature'], - 'tunefile': 'tune-quark', -} - -- cgit v1.2.3-54-g00ecf