~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to README

  • Committer: Jonathan Lange
  • Date: 2010-08-10 18:20:12 UTC
  • mto: This revision was merged to the branch mainline in revision 11320.
  • Revision ID: jml@canonical.com-20100810182012-2pe2sc4js9uhvcz8
I finally got sick of not having this.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
This is the top level project, that supplies the infrastructure for testing,
2
 
and running launchpad.
3
 
 
4
 
Documentation is in the doc directory or on the wiki.
 
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'.