[prev in list] [next in list] [prev in thread] [next in thread]
List: openembedded-architecture
Subject: Re: [Openembedded-architecture] OEDEM - Setup program
From: Jan-Simon =?ISO-8859-1?Q?M=F6ller?= <dl9pf () gmx ! de>
Date: 2017-03-07 16:32:13
Message-ID: 2579900.9ucux9rhJD () elrond
[Download RAW message or body]
Its on my list, but I need to fix the current layer dependencies ;) to make =
it work. Stay tuned.
Best,
Jan-Simon
Am Dienstag, 7. M=E4rz 2017, 11:25:17 schrieb Philip Balister:
> Also, we are interested in hearing about success (and failure) stories
> with this tool.
> =
> Philip
> =
> On 03/07/2017 09:45 AM, Mark Hatle wrote:
> > One more follow up on this. The primary thing that was preventing peop=
le
> > 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 th=
is
> >> 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 'nodistr=
o'
> >> 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 set=
up
> >> =
> >> You'll see the addition of a 'default.xml' file, a layers directory, a
> >> config directory, a customized README and of course the 'setup' progra=
m.
> >> 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 VE=
RY
> >> 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 u=
se
> >> 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 conte=
nt
> >> 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 laye=
r. =
> >> 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 t=
he
> >> 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 layer=
s.
> >> =
> >> 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-architectu=
re
> > =
> > _______________________________________________
> > 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
-- =
--
Jan-Simon M=F6ller
dl9pf@gmx.de
_______________________________________________
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