Contents of /smage/trunk/include/alx-split.sminc
Parent Directory | Revision Log
Revision 3607 -
(show annotations)
(download)
Tue Jul 10 14:07:54 2012 UTC (12 years, 2 months ago) by niro
File size: 4310 byte(s)
Tue Jul 10 14:07:54 2012 UTC (12 years, 2 months ago) by niro
File size: 4310 byte(s)
-support multilib systems and keep *.so files in dev packages
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 | $(mlibdir)/*.so |
25 | usr/$(mlibdir)/*.so |
26 | $([[ $(mlibdir) != lib ]] && echo 'lib/*.so usr/lib/*.so')" |
27 | |
28 | # zap in normal packages |
29 | ALX_DEV_ZAPMOST_OPTS="" |
30 | |
31 | # delete from dev packages |
32 | ALX_DEV_RM_OPTS="$(mlibdir)/*.so.* |
33 | usr/$(mlibdir)/*.so.* |
34 | $([[ $(mlibdir) != lib ]] && echo 'lib/*.so.* usr/lib/*.so.*')" |
35 | |
36 | # alx keeps |
37 | if [[ ! -z ${ALX_ONLY_KEEP} ]] |
38 | then |
39 | ALX_ZAPMOST_OPTS+=" ${ALX_ONLY_KEEP}" |
40 | ALX_DEV_RM_OPTS+=" ${ALX_ONLY_KEEP}" |
41 | fi |
42 | |
43 | # alx dev keeps |
44 | if [[ ! -z ${ALX_DEV_ONLY_KEEP} ]] |
45 | then |
46 | ALX_DEV_ZAPMOST_OPTS+=" ${ALX_DEV_ONLY_KEEP}" |
47 | ALX_RM_OPTS+=" ${ALX_DEV_ONLY_KEEP}" |
48 | fi |
49 | |
50 | SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} alx-split_postinstall" |
51 | |
52 | alx-split_postinstall() |
53 | { |
54 | local target |
55 | |
56 | case ${REMOVE_DEPRECATED_MAGE_TARGETS} in |
57 | 1|yes|true|TRUE) |
58 | for target in ${DEPRECATED_MAGE_TARGETS} |
59 | do |
60 | # first try to remove split_package_base target |
61 | if [[ ! -z $(magequery -n ${SPLIT_PACKAGE_BASE}-${target}) ]] |
62 | then |
63 | echo "removing deprecated mage-target '${SPLIT_PACKAGE_BASE}-${target}'" |
64 | mage uninstall ${SPLIT_PACKAGE_BASE}-${target} || die |
65 | fi |
66 | |
67 | # then try to remove pname target |
68 | if [[ ! -z $(magequery -n ${_PNAME}-${target}) ]] |
69 | then |
70 | echo "removing deprecated mage-target '${_PNAME}-${target}'" |
71 | mage uninstall ${_PNAME}-${target} || die |
72 | fi |
73 | done |
74 | ;; |
75 | esac |
76 | } |
77 | |
78 | alx-split_generate_split_info() |
79 | { |
80 | eval "split_info_${PNAME}() |
81 | { |
82 | DESCRIPTION=\"${DESCRIPTION}\" |
83 | DEPEND=\"${DEPEND}\" |
84 | _PNAME=\"${PNAME}\" |
85 | }" |
86 | } |
87 | |
88 | alx-split_generate_split_info_dev() |
89 | { |
90 | eval "split_info_${PNAME}-dev() |
91 | { |
92 | DESCRIPTION=\"Development files for ${PCATEGORIE}/${PNAME}-${PVER}-${PBUILD}.\" |
93 | DEPEND=\"== ${PCATEGORIE}/${PNAME}-${PVER}\" |
94 | _PNAME=\"${PNAME}\" |
95 | }" |
96 | } |
97 | |
98 | alx-split_generate_src_install_dev() |
99 | { |
100 | eval "alx-split_src_install_${PNAME}-dev() |
101 | { |
102 | cd \${SRCDIR} |
103 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
104 | then |
105 | alx_generic_src_install |
106 | else |
107 | mmake DESTDIR=\${BINDIR} install || die |
108 | |
109 | local i |
110 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
111 | FAQ LICENSE NEWS README TODO |
112 | do |
113 | if [ -f \${SRCDIR}/\${i} ] |
114 | then |
115 | minstalldocs \${i} || die |
116 | fi |
117 | done |
118 | fi |
119 | |
120 | if [[ ! -z \${ALX_DEV_RM_OPTS} ]] |
121 | then |
122 | local i |
123 | for i in \${ALX_DEV_RM_OPTS} |
124 | do |
125 | case \${i} in |
126 | *\**|*\\\**) |
127 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
128 | then |
129 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
130 | fi |
131 | ;; |
132 | *) |
133 | if [[ -e \${BINDIR}/\${i} ]] |
134 | then |
135 | rm -r \${BINDIR}/\${i} || die |
136 | fi |
137 | ;; |
138 | esac |
139 | done |
140 | fi |
141 | |
142 | if [[ ! -z \${ALX_DEV_ZAPMOST_OPTS} ]] |
143 | then |
144 | zapmost \${BINDIR} \${ALX_DEV_ZAPMOST_OPTS} || die |
145 | fi |
146 | }" |
147 | } |
148 | |
149 | alx-split_generate_src_install() |
150 | { |
151 | eval "alx-split_src_install_${PNAME}() |
152 | { |
153 | cd \${SRCDIR} |
154 | if [[ ! -z \$(typeset -f alx_generic_src_install) ]] |
155 | then |
156 | alx_generic_src_install |
157 | else |
158 | mmake DESTDIR=\${BINDIR} install || die |
159 | |
160 | local i |
161 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
162 | FAQ LICENSE NEWS README TODO |
163 | do |
164 | if [ -f \${SRCDIR}/\${i} ] |
165 | then |
166 | minstalldocs \${i} || die |
167 | fi |
168 | done |
169 | fi |
170 | |
171 | if [[ ! -z \${ALX_RM_OPTS} ]] |
172 | then |
173 | local i |
174 | for i in \${ALX_RM_OPTS} |
175 | do |
176 | case \${i} in |
177 | *\**|*\\\**) |
178 | if [[ -e \${BINDIR}/\$(dirname \${i}) ]] |
179 | then |
180 | find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm |
181 | fi |
182 | ;; |
183 | *) |
184 | if [[ -e \${BINDIR}/\${i} ]] |
185 | then |
186 | rm -r \${BINDIR}/\${i} || die |
187 | fi |
188 | ;; |
189 | esac |
190 | done |
191 | fi |
192 | |
193 | if [[ ! -z \${ALX_ZAPMOST_OPTS} ]] |
194 | then |
195 | zapmost \${BINDIR} \${ALX_ZAPMOST_OPTS} || die |
196 | fi |
197 | }" |
198 | } |
199 | |
200 | alx-split_generate_split_info |
201 | alx-split_generate_split_info_dev |
202 | |
203 | alx-split_generate_src_install_dev |
204 | alx-split_generate_src_install |
205 | |
206 | export_inherits alx-split src_install_${PNAME} src_install_${PNAME}-dev postinstall |