Magellan Linux

Contents of /smage/trunk/include/alx-split.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3607 - (show annotations) (download)
Tue Jul 10 14:07:54 2012 UTC (11 years, 10 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