layerindex-web/README
Paul Eggleton 354e368aa2 Add support for handling multiple branches
Change the data structure to support multiple branches. At the top level
there is a set list of Branch objects, and then a LayerBranch object
between each layer and the maintainers, dependencies, recipes and
machines, so that the set of each can be different per branch. The
branch is a session option, and can be selected via a drop-down that is
shown for all pages.

Additionally, with this change we avoid the need to run the update
script within a build environment set up with oe-init-build-env - since
we need a specific version of BitBake per branch we now use our own copy
of BitBake which is fetched by the script itself. The update script will
need to be called multiple times however - once per branch.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-05 20:37:48 +00:00

113 lines
3.6 KiB
Plaintext

OE Layer Index web interface
============================
This is a small Django-based web application that provides a way to
manage an index of OpenEmbedded metadata layers for use on top of
OE-Core.
Setup
-----
In order to make use of this application you will need:
* A web server set up to host Django applications
* A database supported by Django (SQLite, MySQL, etc.). Django takes
care of creating the database itself, you just need to ensure that the
database server (if not using SQLite) is configured and running.
* On the machine that will run the backend update script (which does not
have to be the same machine as the web server, however it does still
have to have Django installed, have the same or similar configuration
in settings.py and have access to the database used by the web
application):
* Python 2.6 or Python 2.7
* GitPython (python-git) version 0.3.1 or later
* django-registration
* django-reversion
* django-reversion-compare
* django-simple-captcha
Setup instructions:
1. Edit settings.py to specify a database, EMAIL_HOST, SECRET_KEY and
other settings specific to your installation. Ensure you set
LAYER_FETCH_DIR to a location with sufficient space for fetching
layer repositories.
2. Run the following command within the layerindex-web directory to
initialise the database:
python manage.py syncdb
You should answer "yes" when asked to create an admin account.
3. You can test the web application locally by setting DEBUG = True in
settings.py and running the following:
python manage.py runserver
Then visit http://127.0.0.1:8000/layerindex/ with your browser. As
with all Django applications there is an admin interface available
at http://127.0.0.1:8000/admin/ also.
NOTE: This local server should only be used for testing - for
production you need to use a proper web server and have DEBUG set
to False.
4. You'll need to add at least the openembedded-core layer to the
database (or some equivalent for use in basic BitBake configuration;
if it's not called "openembedded-core" then you'll need to set
CORE_LAYER_NAME in settings.py to match.) You can use the
"Submit Layer" feature within the interface itself (easiest) or the
admin interface to do this.
5. You may wish to customise layerindex/about.html to suit your
installation.
Usage
-----
On a regular basis you need to run the update script:
path/to/layerindex/update.py
This will fetch all of the layer repositories, analyse their contents
and update the database with the results. Note that if you set up more
than just the master branch in the database, you will need to run the
script once for each branch using -b (or --branch) to specify the
branch name. Run the script with --help for further information on
available options.
Maintenance
-----------
The code for this application is maintained by the Yocto Project.
The latest version of the code can always be found here:
http://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
Contributions are welcome. Please send patches / pull requests to
yocto@yoctoproject.org with '[layerindex-web]' in the subject.
License
-------
This application is based upon the Django project template, whose files
are covered by the BSD license and are copyright (c) Django Software
Foundation and individual contributors.
Bundled Twitter Bootstrap is redistributed under the Apache License 2.0.
Bundled jQuery is redistributed under the MIT license.
Bundled uitablefilter.js is redistributed under the MIT license.
All other content is copyright (C) 2013 Intel Corporation and licensed
under the MIT license (unless otherwise noted) - see COPYING.MIT for
details.