Magellan Linux

Contents of /trunk/core/util-linux/util-linux-2.28.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 28340 - (show annotations) (download)
Tue Aug 16 13:50:10 2016 UTC (7 years, 9 months ago) by niro
File size: 8695 byte(s)
auto added: ver bump to 2.28.1-r1
1 # $Id$
2
3 PNAME="util-linux"
4 PVER="2.28.1"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="libuuid libblkid libmount libsmartcols libfdisk libmount-python 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-6.0
15 >= sys-fs/libudev-228
16 >= sys-libs/libcap-2.24"
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_libfdisk()
69 {
70 DESCRIPTION="Partitioning library for fdisk-like programs.."
71 DEPEND="${COMMON_DEPEND}"
72 PCAT="sys-libs"
73 }
74
75 split_info_libmount-python()
76 {
77 DESCRIPTION="Python bindings for libmount."
78 DEPEND="== sys-libs/libmount-${PVER}
79 ${PYTHON_DEPEND}"
80 PCAT="dev-python"
81 }
82
83 split_info_util-linux()
84 {
85 DESCRIPTION="Various useful Linux utilities."
86 DEPEND="== sys-libs/libuuid-${PVER}
87 == sys-libs/libblkid-${PVER}
88 == sys-libs/libmount-${PVER}
89 == sys-libs/libsmartcols-${PVER}
90 == sys-libs/libfdisk-${PVER}
91 ${UTIL_DEPEND}"
92 PROVIDE="virtual/eject"
93 }
94
95 split_info_uuidd()
96 {
97 DESCRIPTION="Helper daemon to guarantee uniqueness of time-based UUIDs."
98 DEPEND="== sys-libs/libuuid-${PVER}
99 ${COMMON_DEPEND}"
100 }
101
102 pkg_setup()
103 {
104 preinstall_uuidd
105 }
106
107 src_prepare()
108 {
109 munpack ${SRCFILE} || die
110
111 # fhs compatibility
112 all-abis sed -i 's:etc/adjtime:var/lib/hwclock/adjtime:' \
113 include/pathnames.h \
114 sys-utils/hwclock.c sys-utils/hwclock.8 \
115 sys-utils/rtcwake.c sys-utils/rtcwake.8 || die
116
117 # satisfy usr-move
118 all-abis sed -i \
119 -e "s:sbindir=/sbin:sbindir=/usr/sbin:" \
120 -e "s:bindir=/bin:bindir=/usr/bin:" \
121 -e "s:libdir=/lib:libdir=/usr/lib:" \
122 -e 's:localstatedir=\${prefix}/\${localstatedir}:localstatedir=\${localstatedir}:' \
123 configure.ac || die
124
125 # regen configure
126 mautoreconf || die
127 }
128
129 src_compile()
130 {
131 # enabled libmount-mount to utilize mount with a mtab symlink
132 # which is needed by systemd
133
134 # we are using blkid from util linux now (--with-fsprobe=built --enable-fsck)
135 # which merges the old blkid from e2fsprogs and udevs libvolume
136 # see: http://lists.freedesktop.org/archives/hal-commit/2009-May/004936.html
137 mconfigure \
138 --localstatedir=/run \
139 --exec-prefix=/usr \
140 --with-systemdsystemunitdir=$(mget-systemd-unit-dir) \
141 --enable-nls \
142 --enable-agetty \
143 --enable-cramfs \
144 --enable-partx \
145 --enable-raw \
146 --enable-rename \
147 --enable-schedutils \
148 --enable-write \
149 --disable-reset \
150 --disable-login \
151 --disable-su \
152 --enable-sulogin \
153 --disable-kill \
154 --enable-last \
155 --enable-mesg \
156 --enable-wall \
157 --enable-fsck \
158 --enable-libmount \
159 --disable-silent-rules \
160 --enable-socket-activation \
161 --with-python=2 \
162 || die
163
164 mmake || die
165 }
166
167 src_install_libuuid()
168 {
169 mmake -j1 DESTDIR=${BINDIR} install || die
170 zapmost ${BINDIR} \
171 usr/include/uuid \
172 usr/$(mlibdir)/libuuid.\* usr/$(mlibdir)/pkgconfig/uuid.pc \
173 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libuuid.* usr/lib/pkgconfig/uuid.pc") \
174 || die
175 }
176
177 src_install_libblkid()
178 {
179 mmake -j1 DESTDIR=${BINDIR} install || die
180 zapmost ${BINDIR} \
181 usr/include/blkid \
182 usr/$(mlibdir)/libblkid.\* usr/$(mlibdir)/pkgconfig/blkid.pc \
183 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libblkid.* usr/lib/pkgconfig/blkid.pc") \
184 || die
185 }
186
187 src_install_libmount()
188 {
189 mmake -j1 DESTDIR=${BINDIR} install || die
190 zapmost ${BINDIR} \
191 usr/include/libmount \
192 usr/$(mlibdir)/libmount.\* usr/$(mlibdir)/pkgconfig/mount.pc \
193 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libmount.* usr/lib/pkgconfig/mount.pc") \
194 || die
195 }
196
197 src_install_libsmartcols()
198 {
199 mmake -j1 DESTDIR=${BINDIR} install || die
200 zapmost ${BINDIR} \
201 usr/include/libsmartcols \
202 usr/$(mlibdir)/libsmartcols.\* usr/$(mlibdir)/pkgconfig/smartcols.pc \
203 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libsmartcols.* usr/lib/pkgconfig/smartcols.pc") \
204 || die
205 }
206
207 src_install_libfdisk()
208 {
209 mmake -j1 DESTDIR=${BINDIR} install || die
210 zapmost ${BINDIR} \
211 usr/include/libfdisk \
212 usr/$(mlibdir)/libfdisk.\* usr/$(mlibdir)/pkgconfig/fdisk.pc \
213 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libfdisk.* usr/lib/pkgconfig/fdisk.pc") \
214 || die
215 }
216
217 src_install_libmount-python()
218 {
219 mmake -j1 DESTDIR=${BINDIR} install || die
220 zapmost ${BINDIR} \
221 $(mget-python-libdir | sed 's:/::') \
222 $([[ $(mlibdir) != lib ]] && echo $(MULTILIB_VERBOSE=false abi-m32 mget-python-libdir | sed 's:/::')) \
223 || die
224 }
225
226 src_install_util-linux()
227 {
228 # needed directories
229 mkeepdir /var/lib/hwclock || die
230
231 mmake -j1 DESTDIR=${BINDIR} install || die
232
233 # remove files owned by other packages
234 mdelete -r /usr/include/uuid || die
235 mdelete -r /usr/include/blkid || die
236 mdelete -r /usr/include/libmount || die
237 mdelete -r /usr/include/libsmartcols || die
238 mdelete -r /usr/include/libfdisk || die
239 mdelete /usr/$(mlibdir)/libuuid.\* || die
240 mdelete /usr/$(mlibdir)/libblkid.\* || die
241 mdelete /usr/$(mlibdir)/libmount.\* || die
242 mdelete /usr/$(mlibdir)/libsmartcols.\* || die
243 mdelete /usr/$(mlibdir)/libfdisk.\* || die
244 mdelete /usr/$(mlibdir)/pkgconfig/uuid.pc || die
245 mdelete /usr/$(mlibdir)/pkgconfig/blkid.pc || die
246 mdelete /usr/$(mlibdir)/pkgconfig/mount.pc || die
247 mdelete /usr/$(mlibdir)/pkgconfig/smartcols.pc || die
248 mdelete /usr/$(mlibdir)/pkgconfig/fdisk.pc || die
249
250 mdelete -r $(mget-python-libdir) || die
251 if [[ $(mlibdir) != lib ]]
252 then
253 mdelete /usr/lib/libuuid.\* || die
254 mdelete /usr/lib/libblkid.\* || die
255 mdelete /usr/lib/libmount.\* || die
256 mdelete /usr/lib/libsmartcols.\* || die
257 mdelete /usr/lib/libfdisk.\* || die
258 mdelete /usr/lib/pkgconfig/uuid.pc || die
259 mdelete /usr/lib/pkgconfig/blkid.pc || die
260 mdelete /usr/lib/pkgconfig/mount.pc || die
261 mdelete /usr/lib/pkgconfig/smartcols.pc || die
262 mdelete /usr/lib/pkgconfig/fdisk.pc || die
263 mdelete -r $(MULTILIB_VERBOSE=false abi-m32 mget-python-libdir) || die
264 fi
265 mdelete /usr/sbin/uuidd || die
266 mdelete /usr/share/man/man8/uuidd.8 || die
267 mdelete -r /usr/lib/systemd/system || die
268
269 minstalldocs AUTHORS COPYING ChangeLog DECRECATED NEWS README* TODO || die
270 }
271
272 src_install_uuidd()
273 {
274 mmake -j1 DESTDIR=${BINDIR} install || die
275 zapmost ${BINDIR} \
276 usr/share/man/man8/uuidd.8 \
277 usr/sbin/uuidd \
278 /usr/lib/systemd/system \
279 || die
280
281 mkeepdir /var/lib/libuuid || die
282 mchown uuidd:uuidd /var/lib/libuuid || die
283 mchmod 2755 /var/lib/libuuid || die
284
285 mkeepdir /run/uuidd || die
286 mchown uuidd:uuidd /run/uuidd || die
287 mchmod 2755 /run/uuidd || die
288
289 # add systemd files
290 minstalltmp uuidd.tmpfilesd uuidd.conf || die
291 }
292
293 preinstall_util-linux()
294 {
295 if [[ ! -z $(magequery -n linux32) ]]
296 then
297 echo -e ${COLRED}
298 echo -e "Error: dev-util/linux32 is installed!!"
299 echo -e "linux32 is now provided by util-linux and doesn't need an extra package anymore."
300 echo -e "Please uninstall dev-util/linux32 first!"
301 echo -e ${COLDEFAULT}
302 die "dev-util/linux32 found!"
303 fi
304 if [[ ! -z $(magequery -n eject) ]]
305 then
306 echo -e ${COLRED}
307 echo -e "Error: sys-apps/eject is installed!!"
308 echo -e "eject is now provided by util-linux and doesn't need an extra package anymore."
309 echo -e "Please uninstall sys-apps/eject first!"
310 echo -e ${COLDEFAULT}
311 die "sys-apps/eject found!"
312 fi
313
314 if [[ ! -z $(magequery -n sysvinit-tools) ]]
315 then
316 echo -e ${COLRED}
317 echo -e "Error: sys-apps/sysvinit-tools is installed!!"
318 echo -e "sysvinit-tools are now provided by procps and util-linux and doesn't need an extra package anymore."
319 echo -e "Please uninstall sys-apps/sysvinit-tools first!"
320 echo -e ${COLDEFAULT}
321 die "sys-apps/sysvinit-tools found!"
322 fi
323 }
324
325 preinstall_uuidd()
326 {
327 mgroupadd uuidd
328 museradd -o "-g uuidd -d /var/lib/libuuid -s /sbin/nologin" uuidd
329 }
330
331 postinstall_uuidd()
332 {
333 mstartunit uuidd.service
334 }
335
336 postremove_uuidd()
337 {
338 mstopunit uuidd.service
339 }