Contents of /smage/branches/alx08x-unstable/include/alx-split.sminc
Parent Directory
|
Revision Log
Revision 16245 -
(show annotations)
(download)
Mon Oct 2 08:46:29 2023 UTC (8 months, 3 weeks ago) by niro
File size: 10064 byte(s)
Mon Oct 2 08:46:29 2023 UTC (8 months, 3 weeks ago) by niro
File size: 10064 byte(s)
-release alx08x-unstable
1 | # $Id$ |
2 | # alx split packages |
3 | |
4 | sminclude alx cleanutils |
5 | |
6 | # global split defines |
7 | if [[ -z ${SPLIT_PACKAGES} ]] |
8 | then |
9 | SPLIT_PACKAGES="${PNAME} ${PNAME}-dev" |
10 | else |
11 | SPLIT_PACKAGES+=" ${PNAME}-dev" |
12 | fi |
13 | if [[ ${MAGE_LIB32_SPLIT} = true ]] |
14 | then |
15 | SPLIT_PACKAGES+=" ${PNAME}-lib32" |
16 | fi |
17 | |
18 | # honor empty SDEPEND |
19 | if [[ ! -z ${ALX_DEV_DEPEND} ]] && [[ -z ${SDEPEND} ]] |
20 | then |
21 | SDEPEND="${ALX_DEV_DEPEND}" |
22 | fi |
23 | |
24 | # some basics defines: |
25 | |
26 | # zap in normal packages |
27 | ALX_ZAPMOST_OPTS="" |
28 | |
29 | # delete from normal packages |
30 | ALX_RM_OPTS="usr/$(mlibdir)/*.a |
31 | usr/$(mlibdir)/*.la |
32 | usr/$(mlibdir)/pkgconfig |
33 | usr/share/aclocal |
34 | usr/share/doc |
35 | usr/share/info |
36 | usr/share/locale |
37 | usr/share/man |
38 | usr/include |
39 | $([[ $(MABI=m32 mlibdir) != lib ]] && echo usr/$(MABI=m32 mlibdir)/*.a usr/$(MABI=m32 mlibdir)/*.la usr/$(MABI=m32 mlibdir)/pkgconfig) |
40 | $([[ $(MABI=m64 mlibdir) != lib ]] && echo usr/$(MABI=m64 mlibdir)/*.a usr/$(MABI=m64 mlibdir)/*.la usr/$(MABI=m64 mlibdir)/pkgconfig)" |
41 | |
42 | if [[ ${MAGE_LIB32_SPLIT} = true ]] |
43 | then |
44 | # remove lib32 from normal packages |
45 | ALX_RM_OPTS+=" usr/$(MABI=m32 mlibdir)/" |
46 | |
47 | # zap in lib32 packages |
48 | ALX_LIB32_ZAPMOST_OPTS="" |
49 | |
50 | # delete from lib32 packages |
51 | ALX_LIB32_RM_OPTS="usr/$(mlibdir) |
52 | usr/$(MABI=m32 mlibdir)/*.a |
53 | usr/$(MABI=m32 mlibdir)/*.la |
54 | usr/$(MABI=m32 mlibdir)/pkgconfig |
55 | usr/share/aclocal |
56 | usr/share/doc |
57 | usr/share/info |
58 | usr/share/locale |
59 | usr/share/man |
60 | usr/include" |
61 | fi |
62 | |
63 | # zap in dev packages |
64 | ALX_DEV_ZAPMOST_OPTS="" |
65 | |
66 | # delete from dev packages |
67 | ALX_DEV_RM_OPTS="" |
68 | |
69 | # be backward compatible |
70 | if [[ ! -z ${ALX_ONLY_KEEP} ]] |
71 | then |
72 | ALX_PKG_KEEP="${ALX_ONLY_KEEP}" |
73 | echo -e "${COLYELLOW}Warning: 'ALX_ONLY_KEEP' is deprecated and gets removed in the future.${COLDEFAULT}" |
74 | echo -e "${COLYELLOW} Please modify this smage2 script to use the 'ALX_PKG_KEEP' variable.${COLDEFAULT}" |
75 | unset ALX_ONLY_KEEP |
76 | fi |
77 | if [[ ! -z ${ALX_DEV_ONLY_KEEP} ]] |
78 | then |
79 | ALX_DEV_PKG_KEEP="${ALX_DEV_ONLY_KEEP}" |
80 | echo -e "${COLYELLOW}Warning: 'ALX_DEV_ONLY_KEEP' is deprecated and gets removed in the future.${COLDEFAULT}" |
81 | echo -e "${COLYELLOW} Please modify this smage2 script to use the 'ALX_DEV_PKG_KEEP' variable.${COLDEFAULT}" |
82 | unset ALX_DEV_ONLY_KEEP |
83 | fi |
84 | |
85 | # alx keeps |
86 | if [[ ! -z ${ALX_PKG_KEEP} ]] |
87 | then |
88 | ALX_ZAPMOST_OPTS+=" ${ALX_PKG_KEEP}" |
89 | ALX_DEV_RM_OPTS+=" ${ALX_PKG_KEEP}" |
90 | elif [[ ${MAGE_LIB32_SPLIT} = true ]] |
91 | then |
92 | ALX_RM_OPTS+=" $(mlibdir)/*.so |
93 | usr/$(mlibdir)/*.so |
94 | $(MABI=m32 mlibdir)/*.so |
95 | usr/$(MABI=m32 mlibdir)/*.so |
96 | $(MABI=m32 mlibdir)/*.so.* |
97 | usr/$(MABI=m32 mlibdir)/*.so.*" |
98 | else |
99 | ALX_RM_OPTS+=" $(mlibdir)/*.so |
100 | usr/$(mlibdir)/*.so |
101 | $([[ $(MABI=m32 mlibdir) != lib ]] && echo $(MABI=m32 mlibdir)/*.so usr/$(MABI=m32 mlibdir)/*.so) |
102 | $([[ $(MABI=m64 mlibdir) != lib ]] && echo $(MABI=m64 mlibdir)/*.so usr/$(MABI=m64 mlibdir)/*.so)" |
103 | fi |
104 | |
105 | # alx lib32 keeps |
106 | if [[ ${MAGE_LIB32_SPLIT} = true ]] |
107 | then |
108 | if [[ ! -z ${ALX_LIB32_PKG_KEEP} ]] |
109 | then |
110 | ALX_LIB32_ZAPMOST_OPTS+=" ${ALX_LIB32_PKG_KEEP}" |
111 | ALX_DEV_RM_OPTS+=" ${ALX_LIB32_PKG_KEEP}" |
112 | ALX_RM_OPTS+=" ${ALX_LIB32_PKG_KEEP}" |
113 | else |
114 | ALX_LIB32_RM_OPTS+=" $(mlibdir)/*.so |
115 | $(mlibdir)/*.so.* |
116 | usr/$(mlibdir)/*.so |
117 | usr/$(mlibdir)/*.so.* |
118 | $(MABI=m32 mlibdir)/*.so |
119 | usr/$(MABI=m32 mlibdir)/*.so" |
120 | fi |
121 | fi |
122 | |
123 | # alx dev keeps |
124 | if [[ ! -z ${ALX_DEV_PKG_KEEP} ]] |
125 | then |
126 | ALX_DEV_ZAPMOST_OPTS+=" ${ALX_DEV_PKG_KEEP}" |
127 | ALX_RM_OPTS+=" ${ALX_DEV_PKG_KEEP}" |
128 | elif [[ ${MAGE_LIB32_SPLIT} = true ]] |
129 | then |
130 | ALX_DEV_RM_OPTS+=" $(mlibdir)/*.so.* |
131 | usr/$(mlibdir)/*.so.* |
132 | $(MABI=m32 mlibdir)/*.so.* |
133 | usr/$(MABI=m32 mlibdir)/*.so.*" |
134 | else |
135 | ALX_DEV_RM_OPTS+=" $(mlibdir)/*.so.* |
136 | usr/$(mlibdir)/*.so.* |
137 | $([[ $(MABI=m32 mlibdir) != lib ]] && echo $(MABI=m32 mlibdir)/*.so.* usr/$(MABI=m32 mlibdir)/*.so.*) |
138 | $([[ $(MABI=m64 mlibdir) != lib ]] && echo $(MABI=m64 mlibdir)/*.so.* usr/$(MABI=m64 mlibdir)/*.so.*)" |
139 | fi |
140 | |
141 | alx-split_generate_split_info() |
142 | { |
143 | eval "split_info_${PNAME}() |
144 | { |
145 | DESCRIPTION=\"${DESCRIPTION}\" |
146 | DEPEND=\"${DEPEND}\" |
147 | if [[ ! -z \${ALX_DEPEND} ]] |
148 | then |
149 | DEPEND=\"\${DEPEND} |
150 | \${ALX_DEPEND}\" |
151 | fi |
152 | if [[ ! -z \${ALX_PROVIDE} ]] |
153 | then |
154 | PROVIDE=\"\${PROVIDE} |
155 | \${ALX_PROVIDE}\" |
156 | fi |
157 | _PNAME=\"${PNAME}\" |
158 | }" |
159 | } |
160 | |
161 | if [[ ${MAGE_LIB32_SPLIT} = true ]] |
162 | then |
163 | alx-split_generate_split_info_lib32() |
164 | { |
165 | eval "split_info_${PNAME}-lib32() |
166 | { |
167 | DESCRIPTION=\"${PNAME} 32bit libraries.\" |
168 | DEPEND=\"== ${PCAT}/${PNAME}-${PVER}\" |
169 | if [[ ! -z \${ALX_LIB32_DEPEND} ]] |
170 | then |
171 | DEPEND=\"\${DEPEND} |
172 | \${ALX_LIB32_DEPEND}\" |
173 | fi |
174 | if [[ ! -z \${ALX_LIB32_PROVIDE} ]] |
175 | then |
176 | PROVIDE=\"\${PROVIDE} |
177 | \${ALX_LIB32_PROVIDE}\" |
178 | fi |
179 | _PNAME=\"${PNAME}\" |
180 | }" |
181 | } |
182 | fi |
183 | |
184 | alx-split_generate_split_info_dev() |
185 | { |
186 | eval "split_info_${PNAME}-dev() |
187 | { |
188 | DESCRIPTION=\"Development files for ${PCAT}/${PNAME}-${PVER}-${PBUILD}.\" |
189 | DEPEND=\"== ${PCAT}/${PNAME}-${PVER}\" |
190 | if [[ \${MAGE_LIB32_SPLIT} = true ]] |
191 | then |
192 | DEPEND=\"\${DEPEND} |
193 | == ${PCAT}/${PNAME}-lib32-${PVER}\" |
194 | fi |
195 | if [[ ! -z \${ALX_DEV_DEPEND} ]] |
196 | then |
197 | DEPEND=\"\${DEPEND} |
198 | \${ALX_DEV_DEPEND}\" |
199 | fi |
200 | if [[ ! -z \${ALX_DEV_PROVIDE} ]] |
201 | then |
202 | PROVIDE=\"\${PROVIDE} |
203 | \${ALX_DEV_PROVIDE}\" |
204 | fi |
205 | _PNAME=\"${PNAME}\" |
206 | }" |
207 | } |
208 | |
209 | # honor multilib builds |
210 | if [[ ${MULTILIB_BUILD} = true ]] |
211 | then |
212 | if [[ ! -z $(typeset -f src_install) ]] |
213 | then |
214 | # rename the old one |
215 | old_alx_src_install=old_alx_$(typeset -f src_install) |
216 | eval "${old_alx_src_install}" |
217 | |
218 | alx_generic_src_install() |
219 | { |
220 | old_alx_src_install || die |
221 | } |
222 | fi |
223 | fi |
224 | |
225 | alx-split_generate_src_install_dev() |
226 | { |
227 | eval "alx-split_src_install_${PNAME}-dev() |
228 | { |
229 | if [[ \${MULTILIB_BUILD} = true ]] |
230 | then |
231 | cd \${BUILDDIR} |
232 | else |
233 | cd \${SRCDIR} |
234 | fi |
235 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
236 | then |
237 | alx_generic_src_install |
238 | else |
239 | mmake DESTDIR=\${BINDIR} install || die |
240 | |
241 | local i |
242 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
243 | FAQ LICENSE NEWS README TODO |
244 | do |
245 | if [ -f \${SRCDIR}/\${i} ] |
246 | then |
247 | minstalldocs \${i} || die |
248 | fi |
249 | done |
250 | fi |
251 | |
252 | if [[ ! -z \${ALX_DEV_RM_OPTS} ]] |
253 | then |
254 | local i |
255 | for i in \${ALX_DEV_RM_OPTS} |
256 | do |
257 | case \${i} in |
258 | *\**|*\\\**) |
259 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
260 | then |
261 | echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" \| xargs --no-run-if-empty rm |
262 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
263 | fi |
264 | ;; |
265 | *) |
266 | if [[ -e \${BINDIR}/\${i} ]] |
267 | then |
268 | echo rm -r \${BINDIR}/\${i} |
269 | rm -r \${BINDIR}/\${i} || die |
270 | # busybox does not detect symlinks with -e if the reference does not exists |
271 | elif [[ -L \${BINDIR}/\${i} ]] |
272 | then |
273 | echo rm -r \${BINDIR}/\${i} |
274 | rm -r \${BINDIR}/\${i} || die |
275 | fi |
276 | ;; |
277 | esac |
278 | done |
279 | fi |
280 | |
281 | if [[ ! -z \${ALX_DEV_ZAPMOST_OPTS} ]] |
282 | then |
283 | zapmost \${BINDIR} \${ALX_DEV_ZAPMOST_OPTS} || die |
284 | fi |
285 | }" |
286 | } |
287 | |
288 | alx-split_generate_src_install_lib32() |
289 | { |
290 | eval "alx-split_src_install_${PNAME}-lib32() |
291 | { |
292 | if [[ \${MULTILIB_BUILD} = true ]] |
293 | then |
294 | cd \${BUILDDIR} |
295 | else |
296 | cd \${SRCDIR} |
297 | fi |
298 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
299 | then |
300 | alx_generic_src_install |
301 | else |
302 | mmake DESTDIR=\${BINDIR} install || die |
303 | |
304 | local i |
305 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
306 | FAQ LICENSE NEWS README TODO |
307 | do |
308 | if [ -f \${SRCDIR}/\${i} ] |
309 | then |
310 | minstalldocs \${i} || die |
311 | fi |
312 | done |
313 | fi |
314 | |
315 | if [[ ! -z \${ALX_LIB32_RM_OPTS} ]] |
316 | then |
317 | local i |
318 | for i in \${ALX_LIB32_RM_OPTS} |
319 | do |
320 | case \${i} in |
321 | *\**|*\\\**) |
322 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
323 | then |
324 | echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" \| xargs --no-run-if-empty rm |
325 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
326 | fi |
327 | ;; |
328 | *) |
329 | if [[ -e \${BINDIR}/\${i} ]] |
330 | then |
331 | echo rm -r \${BINDIR}/\${i} |
332 | rm -r \${BINDIR}/\${i} || die |
333 | # busybox does not detect symlinks with -e if the reference does not exists |
334 | elif [[ -L \${BINDIR}/\${i} ]] |
335 | then |
336 | echo rm -r \${BINDIR}/\${i} |
337 | rm -r \${BINDIR}/\${i} || die |
338 | fi |
339 | ;; |
340 | esac |
341 | done |
342 | fi |
343 | |
344 | if [[ ! -z \${ALX_LIB32_ZAPMOST_OPTS} ]] |
345 | then |
346 | zapmost \${BINDIR} \${ALX_LIB32_ZAPMOST_OPTS} || die |
347 | fi |
348 | }" |
349 | } |
350 | |
351 | alx-split_generate_src_install() |
352 | { |
353 | eval "alx-split_src_install_${PNAME}() |
354 | { |
355 | if [[ \${MULTILIB_BUILD} = true ]] |
356 | then |
357 | cd \${BUILDDIR} |
358 | else |
359 | cd \${SRCDIR} |
360 | fi |
361 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
362 | then |
363 | alx_generic_src_install |
364 | else |
365 | mmake DESTDIR=\${BINDIR} install || die |
366 | |
367 | local i |
368 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
369 | FAQ LICENSE NEWS README TODO |
370 | do |
371 | if [ -f \${SRCDIR}/\${i} ] |
372 | then |
373 | minstalldocs \${i} || die |
374 | fi |
375 | done |
376 | fi |
377 | |
378 | if [[ ! -z \${ALX_RM_OPTS} ]] |
379 | then |
380 | local i |
381 | for i in \${ALX_RM_OPTS} |
382 | do |
383 | case \${i} in |
384 | *\**|*\\\**) |
385 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
386 | then |
387 | echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" \| xargs --no-run-if-empty rm |
388 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
389 | fi |
390 | ;; |
391 | *) |
392 | if [[ -e \${BINDIR}/\${i} ]] |
393 | then |
394 | echo rm -r \${BINDIR}/\${i} |
395 | rm -r \${BINDIR}/\${i} || die |
396 | # busybox does not detect symlinks with -e if the reference does not exists |
397 | elif [[ -L \${BINDIR}/\${i} ]] |
398 | then |
399 | echo rm -r \${BINDIR}/\${i} |
400 | rm -r \${BINDIR}/\${i} || die |
401 | fi |
402 | ;; |
403 | esac |
404 | done |
405 | fi |
406 | |
407 | if [[ ! -z \${ALX_ZAPMOST_OPTS} ]] |
408 | then |
409 | zapmost \${BINDIR} \${ALX_ZAPMOST_OPTS} || die |
410 | fi |
411 | }" |
412 | } |
413 | |
414 | alx-split_generate_split_info |
415 | alx-split_generate_split_info_dev |
416 | |
417 | alx-split_generate_src_install_dev |
418 | alx-split_generate_src_install |
419 | |
420 | if [[ ${MAGE_LIB32_SPLIT} = true ]] |
421 | then |
422 | alx-split_generate_split_info_lib32 |
423 | alx-split_generate_src_install_lib32 |
424 | |
425 | export_inherits alx-split src_install_${PNAME}-lib32 |
426 | fi |
427 | |
428 | export_inherits alx-split src_install_${PNAME} src_install_${PNAME}-dev |