~launchpad-pqm/launchpad/devel

1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
1
# This file modified from Zope3/Makefile
2
# Licensed under the ZPL, (c) Zope Corporation and contributors.
3
10637.3.3 by Guilherme Salgado
Get rid of PYTHON_VERSION from all Makefiles and use a customized pygettextpo which uses the default system python instead of what's defined in PYTHON_VERSION
4
PYTHON=python
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
5
WD:=$(shell pwd)
6
PY=$(WD)/bin/py
7
PYTHONPATH:=$(WD)/lib:$(WD)/lib/mailman:${PYTHONPATH}
7675.288.1 by Michael Hudson
this seems to help testing against bzr.dev
8
BUILDOUT_CFG=buildout.cfg
4385.1.12 by Stuart Bishop
Remove unmaintainable profiled_ rules, switching to a variable that can be overridden on the command line
9
VERBOSITY=-vv
1716.1.49 by Christian Reis
Removing cruft from the main Makefile
10
4385.1.12 by Stuart Bishop
Remove unmaintainable profiled_ rules, switching to a variable that can be overridden on the command line
11
TESTFLAGS=-p $(VERBOSITY)
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
12
TESTOPTS=
1716.1.49 by Christian Reis
Removing cruft from the main Makefile
13
8942.1.1 by Francis J. Lacoste
Silenced bootstrap.py and buildout.py.
14
SHHH=utilities/shhh.py
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
15
HERE:=$(shell pwd)
1716.1.49 by Christian Reis
Removing cruft from the main Makefile
16
6041.1.2 by Curtis Hovey
Moved configs/default => configs/development.
17
LPCONFIG=development
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
18
9778.1.17 by Maris Fogels
Added some commands to the Makefile to make JavaScript managment a bit easier.
19
JSFLAGS=
7675.507.27 by Edwin Grubbs
Prevent "make sprite_css" from running unnecessarily.
20
ICING=lib/canonical/launchpad/icing
21
LP_BUILT_JS_ROOT=${ICING}/build
9887.2.1 by Gary Poster
Makefile for making Python 2.5 a smoother transition
22
LAZR_BUILT_JS_ROOT=lazr-js/build
23
5447.1.2 by Tom Haddon
Constant for shutdown and correct path locations
24
MINS_TO_SHUTDOWN=15
25
6206.1.1 by Tim Penhey
Update development location changes.
26
CODEHOSTING_ROOT=/var/tmp/bazaar.launchpad.dev
27
7430.1.3 by Gavin Panella
Post-review changes, and a few others.
28
BZR_VERSION_INFO = bzr-version-info.py
29
10420.4.1 by Leonard Richardson
Initial implementation.
30
APIDOC_DIR = lib/canonical/launchpad/apidoc
31
WADL_TEMPLATE = $(APIDOC_DIR).tmp/wadl-$(LPCONFIG)-%(version)s.xml
32
API_INDEX = $(APIDOC_DIR)/index.html
6770.2.10 by Francis J. Lacoste
Hook documentation generation in Makefile.
33
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
34
# Do not add bin/buildout to this list.
35
# It is impossible to get buildout to tell us all the files it would
36
# build, since each egg's setup.py doesn't tell us that information.
37
BUILDOUT_BIN = \
7675.573.2 by Edwin Grubbs
Fixed bin/py rule.
38
    $(PY) bin/apiindex bin/combine-css bin/fl-build-report \
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
39
    bin/fl-credential-ctl bin/fl-install-demo bin/fl-monitor-ctl \
40
    bin/fl-record bin/fl-run-bench bin/fl-run-test bin/googletestservice \
41
    bin/i18ncompile bin/i18nextract bin/i18nmergeall bin/i18nstats \
42
    bin/harness bin/iharness bin/ipy bin/jsbuild bin/jslint bin/jssize \
43
    bin/jstest bin/killservice bin/kill-test-services bin/lint.sh \
7675.573.2 by Edwin Grubbs
Fixed bin/py rule.
44
    bin/lp-windmill bin/retest bin/run bin/sprite-util \
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
45
    bin/start_librarian bin/stxdocs bin/tags bin/test bin/tracereport \
46
    bin/twistd bin/update-download-cache bin/windmill
47
63.1.71 by Robert Collins
do not make check by default "make" invocation
48
# DO NOT ALTER : this should just build by default
49
default: inplace
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
50
6206.1.1 by Tim Penhey
Update development location changes.
51
schema: build clean_codehosting
3024.1.1 by Christian Reis
You can't make schema without make building, so make it mandatory. Patch by Matt Zimmerman <mdz@canonical.com>
52
	$(MAKE) -C database/schema
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
53
	$(RM) -r /var/tmp/fatsam
1716.1.42 by Christian Reis
merged and unconflicted
54
1716.5.35 by kiko
Add for convenience a newsampledata proxy target to the main Makefile.
55
newsampledata:
56
	$(MAKE) -C database/schema newsampledata
57
8357.5.14 by Gary Poster
adjust Makefile primarily to make check_merge pass even if _pythonpath.py has changed
58
hosted_branches: $(PY)
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
59
	$(PY) ./utilities/make-dummy-hosted-branches
60
10466.8.2 by Leonard Richardson
Minor cleanup.
61
$(API_INDEX): $(BZR_VERSION_INFO)
10454.4.3 by James Westby
Hack product out of NewCodeImportForm.
62
	mkdir -p $(APIDOC_DIR).tmp
10556.2.6 by Leonard Richardson
Minor cleanup.
63
	LPCONFIG=$(LPCONFIG) $(PY) ./utilities/create-lp-wadl-and-apidoc.py "$(WADL_TEMPLATE)"
11044.3.1 by Jonathan Lange
Remove the apidoc directory, create it when we actually build the docs
64
	mv $(APIDOC_DIR).tmp $(APIDOC_DIR)
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
65
10466.8.2 by Leonard Richardson
Minor cleanup.
66
apidoc: compile $(API_INDEX)
67
10870.1.1 by Maris Fogels
Added a new target for running the test suite in an ec2 image. Removed the WindmillLayer from that target. Fixed up the Makefile API a bit.
68
# Run by PQM.
8502.1.1 by Gary Poster
try to rip out any building of download-cache, even on pqm
69
check_merge: $(PY)
8960.1.1 by Karl Fogel
Undo the temporary Makefile tweak of r8687.15.43, as planned.
70
	[ `PYTHONPATH= bzr status -S database/schema/ | \
71
		grep -v "\(^P\|pending\|security.cfg\|Makefile\|unautovacuumable\|_pythonpath.py\)" | wc -l` -eq 0 ]
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
72
	${PY} lib/canonical/tests/test_no_conflict_marker.py
3691.386.9 by Stuart Bishop
Add switch to disable database patch landings
73
8502.1.1 by Gary Poster
try to rip out any building of download-cache, even on pqm
74
check_db_merge: $(PY)
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
75
	${PY} lib/canonical/tests/test_no_conflict_marker.py
3691.187.2 by Stuart Bishop
Makefile entry for maintaining edge.launchpad.net branch
76
8665.1.5 by Francis J. Lacoste
Add check_config target.
77
check_config: build
78
	bin/test -m canonical.config.tests -vvt test_config
79
10635.4.2 by Maris Fogels
Added a simple script and makefile check to ensure that the current database schema is up-to-date before we try and fire up the application server.
80
check_schema: build
81
	${PY} utilities/check-db-revision.py
82
8780.1.1 by Julian Edwards
Make clean a dependency of check in the top-level Makefile
83
# Clean before running the test suite, since the build might fail depending
84
# what source changes happened. (e.g. apidoc depends on interfaces)
85
check: clean build
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
86
	# Run all tests. test_on_merge.py takes care of setting up the
8234.1.6 by Gary Poster
fold bin/py into compile
87
	# database.
10870.1.1 by Maris Fogels
Added a new target for running the test suite in an ec2 image. Removed the WindmillLayer from that target. Fixed up the Makefile API a bit.
88
	${PY} -t ./test_on_merge.py $(VERBOSITY) $(TESTOPTS)
89
8791.1.2 by Maris Fogels
Added a Makefile target for running all of the Windmill test suites.
90
jscheck: build
91
	# Run all JavaScript integration tests.  The test runner takes care of
92
	# setting up the test environment.
93
	@echo
94
	@echo "Running the JavaScript integration test suite"
95
	@echo
10870.1.1 by Maris Fogels
Added a new target for running the test suite in an ec2 image. Removed the WindmillLayer from that target. Fixed up the Makefile API a bit.
96
	bin/test $(VERBOSITY) $(TESTOPTS) --layer=WindmillLayer
9230.3.1 by Bjorn Tillenius
Run only the new-style Windmill tests in 'make check'. Add another make target (jscheck_functest) to run the old tests.
97
98
jscheck_functest: build
99
    # Run the old functest Windmill integration tests.  The test runner
100
    # takes care of setting up the test environment.
101
	@echo
102
	@echo "Running Windmill funtest integration test suite"
103
	@echo
9012.1.10 by Maris Fogels
Made the jscheck target use bin/jstest
104
	bin/jstest
8791.1.2 by Maris Fogels
Added a Makefile target for running all of the Windmill test suites.
105
8514.1.1 by Barry Warsaw
By default, disable the entire MailmanLayer tests. Most of these tests are
106
check_mailman: build
107
	# Run all tests, including the Mailman integration
108
	# tests. test_on_merge.py takes care of setting up the database.
10870.1.1 by Maris Fogels
Added a new target for running the test suite in an ec2 image. Removed the WindmillLayer from that target. Fixed up the Makefile API a bit.
109
	${PY} -t ./test_on_merge.py $(VERBOSITY) $(TESTOPTS) \
110
		--layer=MailmanLayer
8514.1.1 by Barry Warsaw
By default, disable the entire MailmanLayer tests. Most of these tests are
111
8567.1.1 by Gary Poster
fix lint
112
lint: ${PY}
113
	@bash ./bin/lint.sh
2513 by Canonical.com Patch Queue Manager
[trivial] Implement make lintmerge.
114
8567.1.1 by Gary Poster
fix lint
115
lint-verbose: ${PY}
116
	@bash ./bin/lint.sh -v
4935.3.3 by Curtis Hovey
Updated a few files to illustrate how lint works.
117
8357.5.14 by Gary Poster
adjust Makefile primarily to make check_merge pass even if _pythonpath.py has changed
118
xxxreport: $(PY)
9641.1.13 by Gary Poster
try a work-around for Hardy Heron dislike of scripts as executables in shebang lines. Also revert to using a shell script for bin/py rather than a Python script.
119
	${PY} -t ./utilities/xxxreport.py -f csv -o xxx-report.csv ./
6912.5.12 by Curtis Hovey
Revised Makefile rules for xxxreport.
120
8357.5.14 by Gary Poster
adjust Makefile primarily to make check_merge pass even if _pythonpath.py has changed
121
check-configs: $(PY)
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
122
	${PY} utilities/check-configs.py
4895.2.2 by Barry Warsaw
SteveA suggests checking config files in two ways:
123
1746 by Canonical.com Patch Queue Manager
[r=jamesh] Simple database restoration script and sampledata fixes
124
pagetests: build
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
125
	env PYTHONPATH=$(PYTHONPATH) bin/test test_pages
3044.1.15 by James Troup
Fix 'suspicious' line in Makefile to quiet emacs
126
6920.1.7 by Leonard Richardson
Fixed the makefile to run apidoc when building.
127
inplace: build
128
10321.2.1 by Gary Poster
make "compile" usable for starting Launchpad without webservice and full appserver. Usable for starting up machines that run non-appserver services like Mailman and for bits like Soyuz testing.
129
build: compile apidoc jsbuild css_combine
7675.438.2 by Guilherme Salgado
Combine all the css files we need in a single combo.css, which is now the only one included in our base template
130
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
131
css_combine: sprite_css bin/combine-css
7675.438.2 by Guilherme Salgado
Combine all the css files we need in a single combo.css, which is now the only one included in our base template
132
	${SHHH} bin/combine-css
9570.14.1 by Bjorn Tillenius
Use lazr-js as an egg.
133
7675.507.27 by Edwin Grubbs
Prevent "make sprite_css" from running unnecessarily.
134
sprite_css: ${LP_BUILT_JS_ROOT}/style-3-0.css
135
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
136
${LP_BUILT_JS_ROOT}/style-3-0.css: bin/sprite-util ${ICING}/style-3-0.css.in ${ICING}/icon-sprites.positioning
7675.507.20 by Edwin Grubbs
Generating css correctly.
137
	${SHHH} bin/sprite-util create-css
138
7675.507.23 by Edwin Grubbs
Completely working.
139
sprite_image:
140
	${SHHH} bin/sprite-util create-image
141
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
142
jsbuild_lazr: bin/jsbuild
9778.1.32 by Maris Fogels
updated comment
143
	# We absolutely do not want to include the lazr.testing module and its
144
	# jsTestDriver test harness modifications in the lazr.js and launchpad.js
145
	# roll-up files.  They fiddle with built-in functions!  See Bug 482340.
7675.438.1 by Guilherme Salgado
Upgrade to latest lazr-js
146
	${SHHH} bin/jsbuild $(JSFLAGS) -b $(LAZR_BUILT_JS_ROOT) -x testing/ -c $(LAZR_BUILT_JS_ROOT)/yui
9570.14.7 by Bjorn Tillenius
Have two jsbuild steps, so that the yui symlink gets created before yui-deps.py is called.
147
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
148
jsbuild: jsbuild_lazr bin/jsbuild bin/jssize
9570.14.1 by Bjorn Tillenius
Use lazr-js as an egg.
149
	${SHHH} bin/jsbuild \
9778.1.17 by Maris Fogels
Added some commands to the Makefile to make JavaScript managment a bit easier.
150
		$(JSFLAGS) \
9778.1.19 by Maris Fogels
Added a build option to exlude the jsTestDriver files from lazr. They do not play nicely with other libraries. This should fix the production JS rollup.
151
		-n launchpad \
152
		-s lib/canonical/launchpad/javascript \
9778.1.17 by Maris Fogels
Added some commands to the Makefile to make JavaScript managment a bit easier.
153
		-b $(LP_BUILT_JS_ROOT) \
9792.1.1 by Bjorn Tillenius
Change order of the files passed to jsbuild, so that launchpad.js is generated in the same way like before r9785.
154
		$(shell $(HERE)/utilities/yui-deps.py) \
10985.2.1 by Deryck Hodge
Get js minified from app-specific javascript directories.
155
		$(shell $(PY) $(HERE)/utilities/lp-deps.py) \
9792.1.1 by Bjorn Tillenius
Change order of the files passed to jsbuild, so that launchpad.js is generated in the same way like before r9785.
156
		lib/canonical/launchpad/icing/lazr/build/lazr.js
10348.1.1 by Paul Hummer
Added jssize checker to make sure js doesn't get greater than 512K
157
	${SHHH} bin/jssize
6920.1.7 by Leonard Richardson
Fixed the makefile to run apidoc when building.
158
8329.1.7 by Gary Poster
convert layout to have eggs and download-cache on top; and add make target for eggs folder, for deployment.
159
eggs:
8357.5.18 by Gary Poster
fix buildout issues
160
	# Usually this is linked via link-external-sourcecode, but in
8329.1.7 by Gary Poster
convert layout to have eggs and download-cache on top; and add make target for eggs folder, for deployment.
161
	# deployment we create this ourselves.
162
	mkdir eggs
163
10137.1.1 by Bjorn Tillenius
Automatically call utilities/link-external-sourcecode if LP_SOURCEDEPS_PATH is set.
164
# LP_SOURCEDEPS_PATH should point to the sourcecode directory, but we
165
# want the parent directory where the download-cache and eggs directory
166
# are. We re-use the variable that is using for the rocketfuel-get script.
8329.1.7 by Gary Poster
convert layout to have eggs and download-cache on top; and add make target for eggs folder, for deployment.
167
download-cache:
10137.1.1 by Bjorn Tillenius
Automatically call utilities/link-external-sourcecode if LP_SOURCEDEPS_PATH is set.
168
ifdef LP_SOURCEDEPS_PATH
169
	utilities/link-external-sourcecode $(LP_SOURCEDEPS_PATH)/..
170
else
8495.1.1 by Gary Poster
add comment and correct error message IRT buildout changes
171
	@echo "Missing ./download-cache."
8357.5.18 by Gary Poster
fix buildout issues
172
	@echo "Developers: please run utilities/link-external-sourcecode."
8502.1.1 by Gary Poster
try to rip out any building of download-cache, even on pqm
173
	@exit 1
10137.1.1 by Bjorn Tillenius
Automatically call utilities/link-external-sourcecode if LP_SOURCEDEPS_PATH is set.
174
endif
8329.1.7 by Gary Poster
convert layout to have eggs and download-cache on top; and add make target for eggs folder, for deployment.
175
10016.1.1 by Gary Poster
make target for building eggs once
176
buildonce_eggs: $(PY)
177
	find eggs -name '*.pyc' -exec rm {} \;
178
8329.1.7 by Gary Poster
convert layout to have eggs and download-cache on top; and add make target for eggs folder, for deployment.
179
# The download-cache dependency comes *before* eggs so that developers get the
180
# warning before the eggs directory is made.  The target for the eggs directory
181
# is only there for deployment convenience.
182
bin/buildout: download-cache eggs
9097.1.1 by Gary Poster
squelch PYTHONPATH from our scripts. That was a bad idea; will revert in zc.buildout
183
	$(SHHH) PYTHONPATH= $(PYTHON) bootstrap.py\
10303.1.10 by Gary Poster
update to newer version of buildout branch
184
		--setup-source=ez_setup.py \
8827.2.1 by Gary Poster
use experimental eggs for buildout and friends
185
		--download-base=download-cache/dist --eggs=eggs
8329.1.2 by Gary Poster
specify zope.interface version; make bootstrap and buildout only called when necessary from make file; make change to rocketfuel config file unnecessary, so rocketfuel-setup does not need to be called; make twistd calls include sys.path in PYTHONPATH.
186
10916.1.2 by Gary Poster
add comments per review
187
# This target is used by LOSAs to prepare a build to be pushed out to
188
# destination machines.  We only want eggs: they are the expensive bits,
189
# and the other bits might run into problems like bug 575037.  This
190
# target runs buildout, and then removes everything created except for
191
# the eggs.
10916.1.1 by Gary Poster
Make a new build target to allow LOSAs to pre-build eggs without pre-building scripts.
192
build_eggs: $(BUILDOUT_BIN) clean_buildout
193
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
194
# This builds bin/py and all the other bin files except bin/buildout.
10469.1.1 by Edwin Grubbs
Not really working yet.
195
# Remove the target before calling buildout to ensure that buildout
196
# updates the timestamp.
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
197
$(BUILDOUT_BIN): bin/buildout versions.cfg $(BUILDOUT_CFG) setup.py
10469.1.1 by Edwin Grubbs
Not really working yet.
198
	$(RM) $@
9097.1.1 by Gary Poster
squelch PYTHONPATH from our scripts. That was a bad idea; will revert in zc.buildout
199
	$(SHHH) PYTHONPATH= ./bin/buildout \
200
                configuration:instance_name=${LPCONFIG} -c $(BUILDOUT_CFG)
8329.1.2 by Gary Poster
specify zope.interface version; make bootstrap and buildout only called when necessary from make file; make change to rocketfuel config file unnecessary, so rocketfuel-setup does not need to be called; make twistd calls include sys.path in PYTHONPATH.
201
10321.2.1 by Gary Poster
make "compile" usable for starting Launchpad without webservice and full appserver. Usable for starting up machines that run non-appserver services like Mailman and for bits like Soyuz testing.
202
compile: $(PY) $(BZR_VERSION_INFO)
11128.10.10 by Michael Hudson
create vostok-archive dir in make compile
203
	mkdir -p /var/tmp/vostok-archive
1831 by Canonical.com Patch Queue Manager
New config machinery, database helpers and oddsnsods required for staging
204
	${SHHH} $(MAKE) -C sourcecode build PYTHON=${PYTHON} \
10637.3.3 by Guilherme Salgado
Get rid of PYTHON_VERSION from all Makefiles and use a customized pygettextpo which uses the default system python instead of what's defined in PYTHON_VERSION
205
	    LPCONFIG=${LPCONFIG}
9641.1.13 by Gary Poster
try a work-around for Hardy Heron dislike of scripts as executables in shebang lines. Also revert to using a shell script for bin/py rather than a Python script.
206
	${SHHH} LPCONFIG=${LPCONFIG} ${PY} -t buildmailman.py
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
207
208
test_build: build
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
209
	bin/test $(TESTFLAGS) $(TESTOPTS)
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
210
211
test_inplace: inplace
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
212
	bin/test $(TESTFLAGS) $(TESTOPTS)
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
213
214
ftest_build: build
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
215
	bin/test -f $(TESTFLAGS) $(TESTOPTS)
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
216
217
ftest_inplace: inplace
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
218
	bin/test -f $(TESTFLAGS) $(TESTOPTS)
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
219
7675.624.31 by Tim Penhey
Make the makefile use the correct name for the merge proposal job script.
220
merge-proposal-jobs:
7675.624.12 by Tim Penhey
Rename mpcreationjobs -> merge-proposal-email-jobs.
221
	# Handle merge proposal email jobs.
7675.624.38 by Tim Penhey
Make the merge-proposal-job script run verbosely.
222
	$(PY) cronscripts/merge-proposal-jobs.py -v
9750.3.1 by Aaron Bentley
Add mpcreationsjobs to sync_branches make target
223
10635.4.2 by Maris Fogels
Added a simple script and makefile check to ensure that the current database schema is up-to-date before we try and fire up the application server.
224
run: check_schema inplace stop
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
225
	$(RM) thread*.request
9232.2.3 by Stuart Bishop
Start up a local memcached in the development environment. Config items for memcache client.
226
	bin/run -r librarian,google-webservice,memcached -i $(LPCONFIG)
4004.3.14 by jml at canonical
'make run' only runs webserver & librarian. 'make run_all' runs everything.
227
10635.4.2 by Maris Fogels
Added a simple script and makefile check to ensure that the current database schema is up-to-date before we try and fire up the application server.
228
start-gdb: check_schema inplace stop support_files
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
229
	$(RM) thread*.request
8690.4.2 by Francis J. Lacoste
Add a -i command line argument that sets the instance name.
230
	nohup gdb -x run.gdb --args bin/run -i $(LPCONFIG) \
8665.1.3 by Francis J. Lacoste
Automatically set the ZConfig configuration file.
231
		-r librarian,google-webservice
6781.1.1 by Herb McNew
Applied the patch that kiko provided and that was tested on staging. Allows us to run an app server instance under gdb.
232
		> ${LPCONFIG}-nohup.out 2>&1 &
233
10635.4.2 by Maris Fogels
Added a simple script and makefile check to ensure that the current database schema is up-to-date before we try and fire up the application server.
234
run_all: check_schema inplace stop hosted_branches
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
235
	$(RM) thread*.request
10693.1.1 by William Grant
Remove all of buildd-sequencer, except the config keys (due to bug #557271).
236
	bin/run -r librarian,sftp,mailman,codebrowse,google-webservice,memcached \
10067.1.1 by Michael Hudson
make make run_all work again
237
	    -i $(LPCONFIG)
7528.1.6 by Michael Hudson
document new config schema values
238
7551.3.10 by Michael Hudson
the real world meets the makefile
239
run_codebrowse: build
9590.1.135 by Michael Hudson
add files from launchpad-loggerhead tree to launchpad tree
240
	BZR_PLUGIN_PATH=bzrplugins $(PY) scripts/start-loggerhead.py -f
7528.1.1 by Michael Hudson
add makefile targets and symlinks for running loggerhead in the launchpad tree
241
7551.3.10 by Michael Hudson
the real world meets the makefile
242
start_codebrowse: build
9590.1.135 by Michael Hudson
add files from launchpad-loggerhead tree to launchpad tree
243
	BZR_PLUGIN_PATH=$(shell pwd)/bzrplugins $(PY) scripts/start-loggerhead.py
7528.1.1 by Michael Hudson
add makefile targets and symlinks for running loggerhead in the launchpad tree
244
245
stop_codebrowse:
9590.1.135 by Michael Hudson
add files from launchpad-loggerhead tree to launchpad tree
246
	$(PY) scripts/stop-loggerhead.py
7528.1.1 by Michael Hudson
add makefile targets and symlinks for running loggerhead in the launchpad tree
247
10635.4.2 by Maris Fogels
Added a simple script and makefile check to ensure that the current database schema is up-to-date before we try and fire up the application server.
248
run_codehosting: check_schema inplace stop hosted_branches
10289.1.2 by Paul Hummer
Added a run_codehosting make target that just runs the codehosting essentials
249
	$(RM) thread*.request
250
	bin/run -r librarian,sftp,codebrowse -i $(LPCONFIG)
251
252
7675.717.1 by Tom Haddon
For the librarian startup, we only need to compile, not to build
253
start_librarian: compile
8971.2.1 by Stuart Bishop
Add Librarian startup script
254
	bin/start_librarian
255
256
stop_librarian:
257
	bin/killservice librarian
258
7182.3.1 by Gary Poster
sketch to fix bugs 245368 and 268446.
259
pull_branches: support_files
9580.4.1 by Henning Eggers
Fix the bug.
260
	$(PY) cronscripts/supermirror-pull.py
4706.2.8 by Jonathan Lange
Add 'pull', 'scan' and 'rewritemap' targets to Makefile.
261
7735.2.2 by Michael Hudson
bye bye more stuff
262
scan_branches:
4706.2.11 by Jonathan Lange
Add comments and a sync_branches target that does a pull and scan.
263
	# Scan branches from the filesystem into the database.
7675.458.10 by Paul Hummer
Added changed the Makefile rule to use the new script.
264
	$(PY) cronscripts/scan_branches.py
4706.2.8 by Jonathan Lange
Add 'pull', 'scan' and 'rewritemap' targets to Makefile.
265
7675.624.31 by Tim Penhey
Make the makefile use the correct name for the merge proposal job script.
266
sync_branches: pull_branches scan_branches merge-proposal-jobs
4706.2.11 by Jonathan Lange
Add comments and a sync_branches target that does a pull and scan.
267
7430.1.3 by Gavin Panella
Post-review changes, and a few others.
268
$(BZR_VERSION_INFO):
7176.4.1 by Tom Haddon
Only create/recreate the bzr_version_info file if it's changed/needed
269
	scripts/update-bzr-version-info.sh
809 by Canonical.com Patch Queue Manager
Nuke some arch-tags
270
10466.8.8 by Leonard Richardson
Removed reference to DEVEL_WADL_FILE.
271
support_files: $(API_INDEX) $(BZR_VERSION_INFO)
7182.3.1 by Gary Poster
sketch to fix bugs 245368 and 268446.
272
8777.3.2 by Tom Haddon
Clean up make stop and make start by having them use the initscript-stop and initscript-start targets so we're not duplicating. Also clean up the comments for those as appropriate
273
# Intended for use on developer machines
274
start: inplace stop support_files initscript-start
275
1884 by Canonical.com Patch Queue Manager
[trivial] run-as-daemon targets
276
# Run as a daemon - hack using nohup until we move back to using zdaemon
7182.3.1 by Gary Poster
sketch to fix bugs 245368 and 268446.
277
# properly. We also should really wait until services are running before
1937 by Canonical.com Patch Queue Manager
[r=jamesh] Common PID file handing module
278
# exiting, as running 'make stop' too soon after running 'make start'
8777.3.2 by Tom Haddon
Clean up make stop and make start by having them use the initscript-stop and initscript-start targets so we're not duplicating. Also clean up the comments for those as appropriate
279
# will not work as expected. For use on production servers, where
280
# we know we don't need the extra steps in a full "make start"
281
# because of how the code is deployed/built.
7182.3.1 by Gary Poster
sketch to fix bugs 245368 and 268446.
282
initscript-start:
8690.4.2 by Francis J. Lacoste
Add a -i command line argument that sets the instance name.
283
	nohup bin/run -i $(LPCONFIG) > ${LPCONFIG}-nohup.out 2>&1 &
7143.1.1 by Tom Haddon
Add stripped down version of 'make start' as 'make initscript-start' for use on production servers where dependencies used in 'make start' aren't needed
284
8777.3.2 by Tom Haddon
Clean up make stop and make start by having them use the initscript-stop and initscript-start targets so we're not duplicating. Also clean up the comments for those as appropriate
285
# Intended for use on developer machines
286
stop: build initscript-stop
287
1937 by Canonical.com Patch Queue Manager
[r=jamesh] Common PID file handing module
288
# Kill launchpad last - other services will probably shutdown with it,
8777.3.2 by Tom Haddon
Clean up make stop and make start by having them use the initscript-stop and initscript-start targets so we're not duplicating. Also clean up the comments for those as appropriate
289
# so killing them after is a race condition. For use on production
9012.1.10 by Maris Fogels
Made the jscheck target use bin/jstest
290
# servers, where we know we don't need the extra steps in a full
8777.3.2 by Tom Haddon
Clean up make stop and make start by having them use the initscript-stop and initscript-start targets so we're not duplicating. Also clean up the comments for those as appropriate
291
# "make stop" because of how the code is deployed/built.
8777.3.1 by Tom Haddon
Create an initscript-stop target for use on production servers
292
initscript-stop:
10693.1.1 by William Grant
Remove all of buildd-sequencer, except the config keys (due to bug #557271).
293
	bin/killservice librarian launchpad mailman
8777.3.1 by Tom Haddon
Create an initscript-stop target for use on production servers
294
5447.1.1 by Tom Haddon
Adding shutdown option to makefile
295
shutdown: scheduleoutage stop
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
296
	$(RM) +maintenancetime.txt
5447.1.1 by Tom Haddon
Adding shutdown option to makefile
297
298
scheduleoutage:
5447.1.2 by Tom Haddon
Constant for shutdown and correct path locations
299
	echo Scheduling outage in ${MINS_TO_SHUTDOWN} mins
300
	date --iso-8601=minutes -u -d +${MINS_TO_SHUTDOWN}mins > +maintenancetime.txt
301
	echo Sleeping ${MINS_TO_SHUTDOWN} mins
302
	sleep ${MINS_TO_SHUTDOWN}m
5447.1.1 by Tom Haddon
Adding shutdown option to makefile
303
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
304
harness: bin/harness
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
305
	bin/harness
1716.5.37 by kiko
Add harness Makefile convenience shortcut
306
7675.573.1 by Edwin Grubbs
Run buildout if sprite-util does not exist.
307
iharness: bin/iharness
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
308
	bin/iharness
3673.1.10 by David Allouche
add iharness target to ./Makefile, that runs ipython instead of plain python
309
1716.5.42 by kiko
Add a rebuildfti Makefile target, and make newsampledata use it
310
rebuildfti:
311
	@echo Rebuilding FTI indexes on launchpad_dev database
8234.1.2 by Gary Poster
checkpoint: this initial buildout variant has several parts working, including run, start, stop, and harness.
312
	$(PY) database/schema/fti.py -d launchpad_dev --force
1716.5.42 by kiko
Add a rebuildfti Makefile target, and make newsampledata use it
313
9887.2.1 by Gary Poster
Makefile for making Python 2.5 a smoother transition
314
clean_js:
315
	$(RM) $(LP_BUILT_JS_ROOT)/launchpad.js
316
	$(RM) -r $(LAZR_BUILT_JS_ROOT)
317
10916.1.1 by Gary Poster
Make a new build target to allow LOSAs to pre-build eggs without pre-building scripts.
318
clean_buildout:
319
	$(RM) -r bin
320
	$(RM) -r parts
321
	$(RM) -r develop-eggs
322
	$(RM) .installed.cfg
323
	$(RM) -r build
324
	$(RM) _pythonpath.py
325
326
clean: clean_js clean_buildout
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
327
	$(MAKE) -C sourcecode/pygettextpo clean
9887.2.1 by Gary Poster
Makefile for making Python 2.5 a smoother transition
328
	# XXX gary 2009-11-16 bug 483782
329
	# The pygettextpo Makefile should have this next line in it for its make
330
	# clean, and then we should remove this line.
331
	$(RM) sourcecode/pygpgme/gpgme/*.so
9141.1.1 by Francis J. Lacoste
Only run make clean for Mailman if the Makefile has been created.
332
	if test -f sourcecode/mailman/Makefile; then \
333
		$(MAKE) -C sourcecode/mailman clean; \
334
	fi
9098.3.1 by Francis J. Lacoste
Don't clean eggs in make clean. Properly clean mailman.
335
	find . -path ./eggs -prune -false -o \
336
		-type f \( -name '*.o' -o -name '*.so' -o -name '*.la' -o \
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
337
	    -name '*.lo' -o -name '*.py[co]' -o -name '*.dll' \) \
338
	    -print0 | xargs -r0 $(RM)
339
	$(RM) thread*.request
8294.7.14 by Francis J. Lacoste
Clean a lot of junk directories in /var/tmp that can cause trouble.
340
	$(RM) -r lib/mailman
7459.4.14 by Francis J. Lacoste
Merge RF, resolving conflict.
341
	$(RM) -rf lib/canonical/launchpad/icing/build/*
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
342
	$(RM) -r $(CODEHOSTING_ROOT)
11044.3.1 by Jonathan Lange
Remove the apidoc directory, create it when we actually build the docs
343
	$(RM) -rf $(APIDOC_DIR)
10466.8.11 by Leonard Richardson
Remove the temporary apidoc directory during a make clean.
344
	$(RM) -rf $(APIDOC_DIR).tmp
7430.1.3 by Gavin Panella
Post-review changes, and a few others.
345
	$(RM) $(BZR_VERSION_INFO)
10713.1.1 by Gary Poster
use new version of z3c.recipe.filetemplate and zc.buildout fork to use relative paths.
346
	$(RM) +config-overrides.zcml
8294.7.14 by Francis J. Lacoste
Clean a lot of junk directories in /var/tmp that can cause trouble.
347
	$(RM) -rf \
348
			  /var/tmp/builddmaster \
349
			  /var/tmp/bzrsync \
350
			  /var/tmp/codehosting.test \
351
			  /var/tmp/codeimport \
352
			  /var/tmp/fatsam.appserver \
353
			  /var/tmp/lperr \
354
			  /var/tmp/lperr.test \
355
			  /var/tmp/mailman \
356
			  /var/tmp/mailman-xmlrpc.test \
357
			  /var/tmp/ppa \
358
			  /var/tmp/ppa.test \
359
			  /var/tmp/zeca
10546.1.2 by Michael Hudson
run tests in ec2 with /var/tmp/launchpad_mailqueue read-only
360
	# /var/tmp/launchpad_mailqueue is created read-only on ec2test
361
	# instances.
10546.1.3 by Michael Hudson
learn more shell, hudson!
362
	if [ -w /var/tmp/launchpad_mailqueue ]; then $(RM) -rf /var/tmp/launchpad_mailqueue; fi
10529.3.4 by Jonathan Lange
Add clean step for generated dependency files, hide the junk output,
363
	$(RM) -f lp.sfood lp-clustered.sfood lp-clustered.dot lp-clustered.svg
10546.1.2 by Michael Hudson
run tests in ec2 with /var/tmp/launchpad_mailqueue read-only
364
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
365
366
realclean: clean
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
367
	$(RM) TAGS tags
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
368
6206.1.1 by Tim Penhey
Update development location changes.
369
clean_codehosting:
7430.1.1 by Gavin Panella
Clean up the Makefile, including splittig the API doc task into three.
370
	$(RM) -r $(CODEHOSTING_ROOT)
6206.1.1 by Tim Penhey
Update development location changes.
371
	mkdir -p $(CODEHOSTING_ROOT)/mirrors
372
	mkdir -p $(CODEHOSTING_ROOT)/push-branches
6206.1.5 by Tim Penhey
Make sure that there is some launchpad lookup file.
373
	mkdir -p $(CODEHOSTING_ROOT)/config
8426.6.6 by Michael Hudson
create /var/tmp/bzrsync when we deal with the rest of codehosting. this is such a mess!
374
	mkdir -p /var/tmp/bzrsync
6206.1.5 by Tim Penhey
Make sure that there is some launchpad lookup file.
375
	touch $(CODEHOSTING_ROOT)/config/launchpad-lookup.txt
6206.1.1 by Tim Penhey
Update development location changes.
376
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
377
zcmldocs:
7430.1.3 by Gavin Panella
Post-review changes, and a few others.
378
	mkdir -p doc/zcml/namespaces.zope.org
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
379
	bin/stxdocs \
7430.1.3 by Gavin Panella
Post-review changes, and a few others.
380
	    -f sourcecode/zope/src/zope/app/zcmlfiles/meta.zcml \
381
	    -o doc/zcml/namespaces.zope.org
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
382
2237 by Canonical.com Patch Queue Manager
[trivial] Libraraian upstream tweaks, which demonstrate the the feature is broken (?)
383
potemplates: launchpad.pot
384
385
# Generate launchpad.pot by extracting message ids from the source
386
launchpad.pot:
8234.1.4 by Gary Poster
test works, nominally; and bin/py is a bit more functional. problems with import warnings are more serious because they cause tests to fail.
387
	bin/i18nextract.py
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
388
9948.1.1 by Maris Fogels
Make the apache process restart after installing the new configuration and modules, to prevent the new modules from segfaulting because of bugs.
389
# Called by the rocketfuel-setup script. You probably don't want to run this
390
# on its own.
5543.3.2 by Tim Penhey
Alterations to the way codebrowse is started, and updating rocketfuel-setup
391
install: reload-apache
392
6991.1.1 by Guilherme Salgado
Serve *.launchpad.dev through https
393
copy-certificates:
7029.3.3 by Henning Eggers
Added creation of /etc/apache/ssl directory to Makefile before copying files there, as it might not exist.
394
	mkdir -p /etc/apache2/ssl
6991.1.1 by Guilherme Salgado
Serve *.launchpad.dev through https
395
	cp configs/development/launchpad.crt /etc/apache2/ssl/
396
	cp configs/development/launchpad.key /etc/apache2/ssl/
397
398
copy-apache-config:
7459.5.19 by Michael Hudson
mandatory sed-implied comment
399
	# We insert the absolute path to the branch-rewrite script
400
	# into the Apache config as we copy the file into position.
7459.5.2 by Michael Hudson
add somewhat working script
401
	sed -e 's,%BRANCH_REWRITE%,$(shell pwd)/scripts/branch-rewrite.py,' configs/development/local-launchpad-apache > /etc/apache2/sites-available/local-launchpad
7675.775.1 by Guilherme Salgado
Fix a typo in Makefile
402
	cp configs/development/local-vostok-apache /etc/apache2/sites-available/local-vostok
8898.1.1 by Michael Hudson
chown the log file when installing the apache config
403
	touch /var/tmp/bazaar.launchpad.dev/rewrite.log
404
	chown $(SUDO_UID):$(SUDO_GID) /var/tmp/bazaar.launchpad.dev/rewrite.log
6991.1.1 by Guilherme Salgado
Serve *.launchpad.dev through https
405
406
enable-apache-launchpad: copy-apache-config copy-certificates
5543.3.2 by Tim Penhey
Alterations to the way codebrowse is started, and updating rocketfuel-setup
407
	a2ensite local-launchpad
11128.10.3 by Michael Hudson
remove vostok from launchpad apache config; install vostok apache config
408
	a2ensite local-vostok
5543.3.2 by Tim Penhey
Alterations to the way codebrowse is started, and updating rocketfuel-setup
409
6991.1.1 by Guilherme Salgado
Serve *.launchpad.dev through https
410
reload-apache: enable-apache-launchpad
9948.1.1 by Maris Fogels
Make the apache process restart after installing the new configuration and modules, to prevent the new modules from segfaulting because of bugs.
411
	/etc/init.d/apache2 restart
5543.3.2 by Tim Penhey
Alterations to the way codebrowse is started, and updating rocketfuel-setup
412
8234.1.6 by Gary Poster
fold bin/py into compile
413
TAGS: compile
8234.1.5 by Gary Poster
slight clean up.
414
	# emacs tags
415
	bin/tags -e
416
8234.1.6 by Gary Poster
fold bin/py into compile
417
tags: compile
8234.1.5 by Gary Poster
slight clean up.
418
	# vi tags
419
	bin/tags -v
420
8234.1.6 by Gary Poster
fold bin/py into compile
421
ID: compile
8234.1.5 by Gary Poster
slight clean up.
422
	# idutils ID file
423
	bin/tags -i
1102 by Canonical.com Patch Queue Manager
Lucille had some XXXs which should have been NOTEs
424
10529.3.1 by Jonathan Lange
Add Make targets to generate package dependency graphs with snakefood
425
lp.sfood:
426
	# Generate import dependency graph
427
	sfood -i -u -I lib/sqlobject -I lib/schoolbell -I lib/devscripts -I lib/contrib \
10529.3.4 by Jonathan Lange
Add clean step for generated dependency files, hide the junk output,
428
	-I lib/canonical/not-used lib/canonical lib/lp 2>/dev/null | grep -v contrib/ \
10529.3.1 by Jonathan Lange
Add Make targets to generate package dependency graphs with snakefood
429
	| grep -v sqlobject | grep -v BeautifulSoup | grep -v psycopg \
10529.3.4 by Jonathan Lange
Add clean step for generated dependency files, hide the junk output,
430
	| grep -v schoolbell > lp.sfood.tmp
10529.3.1 by Jonathan Lange
Add Make targets to generate package dependency graphs with snakefood
431
	mv lp.sfood.tmp lp.sfood
432
433
434
lp-clustered.sfood: lp.sfood lp-sfood-packages
435
	# Cluster the import dependency graph
436
	sfood-cluster -f lp-sfood-packages < lp.sfood > lp-clustered.sfood.tmp
437
	mv lp-clustered.sfood.tmp lp-clustered.sfood
438
439
440
lp-clustered.dot: lp-clustered.sfood
441
	# Build the visual graph
442
	sfood-graph -p < lp-clustered.sfood > lp-clustered.dot.tmp
443
	mv lp-clustered.dot.tmp lp-clustered.dot
444
445
446
lp-clustered.svg: lp-clustered.dot
447
	# Render to svg
448
	dot -Tsvg < lp-clustered.dot > lp-clustered.svg.tmp
449
	mv lp-clustered.svg.tmp lp-clustered.svg
450
10840.1.2 by Jelmer Vernooij
Use the same pydoctor command Michael uses to generate http://people.canonical.com/~mwh/canonicalapi/
451
PYDOCTOR = pydoctor
10870.1.1 by Maris Fogels
Added a new target for running the test suite in an ec2 image. Removed the WindmillLayer from that target. Fixed up the Makefile API a bit.
452
PYDOCTOR_OPTIONS =
10529.3.1 by Jonathan Lange
Add Make targets to generate package dependency graphs with snakefood
453
10840.1.1 by Jelmer Vernooij
Add pydoctor rule.
454
pydoctor:
10840.1.2 by Jelmer Vernooij
Use the same pydoctor command Michael uses to generate http://people.canonical.com/~mwh/canonicalapi/
455
	$(PYDOCTOR) --make-html --html-output=apidocs --add-package=lib/lp \
456
		--add-package=lib/canonical --project-name=Launchpad \
457
		--docformat restructuredtext --verbose-about epytext-summary \
458
		$(PYDOCTOR_OPTIONS)
10840.1.1 by Jelmer Vernooij
Add pydoctor rule.
459
8002.1.2 by Francis J. Lacoste
Run dbfreeze_check on merge.
460
.PHONY: apidoc check tags TAGS zcmldocs realclean clean debug stop\
461
	start run ftest_build ftest_inplace test_build test_inplace pagetests\
10977.1.1 by Maris Fogels
Removed the ec2_check phony makefile target.
462
	check check_merge \
8002.1.2 by Francis J. Lacoste
Run dbfreeze_check on merge.
463
	schema default launchpad.pot check_merge_ui pull scan sync_branches\
9570.14.1 by Bjorn Tillenius
Use lazr-js as an egg.
464
	reload-apache hosted_branches check_db_merge check_mailman check_config\
10916.1.1 by Gary Poster
Make a new build target to allow LOSAs to pre-build eggs without pre-building scripts.
465
	jsbuild jsbuild_lazr clean_js clean_buildout buildonce_eggs build_eggs\
10840.1.1 by Jelmer Vernooij
Add pydoctor rule.
466
	sprite_css sprite_image css_combine compile check_schema pydoctor