aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: a866620a1f81cdc764e51968f639a4fd481a6d5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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.7.3
  * 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/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.