Magellan Linux

Contents of /branches/R11-unstable/core/util-linux/util-linux-2.26.2-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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