Magellan Linux

Contents of /trunk/core/util-linux/util-linux-2.25.2-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 22619 - (show annotations) (download)
Mon Oct 27 10:03:51 2014 UTC (9 years, 7 months ago) by niro
File size: 7761 byte(s)
-split libsmartcols
1 # $Id$
2
3 PNAME="util-linux"
4 PVER="2.25.2"
5 PBUILD="r2"
6
7 SPLIT_PACKAGES="libuuid libblkid libmount libsmartcols libmount-python util-linux uuidd"
8
9
10 PCAT="sys-apps"
11 HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/"
12
13 COMMON_DEPEND=">= virtual/glibc"
14
15 UTIL_DEPEND=">= sys-libs/ncurses-5.9
16 >= sys-fs/libudev-216"
17
18 PYTHON_DEPEND=">= dev-lang/python-2.7"
19
20 SDEPEND="${COMMON_DEPEND}
21 ${UTIL_DEPEND}
22 >= virtual/kernel-headers
23 >= virtual/sed
24 >= sys-dev/gettext-0.18"
25
26 SRCFILE="${PNAME}-${PVER/_/-}.tar.xz"
27 SRCDIR="${BUILDDIR}/${PNAME}-${PVER/_/-}"
28
29 sminclude mtools multilib python systemd cleanutils
30
31 SRC_URI=(
32 http://www.kernel.org/pub/linux/utils/${PNAME}/v${PVER%.?}/${SRCFILE}
33 http://www.kernel.org/pub/linux/utils/${PNAME}/v${PVER/%_*/}/${SRCFILE}
34 mirror://${PNAME}/${SRCFILE}
35 mirror://${PNAME}/uuidd.tmpfilesd
36 )
37
38 UP2DATE="updatecmd \"${HOMEPAGE}/v\$(updatecmd ${HOMEPAGE} | grep v.*/ | sed -n 's/.*v\(.*\)\/.*/\1/;$ p')/?C=M;O=A\" | grep -v 'rc' | highesttarball xz"
39
40 split_info_libuuid()
41 {
42 DESCRIPTION="Universally unique ID library."
43 DEPEND="${COMMON_DEPEND}"
44 PCAT="sys-libs"
45 }
46
47 split_info_libblkid()
48 {
49 DESCRIPTION="Block device ID library."
50 DEPEND="${COMMON_DEPEND}"
51 PCAT="sys-libs"
52 }
53
54 split_info_libmount()
55 {
56 DESCRIPTION="Device mounting library."
57 DEPEND="${COMMON_DEPEND}"
58 PCAT="sys-libs"
59 }
60
61 split_info_libsmartcols()
62 {
63 DESCRIPTION="Formatting library for ls-like programs."
64 DEPEND="${COMMON_DEPEND}"
65 PCAT="sys-libs"
66 }
67
68 split_info_libmount-python()
69 {
70 DESCRIPTION="Python bindings for libmount."
71 DEPEND="== sys-libs/libmount-${PVER}
72 ${PYTHON_DEPEND}"
73 PCAT="dev-python"
74 }
75
76 split_info_util-linux()
77 {
78 DESCRIPTION="Various useful Linux utilities."
79 DEPEND="== sys-libs/libuuid-${PVER}
80 == sys-libs/libblkid-${PVER}
81 == sys-libs/libmount-${PVER}
82 == sys-libs/libsmartcols-${PVER}
83 ${UTIL_DEPEND}"
84 PROVIDE="virtual/eject"
85 }
86
87 split_info_uuidd()
88 {
89 DESCRIPTION="Helper daemon to guarantee uniqueness of time-based UUIDs."
90 DEPEND="== sys-libs/libuuid-${PVER}
91 ${COMMON_DEPEND}"
92 }
93
94 pkg_setup()
95 {
96 preinstall_uuidd
97 }
98
99 src_prepare()
100 {
101 munpack ${SRCFILE} || die
102
103 # fhs compatibility
104 all-abis sed -i 's:etc/adjtime:var/lib/hwclock/adjtime:' \
105 include/pathnames.h \
106 sys-utils/hwclock.c sys-utils/hwclock.8 \
107 sys-utils/rtcwake.c sys-utils/rtcwake.8 || die
108
109 # satisfy usr-move
110 all-abis sed -i \
111 -e "s:sbindir=/sbin:sbindir=/usr/sbin:" \
112 -e "s:bindir=/bin:bindir=/usr/bin:" \
113 -e "s:libdir=/lib:libdir=/usr/lib:" \
114 -e 's:localstatedir=\${prefix}/\${localstatedir}:localstatedir=\${localstatedir}:' \
115 configure.ac || die
116
117 # regen configure
118 mautoreconf || die
119 }
120
121 src_compile()
122 {
123 # enabled libmount-mount to utilize mount with a mtab symlink
124 # which is needed by systemd
125
126 # we are using blkid from util linux now (--with-fsprobe=built --enable-fsck)
127 # which merges the old blkid from e2fsprogs and udevs libvolume
128 # see: http://lists.freedesktop.org/archives/hal-commit/2009-May/004936.html
129 mconfigure \
130 --localstatedir=/run \
131 --exec-prefix=/usr \
132 --with-systemdsystemunitdir=$(mget-systemd-unit-dir) \
133 --enable-nls \
134 --enable-agetty \
135 --enable-cramfs \
136 --enable-partx \
137 --enable-raw \
138 --enable-rename \
139 --enable-schedutils \
140 --enable-write \
141 --disable-reset \
142 --disable-login \
143 --disable-su \
144 --enable-sulogin \
145 --disable-kill \
146 --enable-last \
147 --enable-mesg \
148 --enable-wall \
149 --enable-fsck \
150 --enable-libmount \
151 --disable-silent-rules \
152 --enable-socket-activation \
153 --with-python=2 \
154 || die
155
156 mmake || die
157 }
158
159 src_install_libuuid()
160 {
161 mmake -j1 DESTDIR=${BINDIR} install || die
162 zapmost ${BINDIR} \
163 usr/include/uuid \
164 usr/$(mlibdir)/libuuid.\* usr/$(mlibdir)/pkgconfig/uuid.pc \
165 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libuuid.* usr/lib/pkgconfig/uuid.pc") \
166 || die
167 }
168
169 src_install_libblkid()
170 {
171 mmake -j1 DESTDIR=${BINDIR} install || die
172 zapmost ${BINDIR} \
173 usr/include/blkid \
174 usr/$(mlibdir)/libblkid.\* usr/$(mlibdir)/pkgconfig/blkid.pc \
175 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libblkid.* usr/lib/pkgconfig/blkid.pc") \
176 || die
177 }
178
179 src_install_libmount()
180 {
181 mmake -j1 DESTDIR=${BINDIR} install || die
182 zapmost ${BINDIR} \
183 usr/include/libmount \
184 usr/$(mlibdir)/libmount.\* usr/$(mlibdir)/pkgconfig/mount.pc \
185 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libmount.* usr/lib/pkgconfig/mount.pc") \
186 || die
187 }
188
189 src_install_libsmartcols()
190 {
191 mmake -j1 DESTDIR=${BINDIR} install || die
192 zapmost ${BINDIR} \
193 usr/include/libsmartcols \
194 usr/$(mlibdir)/libsmartcols.\* usr/$(mlibdir)/pkgconfig/smartcols.pc \
195 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libsmartcols.* usr/lib/pkgconfig/smartcols.pc") \
196 || die
197 }
198
199 src_install_libmount-python()
200 {
201 mmake -j1 DESTDIR=${BINDIR} install || die
202 zapmost ${BINDIR} \
203 $(mget-python-libdir | sed 's:/::') \
204 $([[ $(mlibdir) != lib ]] && echo $(MULTILIB_VERBOSE=false abi-m32 mget-python-libdir | sed 's:/::')) \
205 || die
206 }
207
208 src_install_util-linux()
209 {
210 # needed directories
211 mkeepdir /var/lib/hwclock || die
212
213 mmake -j1 DESTDIR=${BINDIR} install || die
214
215 # remove files owned by other packages
216 mdelete -r /usr/include/uuid || die
217 mdelete -r /usr/include/blkid || die
218 mdelete -r /usr/include/libmount || die
219 mdelete /usr/$(mlibdir)/libuuid.\* || die
220 mdelete /usr/$(mlibdir)/libblkid.\* || die
221 mdelete /usr/$(mlibdir)/libmount.\* || die
222 mdelete /usr/$(mlibdir)/pkgconfig/uuid.pc || die
223 mdelete /usr/$(mlibdir)/pkgconfig/blkid.pc || die
224 mdelete /usr/$(mlibdir)/pkgconfig/mount.pc || die
225
226 mdelete -r $(mget-python-libdir) || die
227 if [[ $(mlibdir) != lib ]]
228 then
229 mdelete /usr/lib/libuuid.\* || die
230 mdelete /usr/lib/libblkid.\* || die
231 mdelete /usr/lib/libmount.\* || die
232 mdelete /usr/lib/pkgconfig/uuid.pc || die
233 mdelete /usr/lib/pkgconfig/blkid.pc || die
234 mdelete /usr/lib/pkgconfig/mount.pc || die
235 mdelete -r $(MULTILIB_VERBOSE=false abi-m32 mget-python-libdir) || die
236 fi
237 mdelete /usr/sbin/uuidd || die
238 mdelete /usr/share/man/man8/uuidd.8 || die
239 mdelete -r /usr/lib/systemd/system || die
240
241 minstalldocs AUTHORS COPYING ChangeLog DECRECATED NEWS README* TODO || die
242 }
243
244 src_install_uuidd()
245 {
246 mmake -j1 DESTDIR=${BINDIR} install || die
247 zapmost ${BINDIR} \
248 usr/share/man/man8/uuidd.8 \
249 usr/sbin/uuidd \
250 /usr/lib/systemd/system \
251 || die
252
253 mkeepdir /var/lib/libuuid || die
254 mchown uuidd:uuidd /var/lib/libuuid || die
255 mchmod 2755 /var/lib/libuuid || die
256
257 mkeepdir /run/uuidd || die
258 mchown uuidd:uuidd /run/uuidd || die
259 mchmod 2755 /run/uuidd || die
260
261 # add systemd files
262 minstalltmp uuidd.tmpfilesd uuidd.conf || die
263 }
264
265 preinstall_util-linux()
266 {
267 if [[ ! -z $(magequery -n linux32) ]]
268 then
269 echo -e ${COLRED}
270 echo -e "Error: dev-util/linux32 is installed!!"
271 echo -e "linux32 is now provided by util-linux and doesn't need an extra package anymore."
272 echo -e "Please uninstall dev-util/linux32 first!"
273 echo -e ${COLDEFAULT}
274 die "dev-util/linux32 found!"
275 fi
276 if [[ ! -z $(magequery -n eject) ]]
277 then
278 echo -e ${COLRED}
279 echo -e "Error: sys-apps/eject is installed!!"
280 echo -e "eject is now provided by util-linux and doesn't need an extra package anymore."
281 echo -e "Please uninstall sys-apps/eject first!"
282 echo -e ${COLDEFAULT}
283 die "sys-apps/eject found!"
284 fi
285
286 if [[ ! -z $(magequery -n sysvinit-tools) ]]
287 then
288 echo -e ${COLRED}
289 echo -e "Error: sys-apps/sysvinit-tools is installed!!"
290 echo -e "sysvinit-tools are now provided by procps and util-linux and doesn't need an extra package anymore."
291 echo -e "Please uninstall sys-apps/sysvinit-tools first!"
292 echo -e ${COLDEFAULT}
293 die "sys-apps/sysvinit-tools found!"
294 fi
295 }
296
297 preinstall_uuidd()
298 {
299 mgroupadd uuidd
300 museradd -o "-g uuidd -d /var/lib/libuuid -s /sbin/nologin" uuidd
301 }
302
303 postinstall_uuidd()
304 {
305 mstartunit uuidd.service
306 }
307
308 postremove_uuidd()
309 {
310 mstopunit uuidd.service
311 }