Magellan Linux

Contents of /smage/branches/alx07x-stable/include/alx-split.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6001 - (show annotations) (download)
Thu Mar 19 10:08:35 2015 UTC (9 years, 1 month ago) by niro
Original Path: smage/trunk/include/alx-split.sminc
File size: 4975 byte(s)
-be more verbose and fixed broken symlink handling of busybox if the reference does not exists
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 _PNAME=\"${PNAME}\"
76 }"
77 }
78
79 alx-split_generate_split_info_dev()
80 {
81 eval "split_info_${PNAME}-dev()
82 {
83 DESCRIPTION=\"Development files for ${PCAT}/${PNAME}-${PVER}-${PBUILD}.\"
84 DEPEND=\"== ${PCAT}/${PNAME}-${PVER}\"
85 _PNAME=\"${PNAME}\"
86 }"
87 }
88
89 alx-split_generate_src_install_dev()
90 {
91 eval "alx-split_src_install_${PNAME}-dev()
92 {
93 cd \${SRCDIR}
94 if [[ ! -z \$(typeset -f alx_generic_src_install) ]]
95 then
96 alx_generic_src_install
97 else
98 mmake DESTDIR=\${BINDIR} install || die
99
100 local i
101 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
102 FAQ LICENSE NEWS README TODO
103 do
104 if [ -f \${SRCDIR}/\${i} ]
105 then
106 minstalldocs \${i} || die
107 fi
108 done
109 fi
110
111 if [[ ! -z \${ALX_DEV_RM_OPTS} ]]
112 then
113 local i
114 for i in \${ALX_DEV_RM_OPTS}
115 do
116 case \${i} in
117 *\**|*\\\**)
118 if [[ -e \${BINDIR}/\$(dirname \${i}) ]]
119 then
120 echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm
121 find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm
122 fi
123 ;;
124 *)
125 if [[ -e \${BINDIR}/\${i} ]]
126 then
127 echo rm -r \${BINDIR}/\${i}
128 rm -r \${BINDIR}/\${i} || die
129 # busybox does not detect symlinks with -e if the reference does not exists
130 elif [[ -L \${BINDIR}/\${i} ]]
131 then
132 echo rm -r \${BINDIR}/\${i}
133 rm -r \${BINDIR}/\${i} || die
134 fi
135 ;;
136 esac
137 done
138 fi
139
140 if [[ ! -z \${ALX_DEV_ZAPMOST_OPTS} ]]
141 then
142 zapmost \${BINDIR} \${ALX_DEV_ZAPMOST_OPTS} || die
143 fi
144 }"
145 }
146
147 alx-split_generate_src_install()
148 {
149 eval "alx-split_src_install_${PNAME}()
150 {
151 cd \${SRCDIR}
152 if [[ ! -z \$(typeset -f alx_generic_src_install) ]]
153 then
154 alx_generic_src_install
155 else
156 mmake DESTDIR=\${BINDIR} install || die
157
158 local i
159 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
160 FAQ LICENSE NEWS README TODO
161 do
162 if [ -f \${SRCDIR}/\${i} ]
163 then
164 minstalldocs \${i} || die
165 fi
166 done
167 fi
168
169 if [[ ! -z \${ALX_RM_OPTS} ]]
170 then
171 local i
172 for i in \${ALX_RM_OPTS}
173 do
174 case \${i} in
175 *\**|*\\\**)
176 if [[ -e \${BINDIR}/\$(dirname \${i}) ]]
177 then
178 echo find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm
179 find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm
180 fi
181 ;;
182 *)
183 if [[ -e \${BINDIR}/\${i} ]]
184 then
185 echo rm -r \${BINDIR}/\${i}
186 rm -r \${BINDIR}/\${i} || die
187 # busybox does not detect symlinks with -e if the reference does not exists
188 elif [[ -L \${BINDIR}/\${i} ]]
189 then
190 echo rm -r \${BINDIR}/\${i}
191 rm -r \${BINDIR}/\${i} || die
192 fi
193 ;;
194 esac
195 done
196 fi
197
198 if [[ ! -z \${ALX_ZAPMOST_OPTS} ]]
199 then
200 zapmost \${BINDIR} \${ALX_ZAPMOST_OPTS} || die
201 fi
202 }"
203 }
204
205 alx-split_generate_split_info
206 alx-split_generate_split_info_dev
207
208 alx-split_generate_src_install_dev
209 alx-split_generate_src_install
210
211 export_inherits alx-split src_install_${PNAME} src_install_${PNAME}-dev