2 # PlanetLab RPM generation
4 # Copyright (c) 2003 The Trustees of Princeton University (Trustees).
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are
11 # * Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
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.
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.
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.
35 # $Id: Makefile,v 1.11 2004/04/12 14:12:41 alk-pl_rpm Exp $
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
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.
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
74 plkmod-CVSROOT := pup-silk@cvs.planet-lab.org:/cvs
75 plkmod-INITIAL := 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)"
82 # Build kernel-planetlab first so we can bootstrap off of its build
83 plkmod: kernel-planetlab
89 vdk-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
90 vdk-INITIAL := vdk_918
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)"
97 # Build kernel-planetlab first so we can bootstrap off of its build
104 vserver-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
105 vserver-INITIAL := vserver-0_29
107 vserver-MODULE := vserver
108 vserver-SPEC := vserver/vserver.spec
115 vserver-init-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
116 vserver-init-INITIAL := HEAD
117 vserver-init-TAG := HEAD
118 vserver-init-MODULE := vserver-init
119 vserver-init-SPEC := vserver-init/vserver-init.spec
126 vsh-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
127 vsh-INITIAL := bash-2_05
130 vsh-SPEC := vsh/vsh-planetlab.spec
133 # Build kernel-planetlab first so we can bootstrap off of its build
134 vsh: kernel-planetlab
140 yum-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
141 yum-INITIAL := YUM_2_0_3
142 yum-TAG := YUM_2_0_3_PL_7
144 yum-SPEC := yum/yum.spec
151 ksymoops-CVSROOT := pup-pl_kernel@cvs.planet-lab.org:/cvs
152 ksymoops-INITIAL := ksymoops-2_4_9
154 ksymoops-MODULE := ksymoops
155 ksymoops-SPEC := ksymoops/ksymoops.spec
162 PlanetLabAccounts-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
163 PlanetLabAccounts-INITIAL := PLANETLABACCOUNTS_0_3_R_2
164 PlanetLabAccounts-TAG := PLANETLABACCOUNTS_0_3_R_2
165 PlanetLabAccounts-MODULE := PlanetLabAccounts
166 PlanetLabAccounts-SPEC := PlanetLabAccounts/PlanetLabAccounts.spec
167 ALL += PlanetLabAccounts
173 MAKEDEV-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
174 MAKEDEV-INITIAL := MAKEDEV_3_2_2
175 MAKEDEV-TAG := MAKEDEV_3_2_2_PL_6
176 MAKEDEV-MODULE := MAKEDEV
177 MAKEDEV-SPEC := MAKEDEV/MAKEDEV.spec
184 NodeUpdate-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
185 NodeUpdate-INITIAL := NODEUPDATE_0_2_R_3
186 NodeUpdate-TAG := NODEUPDATE_0_2_R_3
187 NodeUpdate-MODULE := NodeUpdate
188 NodeUpdate-SPEC := NodeUpdate/NodeUpdate.spec
195 PlanetLabConf-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
196 PlanetLabConf-INITIAL := PLANETLABCONF_0_1_R_12
197 PlanetLabConf-TAG := PLANETLABCONF_0_1_R_12
198 PlanetLabConf-MODULE := PlanetLabConf
199 PlanetLabConf-SPEC := PlanetLabConf/PlanetLabConf.spec
206 PlanetLabKeys-CVSROOT := pup-node_pkgs@cvs.planet-lab.org:/cvs
207 PlanetLabKeys-INITIAL := PLANETLABKEYS_0_1_R_3
208 PlanetLabKeys-TAG := PLANETLABKEYS_0_1_R_3
209 PlanetLabKeys-MODULE := PlanetLabKeys
210 PlanetLabKeys-SPEC := PlanetLabKeys/PlanetLabKeys.spec
213 ifeq ($(findstring $(package),$(ALL)),)
226 # Define variables for Makerules
227 CVSROOT := $($(package)-CVSROOT)
228 INITIAL := $($(package)-INITIAL)
229 TAG := $($(package)-TAG)
230 MODULE := $($(package)-MODULE)
231 SPEC := $($(package)-SPEC)
232 RPMFLAGS := $($(package)-RPMFLAGS)
233 CVS_RSH := $(if $($(package)-CVS_RSH),$($(package)-CVS_RSH),ssh)
239 # Remove generated files
241 rm -rf BUILD RPMS SOURCES SPECS SRPMS .rpmmacros .cvsps