source: cmtpacman/HEAD/scripts/create_all_kits.sh@ 689

Last change on this file since 689 was 53, checked in by arnault, 20 years ago

From CVS to SVN

File size: 5.5 KB
Line 
1
2function all_packages ()
3{
4 top=$1
5 shift
6
7 if test -d ${base}/${release}/${top}/cmt; then
8 cd ${base}/${release}/${top}/cmt
9 else
10 cd ${base}/${release}/${top}/*/cmt
11 if test ! $? = 0; then
12 echo "run_create_kit.sh> Cannot move to the top package as [${base}/${release}/${top}/*/cmt]"
13 exit
14 fi
15 fi
16
17 select_opt=
18 if test ! "${selected}" = ""; then
19 select_opt="-select='${selected}'"
20 fi
21
22 echo "all_packages> cmt broadcast -global -select=${selected} - ${dep}/create_kit.sh -release ${release} ${patch_opt} ${cycles_opt} ${platform_opt} ${pacman_cache} ${override_opt} ${source_opt}"
23
24 cmt broadcast -global -select="${selected}" - \
25 ${dep}/create_kit.sh \
26 -release ${release} \
27 ${patch_opt} \
28 ${cycles_opt} \
29 ${platform_opt} \
30 ${pacman_cache} \
31 ${override_opt} \
32 ${source_opt} 2>&1 | cat
33}
34
35function CMT ()
36{
37 #
38 # CMT itself
39 #
40
41 cmtversion=`cmt -quiet version`
42
43 echo "create_all_kits.sh> Constructing the pacman kit for CMT ${cmtversion} [${platform}] into ${pacman_cache}"
44
45 cat ${dep}/CMTCONFIG.pacman | \
46 sed -e 's#${cmtversion}#'"${cmtversion}"'#g' \
47 -e 's#${CMTCONFIG}#'"${CMTCONFIG}"'#g' >| ${pacman_cache}/cache/CMTCONFIG-${cmtversion}-${platform}.pacman
48
49 cat ${dep}/CMT.pacman | \
50 sed -e 's#${cmtversion}#'"${cmtversion}"'#g' >| ${pacman_cache}/cache/CMT-${cmtversion}.pacman
51}
52
53function help ()
54{
55 echo "create_all_kits.sh"
56 echo ""
57 echo " External parameters:"
58 echo ' ${CMTPATH} : as for the normal release usage'
59 echo ' ${PACMAN_CACHE} : where to create the kit'
60 echo ""
61 echo " Arguments:"
62 echo " --help : get this help"
63 echo " -base <base> : the base directory of the release [no default]"
64 echo " -release <rel> : the release id [no default]"
65 echo " -top <top> : the top package [no default]"
66 echo " -p <package> : select this package instead of all [can be multiple]"
67 echo " -cmtversion <v> : the CMT version"
68 echo " -patches <dir> : location of patches for requirements files"
69 echo " -cycles <file> : text file containing the output of cmt show cycles"
70 echo " -platform <plat> : suffix characterizing the platform"
71 echo " -override : override existings kits [default is to keep them]"
72 echo " -step <step> : one of (projects|all|CMT)"
73 echo " -source : create source kits"
74 echo " [<addon> ...] : list of missing packages to manually add to this release"
75 echo ""
76}
77
78
79#-----------------------------------------
80# main
81#-----------------------------------------
82
83##set -x
84
85echo "create_all_kits> args=[$*]"
86
87# generic definitions
88dep=`dirname $0`
89dep=`(cd ${dep}; pwd)`
90
91export SITEROOT=/afs/cern.ch
92
93top=
94cmtversion=`cmt version`
95patch_dir=
96patch_opt=
97cycles_file=
98cycles_opt=
99platform=
100platform_suffix=
101platform_opt=
102override_opt=
103selected=
104source_opt=
105
106while test ! $# = 0; do
107 arg=$1
108 ##echo "arg=[${arg}]"
109 if test "${arg}" = "-step"; then
110 shift
111 step=$1
112 elif test "${arg}" = "-base"; then
113 shift
114 base=$1
115 elif test "${arg}" = "-top"; then
116 shift
117 top=$1
118 elif test "${arg}" = "-release"; then
119 shift
120 release=$1
121 elif test "${arg}" = "-p"; then
122 shift
123 package=$1
124 package=`echo ${package} | sed -e 's#^[^/]#/&#' -e 's#[^/]$#&/#'`
125 selected="${selected} ${package}"
126 elif test "${arg}" = "-cmtversion"; then
127 shift
128 cmtversion=$1
129 elif test "${arg}" = "-patches"; then
130 shift
131 patch_dir=$1
132 patch_opt="-patches ${patch_dir}"
133 elif test "${arg}" = "-cycles"; then
134 shift
135 cycles_file=$1
136 cycles_opt="-cycles ${cycles_file}"
137 elif test "${arg}" = "-platform"; then
138 shift
139 platform=$1
140 platform_suffix="-${platform}";
141 platform_opt="-platform ${platform}";
142 elif test "${arg}" = "-override"; then
143 shift
144 override_opt="-override"
145 elif test "${arg}" = "-source"; then
146 shift
147 source_opt="-source"
148 platform="src"
149 platform_suffix="-${platform}";
150 platform_opt="-platform ${platform}";
151 elif test "${arg}" = "--help"; then
152 help
153 exit
154 fi
155 shift
156done
157
158#
159# Checking effective arguments
160#
161
162if test "${CMTPATH}" = ""; then
163 echo "CMTPATH must be defined first."
164 help
165 exit
166fi
167
168if test "${PACMAN_CACHE}" = ""; then
169 echo "PACMAN_CACHE must be defined first."
170 help
171 exit
172fi
173
174if test "${base}" = ""; then
175 echo "Please specify the base directory of the release using the -base option."
176 help
177 exit
178fi
179
180if test "${release}" = ""; then
181 echo "Please specify the release id using the -release option."
182 help
183 exit
184fi
185
186if test "${top}" = ""; then
187 echo "Please specify the top package using the -top option."
188 help
189 exit
190fi
191
192pacman_cache=${PACMAN_CACHE}
193
194kits_dir=${pacman_cache}/kits
195cache_dir=${pacman_cache}/cache
196
197if test ! -d ${kits_dir}; then
198 mkdir -p ${kits_dir}
199fi
200
201if test ! -d ${cache_dir}; then
202 mkdir -p ${cache_dir}
203fi
204
205#echo step=${step}
206#echo "selected=[${selected}]"
207#echo "patch_opt=[${patch_opt}]"
208#echo "cycles_opt=[${cycles_opt}]"
209#echo "platform_opt=[${platform_opt}]"
210#echo "pacman_cache=[${pacman_cache}]"
211#echo "override_opt=[${override_opt}]"
212#echo "source_opt=[${source_opt}]"
213
214if test ! "${source_opt}" = ""; then
215 ${dep}/create_project_kits.sh ${platform_opt}
216 all_packages ${top}
217elif test "${step}" = ""; then
218 CMT
219 ${dep}/create_project_kits.sh ${platform_opt}
220 all_packages ${top}
221else
222 if test "${step}" = "projects"; then
223 ${dep}/create_project_kits.sh ${platform_opt}
224 elif test "${step}" = "all"; then
225 all_packages ${top}
226 elif test "${step}" = "CMT"; then
227 CMT
228 fi
229fi
230
Note: See TracBrowser for help on using the repository browser.