Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 16950 - (show annotations) (download)
Mon Apr 1 16:25:54 2013 UTC (11 years, 2 months ago) by niro
File size: 6483 byte(s)
-added f2fs support
1 # $Id$
2
3 PNAME="util-linux"
4 PVER="2.22.2"
5 PBUILD="r2"
6
7 SPLIT_PACKAGES="libuuid libblkid libmount util-linux 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}-${PVER}-f2fs.patch
34 mirror://${PNAME}/${PNAME}-${PVER}-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_libblkid()
47 {
48 DESCRIPTION="Block device ID library."
49 DEPEND="${COMMON_DEPEND}"
50 PCAT="sys-libs"
51 }
52
53 split_info_libmount()
54 {
55 DESCRIPTION="Device mounting library."
56 DEPEND="${COMMON_DEPEND}"
57 PCAT="sys-libs"
58 }
59
60 split_info_util-linux()
61 {
62 DESCRIPTION="Various useful Linux utilities."
63 DEPEND="== sys-libs/libuuid-${PVER}
64 == sys-libs/libblkid-${PVER}
65 == sys-libs/libmount-${PVER}
66 ${UTIL_DEPEND}"
67 PROVIDE="virtual/eject"
68 }
69
70 split_info_uuidd()
71 {
72 DESCRIPTION="Helper daemon to guarantee uniqueness of time-based UUIDs."
73 DEPEND="== sys-libs/libuuid-${PVER}
74 ${COMMON_DEPEND}"
75 }
76
77 src_prepare()
78 {
79 munpack ${SRCFILE} || die
80
81 # f2fs support
82 mpatch ${PNAME}-${PVER}-f2fs.patch || die
83 mpatch ${PNAME}-${PVER}-f2fs-tests.patch || die
84
85 # fhs compatibility
86 all-abis sed -i 's:etc/adjtime:var/lib/hwclock/adjtime:' \
87 include/pathnames.h \
88 sys-utils/hwclock.c sys-utils/hwclock.8 \
89 sys-utils/rtcwake.c sys-utils/rtcwake.8 || die
90
91 # satisfy usr-move
92 all-abis sed -i \
93 -e "s:sbindir=/sbin:sbindir=/usr/sbin:" \
94 -e "s:bindir=/bin:bindir=/usr/bin:" \
95 -e "s:libdir=/lib:libdir=/usr/lib:" \
96 -e 's:localstatedir=\${prefix}/\${localstatedir}:localstatedir=\${localstatedir}:' \
97 configure.ac || die
98
99 # regen configure
100 mautoreconf || die
101 }
102
103 src_compile()
104 {
105 # enabled libmount-mount to utilize mount with a mtab symlink
106 # which is needed by systemd
107
108 # we are using blkid from util linux now (--with-fsprobe=built --enable-fsck)
109 # which merges the old blkid from e2fsprogs and udevs libvolume
110 # see: http://lists.freedesktop.org/archives/hal-commit/2009-May/004936.html
111 mconfigure \
112 --localstatedir=/run \
113 --exec-prefix=/usr \
114 --with-systemdsystemunitdir=/usr/lib/systemd/system \
115 --enable-nls \
116 --enable-agetty \
117 --enable-cramfs \
118 --enable-partx \
119 --enable-raw \
120 --enable-rename \
121 --enable-schedutils \
122 --enable-write \
123 --disable-reset \
124 --disable-login \
125 --disable-su \
126 --disable-sulogin \
127 --disable-kill \
128 --disable-last \
129 --disable-mesg \
130 --disable-wall \
131 --enable-fsck \
132 --enable-libmount \
133 --disable-silent-rules \
134 --enable-socket-activation \
135 || die
136
137 mmake || die
138 }
139
140 src_install_libuuid()
141 {
142 mmake DESTDIR=${BINDIR} install || die
143 zapmost ${BINDIR} \
144 usr/include/uuid \
145 usr/$(mlibdir)/libuuid.\* usr/$(mlibdir)/pkgconfig/uuid.pc \
146 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libuuid.* usr/lib/pkgconfig/uuid.pc") \
147 || die
148 }
149
150 src_install_libblkid()
151 {
152 mmake DESTDIR=${BINDIR} install || die
153 zapmost ${BINDIR} \
154 usr/include/blkid \
155 usr/$(mlibdir)/libblkid.\* usr/$(mlibdir)/pkgconfig/blkid.pc \
156 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libblkid.* usr/lib/pkgconfig/blkid.pc") \
157 || die
158 }
159
160 src_install_libmount()
161 {
162 mmake DESTDIR=${BINDIR} install || die
163 zapmost ${BINDIR} \
164 usr/include/libmount \
165 usr/$(mlibdir)/libmount.\* usr/$(mlibdir)/pkgconfig/mount.pc \
166 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libmount.* usr/lib/pkgconfig/mount.pc") \
167 || die
168 }
169
170 src_install_util-linux()
171 {
172 # needed directories
173 mkeepdir /var/lib/hwclock || die
174
175 mmake DESTDIR=${BINDIR} install || die
176
177 # remove files owned by other packages
178 mdelete -r /usr/include/uuid || die
179 mdelete -r /usr/include/blkid || die
180 mdelete -r /usr/include/libmount || die
181 rm ${BINDIR}/usr/$(mlibdir)/libuuid.* || die
182 rm ${BINDIR}/usr/$(mlibdir)/libblkid.* || die
183 rm ${BINDIR}/usr/$(mlibdir)/libmount.* || die
184 mdelete /usr/$(mlibdir)/pkgconfig/uuid.pc || die
185 mdelete /usr/$(mlibdir)/pkgconfig/blkid.pc || die
186 mdelete /usr/$(mlibdir)/pkgconfig/mount.pc || die
187 if [[ $(mlibdir) != lib ]]
188 then
189 rm ${BINDIR}/usr/lib/libuuid.* || die
190 rm ${BINDIR}/usr/lib/libblkid.* || die
191 rm ${BINDIR}/usr/lib/libmount.* || die
192 mdelete /usr/lib/pkgconfig/uuid.pc || die
193 mdelete /usr/lib/pkgconfig/blkid.pc || die
194 mdelete /usr/lib/pkgconfig/mount.pc || die
195 fi
196 mdelete /usr/sbin/uuidd || die
197 mdelete /usr/share/man/man8/uuidd.8 || die
198 mdelete -r /usr/lib/systemd/system || die
199
200 minstalldocs AUTHORS COPYING ChangeLog DECRECATED NEWS README* TODO || die
201 }
202
203 src_install_uuidd()
204 {
205 mmake DESTDIR=${BINDIR} install || die
206 zapmost ${BINDIR} \
207 usr/share/man/man8/uuidd.8 \
208 usr/sbin/uuidd \
209 /usr/lib/systemd/system \
210 || die
211
212 mkeepdir /var/lib/libuuid || die
213 mchown uuidd:uuidd /var/lib/libuuid || die
214 mchmod 2755 /var/lib/libuuid || die
215
216 mkeepdir /run/uuidd || die
217 mchown uuidd:uuidd /run/uuidd || die
218 mchmod 2755 /run/uuidd || die
219
220 # add systemd files
221 minstalltmp uuidd.tmpfilesd uuidd.conf || die
222 }
223
224 preinstall_util-linux()
225 {
226 if [[ ! -z $(magequery -n linux32) ]]
227 then
228 echo -e ${COLRED}
229 echo -e "Error: dev-util/linux32 is installed!!"
230 echo -e "linux32 is now provided by util-linux and doesn't need an extra package anymore."
231 echo -e "Please uninstall dev-util/linux32 first!"
232 echo -e ${COLDEFAULT}
233 die "dev-util/linux32 found!"
234 fi
235 if [[ ! -z $(magequery -n eject) ]]
236 then
237 echo -e ${COLRED}
238 echo -e "Error: sys-apps/eject is installed!!"
239 echo -e "eject is now provided by util-linux and doesn't need an extra package anymore."
240 echo -e "Please uninstall sys-apps/eject first!"
241 echo -e ${COLDEFAULT}
242 die "sys-apps/eject found!"
243 fi
244 }
245
246 preinstall_uuidd()
247 {
248 ${MLIBDIR}/mgroupadd uuidd
249 ${MLIBDIR}/museradd -o "-g uuidd -d /var/lib/libuuid -s /sbin/nologin" uuidd
250 }
251
252 postinstall_uuidd()
253 {
254 mstartunit uuidd.service
255 }
256
257 postremove_uuidd()
258 {
259 mstopunit uuidd.service
260 }