[prev in list] [next in list] [prev in thread] [next in thread]
List: openembedded-architecture
Subject: Re: [Openembedded-architecture] OEDEM - Setup program
From: Denys Dmytriyenko <denis () denix ! org>
Date: 2017-03-07 16:40:53
Message-ID: 20170307164053.GD15664 () denix ! org
[Download RAW message or body]
And how do they get indexed? What's the criteria for a layer to appear in the
"Distro" section?
On Tue, Mar 07, 2017 at 08:45:51AM -0600, Mark Hatle wrote:
> One more follow up on this. The primary thing that was preventing people form
> using the setup program was that the OpenEmbedded layer index was missing many
> of the indexed distribution entries.
>
> This has now been corrected.
>
> master, morty and krogoth have been properly indexed. If anything does not work
> at this point please let me know, as all of the pieces are now in place to
> successfully use this.
>
> --Mark
>
>
> On 11/16/16 4:12 PM, Mark Hatle wrote:
> > The setup program that was demonstrated at OEDEM is now available.
> >
> > https://github.com/Wind-River/wr-lx-setup
> >
> > My expectation is that if OpenEmbedded decided to take ownership of this project
> > that they will fork a copy of this, and then I will stop development of this
> > github project. If OpenEmbedded does fork the project, a suitable name should
> > be selected at that time.
> >
> >
> > To begin, the setup program uses the contents from the layer index. So the
> > results are only going to be as good as the layer index you are using. In
> > addition, the current layer index does not yet have distro indexing. This is
> > available in the paule/django18 branch, but has not yet gone into the production
> > version. When the setup program uses an index without any distribution
> > information, it simply adds a single 'nodistro' entry for OpenEmbedded.
> >
> > Once the setup program loads the layer index, it will use the users settings to
> > discover which layers are necessary to construct the project. It creates a repo
> > .xml file and uses repo to manage and pull down the layers. The system will
> > also construct/copy various sample configuration, README and other files.
> >
> >
> > Below are some basic usage instructions. See the README.md file, but I've
> > duplicated some of the contents below to give you an idea of the workflow.
> >
> > To create a new project. The minimal workflow becomes:
> >
> > mkdir my-project
> > cd my-project
> > git clone git://github.com/Wind-River/wr-lx-setup setup
> > ./setup/setup.sh --machine qemux86-64
> >
> > At this point the program will contact the layer index and determine what
> > provides the BSP qemux86-64 and will construct a system that includes this BSP.
> >
> > This should look similar to what you are used to by manually cloning oe-core and
> > bitbake:
> >
> > bitbake default.xml meta oe-init-build-env-memres scripts
> > config layers oe-init-build-env README setup
> >
> > You'll see the addition of a 'default.xml' file, a layers directory, a config
> > directory, a customized README and of course the 'setup' program. All layers
> > and other components downloaded end up in the 'layers' directory. Default
> > configurations and log information go in the 'config' directory. Only specific
> > files are symlinked to the root (OpenEmbedded and the related bitbake of course.)
> >
> >
> > Now for the more advanced information. This is how everything is controlled.
> >
> > First the shell script wrapper, setup.sh, is responsible for making the current
> > directory into a git tree, identifying the branch the setup program was run
> > from, and has the ability to run various extension scripts.
> >
> > The setup program then exports certain information, such as the base download
> > directory and branch and calls the bin/setup.py program. (If you use --help and
> > do not have python3 available it will use a special python version to display
> > basic help.)
> >
> > The setup.py can replace a special '#BASE_URL#' field when processing URLs with
> > the url that the setup program was loaded from. (This is VERY useful when
> > handling internal mirrors.) The branch requested from the layer index is the
> > same branch as the setup program is running from by default as well. This
> > allows you to have special configuration files or other files per branch.
> >
> > Below is a series of files or directories that are used by the setup program to
> > specify various defaults, or files that get put into the constructed project.
> >
> > bin/settings.py:
> > This file controls the defaults for the setup program. Including the location
> > of the layer index, branch settings, special 'search replace' operations,
> > default values, etc. Take a look at this file. If you have any questions let
> > me know.
> >
> > As mentioned above, the #BASE_URL# is a magic flag.. if you want to use this on
> > a live layer-index, you can put in a manual search/replace operation. This only
> > affects repository URLs BTW.
> >
> >
> > data/samples:
> > This directory contains sample files for the bblayers.conf, local.conf,
> > conf-notes, README and a special README-MIRROR.
> >
> > Each of these files is processed when copying into the constructed project.
> >
> > Special key works can be used to replace contents with dynamic content based
> > on the configured:
> >
> > ####LAYERS#### - replace with each layer, format is for bblayers.conf
> >
> > ####SETUP_ARGS#### -- replace with the current arguments to setup
> >
> > ####MACHINES##### -- replace with a list of each machine available in the
> > current layers
> >
> > ####DEFAULTMACHINE#### -- replace with the -first- machine in the list
> >
> > ####DISTROS#### -- replace with a list of each distro available in the
> > current layers (required layer index support)
> >
> > ####DEFAULTDISTRO#### --- replace with the -first- distro in the list
> >
> >
> > data/xml:
> >
> > There are two types of files that can be in this set, .inc and .xml. All
> > files are named 'layer name' (per the layer index) with the appropriate suffix.
> > A special 'bitbake' one is implemented as well.
> >
> > The .inc files are included inline in the project element for the layer. This
> > is the mechanism to add symlinks or other repo tags that must be inline with in
> > a 'project' tag.
> >
> > The .xml files are included -after- the close of the project tag for the layer.
> > This can be used to include additional (non-layer) components into the generated
> > repo default.xml file when a specific layer is included.
> >
> >
> > Advanced features:
> >
> > There is a --mirror option to the setup program. This will take the
> > configuration you specified and create a local 'repo mirror' of the contents, as
> > well as a copy of the layer index (only the pieces that affect the mirror) and
> > any corresponding XML fragments.
> >
> > The mirror allows you to start new projects from the mirror without having to
> > contact the upstream layer index or original sources. This can also be useful
> > to share a specific configuration with others, especially if you want to curate
> > a specifically supported set of layers.
> >
> > The contents of the mirror can also be shared on a local git server, making it
> > even easier to share.
> >
> > In many environments local git servers can not handle sub directories. (github,
> > stash, etc..) So there is a 'flatten_mirror.py' command in bin.. When run from
> > a mirror project, it will create a flattened tree that may be easier for some
> > people to share on a git server (or other resources.)
> >
> >
> > There are other features, but overall the program isn't very large. I'm happy
> > to answer any questions related to this.
> >
> > --Mark
> > _______________________________________________
> > Openembedded-architecture mailing list
> > Openembedded-architecture@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-architecture
> >
>
> _______________________________________________
> Openembedded-architecture mailing list
> Openembedded-architecture@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-architecture
>
_______________________________________________
Openembedded-architecture mailing list
Openembedded-architecture@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-architecture
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic