Magellan Linux

Contents of /smage/trunk/core/util-linux/util-linux-2.23-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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