typo in BootstrapFS dependency
[build.git] / plc.mk
1 #
2 # PlanetLab Central components list
3 #
4 # Mark Huang <mlhuang@cs.princeton.edu>
5 # Copyright (C) 2003-2005 The Trustees of Princeton University
6 #
7 # $Id: plc.mk,v 1.10 2006/03/10 21:44:07 mlhuang Exp $
8 #
9
10 #
11 # Required:
12 #
13 # CVSROOT or package-CVSROOT: CVSROOT to use
14 # TAG or package-TAG: CVS tag to use
15 # package-MODULE: CVS module name to use
16 # package-SPEC: RPM spec file template
17 #
18 # Optional:
19 #
20 # package-RPMFLAGS: Miscellaneous RPM flags
21 # package-RPMBUILD: If not rpmbuild
22 # package-CVS_RSH: If not ssh
23 #
24 # Add to ALL if you want the package built as part of the default set.
25 #
26
27 #
28 # Default values
29 #
30
31 CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs
32 TAG := HEAD
33
34 #
35 # plc
36 #
37
38 plc-CVSROOT := :ext:cvs.planet-lab.org:/cvs
39 plc-MODULE := plc
40 plc-SPEC := plc/plc.spec
41 ALL += plc
42
43 #
44 # Proper: Privileged Operations Service
45 #
46
47 proper-MODULE := proper
48 proper-SPEC := proper/proper.spec
49 ALL += proper
50
51 #
52 # util-python
53 #
54 util-python-MODULE := util-python
55 util-python-SPEC := util-python/util-python.spec
56 ALL += util-python
57
58 # proper and util-vserver both use scripts in util-python for building
59 proper: util-python
60 util-vserver: util-python
61
62 #
63 # ulogd
64 #
65
66 ulogd-MODULE := ulogd
67 ulogd-SPEC := ulogd/ulogd.spec
68 ALL += ulogd
69
70 ulogd: proper
71
72 #
73 # netflow
74 #
75
76 netflow-MODULE := netflow
77 netflow-SPEC := netflow/netflow.spec
78 ALL += netflow
79
80 #
81 # Request Tracker 3
82 #
83
84 rt3-MODULE := rt3
85 rt3-SPEC := rt3/etc/rt.spec
86 ALL += rt3
87
88 #
89 # Mail::SpamAssassin
90 #
91
92 spamassassin-MODULE := spamassassin
93 spamassassin-SPEC := spamassassin/spamassassin.spec
94 ALL += spamassassin
95
96 #
97 # TWiki
98 #
99
100 twiki-MODULE := twiki
101 twiki-SPEC := twiki/TWiki.spec
102 ALL += twiki
103
104 #
105 # plcapilib
106 #
107
108 plcapilib-MODULE := plcmdline
109 plcapilib-SPEC := plcmdline/plcapilib.spec
110 ALL += plcapilib
111
112 #
113 # Installation rules
114
115
116 # Put packages in boot repository
117 ARCHIVE := /var/www/html/archive
118
119 # Put nightly alpha builds in a subdirectory
120 ifeq ($(TAG),HEAD)
121 ARCHIVE := $(ARCHIVE)/plc-alpha
122 REPOS := /var/www/html/plc-alpha
123 endif
124
125 install:
126 ifeq ($(BASE),)
127         @echo make install is only meant to be called from ./build.sh
128 else
129 ifneq ($(BUILDS),)
130         # Remove old runs
131         cd $(ARCHIVE) && ls -t | sed -n $(BUILDS)~1p | xargs rm -rf
132 endif
133         install -D -m 644 groups/stock_fc2_groups.xml RPMS/yumgroups.xml
134         # Populate repository
135         mkdir -p $(ARCHIVE)/$(BASE)
136         rsync --delete --links --perms --times --group \
137             $(sort $(subst -debuginfo,,$(wildcard RPMS/yumgroups.xml RPMS/*/*))) $(ARCHIVE)/$(BASE)/
138         yum-arch $(ARCHIVE)/$(BASE) >/dev/null
139         createrepo $(ARCHIVE)/$(BASE) >/dev/null
140 ifeq ($(TAG),HEAD)
141         ln -nsf $(ARCHIVE)/$(BASE) $(REPOS)
142 endif
143 endif
144
145 .PHONY: install