Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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