Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3607 - (hide 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 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     # some basics defines:
10    
11     # zap in normal packages
12     ALX_ZAPMOST_OPTS=""
13    
14 niro 3607 # delete from normal packages
15 niro 1667 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 niro 3607 usr/include
24     $(mlibdir)/*.so
25     usr/$(mlibdir)/*.so
26     $([[ $(mlibdir) != lib ]] && echo 'lib/*.so usr/lib/*.so')"
27 niro 1667
28     # zap in normal packages
29     ALX_DEV_ZAPMOST_OPTS=""
30    
31     # delete from dev packages
32 niro 3607 ALX_DEV_RM_OPTS="$(mlibdir)/*.so.*
33     usr/$(mlibdir)/*.so.*
34     $([[ $(mlibdir) != lib ]] && echo 'lib/*.so.* usr/lib/*.so.*')"
35 niro 1667
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 niro 1670 case ${REMOVE_DEPRECATED_MAGE_TARGETS} in
57 niro 1667 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 niro 2065 if [[ ! -z $(magequery -n ${_PNAME}-${target}) ]]
69 niro 1667 then
70 niro 2065 echo "removing deprecated mage-target '${_PNAME}-${target}'"
71     mage uninstall ${_PNAME}-${target} || die
72 niro 1667 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 niro 2075 _PNAME=\"${PNAME}\"
85 niro 1667 }"
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 niro 2075 _PNAME=\"${PNAME}\"
95 niro 1667 }"
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 niro 3571 find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm
130 niro 1667 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 niro 3571 find \${BINDIR}/\$(dirname \${i}) -maxdepth 1 -name \"\$(basename \${i})\" | xargs --no-run-if-empty rm
181 niro 1667 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 niro 1672 export_inherits alx-split src_install_${PNAME} src_install_${PNAME}-dev postinstall