Go to file
Paul Eggleton c3a8eb4d82 Add support for importing OE-Classic recipes
Add a script for doing a one-time import of OE-Classic recipe
information, so comparisons against OE-Core can be performed; this
is stored using a new ClassicRecipe model supporting additional fields
for tracking migration status. The migration status fields can be
updated as well as viewed and summarised in graph format.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-09-05 00:31:22 +01:00
conf Add support for handling multiple branches 2013-03-05 20:37:48 +00:00
layerindex Add support for importing OE-Classic recipes 2013-09-05 00:31:22 +01:00
oe-classic/conf Add support for importing OE-Classic recipes 2013-09-05 00:31:22 +01:00
templates Add support for importing OE-Classic recipes 2013-09-05 00:31:22 +01:00
__init__.py Initial commit of layerindex-web 2013-02-13 12:09:57 +00:00
.gitignore Initial commit of layerindex-web 2013-02-13 12:09:57 +00:00
COPYING.MIT Initial commit of layerindex-web 2013-02-13 12:09:57 +00:00
manage.py Initial commit of layerindex-web 2013-02-13 12:09:57 +00:00
README Add support for importing OE-Classic recipes 2013-09-05 00:31:22 +01:00
settings.py Add support for importing OE-Classic recipes 2013-09-05 00:31:22 +01:00
TODO Force scrollbar to always show to prevent page width changing 2013-08-11 11:28:15 +01:00
urls.py Fix CSRF validation errors in password reset forms 2013-03-27 09:31:26 +00:00

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:

  • Django 1.4.x - tested with 1.4.1; newer versions may work, but the application has not been tested with 1.5 or newer.
  • For production usage, a web server set up to host Django applications (not needed for local-only testing)
  • 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.
  • The following third-party Django modules (tested versions listed):
    • django-south (0.7.5)
    • django-registration (0.8)
    • django-reversion (1.6.5)
    • django-reversion-compare (0.3.5)
    • django-simple-captcha (0.3.6)
    • django-nvd3 (0.1.11)
  • 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

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 some of the page templates to suit your installation, in particular:

    • templates/base.html
    • templates/layerindex/frontpage.html
    • templates/layerindex/about.html

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 (including Glyphicons) 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.

Bundled nv.d3.js is redistributed under the Apache License 2.0.

Bundled d3.v2.js is redistributed under the BSD License.

All other content is copyright (C) 2013 Intel Corporation and licensed under the MIT license (unless otherwise noted) - see COPYING.MIT for details.