1 |
< |
### RPM external bootstrap-driver 1.0 |
1 |
> |
### RPM external bootstrap-driver 19.0c |
2 |
|
Source: bootstrap |
3 |
< |
Requires: apt |
3 |
> |
%define closingbrace ) |
4 |
> |
%define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac) |
5 |
> |
|
6 |
> |
Requires: apt |
7 |
> |
|
8 |
> |
#danger! cms-common version is now hardwired below (and in bootstrap.file) |
9 |
|
|
10 |
|
%prep |
11 |
|
%build |
12 |
|
%install |
13 |
< |
packageList="external+elfutils+$ELFUTILS_VERSION-1-$ELFUTILS_REVISION.%cmsplatf.rpm |
14 |
< |
external+expat+$EXPAT_VERSION-1-$EXPAT_REVISION.%cmsplatf.rpm |
15 |
< |
external+db4+$DB4_VERSION-1-$DB4_REVISION.%cmsplatf.rpm |
16 |
< |
external+beecrypt+$BEECRYPT_VERSION-1-$BEECRYPT_REVISION.%cmsplatf.rpm |
17 |
< |
external+bz2lib+$BZ2LIB_VERSION-1-$BZ2LIB_REVISION.%cmsplatf.rpm |
18 |
< |
external+neon+$NEON_VERSION-1-$NEON_REVISION.%cmsplatf.rpm |
19 |
< |
external+rpm+$RPM_VERSION-1-$RPM_REVISION.%cmsplatf.rpm |
20 |
< |
external+libxml2+$LIBXML2_VERSION-1-$LIBXML2_REVISION.%cmsplatf.rpm |
21 |
< |
external+apt+$APT_VERSION-1-$APT_REVISION.%cmsplatf.rpm" |
13 |
> |
packageList="" |
14 |
> |
echo requiredtools `echo %{requiredtools} | sed -e's|\s+| |;s|^\s+||'` |
15 |
> |
for tool in `echo %{requiredtools} | sed -e's|\s+| |;s|^\s+||'` |
16 |
> |
do |
17 |
> |
case X$tool in |
18 |
> |
Xdistcc|Xccache ) |
19 |
> |
;; |
20 |
> |
* ) |
21 |
> |
toolcap=`echo $tool | tr a-z- A-Z_` |
22 |
> |
toolversion=$(eval echo $`echo ${toolcap}_VERSION`) |
23 |
> |
toolrevision=$(eval echo $`echo ${toolcap}_REVISION`) |
24 |
> |
echo $toolversion $toolrevision |
25 |
> |
packageList="$packageList external+${tool}+${toolversion}-1-${toolrevision}.%cmsplatf.rpm" |
26 |
> |
;; |
27 |
> |
esac |
28 |
> |
done |
29 |
> |
|
30 |
|
|
31 |
|
case %cmsplatf in |
32 |
< |
slc*online* ) |
32 |
> |
slc*onl* ) |
33 |
> |
########################################################## |
34 |
> |
# Backward compatible seeds, so that old bootstrap does not suddenly stop working. |
35 |
|
platformSeeds="glibc coreutils bash tcsh zsh pdksh perl tcl |
36 |
|
readline openssl ncurses |
37 |
|
e2fsprogs krb5-libs freetype fontconfig |
38 |
|
xorg-x11-deprecated-libs xorg-x11-libs xorg-x11-Mesa-libGLU |
39 |
|
xorg-x11-Mesa-libGL compat-libstdc++-33 libidn" |
40 |
< |
|
40 |
> |
|
41 |
|
# ONLINE: seed system compiler (only libraries for runtime) |
42 |
|
platformSeeds="$platformSeeds libgcc libstdc++" |
43 |
|
|
44 |
|
# ONLINE: seed other available system tools: |
45 |
|
platformSeeds="$platformSeeds curl libpng libtiff libungif openssl qt zlib perl-DBI-1.40-8" |
46 |
+ |
|
47 |
|
# Python tools are commented out due to compatibility problems. |
48 |
< |
#platformSeeds="$platformSeeds python python-elementtree" |
48 |
> |
platformSeeds="$platformSeeds python python-elementtree" |
49 |
|
|
50 |
|
# ONLINE: seed daq-built tools: |
51 |
< |
platformSeeds="$platformSeeds daq-cgicc daq-mimetic daq-oracle daq-tinyproxy |
52 |
< |
daq-xerces daq-xdaq" |
51 |
> |
platformSeeds="$platformSeeds daq-cgicc daq-mimetic daq-oracle daq-tinyproxy daq-xerces daq-xdaq" |
52 |
> |
|
53 |
|
platformSeeds="$platformSeeds daq-config daq-log4cplus daq-logudpappender |
54 |
|
daq-logxmlappender daq-pt daq-ptfifo daq-pthttp |
55 |
|
daq-pttcp daq-toolbox daq-xcept daq-xdaq2rc daq-xdata |
56 |
< |
daq-xgi daq-xoap" |
56 |
> |
daq-xgi daq-xoap daq-sentinelutils" |
57 |
> |
|
58 |
> |
########################################################## |
59 |
> |
#slc4onl_ia32 Specific |
60 |
> |
slc4onl_ia32_platformSeeds="glibc coreutils bash tcsh zsh pdksh perl tcl |
61 |
> |
readline openssl ncurses |
62 |
> |
e2fsprogs krb5-libs freetype fontconfig |
63 |
> |
xorg-x11-deprecated-libs xorg-x11-libs xorg-x11-Mesa-libGLU |
64 |
> |
xorg-x11-Mesa-libGL compat-libstdc++-33 libidn" |
65 |
> |
|
66 |
> |
# ONLINE: seed system compiler (only libraries for runtime) |
67 |
> |
slc4onl_ia32_platformSeeds="$slc4onl_ia32_platformSeeds libgcc libstdc++" |
68 |
> |
|
69 |
> |
# ONLINE: seed other available system tools: |
70 |
> |
slc4onl_ia32_platformSeeds="$slc4onl_ia32_platformSeeds curl libpng libtiff libungif openssl qt zlib perl-DBI-1.40-8" |
71 |
> |
|
72 |
> |
# Python tools are commented out due to compatibility problems. |
73 |
> |
slc4onl_ia32_platformSeeds="$slc4onl_ia32_platformSeeds python python-elementtree" |
74 |
> |
|
75 |
> |
# ONLINE: seed daq-built tools: |
76 |
> |
slc4onl_ia32_platformSeeds="$slc4onl_ia32_platformSeeds daq-cgicc daq-mimetic daq-oracle daq-tinyproxy daq-xerces daq-xdaq" |
77 |
> |
|
78 |
> |
slc4onl_ia32_platformSeeds="$slc4onl_ia32_platformSeeds daq-config daq-log4cplus daq-logudpappender |
79 |
> |
daq-logxmlappender daq-pt daq-ptfifo daq-pthttp |
80 |
> |
daq-pttcp daq-toolbox daq-xcept daq-xdaq2rc daq-xdata |
81 |
> |
daq-xgi daq-xoap daq-sentinelutils" |
82 |
> |
|
83 |
> |
########################################################## |
84 |
> |
#slc5onl_ia32 Specific |
85 |
> |
slc5onl_ia32_platformSeeds="external+gcc+4.3.4 glibc coreutils bash tcsh zsh perl tcl tk readline openssl ncurses e2fsprogs krb5-libs freetype |
86 |
> |
fontconfig compat-libstdc++-33 libidn libX11 libXmu libSM libICE libXcursor |
87 |
> |
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama libXft |
88 |
> |
libXrender libXpm" |
89 |
> |
|
90 |
> |
# ONLINE: seed system compiler (only libraries for runtime) |
91 |
> |
slc5onl_ia32_platformSeeds="$slc5onl_ia32_platformSeeds libgcc libstdc++ external+gcc+4.3.4" |
92 |
> |
|
93 |
> |
# ONLINE: seed other available system tools: |
94 |
> |
slc5onl_ia32_platformSeeds="$slc5onl_ia32_platformSeeds curl libpng libtiff libungif openssl qt zlib perl-DBI-1.40-8 libtermcap-2.0.8 |
95 |
> |
libX11-devel-1.0.3 libXpm-devel-3.5.5 libXext-devel-1.0.1 libXft-devel-2.1.10 " |
96 |
> |
|
97 |
> |
# Python tools are commented out due to compatibility problems. |
98 |
> |
slc5onl_ia32_platformSeeds="$slc5onl_ia32_platformSeeds python python-elementtree" |
99 |
> |
|
100 |
> |
# ONLINE: seed daq-built tools: |
101 |
> |
slc5onl_ia32_platformSeeds="$slc5onl_ia32_platformSeeds daq-cgicc daq-mimetic daq-oracle daq-tinyproxy daq-xerces daq-xdaq" |
102 |
> |
|
103 |
> |
slc5onl_ia32_platformSeeds="$slc5onl_ia32_platformSeeds daq-config daq-log4cplus daq-logudpappender |
104 |
> |
daq-logxmlappender daq-pt daq-ptfifo daq-pthttp |
105 |
> |
daq-pttcp daq-toolbox daq-xcept daq-xdaq2rc daq-xdata |
106 |
> |
daq-xgi daq-xoap daq-sentinelutils" |
107 |
> |
|
108 |
|
;; |
109 |
< |
*) |
110 |
< |
packageList="external+zlib+$ZLIB_VERSION-1-$ZLIB_REVISION.%cmsplatf.rpm |
111 |
< |
external+openssl+$OPENSSL_VERSION-1-$OPENSSL_REVISION.%cmsplatf.rpm |
112 |
< |
$packageList" |
113 |
< |
platformSeeds="glibc glibc-32bit coreutils bash tcsh zsh pdksh perl |
109 |
> |
slc*) |
110 |
> |
# Backward compatible seeds, so that old bootstrap does not suddenly stop working. |
111 |
> |
platformSeeds="glibc glibc-32bit coreutils bash tcsh zsh pdksh perl |
112 |
> |
tcl tk perl-Tk readline openssl ncurses XFree86-libs |
113 |
> |
e2fsprogs krb5-libs freetype fontconfig XFree86-Mesa-libGLU |
114 |
> |
XFree86-Mesa-libGL xorg-x11-deprecated-libs |
115 |
> |
xorg-x11-libs xorg-x11-Mesa-libGLU xorg-x11-Mesa-libGL |
116 |
> |
compat-libstdc++-33 fglrx_6_8_0 libidn" |
117 |
> |
# Platform specific seeds. These are mandatory and the new bootstrap.sh will refuse continuing in the case they are not found. |
118 |
> |
slc4_ia32_platformSeeds="glibc coreutils bash tcsh zsh pdksh perl |
119 |
> |
tcl tk perl-Tk readline openssl ncurses XFree86-libs |
120 |
> |
e2fsprogs krb5-libs freetype fontconfig XFree86-Mesa-libGLU |
121 |
> |
XFree86-Mesa-libGL xorg-x11-deprecated-libs |
122 |
> |
xorg-x11-libs xorg-x11-Mesa-libGLU xorg-x11-Mesa-libGL |
123 |
> |
compat-libstdc++-33 fglrx_6_8_0 libidn" |
124 |
> |
slc4_amd64_platformSeeds="glibc glibc-32bit coreutils bash tcsh zsh pdksh perl |
125 |
|
tcl tk perl-Tk readline openssl ncurses XFree86-libs |
126 |
|
e2fsprogs krb5-libs freetype fontconfig XFree86-Mesa-libGLU |
127 |
|
XFree86-Mesa-libGL xorg-x11-deprecated-libs |
128 |
|
xorg-x11-libs xorg-x11-Mesa-libGLU xorg-x11-Mesa-libGL |
129 |
|
compat-libstdc++-33 fglrx_6_8_0 libidn" |
130 |
< |
;; |
130 |
> |
slc5_ia32_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl ncurses e2fsprogs krb5-libs freetype |
131 |
> |
fontconfig compat-libstdc++-33 libidn libX11 libXmu libSM libICE libXcursor |
132 |
> |
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama libXft |
133 |
> |
libXrender libXpm" |
134 |
> |
slc5_amd64_platformSeeds="glibc coreutils bash tcsh zsh perl tcl tk readline openssl ncurses e2fsprogs krb5-libs freetype |
135 |
> |
fontconfig compat-libstdc++-33 libidn libX11 libXmu libSM libICE libXcursor |
136 |
> |
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama libXft |
137 |
> |
libXrender libXpm" |
138 |
> |
|
139 |
> |
# Add rh5* (not SLC5) as supported distribution. |
140 |
> |
rh5_ia32_platformSeeds=$slc5_ia32_platformSeeds |
141 |
> |
rh5_amd64_platformSeeds=$slc5_amd64_platformSeeds |
142 |
> |
|
143 |
> |
# This bit here is needed in case we are using the old cmsos |
144 |
> |
# which was erroneously only reporting the platform, but not the |
145 |
> |
# architecture. |
146 |
> |
rh5_platformSeeds=$slc5_amd64_platformSeeds |
147 |
> |
;; |
148 |
|
esac |
149 |
|
|
150 |
|
case $cmsplatf in |
151 |
< |
ydl*_ppc64* ) |
151 |
> |
ydl*_ppc64_* ) |
152 |
> |
platformSeeds="$platformSeeds gcc libgcc libstdc++" |
153 |
> |
;; |
154 |
> |
ydl*_ppc_* ) |
155 |
|
platformSeeds="$platformSeeds gcc libgcc libstdc++" |
156 |
|
;; |
157 |
|
esac |
158 |
|
|
159 |
+ |
slc5_compPackages="compat-readline43 libXp libXtst libXt" |
160 |
+ |
|
161 |
+ |
# Seeds for unsupported platforms. These will not make bootstrap die, if not found. |
162 |
|
# OpenSuse |
163 |
|
unsupportedSeeds="xorg-x11-Mesa compat-readline4 compat-curl2 freetype2 |
164 |
|
xorg-x11-libX11" |
171 |
|
# Fedora |
172 |
|
unsupportedSeeds="$unsupportedSeeds libX11 libXmu libSM libICE libXcursor |
173 |
|
libXext libXrandr libXft mesa-libGLU mesa-libGL e2fsprogs-libs libXi libXinerama |
174 |
< |
libXft libXrender libXpm" |
174 |
> |
libXft libXrender libXpm ncurses-libs libc6-i686" |
175 |
|
|
176 |
|
# Case statement for additional provides. |
177 |
|
case %cmsplatf in |
178 |
+ |
slc5onl* ) |
179 |
+ |
additionalProvides="libX11.so.6 libXext.so.6 libXft.so.2 libXpm.so.4" |
180 |
+ |
;; |
181 |
|
osx* ) |
182 |
|
additionalProvides="AGL ApplicationServices Carbon CoreFoundation |
183 |
|
CoreServices OpenGL Python QuickTime Tcl Tk |
184 |
|
libintl.3.dylib" |
185 |
+ |
|
186 |
|
;; |
187 |
|
esac |
188 |
|
|
191 |
|
libkrb5.so.3 libssl.so.4 /bin/csh /bin/tcsh libreadline.so.4 |
192 |
|
libtcl8.4.so libtk8.4.so" |
193 |
|
|
194 |
+ |
defaultPkgs="cms+cms-common+1.0" |
195 |
+ |
|
196 |
|
mkdir -p %{i}/etc/profile.d |
197 |
< |
(echo "instroot=%{instroot}"; \ |
91 |
< |
echo "rpm_version=$RPM_VERSION"; \ |
197 |
> |
(echo "rpm_version=$RPM_VERSION"; \ |
198 |
|
echo "apt_version=$APT_VERSION"; \ |
199 |
|
echo "platformSeeds=\"$platformSeeds\""; \ |
200 |
|
echo "unsupportedSeeds=\"$unsupportedSeeds\""; \ |
201 |
< |
echo "packageList=\"$packageList\""; \ |
201 |
> |
echo "slc4_amd64_platformSeeds=\"$slc4_amd64_platformSeeds\""; \ |
202 |
> |
echo "slc4_ia32_platformSeeds=\"$slc4_ia32_platformSeeds\""; \ |
203 |
> |
echo "slc5_ia32_platformSeeds=\"$slc5_ia32_platformSeeds\""; \ |
204 |
> |
echo "slc5_amd64_platformSeeds=\"$slc5_amd64_platformSeeds\""; \ |
205 |
> |
echo "rh5_ia32_platformSeeds=\"$rh5_ia32_platformSeeds\""; \ |
206 |
> |
echo "rh5_amd64_platformSeeds=\"$rh5_amd64_platformSeeds\""; \ |
207 |
> |
echo "rh5_platformSeeds=\"$rh5_platformSeeds\""; \ |
208 |
> |
echo "packageList=\"`echo $packageList`\""; \ |
209 |
|
echo "additionalProvides=\"$additionalProvides\""; \ |
210 |
|
echo "unsupportedProvides=\"$unsupportedProvides\""; \ |
211 |
+ |
echo "defaultPkgs=\"$defaultPkgs\""; \ |
212 |
|
) > %{i}/%{cmsplatf}-driver.txt |
213 |
+ |
|
214 |
+ |
(echo "rpm_version=$RPM_VERSION"; \ |
215 |
+ |
echo "apt_version=$APT_VERSION"; \ |
216 |
+ |
echo "platformSeeds=\"$platformSeeds $compPackages\""; \ |
217 |
+ |
echo "unsupportedSeeds=\"$unsupportedSeeds\""; \ |
218 |
+ |
echo "slc4_amd64_platformSeeds=\"$slc4_amd64_platformSeeds \""; \ |
219 |
+ |
echo "slc4_ia32_platformSeeds=\"$slc4_ia32_platformSeeds \""; \ |
220 |
+ |
echo "slc5_ia32_platformSeeds=\"$slc5_ia32_platformSeeds $slc5_compPackages\""; \ |
221 |
+ |
echo "slc5_amd64_platformSeeds=\"$slc5_amd64_platformSeeds $slc5_compPackages\""; \ |
222 |
+ |
echo "rh5_ia32_platformSeeds=\"$rh5_ia32_platformSeeds\""; \ |
223 |
+ |
echo "rh5_amd64_platformSeeds=\"$rh5_amd64_platformSeeds\""; \ |
224 |
+ |
echo "rh5_platformSeeds=\"$rh5_platformSeeds\""; \ |
225 |
+ |
echo "packageList=\"`echo $packageList`\""; \ |
226 |
+ |
echo "additionalProvides=\"$additionalProvides\""; \ |
227 |
+ |
echo "unsupportedProvides=\"$unsupportedProvides\""; \ |
228 |
+ |
echo "defaultPkgs=\"$defaultPkgs\""; \ |
229 |
+ |
) > %{i}/%{cmsplatf}-driver-comp.txt |
230 |
+ |
|
231 |
+ |
# FIXME: Hack to make sure that the cms-common package is named correctly in the driver file. |
232 |
+ |
# We should make sure that the $PACKAGE_CATEGORY variable is used (requires changes to cmsBuild.sh which |
233 |
+ |
# I don't want to do at this point. |
234 |
+ |
perl -p -i -e 's|external[+]cms-common|cms+cms-common|g' %{i}/%{cmsplatf}-driver.txt |
235 |
+ |
perl -p -i -e 's|external[+]cms-common|cms+cms-common|g' %{i}/%{cmsplatf}-driver-comp.txt |