Magellan Linux

Contents of /smage/branches/alx08x-unstable/include/alx-split.sminc

Parent Directory Parent Directory | Revision Log 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)
-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