forked from cms-sw/cmsdist
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbootstrap-driver.spec
280 lines (254 loc) · 18.5 KB
/
bootstrap-driver.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
### RPM external bootstrap-driver 24.0
## NOCOMPILER
Requires: rpm
#danger! cms-common version is now hardwired below (and in bootstrap.file)
%prep
%build
%install
packageList=""
echo requiredtools `echo %{requiredtools} | sed -e's|\s+| |;s|^\s+||'`
for tool in `echo %{requiredtools} | sed -e's|\s+| |;s|^\s+||'`
do
case X$tool in
Xdistcc|Xccache )
;;
* )
toolcap=`echo $tool | tr a-z- A-Z_`
toolversion=$(eval echo $`echo ${toolcap}_VERSION`)
toolrevision=$(eval echo $`echo ${toolcap}_REVISION`)
echo $toolversion $toolrevision
packageList="$packageList external+${tool}+${toolversion}-1-${toolrevision}.%cmsplatf.rpm"
;;
esac
done
case %cmsplatf in
slc*)
# Backward compatible seeds, so that old bootstrap does not suddenly stop working.
platformSeeds="glibc glibc-32bit coreutils bash tcsh zsh pdksh perl
tcl tk perl-Tk readline openssl ncurses XFree86-libs
e2fsprogs krb5-libs freetype fontconfig XFree86-Mesa-libGLU
XFree86-Mesa-libGL xorg-x11-deprecated-libs
xorg-x11-libs xorg-x11-Mesa-libGLU xorg-x11-Mesa-libGL
compat-libstdc++-33 fglrx_6_8_0 libidn"
slc6_amd64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl ncurses e2fsprogs krb5-libs freetype compat-readline5 ncurses-libs perl-libs perl-ExtUtils-Embed
fontconfig compat-libstdc++-33 libidn libX11 libXmu libSM libICE libXcursor
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama libXft-devel
libXrender libXpm libcom_err perl-Test-Harness libX11-devel libXpm-devel libXext-devel mesa-libGLU-devel
nspr nss nss-util file file-libs readline zlib popt bzip2 bzip2-libs"
slc7_amd64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl ncurses e2fsprogs krb5-libs freetype ncurses-libs perl-libs perl-ExtUtils-Embed
fontconfig compat-libstdc++-33 libidn libX11 libXmu libSM libICE libXcursor
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama libXft-devel
libXrender libXpm libcom_err perl-Test-Harness perl-Carp perl-constant perl-PathTools
perl-Data-Dumper perl-Digest-MD5 perl-Exporter perl-File-Path perl-File-Temp perl-Getopt-Long
perl-Socket perl-Text-ParseWords perl-Time-Local libX11-devel libXpm-devel libXext-devel mesa-libGLU-devel
perl-Switch perl-Storable perl-Env perl-Thread-Queue perl-Encode nspr nss nss-util file file-libs readline
zlib popt bzip2 bzip2-libs"
slc7_aarch64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-ExtUtils-Embed ncurses-libs perl-libs nspr nss nss-util file file-libs
readline zlib popt bzip2 bzip2-libs perl-Encode"
slc7_ppc64le_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-ExtUtils-Embed ncurses-libs perl-libs nspr nss nss-util file file-libs
readline zlib popt bzip2 bzip2-libs perl-Encode"
;;
fc*)
fc18_armv7hl_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXft libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl"
fc19_armv7hl_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper"
fc19_aarch64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable"
fc22_ppc64le_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-Term-ANSIColor perl-ExtUtils-Embed ncurses-libs perl-libs"
fc22_ppc64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-Term-ANSIColor perl-ExtUtils-Embed ncurses-libs perl-libs"
fc24_amd64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-Term-ANSIColor perl-ExtUtils-Embed ncurses-libs perl-libs perl-Errno
perl-IO perl-Memoize nspr nss nss-util file file-libs readline zlib popt
bzip2 bzip2-libs perl-LWP-Protocol-connect perl-Encode"
fc24_ppc64le_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-Term-ANSIColor perl-ExtUtils-Embed ncurses-libs perl-libs perl-Errno
perl-IO perl-Memoize nspr nss nss-util file file-libs readline zlib popt
bzip2 bzip2-libs perl-LWP-Protocol-connect perl-Encode"
fc24_ppc64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl
ncurses e2fsprogs krb5-libs freetype fontconfig libstdc++
libidn libX11 libXmu libSM libICE libXcursor libXext libXrandr
libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXrender libXpm gcc-c++ libcom_err libXpm-devel libXft-devel
libX11-devel libXext-devel mesa-libGLU mesa-libGLU-devel libGLEW
glew perl-Digest-MD5 perl-ExtUtils-MakeMaker patch perl-libwww-perl
krb5-libs krb5-devel perl-Data-Dumper perl-WWW-Curl texinfo hostname
time perl-Carp perl-Text-ParseWords perl-PathTools perl-ExtUtils-MakeMaker
perl-Exporter perl-File-Path perl-Getopt-Long perl-constant perl-File-Temp
perl-Socket perl-Time-Local perl-Storable glibc-headers perl-threads
perl-Thread-Queue perl-Module-ScanDeps perl-Test-Harness perl-Env perl-Switch
perl-Term-ANSIColor perl-ExtUtils-Embed ncurses-libs perl-libs perl-Errno
perl-IO perl-Memoize nspr nss nss-util file file-libs readline zlib popt
bzip2 bzip2-libs perl-LWP-Protocol-connect perl-Encode"
;;
esac
# Seeds for unsupported platforms. These will not make bootstrap die, if not found.
# OpenSuse
unsupportedSeeds="xorg-x11-Mesa compat-readline4 compat-curl2 freetype2
xorg-x11-libX11"
# Ubuntu
unsupportedSeeds="$unsupportedSeeds libcomerr2 libidn11 libxi6 libxpm4 libxinerama1
libncurses5 libsm6 libice6 libc6 libxcursor1 libxmu6
libgl1-mesa-glx libxft2 perl-base xserver-xorg xserver-xorg-core
libfreetype6 libfontconfig1 libgl1-mesa libxrandr2 libglu1-mesa
libxext6 libx11-6 libxrender1"
# Fedora
unsupportedSeeds="$unsupportedSeeds libX11 libXmu libSM libICE libXcursor
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama
libXft libXrender libXpm ncurses-libs libc6-i686 compat-readline5"
# PU-IAS
unsupportedSeeds="$unsupportedSeeds libcom_err"
# Case statement for additional provides.
case %cmsplatf in
osx* )
additionalProvides="AGL ApplicationServices Carbon CoreFoundation
CoreServices OpenGL Python QuickTime Tcl Tk
libintl.3.dylib libperl.dylib"
;;
# Required to get slc5_amd64_gcc434 work on slc6.
slc* )
additionalProvides="perl(CGI)"
;;
esac
unsupportedProvides="libtcl8.3.so libtk8.3.so /bin/env libcom_err.so.3
libcrypto.so.4 libgssapi_krb5.so.2 libk5crypto.so.3
libkrb5.so.3 libssl.so.4 /bin/csh /bin/tcsh libreadline.so.4
libtcl8.4.so libtk8.4.so"
defaultPkgs="cms+cms-common+1.0"
mkdir -p %{i}/etc/profile.d
(echo "rpm_version=$RPM_VERSION"; \
echo "platformSeeds=\"$platformSeeds\""; \
echo "unsupportedSeeds=\"$unsupportedSeeds\""; \
echo "fc18_armv7hl_platformSeeds=\"$fc18_armv7hl_platformSeeds\""; \
echo "fc19_armv7hl_platformSeeds=\"$fc19_armv7hl_platformSeeds\""; \
echo "fc19_aarch64_platformSeeds=\"$fc19_aarch64_platformSeeds\""; \
echo "slc6_amd64_platformSeeds=\"$slc6_amd64_platformSeeds\""; \
echo "slc7_amd64_platformSeeds=\"$slc7_amd64_platformSeeds\""; \
echo "slc7_aarch64_platformSeeds=\"$slc7_aarch64_platformSeeds\""; \
echo "slc7_ppc64le_platformSeeds=\"$slc7_ppc64le_platformSeeds\""; \
echo "fc22_ppc64le_platformSeeds=\"$fc22_ppc64le_platformSeeds\""; \
echo "fc22_ppc64_platformSeeds=\"$fc22_ppc64_platformSeeds\""; \
echo "fc24_amd64_platformSeeds=\"$fc24_amd64_platformSeeds\""; \
echo "fc24_ppc64le_platformSeeds=\"$fc24_ppc64le_platformSeeds\""; \
echo "fc24_ppc64_platformSeeds=\"$fc24_ppc64_platformSeeds\""; \
echo "packageList=\"`echo $packageList`\""; \
echo "additionalProvides=\"$additionalProvides\""; \
echo "unsupportedProvides=\"$unsupportedProvides\""; \
echo "defaultPkgs=\"$defaultPkgs\""; \
) > %{i}/%{cmsplatf}-driver.txt
(echo "rpm_version=$RPM_VERSION"; \
echo "platformSeeds=\"$platformSeeds $compPackages\""; \
echo "unsupportedSeeds=\"$unsupportedSeeds\""; \
echo "fc18_armv7hl_platformSeeds=\"$fc18_armv7hl_platformSeeds\""; \
echo "fc19_armv7hl_platformSeeds=\"$fc19_armv7hl_platformSeeds\""; \
echo "fc19_aarch64_platformSeeds=\"$fc19_aarch64_platformSeeds\""; \
echo "slc6_amd64_platformSeeds=\"$slc6_amd64_platformSeeds $slc6_compPackages\""; \
echo "slc7_amd64_platformSeeds=\"$slc7_amd64_platformSeeds\""; \
echo "slc7_aarch64_platformSeeds=\"$slc7_aarch64_platformSeeds\""; \
echo "slc7_ppc64le_platformSeeds=\"$slc7_ppc64le_platformSeeds\""; \
echo "fc22_ppc64le_platformSeeds=\"$fc22_ppc64le_platformSeeds\""; \
echo "fc22_ppc64_platformSeeds=\"$fc22_ppc64_platformSeeds\""; \
echo "fc24_amd64_platformSeeds=\"$fc24_amd64_platformSeeds\""; \
echo "fc24_ppc64le_platformSeeds=\"$fc24_ppc64le_platformSeeds\""; \
echo "fc24_ppc64_platformSeeds=\"$fc24_ppc64_platformSeeds\""; \
echo "packageList=\"`echo $packageList`\""; \
echo "additionalProvides=\"$additionalProvides\""; \
echo "unsupportedProvides=\"$unsupportedProvides\""; \
echo "defaultPkgs=\"$defaultPkgs\""; \
) > %{i}/%{cmsplatf}-driver-comp.txt
# FIXME: Hack to make sure that the cms-common package is named correctly in the driver file.
# We should make sure that the $PACKAGE_CATEGORY variable is used (requires changes to cmsBuild.sh which
# I don't want to do at this point.
perl -p -i -e 's|external[+]cms-common|cms+cms-common|g' %{i}/%{cmsplatf}-driver.txt
perl -p -i -e 's|external[+]cms-common|cms+cms-common|g' %{i}/%{cmsplatf}-driver-comp.txt