11307.1.1
by Jonathan Lange
I finally got sick of not having this. |
1 |
====================
|
2 |
README for Launchpad |
|
3 |
====================
|
|
4 |
||
5 |
Launchpad is an open source suite of tools that help people and teams to work |
|
6 |
together on software projects. Unlike many open source projects, Launchpad |
|
7 |
isn't something you install and run yourself (although you are welcome to do |
|
8 |
so), instead, contributors help make <https://launchpad.net> better. |
|
9 |
||
10 |
Launchpad is a project of Canonical <http://www.canonical.com> and has |
|
11 |
received many contributions from many wonderful people |
|
12 |
<https://dev.launchpad.net/Contributions>. |
|
13 |
||
14 |
If you want help using Launchpad, then please visit our help wiki at: |
|
15 |
||
16 |
https://help.launchpad.net |
|
17 |
||
18 |
If you'd like to contribute to Launchpad, have a look at: |
|
19 |
||
20 |
https://dev.launchpad.net |
|
21 |
||
22 |
Alternatively, have a poke around in the code, which you probably already know |
|
23 |
how to get if you are reading this file. |
|
24 |
||
25 |
||
26 |
Getting started |
|
27 |
===============
|
|
28 |
||
29 |
There's a full guide for getting up-and-running with a development Launchpad |
|
30 |
environment at <https://dev.launchpad.net/Getting>. When you are ready to |
|
31 |
submit a patch, please consult <https://dev.launchpad.net/PatchSubmission>. |
|
32 |
||
33 |
Our bug tracker is at <https://bugs.launchpad.net/launchpad/> and you can get |
|
34 |
the source code any time by doing: |
|
35 |
||
36 |
$ bzr branch lp:launchpad |
|
37 |
||
38 |
||
39 |
Navigating the tree |
|
40 |
-------------------
|
|
41 |
||
42 |
The Launchpad tree is big, messy and changing. Sorry about that. Don't panic |
|
43 |
though, it can sense fear. Keep a firm grip on `grep` and pay attention to |
|
44 |
these important top-level folders: |
|
45 |
||
46 |
bin/, utilities/ |
|
47 |
Where you will find scripts intended for developers and admins. There's |
|
48 |
no rhyme or reason to what goes in bin/ and what goes in utilities/, so |
|
49 |
take a look in both. bin/ will be empty in a fresh checkout, the actual |
|
50 |
content lives in 'buildout-templates'. |
|
51 |
||
52 |
configs/ |
|
53 |
Configuration files for various kinds of Launchpad instances. |
|
54 |
'development' and 'testrunner' are of particular interest to developers. |
|
55 |
||
56 |
cronscripts/ |
|
57 |
Scripts that are run on actual production instances of Launchpad as |
|
58 |
cronjobs. |
|
59 |
||
60 |
daemons/ |
|
61 |
Entry points for various daemons that form part of Launchpad |
|
62 |
||
63 |
database/ |
|
64 |
Our database schema, our sample data, and some other stuff that causes |
|
65 |
fear. |
|
66 |
||
67 |
doc/ |
|
68 |
General system-wide documentation. You can also find documentation on |
|
69 |
<https://dev.launchpad.net>, in docstrings and in doctests. |
|
70 |
||
71 |
lib/ |
|
72 |
Where the vast majority of the code lives, along with our templates, tests |
|
73 |
and the bits of our documentation that are written as doctests. 'lp' and |
|
74 |
'canonical' are the two most interesting packages. Note that 'canonical' |
|
75 |
is deprecated in favour of 'lp'. To learn more about how the 'lp' package |
|
76 |
is laid out, take a look at its docstring. |
|
77 |
||
78 |
Makefile
|
|
79 |
Ahh, bliss. The Makefile has all sorts of goodies. If you spend any |
|
80 |
length of time hacking on Launchpad, you'll use it often. The most |
|
81 |
important targets are 'make clean', 'make compile', 'make schema', 'make |
|
82 |
run' and 'make run_all'. |
|
83 |
||
84 |
scripts/ |
|
85 |
Scripts that are run on actual production instances of Launchpad, |
|
86 |
generally triggered by some automatic process. |
|
87 |
||
88 |
||
89 |
You can spend years hacking on Launchpad full-time and not know what all of |
|
90 |
the files in the top-level directory are for. However, here's a guide to some |
|
91 |
of the ones that come up from time to time. |
|
92 |
||
93 |
buildout-templates/ |
|
94 |
Templates that are generated into actual files, normally bin/ scripts, |
|
95 |
when buildout is run. If you want to change the behaviour of bin/test, |
|
96 |
look here. |
|
97 |
||
98 |
bzrplugins/, optionalbzrplugins/ |
|
99 |
Bazaar plugins used in running Launchpad. |
|
100 |
||
101 |
sourcecode/ |
|
102 |
A directory into which we symlink branches of some of Launchpad's |
|
103 |
dependencies. Don't ask. |
|
104 |
||
105 |
You never have to care about 'benchmarks', 'override-includes' or |
|
106 |
'package-includes'. |