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