Contents of /smage/trunk/include/alx-split.sminc
Parent Directory | Revision Log
Revision 6979 -
(show annotations)
(download)
Thu Jul 30 15:49:15 2015 UTC (9 years, 2 months ago) by niro
File size: 5448 byte(s)
Thu Jul 30 15:49:15 2015 UTC (9 years, 2 months ago) by niro
File size: 5448 byte(s)
-honor multilib
1 | # $Id$ |
2 | # alx split packages |
3 | |
4 | sminclude alx cleanutils |
5 | |
6 | # global split defines |
7 | : ${SPLIT_PACKAGES="${PNAME} ${PNAME}-dev"} |
8 | |
9 | # some basics defines: |
10 | |
11 | # zap in normal packages |
12 | ALX_ZAPMOST_OPTS="" |
13 | |
14 | # delete from normal packages |
15 | ALX_RM_OPTS="usr/$(mlibdir)/*.a |
16 | usr/$(mlibdir)/*.la |
17 | usr/$(mlibdir)/pkgconfig |
18 | usr/share/aclocal |
19 | usr/share/doc |
20 | usr/share/info |
21 | usr/share/locale |
22 | usr/share/man |
23 | usr/include" |
24 | |
25 | # zap in dev packages |
26 | ALX_DEV_ZAPMOST_OPTS="" |
27 | |
28 | # delete from dev packages |
29 | ALX_DEV_RM_OPTS="" |
30 | |
31 | # be backward compatible |
32 | if [[ ! -z ${ALX_ONLY_KEEP} ]] |
33 | then |
34 | ALX_PKG_KEEP="${ALX_ONLY_KEEP}" |
35 | echo -e "${COLYELLOW}Warning: 'ALX_ONLY_KEEP' is deprecated and gets removed in the future.${COLDEFAULT}" |
36 | echo -e "${COLYELLOW} Please modify this smage2 script to use the 'ALX_PKG_KEEP' variable.${COLDEFAULT}" |
37 | unset ALX_ONLY_KEEP |
38 | fi |
39 | if [[ ! -z ${ALX_DEV_ONLY_KEEP} ]] |
40 | then |
41 | ALX_DEV_PKG_KEEP="${ALX_DEV_ONLY_KEEP}" |
42 | echo -e "${COLYELLOW}Warning: 'ALX_DEV_ONLY_KEEP' is deprecated and gets removed in the future.${COLDEFAULT}" |
43 | echo -e "${COLYELLOW} Please modify this smage2 script to use the 'ALX_DEV_PKG_KEEP' variable.${COLDEFAULT}" |
44 | unset ALX_DEV_ONLY_KEEP |
45 | fi |
46 | |
47 | # alx keeps |
48 | if [[ ! -z ${ALX_PKG_KEEP} ]] |
49 | then |
50 | ALX_ZAPMOST_OPTS+=" ${ALX_PKG_KEEP}" |
51 | ALX_DEV_RM_OPTS+=" ${ALX_PKG_KEEP}" |
52 | else |
53 | ALX_RM_OPTS+=" $(mlibdir)/*.so |
54 | usr/$(mlibdir)/*.so |
55 | $([[ $(mlibdir) != lib ]] && echo 'lib/*.so usr/lib/*.so')" |
56 | fi |
57 | |
58 | # alx dev keeps |
59 | if [[ ! -z ${ALX_DEV_PKG_KEEP} ]] |
60 | then |
61 | ALX_DEV_ZAPMOST_OPTS+=" ${ALX_DEV_PKG_KEEP}" |
62 | ALX_RM_OPTS+=" ${ALX_DEV_PKG_KEEP}" |
63 | else |
64 | ALX_DEV_RM_OPTS+=" $(mlibdir)/*.so.* |
65 | usr/$(mlibdir)/*.so.* |
66 | $([[ $(mlibdir) != lib ]] && echo 'lib/*.so.* usr/lib/*.so.*')" |
67 | fi |
68 | |
69 | alx-split_generate_split_info() |
70 | { |
71 | eval "split_info_${PNAME}() |
72 | { |
73 | DESCRIPTION=\"${DESCRIPTION}\" |
74 | DEPEND=\"${DEPEND}\" |
75 | if [[ ! -z \${ALX_DEPEND} ]] |
76 | then |
77 | DEPEND=\"\${DEPEND} |
78 | \${ALX_DEPEND}\" |
79 | fi |
80 | _PNAME=\"${PNAME}\" |
81 | }" |
82 | } |
83 | |
84 | alx-split_generate_split_info_dev() |
85 | { |
86 | eval "split_info_${PNAME}-dev() |
87 | { |
88 | DESCRIPTION=\"Development files for ${PCAT}/${PNAME}-${PVER}-${PBUILD}.\" |
89 | DEPEND=\"== ${PCAT}/${PNAME}-${PVER}\" |
90 | if [[ ! -z \${ALX_DEV_DEPEND} ]] |
91 | then |
92 | DEPEND=\"\${DEPEND} |
93 | \${ALX_DEV_DEPEND}\" |
94 | fi |
95 | _PNAME=\"${PNAME}\" |
96 | }" |
97 | } |
98 | |
99 | # honor multilib builds |
100 | if [[ ${MULTILIB_BUILD} = true ]] |
101 | then |
102 | if [[ ! -z $(typeset -f src_install) ]] |
103 | then |
104 | # rename the old one |
105 | old_alx_src_install=old$(typeset -f src_install) |
106 | eval "${old_alx_src_install}" |
107 | |
108 | alx_generic_src_install() |
109 | { |
110 | old_alx_src_install || die |
111 | } |
112 | fi |
113 | fi |
114 | |
115 | alx-split_generate_src_install_dev() |
116 | { |
117 | eval "alx-split_src_install_${PNAME}-dev() |
118 | { |
119 | cd \${SRCDIR} |
120 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
121 | then |
122 | alx_generic_src_install |
123 | else |
124 | mmake DESTDIR=\${BINDIR} install || die |
125 | |
126 | local i |
127 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
128 | FAQ LICENSE NEWS README TODO |
129 | do |
130 | if [ -f \${SRCDIR}/\${i} ] |
131 | then |
132 | minstalldocs \${i} || die |
133 | fi |
134 | done |
135 | fi |
136 | |
137 | if [[ ! -z \${ALX_DEV_RM_OPTS} ]] |
138 | then |
139 | local i |
140 | for i in \${ALX_DEV_RM_OPTS} |
141 | do |
142 | case \${i} in |
143 | *\**|*\\\**) |
144 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
145 | then |
146 | echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
147 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
148 | fi |
149 | ;; |
150 | *) |
151 | if [[ -e \${BINDIR}/\${i} ]] |
152 | then |
153 | echo rm -r \${BINDIR}/\${i} |
154 | rm -r \${BINDIR}/\${i} || die |
155 | # busybox does not detect symlinks with -e if the reference does not exists |
156 | elif [[ -L \${BINDIR}/\${i} ]] |
157 | then |
158 | echo rm -r \${BINDIR}/\${i} |
159 | rm -r \${BINDIR}/\${i} || die |
160 | fi |
161 | ;; |
162 | esac |
163 | done |
164 | fi |
165 | |
166 | if [[ ! -z \${ALX_DEV_ZAPMOST_OPTS} ]] |
167 | then |
168 | zapmost \${BINDIR} \${ALX_DEV_ZAPMOST_OPTS} || die |
169 | fi |
170 | }" |
171 | } |
172 | |
173 | alx-split_generate_src_install() |
174 | { |
175 | eval "alx-split_src_install_${PNAME}() |
176 | { |
177 | cd \${SRCDIR} |
178 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
179 | then |
180 | alx_generic_src_install |
181 | else |
182 | mmake DESTDIR=\${BINDIR} install || die |
183 | |
184 | local i |
185 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
186 | FAQ LICENSE NEWS README TODO |
187 | do |
188 | if [ -f \${SRCDIR}/\${i} ] |
189 | then |
190 | minstalldocs \${i} || die |
191 | fi |
192 | done |
193 | fi |
194 | |
195 | if [[ ! -z \${ALX_RM_OPTS} ]] |
196 | then |
197 | local i |
198 | for i in \${ALX_RM_OPTS} |
199 | do |
200 | case \${i} in |
201 | *\**|*\\\**) |
202 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
203 | then |
204 | echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
205 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
206 | fi |
207 | ;; |
208 | *) |
209 | if [[ -e \${BINDIR}/\${i} ]] |
210 | then |
211 | echo rm -r \${BINDIR}/\${i} |
212 | rm -r \${BINDIR}/\${i} || die |
213 | # busybox does not detect symlinks with -e if the reference does not exists |
214 | elif [[ -L \${BINDIR}/\${i} ]] |
215 | then |
216 | echo rm -r \${BINDIR}/\${i} |
217 | rm -r \${BINDIR}/\${i} || die |
218 | fi |
219 | ;; |
220 | esac |
221 | done |
222 | fi |
223 | |
224 | if [[ ! -z \${ALX_ZAPMOST_OPTS} ]] |
225 | then |
226 | zapmost \${BINDIR} \${ALX_ZAPMOST_OPTS} || die |
227 | fi |
228 | }" |
229 | } |
230 | |
231 | alx-split_generate_split_info |
232 | alx-split_generate_split_info_dev |
233 | |
234 | alx-split_generate_src_install_dev |
235 | alx-split_generate_src_install |
236 | |
237 | export_inherits alx-split src_install_${PNAME} src_install_${PNAME}-dev |