1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
1 |
python := python2.7 |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
2 |
|
3 |
# Network activity can be suppressed by setting offline=true (or any
|
|
4 |
# non-empty string) at the command-line.
|
|
5 |
ifeq ($(offline),)
|
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
6 |
buildout := bin/buildout |
7 |
virtualenv := virtualenv |
|
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
8 |
else
|
9 |
buildout := bin/buildout buildout:offline=true |
|
10 |
virtualenv := virtualenv --never-download |
|
11 |
endif
|
|
12 |
||
13 |
# If offline has been selected, attempt to further block HTTP/HTTPS
|
|
14 |
# activity by setting bogus proxies in the environment.
|
|
15 |
ifneq ($(offline),)
|
|
16 |
export http_proxy := broken |
|
17 |
export https_proxy := broken |
|
18 |
endif
|
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
19 |
|
20 |
# Python enum modules.
|
|
21 |
py_enums := $(wildcard src/*/enum.py) |
|
22 |
# JavaScript enum module (not modules).
|
|
23 |
js_enums := src/maasserver/static/js/enums.js |
|
24 |
||
25 |
# Prefix commands with this when they need access to the database.
|
|
26 |
# Remember to add a dependency on bin/database from the targets in
|
|
27 |
# which those commands appear.
|
|
28 |
dbrun := bin/database --preserve run -- |
|
29 |
||
30 |
# For things that care, postgresfixture for example, we always want to
|
|
31 |
# use the "maas" databases.
|
|
32 |
export PGDATABASE := maas |
|
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
33 |
|
34 |
build: \ |
|
35 |
bin/buildout \ |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
36 |
bin/database \ |
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
37 |
bin/maas-region-admin bin/test.maas \ |
38 |
bin/maas bin/test.maascli \ |
|
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
39 |
bin/test.maastesting \ |
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
40 |
bin/twistd.pserv bin/test.pserv \ |
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
41 |
bin/test.config \ |
1.2.17
by Andres Rodriguez
Import upstream version 1.4+bzr1789+dfsg |
42 |
bin/maas-probe-dhcp \ |
1.1.3
by Andres Rodriguez
Import upstream version 0.1+bzr295+dfsg |
43 |
bin/twistd.txlongpoll \ |
1.2.18
by Andres Rodriguez
Import upstream version 1.4+bzr1817+dfsg |
44 |
bin/celeryd.cluster bin/celeryd.region \ |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
45 |
bin/py bin/ipy \ |
46 |
$(js_enums) |
|
47 |
||
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
48 |
all: build doc |
49 |
||
1.1.17
by Andres Rodriguez
Import upstream version 0.1+bzr971+dfsg |
50 |
# Install all packages required for MAAS development & operation on
|
51 |
# the system. This may prompt for a password.
|
|
52 |
install-dependencies: |
|
53 |
sudo DEBIAN_FRONTEND=noninteractive apt-get -y \ |
|
1.2.14
by Andres Rodriguez
Import upstream version 1.4+bzr1655+dfsg |
54 |
--no-install-recommends install $(shell sort -u \ |
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
55 |
$(addprefix required-packages/,base build dev doc)) |
56 |
sudo DEBIAN_FRONTEND=noninteractive apt-get -y \ |
|
57 |
purge $(shell sort -u required-packages/forbidden) |
|
1.1.17
by Andres Rodriguez
Import upstream version 0.1+bzr971+dfsg |
58 |
|
1.2.20
by Dustin Kirkland
Import upstream version 1.4+bzr1853+dfsg |
59 |
bin/python: |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
60 |
$(virtualenv) --python=$(python) --system-site-packages $(CURDIR) |
61 |
||
1.2.20
by Dustin Kirkland
Import upstream version 1.4+bzr1853+dfsg |
62 |
bin/buildout: bin/python bootstrap/zc.buildout-1.5.2.tar.gz |
63 |
bin/python -m pip --quiet install --ignore-installed \
|
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
64 |
--no-dependencies bootstrap/zc.buildout-1.5.2.tar.gz |
65 |
$(RM) -f README.txt # zc.buildout installs an annoying README.txt. |
|
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
66 |
@touch --no-create $@ # Ensure it's newer than its dependencies. |
67 |
||
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
68 |
bin/database: bin/buildout buildout.cfg versions.cfg setup.py |
69 |
$(buildout) install database |
|
70 |
@touch --no-create $@
|
|
71 |
||
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
72 |
bin/maas-region-admin bin/celeryd.region: \ |
1.2.18
by Andres Rodriguez
Import upstream version 1.4+bzr1817+dfsg |
73 |
bin/buildout buildout.cfg versions.cfg setup.py $(js_enums) |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
74 |
$(buildout) install maas |
75 |
@touch --no-create $@
|
|
76 |
||
77 |
bin/test.maas: bin/buildout buildout.cfg versions.cfg setup.py $(js_enums) |
|
78 |
$(buildout) install maas-test |
|
79 |
@touch --no-create $@
|
|
80 |
||
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
81 |
bin/maas: bin/buildout buildout.cfg versions.cfg setup.py |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
82 |
$(buildout) install maascli |
83 |
@touch --no-create $@
|
|
84 |
||
85 |
bin/test.maascli: bin/buildout buildout.cfg versions.cfg setup.py |
|
86 |
$(buildout) install maascli-test |
|
87 |
@touch --no-create $@
|
|
88 |
||
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
89 |
bin/test.maastesting: bin/buildout buildout.cfg versions.cfg setup.py |
90 |
$(buildout) install maastesting-test |
|
91 |
@touch --no-create $@
|
|
92 |
||
1.2.18
by Andres Rodriguez
Import upstream version 1.4+bzr1817+dfsg |
93 |
bin/maas-provision bin/twistd.pserv bin/celeryd.cluster: \ |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
94 |
bin/buildout buildout.cfg versions.cfg setup.py |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
95 |
$(buildout) install pserv |
96 |
@touch --no-create $@
|
|
97 |
||
98 |
bin/test.pserv: bin/buildout buildout.cfg versions.cfg setup.py |
|
99 |
$(buildout) install pserv-test |
|
100 |
@touch --no-create $@
|
|
101 |
||
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
102 |
bin/test.config: bin/buildout buildout.cfg versions.cfg setup.py |
103 |
$(buildout) install config-test |
|
104 |
@touch --no-create $@
|
|
105 |
||
1.2.17
by Andres Rodriguez
Import upstream version 1.4+bzr1789+dfsg |
106 |
bin/maas-probe-dhcp: bin/buildout buildout.cfg versions.cfg setup.py |
107 |
$(buildout) install maas-probe-dhcp |
|
108 |
@touch --no-create $@
|
|
109 |
||
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
110 |
bin/twistd.txlongpoll: bin/buildout buildout.cfg versions.cfg setup.py |
111 |
$(buildout) install txlongpoll |
|
112 |
@touch --no-create $@
|
|
113 |
||
114 |
bin/flake8: bin/buildout buildout.cfg versions.cfg setup.py |
|
115 |
$(buildout) install flake8 |
|
116 |
@touch --no-create $@
|
|
117 |
||
1.2.2
by Andres Rodriguez
Import upstream version 1.2+bzr1349+dfsg |
118 |
bin/sphinx bin/sphinx-build: bin/buildout buildout.cfg versions.cfg setup.py |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
119 |
$(buildout) install sphinx |
120 |
@touch --no-create $@
|
|
121 |
||
122 |
bin/py bin/ipy: bin/buildout buildout.cfg versions.cfg setup.py |
|
123 |
$(buildout) install repl |
|
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
124 |
@touch --no-create bin/py bin/ipy |
125 |
||
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
126 |
test: build |
1.1.16
by Andres Rodriguez
Import upstream version 0.1+bzr777+dfsg |
127 |
echo $(wildcard bin/test.*) | xargs -n1 env |
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
128 |
|
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
129 |
lint: lint-py lint-js lint-doc |
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
130 |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
131 |
pocketlint = $(call available,pocketlint,python-pocket-lint) |
132 |
||
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
133 |
# XXX jtv 2014-02-25: Clean up this lint, then make it part of "make lint".
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
134 |
lint-css: sources = src/maasserver/static/css |
135 |
lint-css: |
|
136 |
@find $(sources) -type f \ |
|
137 |
-print0 | xargs -r0 $(pocketlint) --max-length=120 |
|
138 |
||
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
139 |
lint-py: sources = $(wildcard *.py contrib/*.py) src templates twisted utilities etc |
140 |
lint-py: bin/flake8 |
|
141 |
@find $(sources) -name '*.py' ! -path '*/migrations/*' \ |
|
142 |
-print0 | xargs -r0 bin/flake8 --ignore=E123 --config=/dev/null |
|
143 |
||
144 |
lint-doc: |
|
145 |
@./utilities/doc-lint |
|
146 |
||
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
147 |
lint-js: sources = src/maasserver/static/js |
148 |
lint-js: |
|
149 |
@find $(sources) -type f -print0 | xargs -r0 $(pocketlint) |
|
150 |
||
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
151 |
# Apply automated formatting to all Python files.
|
152 |
format: sources = $(wildcard *.py contrib/*.py) src templates twisted utilities etc |
|
153 |
format: |
|
154 |
@find $(sources) -name '*.py' -print0 | xargs -r0 ./utilities/format-imports |
|
155 |
||
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
156 |
check: clean test |
157 |
||
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
158 |
docs/api.rst: bin/maas-region-admin src/maasserver/api.py syncdb |
159 |
bin/maas-region-admin generate_api_doc > $@
|
|
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
160 |
|
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
161 |
sampledata: bin/maas-region-admin bin/database syncdb |
162 |
$(dbrun) bin/maas-region-admin loaddata src/maasserver/fixtures/dev_fixture.yaml |
|
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
163 |
|
164 |
doc: bin/sphinx docs/api.rst |
|
165 |
bin/sphinx |
|
166 |
||
1.2.2
by Andres Rodriguez
Import upstream version 1.2+bzr1349+dfsg |
167 |
man: $(patsubst docs/man/%.rst,man/%,$(wildcard docs/man/*.rst)) |
168 |
||
169 |
man/%: docs/man/%.rst | bin/sphinx-build |
|
170 |
bin/sphinx-build -b man docs man $^ |
|
171 |
||
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
172 |
enums: $(js_enums) |
173 |
||
174 |
$(js_enums): bin/py src/maasserver/utils/jsenums.py $(py_enums) |
|
175 |
bin/py -m src/maasserver/utils/jsenums $(py_enums) > $@ |
|
176 |
||
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
177 |
clean: |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
178 |
$(MAKE) -C acceptance $@ |
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
179 |
find . -type f -name '*.py[co]' -print0 | xargs -r0 $(RM) |
180 |
find . -type f -name '*~' -print0 | xargs -r0 $(RM) |
|
1.2.5
by Andres Rodriguez
Import upstream version 1.3+bzr1452+dfsg |
181 |
find . -type f -name dropin.cache -print0 | xargs -r0 $(RM) |
1.1.3
by Andres Rodriguez
Import upstream version 0.1+bzr295+dfsg |
182 |
$(RM) -r media/demo/* media/development |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
183 |
$(RM) $(js_enums) |
184 |
$(RM) *.log |
|
185 |
$(RM) docs/api.rst |
|
1.2.5
by Andres Rodriguez
Import upstream version 1.3+bzr1452+dfsg |
186 |
$(RM) -r docs/_autosummary docs/_build |
1.2.2
by Andres Rodriguez
Import upstream version 1.2+bzr1349+dfsg |
187 |
$(RM) -r man/.doctrees |
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
188 |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
189 |
distclean: clean stop |
190 |
$(RM) -r bin include lib local |
|
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
191 |
$(RM) -r eggs develop-eggs |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
192 |
$(RM) -r build dist logs/* parts |
1
by Julian Edwards
Import upstream version 0.1~bzr146+dfsg |
193 |
$(RM) tags TAGS .installed.cfg |
194 |
$(RM) -r *.egg *.egg-info src/*.egg-info |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
195 |
$(RM) -r run/* services/*/supervise |
196 |
||
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
197 |
harness: bin/maas-region-admin bin/database |
198 |
$(dbrun) bin/maas-region-admin shell --settings=maas.demo |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
199 |
|
200 |
dbharness: bin/database |
|
201 |
bin/database --preserve shell |
|
202 |
||
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
203 |
syncdb: bin/maas-region-admin bin/database |
204 |
$(dbrun) bin/maas-region-admin syncdb --noinput |
|
205 |
$(dbrun) bin/maas-region-admin migrate maasserver --noinput |
|
206 |
$(dbrun) bin/maas-region-admin migrate metadataserver --noinput |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
207 |
|
208 |
define phony_targets
|
|
209 |
build |
|
210 |
check |
|
211 |
clean |
|
212 |
dbharness |
|
213 |
distclean |
|
214 |
doc |
|
215 |
enums |
|
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
216 |
format |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
217 |
harness |
1.1.17
by Andres Rodriguez
Import upstream version 0.1+bzr971+dfsg |
218 |
install-dependencies |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
219 |
lint |
220 |
lint-css |
|
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
221 |
lint-doc |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
222 |
lint-js |
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
223 |
lint-py |
1.2.2
by Andres Rodriguez
Import upstream version 1.2+bzr1349+dfsg |
224 |
man |
1.2.24
by Andres Rodriguez
Import upstream version 1.5+bzr1976 |
225 |
package |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
226 |
sampledata |
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
227 |
source_package |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
228 |
syncdb |
229 |
test
|
|
230 |
endef
|
|
231 |
||
232 |
#
|
|
233 |
# Development services.
|
|
234 |
#
|
|
235 |
||
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
236 |
service_names_region := database dns region-worker reloader txlongpoll web webapp |
237 |
service_names_cluster := cluster-worker pserv reloader |
|
238 |
service_names_all := $(service_names_region) $(service_names_cluster) |
|
239 |
||
240 |
# The following template is intended to be used with `call`, and it
|
|
241 |
# accepts a single argument: a target name. The target name must
|
|
242 |
# correspond to a service action (see "Pseudo-magic targets" below).
|
|
243 |
# A region- and cluster-specific variant of the target will be
|
|
244 |
# created, in addition to the target itself. These can be used to
|
|
245 |
# apply the service action to the region services, the cluster
|
|
246 |
# services, or all services, at the same time.
|
|
247 |
define service_template
|
|
248 |
$(1)-region: $(patsubst %,services/%/@$(1),$(service_names_region)) |
|
249 |
$(1)-cluster: $(patsubst %,services/%/@$(1),$(service_names_cluster)) |
|
250 |
$(1): $(1)-region $(1)-cluster |
|
251 |
phony_services_targets += $(1)-region $(1)-cluster $(1) |
|
252 |
endef
|
|
253 |
||
254 |
# Expand out aggregate service targets using `service_template`.
|
|
255 |
$(eval $(call service_template,pause)) |
|
256 |
$(eval $(call service_template,restart)) |
|
257 |
$(eval $(call service_template,start)) |
|
258 |
$(eval $(call service_template,status)) |
|
259 |
$(eval $(call service_template,stop)) |
|
260 |
$(eval $(call service_template,supervise)) |
|
261 |
||
262 |
# The `run` targets do not fit into the mould of the others.
|
|
263 |
run-region: |
|
264 |
@services/run $(service_names_region) |
|
265 |
run-cluster: |
|
266 |
@services/run $(service_names_cluster) |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
267 |
run: |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
268 |
@services/run $(service_names_all) |
269 |
||
270 |
phony_services_targets += run-region run-cluster run |
|
271 |
||
272 |
# This one's for the rapper, yo.
|
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
273 |
run+webapp: |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
274 |
@services/run $(service_names_region) +webapp |
275 |
||
276 |
phony_services_targets += run+webapp |
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
277 |
|
278 |
# Convenient variables and functions for service control.
|
|
279 |
||
280 |
setlock = $(call available,setlock,daemontools) |
|
281 |
supervise = $(call available,supervise,daemontools) |
|
282 |
svc = $(call available,svc,daemontools) |
|
283 |
svok = $(call available,svok,daemontools) |
|
284 |
svstat = $(call available,svstat,daemontools) |
|
285 |
||
286 |
service_lock = $(setlock) -n /run/lock/maas.dev.$(firstword $(1)) |
|
287 |
||
288 |
# Pseudo-magic targets for controlling individual services.
|
|
289 |
||
290 |
services/%/@run: services/%/@stop services/%/@deps |
|
291 |
@$(call service_lock, $*) services/$*/run |
|
292 |
||
293 |
services/%/@start: services/%/@supervise |
|
294 |
@$(svc) -u $(@D) |
|
295 |
||
296 |
services/%/@pause: services/%/@supervise |
|
297 |
@$(svc) -d $(@D) |
|
298 |
||
299 |
services/%/@status: |
|
300 |
@$(svstat) $(@D) |
|
301 |
||
302 |
services/%/@restart: services/%/@supervise |
|
303 |
@$(svc) -du $(@D) |
|
304 |
||
305 |
services/%/@stop: |
|
306 |
@if $(svok) $(@D); then $(svc) -dx $(@D); fi |
|
307 |
@while $(svok) $(@D); do sleep 0.1; done |
|
308 |
||
309 |
services/%/@supervise: services/%/@deps |
|
310 |
@mkdir -p logs/$*
|
|
311 |
@touch $(@D)/down |
|
312 |
@if ! $(svok) $(@D); then \ |
|
313 |
logdir=$(CURDIR)/logs/$* \ |
|
314 |
$(call service_lock, $*) $(supervise) $(@D) & fi |
|
315 |
@while ! $(svok) $(@D); do sleep 0.1; done |
|
316 |
||
317 |
# Dependencies for individual services.
|
|
318 |
||
1.1.14
by Andres Rodriguez
Import upstream version 0.1+bzr740+dfsg |
319 |
services/dns/@deps: bin/py |
320 |
||
1.2.18
by Andres Rodriguez
Import upstream version 1.4+bzr1817+dfsg |
321 |
services/cluster-worker/@deps: bin/celeryd.cluster |
1.1.18
by Andres Rodriguez
Import upstream version 0.1+bzr1223+dfsg |
322 |
|
1.2.18
by Andres Rodriguez
Import upstream version 1.4+bzr1817+dfsg |
323 |
services/region-worker/@deps: bin/celeryd.region |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
324 |
|
325 |
services/database/@deps: bin/database |
|
326 |
||
327 |
services/pserv/@deps: bin/twistd.pserv |
|
328 |
||
329 |
services/reloader/@deps: |
|
330 |
||
331 |
services/txlongpoll/@deps: bin/twistd.txlongpoll |
|
332 |
||
333 |
services/web/@deps: |
|
334 |
||
1.2.22
by Andres Rodriguez
Import upstream version 1.5+bzr1948 |
335 |
services/webapp/@deps: bin/maas-region-admin |
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
336 |
|
337 |
#
|
|
1.2.24
by Andres Rodriguez
Import upstream version 1.5+bzr1976 |
338 |
# Package building
|
339 |
#
|
|
340 |
# This ought to be as simple as using bzr builddeb --export-upstream but it
|
|
341 |
# has a bug and always considers apt-source tarballs before the specified
|
|
342 |
# branch. So instead, export to a local tarball which is always found.
|
|
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
343 |
# Make sure debhelper and dh-apport packages are installed before using this.
|
344 |
PACKAGING := $(CURDIR)/../packaging.trunk |
|
345 |
PACKAGING_BRANCH := lp:~maas-maintainers/maas/packaging |
|
346 |
||
347 |
package_branch: |
|
348 |
@echo Downloading/refreshing packaging branch... |
|
349 |
@if [ ! -d $(PACKAGING) ]; then \ |
|
350 |
bzr branch $(PACKAGING_BRANCH) $(PACKAGING); \ |
|
351 |
else bzr pull -d $(PACKAGING); fi
|
|
352 |
||
353 |
# Make sure an orig tarball generated from the current branch is placed in the
|
|
354 |
# build area.
|
|
355 |
package_export: VER = $(shell dpkg-parsechangelog -l$(PACKAGING)/debian/changelog | sed -rne 's,^Version: ([^-]+).*,\1,p') |
|
356 |
package_export: TARBALL = maas_$(VER).orig.tar.gz |
|
357 |
package_export: package_branch |
|
358 |
@$(RM) -f ../build-area/$(TARBALL) |
|
359 |
@mkdir -p ../build-area |
|
360 |
@bzr export --root=maas-$(VER).orig ../build-area/$(TARBALL) $(CURDIR) |
|
361 |
||
362 |
package: package_export |
|
1.2.24
by Andres Rodriguez
Import upstream version 1.5+bzr1976 |
363 |
bzr bd --merge $(PACKAGING) -- -uc -us |
1.2.26
by Andres Rodriguez
Import upstream version 1.5+bzr2204 |
364 |
@echo Binary packages built, see parent directory. |
365 |
||
366 |
source_package: package_export |
|
367 |
bzr bd --merge $(PACKAGING) -- -S -uc -us |
|
368 |
@echo Source package built, see parent directory. |
|
1.2.24
by Andres Rodriguez
Import upstream version 1.5+bzr1976 |
369 |
|
370 |
#
|
|
1.1.13
by Andres Rodriguez
Import upstream version 0.1+bzr709+dfsg |
371 |
# Phony stuff.
|
372 |
#
|
|
373 |
||
374 |
define phony
|
|
375 |
$(phony_services_targets) |
|
376 |
$(phony_targets) |
|
377 |
endef
|
|
378 |
||
379 |
phony := $(sort $(strip $(phony))) |
|
380 |
||
381 |
.PHONY: $(phony) |
|
382 |
||
383 |
#
|
|
384 |
# Functions.
|
|
385 |
#
|
|
386 |
||
387 |
# Check if a command is found on PATH. Raise an error if not, citing
|
|
388 |
# the package to install. Return the command otherwise.
|
|
389 |
# Usage: $(call available,<command>,<package>)
|
|
390 |
define available
|
|
391 |
$(if $(shell which $(1)),$(1),$(error $(1) not found; \ |
|
392 |
install it with 'sudo apt-get install $(2)')) |
|
393 |
endef
|