added httpd
[build.git] / Makefile
1 #
2 # PlanetLab RPM generation
3 #
4 # Copyright (c) 2003  The Trustees of Princeton University (Trustees).
5 # All Rights Reserved.
6
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are
9 # met: 
10
11 #     * Redistributions of source code must retain the above copyright
12 #       notice, this list of conditions and the following disclaimer.
13
14 #     * Redistributions in binary form must reproduce the above
15 #       copyright notice, this list of conditions and the following
16 #       disclaimer in the documentation and/or other materials provided
17 #       with the distribution.
18
19 #     * Neither the name of the copyright holder nor the names of its
20 #       contributors may be used to endorse or promote products derived
21 #       from this software without specific prior written permission.
22
23 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRUSTEES OR
27 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 #
35 # $Id: Makefile,v 1.19 2004/04/12 17:22:07 alk-pl_rpm Exp $
36 #
37
38 # Default target
39 all:
40
41 #
42 # CVSROOT: CVSROOT to use
43 # INITIAL: CVS tag to use for Source0 tarball
44 # TAG: CVS tag to patch to
45 # MODULE: CVS module name to use
46 # SPEC: RPM spec file template
47 # RPMFLAGS: Miscellaneous RPM flags
48 # ALL: default targets
49 #
50 # If INITIAL is different than TAG, PatchSets will be generated
51 # automatically with cvsps(1) to bring Source0 up to TAG. If TAG is
52 # HEAD, a %{date} variable will be defined in the generated spec
53 # file. If a Patch: tag in the spec file matches a generated PatchSet
54 # number, the name of the patch will be as specified. Otherwise, the
55 # name of the patch will be the PatchSet number. %patch tags in the
56 # spec file are generated automatically.
57 #
58
59 #
60 # kernel-planetlab
61 #
62
63 kernel-planetlab-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
64 kernel-planetlab-INITIAL := linux-2_4_22
65 kernel-planetlab-TAG := HEAD
66 kernel-planetlab-MODULE := linux-2.4
67 kernel-planetlab-SPEC := linux-2.4/scripts/kernel-planetlab.spec
68 ALL += kernel-planetlab
69
70 #
71 # plkmod
72 #
73
74 plkmod-CVSROOT := pup-silk@cvs.planet-lab.org:/cvs
75 plkmod-INITIAL := HEAD
76 plkmod-TAG := HEAD
77 plkmod-MODULE := sys-v3
78 plkmod-SPEC := sys-v3/rpm/plkmod.spec
79 plkmod-RPMFLAGS = --define "kernelver $(shell rpmquery --queryformat '%{VERSION}-%{RELEASE}\n' --specfile SPECS/$(notdir $(kernel-planetlab-SPEC)) | head -1)"
80 ALL += plkmod
81
82 # Build kernel-planetlab first so we can bootstrap off of its build
83 plkmod: kernel-planetlab
84
85 #
86 # vdk
87 #
88
89 vdk-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
90 vdk-INITIAL := vdk_918
91 vdk-TAG := HEAD
92 vdk-MODULE := vdk
93 vdk-SPEC := vdk/vtune_driver.spec
94 vdk-RPMFLAGS = --define "kernelver $(shell rpmquery --queryformat '%{VERSION}-%{RELEASE}\n' --specfile SPECS/$(notdir $(kernel-planetlab-SPEC)) | head -1)"
95 ALL += vdk
96
97 # Build kernel-planetlab first so we can bootstrap off of its build
98 vdk: kernel-planetlab
99
100 #
101 # lkcdutils
102 #
103
104 lkcdutils-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
105 lkcdutils-INITIAL := lkcdutils-4_1
106 lkcdutils-TAG := HEAD
107 lkcdutils-MODULE := lkcdutils
108 lkcdutils-SPEC := lkcdutils/spec/lkcdutils.spec
109 ALL += lkcdutils
110
111 # Build kernel-planetlab first so we can bootstrap off of its build
112 lkcdutils: kernel-planetlab
113
114 #
115 # vserver
116 #
117
118 vserver-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
119 vserver-INITIAL := vserver-0_29
120 vserver-TAG := HEAD
121 vserver-MODULE := vserver
122 vserver-SPEC := vserver/vserver.spec
123 ALL += vserver
124
125 #
126 # vserver-init
127 #
128
129 vserver-init-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
130 vserver-init-INITIAL := HEAD
131 vserver-init-TAG := HEAD
132 vserver-init-MODULE := vserver-init
133 vserver-init-SPEC := vserver-init/vserver-init.spec
134 ALL += vserver-init
135
136 #
137 # vr-tools
138 #
139
140 vr-tools-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
141 vr-tools-INITIAL := HEAD
142 vr-tools-TAG := HEAD
143 vr-tools-MODULE := vr-tools
144 vr-tools-SPEC := vr-tools/vr-tools.spec
145 ALL += vr-tools
146
147 #
148 # vsh
149 #
150
151 vsh-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
152 vsh-INITIAL := bash-2_05
153 vsh-TAG := HEAD
154 vsh-MODULE := vsh
155 vsh-SPEC := vsh/vsh-planetlab.spec
156 ALL += vsh
157
158 # Build kernel-planetlab first so we can bootstrap off of its build
159 vsh: kernel-planetlab
160
161 #
162 # yum
163 #
164
165 yum-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
166 yum-INITIAL := YUM_2_0_3
167 yum-TAG := HEAD
168 yum-MODULE := yum
169 yum-SPEC := yum/yum.spec
170 ALL += yum
171
172 #
173 # ksymoops
174 #
175
176 ksymoops-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
177 ksymoops-INITIAL := ksymoops-2_4_9
178 ksymoops-TAG := HEAD
179 ksymoops-MODULE := ksymoops
180 ksymoops-SPEC := ksymoops/ksymoops.spec
181 ALL += ksymoops
182
183 #
184 # PlanetLabAccounts
185 #
186
187 PlanetLabAccounts-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
188 PlanetLabAccounts-INITIAL := HEAD
189 PlanetLabAccounts-TAG := HEAD
190 PlanetLabAccounts-MODULE := PlanetLabAccounts
191 PlanetLabAccounts-SPEC := PlanetLabAccounts/PlanetLabAccounts.spec
192 ALL += PlanetLabAccounts
193
194 #
195 # MAKEDEV
196 #
197
198 MAKEDEV-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
199 MAKEDEV-INITIAL := MAKEDEV_3_2_2
200 MAKEDEV-TAG := HEAD
201 MAKEDEV-MODULE := MAKEDEV
202 MAKEDEV-SPEC := MAKEDEV/MAKEDEV.spec
203 ALL += MAKEDEV
204
205 #
206 # NodeUpdate
207 #
208
209 NodeUpdate-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
210 NodeUpdate-INITIAL := HEAD
211 NodeUpdate-TAG := HEAD
212 NodeUpdate-MODULE := NodeUpdate
213 NodeUpdate-SPEC := NodeUpdate/NodeUpdate.spec
214 ALL += NodeUpdate
215
216 #
217 # PlanetLabConf
218 #
219
220 PlanetLabConf-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
221 PlanetLabConf-INITIAL := HEAD
222 PlanetLabConf-TAG := HEAD
223 PlanetLabConf-MODULE := PlanetLabConf
224 PlanetLabConf-SPEC := PlanetLabConf/PlanetLabConf.spec
225 ALL += PlanetLabConf
226
227 #
228 # PlanetLabKeys
229 #
230
231 PlanetLabKeys-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
232 PlanetLabKeys-INITIAL := HEAD
233 PlanetLabKeys-TAG := HEAD
234 PlanetLabKeys-MODULE := PlanetLabKeys
235 PlanetLabKeys-SPEC := PlanetLabKeys/PlanetLabKeys.spec
236 ALL += PlanetLabKeys
237
238 #
239 # BWLimit
240 #
241
242 BWLimit-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
243 BWLimit-INITIAL := HEAD
244 BWLimit-TAG := HEAD
245 BWLimit-MODULE := BWLimit
246 BWLimit-SPEC := BWLimit/BWLimit.spec
247 ALL += BWLimit
248
249 #
250 # perl-IO-Stty
251 #
252
253 perl-IO-Stty-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
254 perl-IO-Stty-INITIAL := PERL-IO-STTY_0_2
255 perl-IO-Stty-TAG := HEAD
256 perl-IO-Stty-MODULE := perl-IO-Stty
257 perl-IO-Stty-SPEC := perl-IO-Stty/perl-IO-Stty.spec
258 ALL += perl-IO-Stty
259
260 #
261 # ipod
262 #
263
264 ipod-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
265 ipod-INITIAL := HEAD
266 ipod-TAG := HEAD
267 ipod-MODULE := ipod
268 ipod-SPEC := ipod/ipod.spec
269 ALL += ipod
270
271 #
272 # sudo
273 #
274
275 sudo-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
276 sudo-INITIAL := HEAD
277 sudo-TAG := HEAD
278 sudo-MODULE := sudo
279 sudo-SPEC := sudo/planetlab_sudo.spec
280 ALL += sudo
281
282 #
283 # blacklist
284 #
285
286 blacklist-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
287 blacklist-INITIAL := HEAD
288 blacklist-TAG := HEAD
289 blacklist-MODULE := blacklist
290 blacklist-SPEC := blacklist/PlanetLab-blacklist.spec
291 ALL += blacklist
292
293 #
294 # httpd
295 #
296
297 httpd-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
298 httpd-INITIAL := HTTPD_2_0_46
299 httpd-TAG := HEAD
300 httpd-MODULE := httpd
301 httpd-SPEC := httpd/httpd.spec
302 ALL += httpd
303
304 ifeq ($(findstring $(package),$(ALL)),)
305
306 # Build all packages
307 all: $(ALL)
308
309 # Recurse
310 $(ALL):
311         $(MAKE) package=$@
312
313 .PHONY: all $(ALL)
314
315 else
316
317 # Define variables for Makerules
318 CVSROOT := $($(package)-CVSROOT)
319 INITIAL := $($(package)-INITIAL)
320 TAG := $($(package)-TAG)
321 MODULE := $($(package)-MODULE)
322 SPEC := $($(package)-SPEC)
323 RPMFLAGS := $($(package)-RPMFLAGS)
324 CVS_RSH := $(if $($(package)-CVS_RSH),$($(package)-CVS_RSH),ssh)
325
326 include Makerules
327
328 endif
329
330 # Remove generated files
331 clean:
332         rm -rf BUILD RPMS SOURCES SPECS SRPMS .rpmmacros .cvsps
333
334 .PHONY: clean