Merge lp:~jml/launchpad/readme into lp:launchpad

Proposed by Jonathan Lange
Status: Merged
Approved by: Robert Collins
Approved revision: no longer in the source branch.
Merged at revision: 11320
Proposed branch: lp:~jml/launchpad/readme
Merge into: lp:launchpad
Diff against target: 114 lines (+106/-4)
1 file modified
README (+106/-4)
To merge this branch: bzr merge lp:~jml/launchpad/readme
Reviewer Review Type Date Requested Status
Francis J. Lacoste (community) Approve
Review via email: mp+32238@code.launchpad.net

Commit message

Write a real README.

Description of the change

I thought, you know what would be a good idea? A README file! It should explain what Launchpad is, where one could go to find more information and give some tips on how to navigate the code base.

As for style, I aimed to be clear, direct and interesting to read without being cute. I also aimed to be honest about our flaws without being better. How well I hit the mark is up to you.

To post a comment you must log in.
Revision history for this message
Francis J. Lacoste (flacoste) wrote :

That's great!

I think you hit the mark. Couldn't spot even a typo!

review: Approve
Revision history for this message
Robert Collins (lifeless) wrote :

Hey Francis, please hit the 'Merge' scope 'Approve' button as well - it takes it out of the 'to-review' queue :).

Preview Diff

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