building for f31
[build.git] / lxc.mk
1 #
2 # declare the packages to be built and their dependencies
3 # initial version from Mark Huang
4 # Mark Huang <mlhuang@cs.princeton.edu>
5 # Copyright (C) 2003-2006 The Trustees of Princeton University
6 # rewritten by Thierry Parmentelat - INRIA Sophia Antipolis
7 #
8 # see doc in Makefile
9 #
10
11 ### the madwifi drivers ship with fedora16's kernel rpm
12
13 #
14 # lxc-userspace: scripts for entering containers
15 #
16 lxc-userspace-MODULES := lxc-userspace
17 lxc-userspace-SPEC := lxc-userspace.spec
18 ALL += lxc-userspace
19 IN_NODEIMAGE += lxc-userspace
20
21 #
22 # transforward: root context module for transparent port forwarding
23 #
24 # with 4.19, the jprobe api has gone entirely
25 # https://github.com/torvalds/linux/commit/4de58696de076d9bd2745d1cbe0930635c3f5ac9
26 #
27 ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME), f29 f31)"
28 #
29 transforward-MODULES := transforward
30 transforward-SPEC := transforward.spec
31 ALL += transforward
32 IN_NODEIMAGE += transforward
33 endif
34
35 #
36 # procprotect: root context module for protecting against weaknesses in /proc
37 # has gone since f20
38 #
39
40 #
41 # ipfw: root context module, and slice companion
42 # has gone since f21
43 #
44
45 #
46 # comgt - a companion to umts tools
47 #
48 comgt-MODULES := comgt
49 comgt-SPEC := comgt.spec
50 IN_NODEIMAGE += comgt
51 ALL += comgt
52
53 #
54 # umts: root context stuff
55 #
56 umts-backend-MODULES := planetlab-umts-tools
57 umts-backend-SPEC := backend.spec
58 IN_NODEIMAGE += umts-backend
59 ALL += umts-backend
60
61 #
62 # umts: slice tools
63 #
64 umts-frontend-MODULES := planetlab-umts-tools
65 umts-frontend-SPEC := frontend.spec
66 IN_SLICEIMAGE += umts-frontend
67 ALL += umts-frontend
68
69 #
70 # NodeUpdate
71 #
72 nodeupdate-MODULES := nodeupdate
73 nodeupdate-SPEC := NodeUpdate.spec
74 ALL += nodeupdate
75 IN_NODEIMAGE += nodeupdate
76
77 #
78 # ipod
79 #
80 ipod-MODULES := PingOfDeath
81 ipod-SPEC := ipod.spec
82 ALL += ipod
83 IN_NODEIMAGE += ipod
84
85 #
86 # plnode-utils
87 #
88 plnode-utils-MODULES := plnode-utils
89 plnode-utils-SPEC := plnode-utils-lxc.spec
90 ALL += plnode-utils
91 IN_NODEIMAGE += plnode-utils
92
93 #
94 # nodemanager
95 #
96 nodemanager-MODULES := nodemanager
97 nodemanager-SPEC := nodemanager.spec
98 ALL += nodemanager
99 IN_NODEIMAGE += nodemanager
100
101 #
102 # pl_sshd
103 #
104 sshd-MODULES := pl_sshd
105 sshd-SPEC := pl_sshd.spec
106 ALL += sshd
107 IN_NODEIMAGE += sshd
108
109 #
110 # codemux: Port 80 demux
111 #
112 codemux-MODULES := codemux
113 codemux-SPEC   := codemux.spec
114 ALL += codemux
115 IN_NODEIMAGE += codemux
116
117 #
118 # fprobe-ulog
119 # has gone since f20
120 #
121
122 #
123 # our own brew of libvirt
124 # is no longer needed since f22
125 #
126
127 #
128 # pf2slice
129 #
130 pf2slice-MODULES := pf2slice
131 pf2slice-SPEC := pf2slice.spec
132 ALL += pf2slice
133
134 #
135 # vsys
136 #
137 vsys-MODULES := vsys
138 vsys-SPEC := vsys.spec
139 # ocaml-docs is not needed anymore but keep it on a tmp basis as some tags may still have it
140 vsys-STOCK-DEVEL-RPMS += ocaml-ocamldoc ocaml-docs
141 IN_NODEIMAGE += vsys
142 ALL += vsys
143
144 #
145 # vsyssh : installed in slivers
146 #
147 vsyssh-MODULES := vsys
148 vsyssh-SPEC := vsyssh.spec
149 IN_SLICEIMAGE += vsyssh
150 ALL += vsyssh
151
152 #
153 # vsys-scripts
154 #
155 vsys-scripts-MODULES := vsys-scripts
156 vsys-scripts-SPEC := root-context/vsys-scripts.spec
157 IN_NODEIMAGE += vsys-scripts
158 ALL += vsys-scripts
159
160 vsys-wrapper-MODULES := vsys-scripts
161 vsys-wrapper-SPEC := slice-context/vsys-wrapper.spec
162 IN_SLICEIMAGE += vsys-wrapper
163 ALL += vsys-wrapper
164
165 #
166 # bind_public
167 #
168 bind_public-MODULES := bind_public
169 bind_public-SPEC := bind_public.spec
170 IN_SLICEIMAGE += bind_public
171 ALL += bind_public
172
173 # in fedora 29, this triggers nasty-looking compile messages
174 # not trying too hard, we're mostly after the server-side of f29 and above
175 ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME), f29 f31)"
176 #
177 # sliver-openvswitch
178 #
179 sliver-openvswitch-MODULES := sliver-openvswitch
180 sliver-openvswitch-SPEC := sliver-openvswitch.spec
181 IN_SLICEIMAGE += sliver-openvswitch
182 ALL += sliver-openvswitch
183 endif
184
185 #
186 # plcapi
187 #
188 plcapi-MODULES := plcapi
189 plcapi-SPEC := plcapi.spec
190 ALL += plcapi
191 IN_MYPLC += plcapi
192
193 #
194 # drupal
195 #
196 drupal-MODULES := drupal
197 drupal-SPEC := drupal.spec
198 drupal-BUILD-FROM-SRPM := yes
199 ALL += drupal
200 IN_MYPLC += drupal
201
202 #
203 # use the plewww module instead
204 #
205 plewww-MODULES := plewww
206 plewww-SPEC := plewww.spec
207 ALL += plewww
208 IN_MYPLC += plewww
209
210 #
211 # www-register-wizard
212 #
213 www-register-wizard-MODULES := www-register-wizard
214 www-register-wizard-SPEC := www-register-wizard.spec
215 ALL += www-register-wizard
216 IN_MYPLC += www-register-wizard
217
218 #
219 # pcucontrol
220 #
221 # WARNING: as of f27 I have to remove support for SSL in pcucontrol
222 # see pcucontrol.spec for details
223 pcucontrol-MODULES := pcucontrol
224 pcucontrol-SPEC := pcucontrol.spec
225 ALL += pcucontrol
226
227 #
228 # monitor
229 #
230 #monitor-MODULES := monitor
231 #monitor-SPEC := Monitor.spec
232 #monitor-STOCK-DEVEL-RPMS += net-snmp net-snmp-devel
233 #ALL += monitor
234 #IN_NODEIMAGE += monitor
235
236 #
237 # PLC RT
238 #
239 plcrt-MODULES := PLCRT
240 plcrt-SPEC := plcrt.spec
241 ALL += plcrt
242
243 # nodeconfig
244 #
245 nodeconfig-MODULES := nodeconfig
246 nodeconfig-SPEC := nodeconfig.spec
247 ALL += nodeconfig
248 IN_MYPLC += nodeconfig
249
250 #
251 # bootmanager
252 #
253 bootmanager-MODULES := bootmanager
254 bootmanager-SPEC := bootmanager.spec
255 ALL += bootmanager
256 IN_MYPLC += bootmanager
257
258 #
259 # pypcilib : used in bootcd
260 #
261 pypcilib-MODULES := pypcilib
262 pypcilib-SPEC := pypcilib.spec
263 ALL += pypcilib
264 IN_BOOTCD += pypcilib
265
266 #
267 # pyplnet
268 #
269 pyplnet-MODULES := pyplnet
270 pyplnet-SPEC := pyplnet.spec
271 ALL += pyplnet
272 IN_NODEIMAGE += pyplnet
273 IN_MYPLC += pyplnet
274 IN_BOOTCD += pyplnet
275
276 #
277 # bootcd
278 #
279 bootcd-MODULES := bootcd build
280 bootcd-SPEC := bootcd.spec
281 bootcd-DEPEND-PACKAGES := $(IN_BOOTCD)
282 bootcd-DEPEND-FILES := RPMS/yumgroups.xml
283 bootcd-RPMDATE := yes
284 ALL += bootcd
285 IN_MYPLC += bootcd
286
287 #
288 # images for slices
289 #
290 sliceimage-MODULES := sliceimage build
291 sliceimage-SPEC := sliceimage.spec
292 sliceimage-DEPEND-PACKAGES := $(IN_SLICEIMAGE)
293 sliceimage-DEPEND-FILES := RPMS/yumgroups.xml
294 sliceimage-RPMDATE := yes
295 ALL += sliceimage
296 IN_NODEIMAGE += sliceimage
297
298 #
299 # lxc-specific sliceimage initialization
300 #
301 lxc-sliceimage-MODULES  := sliceimage
302 lxc-sliceimage-SPEC     := lxc-sliceimage.spec
303 lxc-sliceimage-RPMDATE  := yes
304 ALL                     += lxc-sliceimage
305 IN_NODEIMAGE            += lxc-sliceimage
306
307 #
308 # nodeimage
309 #
310 nodeimage-MODULES := nodeimage build
311 nodeimage-SPEC := nodeimage.spec
312 nodeimage-DEPEND-PACKAGES := $(IN_NODEIMAGE)
313 nodeimage-DEPEND-FILES := RPMS/yumgroups.xml
314 nodeimage-RPMDATE := yes
315 ALL += nodeimage
316 IN_MYPLC += nodeimage
317
318 #
319 # noderepo
320 #
321 # all rpms resulting from packages marked as being in nodeimage and sliceimage
322 NODEREPO_RPMS = $(foreach package,$(IN_NODEIMAGE) $(IN_NODEREPO) $(IN_SLICEIMAGE),$($(package).rpms))
323 # replace space with +++ (specvars cannot deal with spaces)
324 SPACE=$(subst x, ,x)
325 NODEREPO_RPMS_3PLUS = $(subst $(SPACE),+++,$(NODEREPO_RPMS))
326
327 noderepo-MODULES := nodeimage
328 noderepo-SPEC := noderepo.spec
329 # package requires all embedded packages
330 noderepo-DEPEND-PACKAGES := $(IN_NODEIMAGE) $(IN_NODEREPO) $(IN_SLICEIMAGE)
331 noderepo-DEPEND-FILES := RPMS/yumgroups.xml
332 #export rpm list to the specfile
333 noderepo-SPECVARS = node_rpms_plus=$(NODEREPO_RPMS_3PLUS)
334 noderepo-RPMDATE := yes
335 ALL += noderepo
336 IN_MYPLC += noderepo
337
338 #
339 # slicerepo
340 #
341 # all rpms resulting from packages marked as being in vserver
342 SLICEREPO_RPMS = $(foreach package,$(IN_SLICEIMAGE),$($(package).rpms))
343 # replace space with +++ (specvars cannot deal with spaces)
344 SPACE=$(subst x, ,x)
345 SLICEREPO_RPMS_3PLUS = $(subst $(SPACE),+++,$(SLICEREPO_RPMS))
346
347 slicerepo-MODULES := nodeimage
348 slicerepo-SPEC := slicerepo.spec
349 # package requires all embedded packages
350 slicerepo-DEPEND-PACKAGES := $(IN_SLICEIMAGE)
351 slicerepo-DEPEND-FILES := RPMS/yumgroups.xml
352 #export rpm list to the specfile
353 slicerepo-SPECVARS = slice_rpms_plus=$(SLICEREPO_RPMS_3PLUS)
354 slicerepo-RPMDATE := yes
355 ALL += slicerepo
356
357 #
358 # MyPLC : lightweight packaging, dependencies are yum-installed in a vserver
359 #
360 myplc-MODULES := myplc
361 myplc-SPEC := myplc.spec
362 myplc-DEPEND-FILES := myplc-release RPMS/yumgroups.xml
363 ALL += myplc
364
365 # myplc-docs only contains docs for PLCAPI and NMAPI, but
366 # we still need to pull MyPLC, as it is where the specfile lies,
367 # together with the utility script docbook2drupal.sh
368 myplc-docs-MODULES := myplc plcapi nodemanager monitor
369 myplc-docs-SPEC := myplc-docs.spec
370 ALL += myplc-docs
371
372 # using some other name than myplc-release, as this is a make target already
373 release-MODULES := myplc
374 release-SPEC := myplc-release.spec
375 release-RPMDATE := yes
376 ALL += release
377
378 ##############################
379 #
380 # sfa - Slice Facility Architecture
381 #
382 # this is python2, somehow the tests won't pass against a py3 plcapi
383 # oddly enough, when the py2 sfa code issues xmlrpc calls over ssl
384 # to the underlying myplc, we get SSL handshake issues
385 # so, let's keep this out of the way for now
386 # 2019 mar 27: reinstating for hopefully connecting fed4fire
387 #
388 #ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME), f27 f29 f31)"
389 sfa-MODULES := sfa
390 sfa-SPEC := sfa.spec
391 ALL += sfa
392 #endif