Gentoo Archives: gentoo-commits

From: "Yixun Lan (dlan)" <dlan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/xen-tools: ChangeLog xen-tools-4.4.0-r8.ebuild xen-tools-4.4.0-r7.ebuild
Date: Tue, 29 Jul 2014 09:40:51
Message-Id: 20140729094046.02EF32004E@flycatcher.gentoo.org
1 dlan 14/07/29 09:40:45
2
3 Modified: ChangeLog
4 Added: xen-tools-4.4.0-r8.ebuild
5 Removed: xen-tools-4.4.0-r7.ebuild
6 Log:
7 bug 518136, disable build x86_emulator under nomultilib profile
8
9 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xAABEFD55)
10
11 Revision Changes Path
12 1.253 app-emulation/xen-tools/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/ChangeLog?rev=1.253&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/ChangeLog?rev=1.253&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/ChangeLog?r1=1.252&r2=1.253
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v
21 retrieving revision 1.252
22 retrieving revision 1.253
23 diff -u -r1.252 -r1.253
24 --- ChangeLog 12 Jul 2014 14:13:38 -0000 1.252
25 +++ ChangeLog 29 Jul 2014 09:40:45 -0000 1.253
26 @@ -1,6 +1,12 @@
27 # ChangeLog for app-emulation/xen-tools
28 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.252 2014/07/12 14:13:38 dlan Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.253 2014/07/29 09:40:45 dlan Exp $
31 +
32 +*xen-tools-4.4.0-r8 (29 Jul 2014)
33 +
34 + 29 Jul 2014; Yixun Lan <dlan@g.o> -xen-tools-4.4.0-r7.ebuild,
35 + +xen-tools-4.4.0-r8.ebuild:
36 + bug 518136, disable build x86_emulator under nomultilib profile
37
38 12 Jul 2014; Yixun Lan <dlan@g.o> -xen-tools-4.2.4-r2.ebuild,
39 -xen-tools-4.2.4-r4.ebuild, -xen-tools-4.2.4-r5.ebuild,
40
41
42
43 1.1 app-emulation/xen-tools/xen-tools-4.4.0-r8.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/xen-tools-4.4.0-r8.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/xen-tools-4.4.0-r8.ebuild?rev=1.1&content-type=text/plain
47
48 Index: xen-tools-4.4.0-r8.ebuild
49 ===================================================================
50 # Copyright 1999-2014 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-4.4.0-r8.ebuild,v 1.1 2014/07/29 09:40:45 dlan Exp $
53
54 EAPI=5
55
56 MY_PV=${PV/_/-}
57
58 PYTHON_COMPAT=( python2_7 )
59 PYTHON_REQ_USE='xml,threads'
60
61 if [[ $PV == *9999 ]]; then
62 KEYWORDS=""
63 REPO="xen-unstable.hg"
64 EHG_REPO_URI="http://xenbits.xensource.com/${REPO}"
65 S="${WORKDIR}/${REPO}"
66 live_eclass="mercurial"
67 else
68 KEYWORDS="~amd64 ~arm -x86"
69 UPSTREAM_VER=4
70 GENTOO_VER=
71 SEABIOS_VER=1.7.3.1
72
73 [[ -n ${UPSTREAM_VER} ]] && \
74 UPSTRAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
75 [[ -n ${GENTOO_VER} ]] && \
76 GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
77
78 SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/xen-${MY_PV}.tar.gz
79 http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz
80 http://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz
81 ${UPSTRAM_PATCHSET_URI}
82 ${GENTOO_PATCHSET_URI}"
83 S="${WORKDIR}/xen-${MY_PV}"
84 fi
85
86 inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs udev ${live_eclass}
87
88 DESCRIPTION="Xend daemon and tools"
89 HOMEPAGE="http://xen.org/"
90 DOCS=( README docs/README.xen-bugtool )
91
92 LICENSE="GPL-2"
93 SLOT="0"
94 # Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
95 # >=dev-lang/ocaml-4 stable
96 # Masked in profiles/eapi-5-files instead
97 IUSE="api custom-cflags debug doc flask hvm qemu ocaml +pam python pygrub screen static-libs system-qemu system-seabios"
98
99 REQUIRED_USE="hvm? ( || ( qemu system-qemu ) )
100 ${PYTHON_REQUIRED_USE}
101 pygrub? ( python )
102 qemu? ( !system-qemu )"
103
104 COMMON_DEPEND="
105 dev-libs/lzo:2
106 dev-libs/glib:2
107 dev-libs/yajl
108 dev-libs/libaio
109 dev-libs/libgcrypt:0
110 sys-libs/zlib
111 "
112
113 DEPEND="${COMMON_DEPEND}
114 dev-python/lxml[${PYTHON_USEDEP}]
115 pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
116 hvm? ( media-libs/libsdl )
117 ${PYTHON_DEPS}
118 api? ( dev-libs/libxml2
119 net-misc/curl )
120 pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} )
121 arm? ( >=sys-apps/dtc-1.4.0 )
122 !arm? ( sys-devel/bin86
123 system-seabios? ( sys-firmware/seabios )
124 sys-firmware/ipxe
125 sys-devel/dev86
126 sys-power/iasl )
127 dev-lang/perl
128 app-misc/pax-utils
129 dev-python/markdown
130 doc? (
131 app-doc/doxygen
132 dev-tex/latex2html[png,gif]
133 media-gfx/graphviz
134 dev-tex/xcolor
135 media-gfx/transfig
136 dev-texlive/texlive-latexextra
137 virtual/latex-base
138 dev-tex/latexmk
139 dev-texlive/texlive-latex
140 dev-texlive/texlive-pictures
141 dev-texlive/texlive-latexrecommended
142 )
143 hvm? ( x11-proto/xproto
144 !net-libs/libiscsi )
145 qemu? ( x11-libs/pixman )
146 system-qemu? ( app-emulation/qemu[xen] )
147 ocaml? ( dev-ml/findlib
148 >=dev-lang/ocaml-4 )"
149
150 RDEPEND="${COMMON_DEPEND}
151 sys-apps/iproute2
152 net-misc/bridge-utils
153 screen? (
154 app-misc/screen
155 app-admin/logrotate
156 )
157 virtual/udev"
158
159 # hvmloader is used to bootstrap a fully virtualized kernel
160 # Approved by QA team in bug #144032
161 QA_WX_LOAD="usr/lib/xen/boot/hvmloader
162 usr/share/qemu-xen/qemu/s390-ccw.img"
163
164 RESTRICT="test"
165
166 pkg_setup() {
167 python-single-r1_pkg_setup
168 export "CONFIG_LOMOUNT=y"
169
170 if has_version dev-libs/libgcrypt:0; then
171 export "CONFIG_GCRYPT=y"
172 fi
173
174 if [[ -z ${XEN_TARGET_ARCH} ]] ; then
175 if use x86 && use amd64; then
176 die "Confusion! Both x86 and amd64 are set in your use flags!"
177 elif use x86; then
178 export XEN_TARGET_ARCH="x86_32"
179 elif use amd64 ; then
180 export XEN_TARGET_ARCH="x86_64"
181 elif use arm; then
182 export XEN_TARGET_ARCH="arm32"
183 else
184 die "Unsupported architecture!"
185 fi
186 fi
187 #bug 472438
188 export BASH_COMPLETION_DIR=/usr/share/bash-completion
189 }
190
191 src_prepare() {
192 # Upstream's patchset
193 if [[ -n ${UPSTREAM_VER} ]]; then
194 EPATCH_SUFFIX="patch" \
195 EPATCH_FORCE="yes" \
196 EPATCH_OPTS="-p1" \
197 epatch "${WORKDIR}"/patches-upstream
198 fi
199
200 # Gentoo's patchset
201 if [[ -n ${GENTOO_VER} ]]; then
202 EPATCH_SUFFIX="patch" \
203 EPATCH_FORCE="yes" \
204 epatch "${WORKDIR}"/patches-gentoo
205 fi
206
207 # Fix texi2html build error with new texi2html, qemu.doc.html
208 epatch "${FILESDIR}"/${PN}-4-docfix.patch
209
210 # Fix network broadcast on bridged networks
211 epatch "${FILESDIR}/${PN}-3.4.0-network-bridge-broadcast.patch"
212
213 # Bug 496708
214 epatch "${FILESDIR}"/${PN}-4-unbundle-ipxe.patch
215
216 # Fix bridge by idella4, bug #362575
217 epatch "${FILESDIR}/${PN}-4.1.1-bridge.patch"
218
219 # Prevent double stripping of files at install
220 epatch "${FILESDIR}"/${PN/-tools/}-4.4-nostrip.patch
221
222 # fix jobserver in Makefile
223 epatch "${FILESDIR}"/${PN/-tools/}-4.3-jserver.patch
224
225 # Set dom0-min-mem to kb; Bug #472982
226 epatch "${FILESDIR}"/${PN/-tools/}-4.2-configsxp.patch
227
228 # Bug 477676
229 epatch "${FILESDIR}"/${PN}-4.3-ar-cc.patch
230
231 # Bug 379537
232 epatch "${FILESDIR}"/fix-gold-ld.patch
233
234 # Prevent file collision with qemu package Bug 478064
235 epatch "${FILESDIR}"/xen-4.4-qemu-bridge.patch
236 mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
237
238 epatch "${FILESDIR}"/${PN}-4.4-api-fix.patch
239
240 # Fix po file collision with app-emulation/qemu, while USE=qemu is enabled, Bug 508302
241 epatch "${FILESDIR}"/${PN}-4-qemu-fix-po-collision.patch
242
243 # bundled seabios
244 epatch "${FILESDIR}"/${PN}-4-anti-seabios-download.patch
245 mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
246 pushd tools/firmware/ > /dev/null
247 ln -s seabios-dir-remote seabios-dir || die
248 popd > /dev/null
249
250 use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
251 sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
252 -i tools/firmware/Makefile || die
253
254 # Drop .config, fixes to gcc-4.6
255 sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
256
257 # if the user *really* wants to use their own custom-cflags, let them
258 if use custom-cflags; then
259 einfo "User wants their own CFLAGS - removing defaults"
260
261 # try and remove all the default cflags
262 find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \
263 -exec sed \
264 -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
265 -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
266 -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
267 -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
268 -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
269 -i {} + || die "failed to re-set custom-cflags"
270 fi
271
272 if ! use pygrub; then
273 sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
274 fi
275
276 if ! use python; then
277 sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
278 fi
279
280 if ! use hvm; then
281 sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
282 # Bug 351648
283 elif ! use x86 && ! has x86 $(get_all_abis); then
284 mkdir -p "${WORKDIR}"/extra-headers/gnu || die
285 touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
286 export CPATH="${WORKDIR}"/extra-headers
287 fi
288
289 # Don't bother with qemu, only needed for fully virtualised guests
290 if ! use qemu; then
291 sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die
292 fi
293
294 # Bug 472438
295 sed -e 's:^BASH_COMPLETION_DIR ?= $(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(SHARE_DIR)/bash-completion:' \
296 -i Config.mk || die
297
298 # xencommons, Bug #492332, sed lighter weight than patching
299 sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
300 -i tools/hotplug/Linux/init.d/xencommons || die
301
302 # respect multilib, usr/lib/libcacard.so.0.0.0
303 sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
304 -i tools/qemu-xen/configure || die
305
306 #bug 518136, don't build 32bit exactuable for nomultilib profile
307 if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
308 sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
309 fi
310
311 # Bug 477884, 518136
312 if [[ "${ARCH}" == 'amd64' ]]; then
313 sed -i -e "/LIBEXEC =/s|/lib/xen/bin|/$(get_libdir)/xen/bin|" config/StdGNU.mk || die
314 fi
315
316 # fix QA warning, create /var/run/, /var/lock dynamically
317 sed -i -e "/\$(INSTALL_DIR) \$(DESTDIR)\$(XEN_RUN_DIR)/d" \
318 tools/libxl/Makefile || die
319
320 sed -i -e "/\/var\/run\//d" \
321 tools/xenstore/Makefile \
322 tools/pygrub/Makefile || die
323
324 sed -i -e "/\/var\/lock\/subsys/d" \
325 tools/Makefile || die
326
327 epatch_user
328 }
329
330 src_configure() {
331 local myconf="--prefix=/usr \
332 --libdir=/usr/$(get_libdir) \
333 --disable-werror \
334 --disable-xen \
335 --enable-tools \
336 --enable-docs \
337 --disable-qemu-traditional \
338 $(use_with system-qemu) \
339 $(use_enable pam) \
340 $(use_enable api xenapi) \
341 $(use_enable ocaml ocamltools) \
342 "
343 use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
344 use qemu || myconf+=" --with-system-qemu"
345 econf ${myconf}
346 }
347
348 src_compile() {
349 export VARTEXFONTS="${T}/fonts"
350 local myopt
351 use debug && myopt="${myopt} debug=y"
352
353 use custom-cflags || unset CFLAGS
354 if test-flag-CC -fno-strict-overflow; then
355 append-flags -fno-strict-overflow
356 fi
357
358 unset LDFLAGS
359 unset CFLAGS
360 emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt}
361
362 use doc && emake -C docs txt html
363 emake -C docs man-pages
364 }
365
366 src_install() {
367 # Override auto-detection in the build system, bug #382573
368 export INITD_DIR=/tmp/init.d
369 export CONFIG_LEAF_DIR=../tmp/default
370
371 # Let the build system compile installed Python modules.
372 local PYTHONDONTWRITEBYTECODE
373 export PYTHONDONTWRITEBYTECODE
374
375 emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
376 XEN_PYTHON_NATIVE_INSTALL=y install-tools
377
378 # Fix the remaining Python shebangs.
379 python_fix_shebang "${D}"
380
381 # Remove RedHat-specific stuff
382 rm -rf "${D}"tmp || die
383
384 # uncomment lines in xl.conf
385 sed -e 's:^#autoballoon=1:autoballoon=1:' \
386 -e 's:^#lockfile="/var/lock/xl":lockfile="/var/lock/xl":' \
387 -e 's:^#vifscript="vif-bridge":vifscript="vif-bridge":' \
388 -i tools/examples/xl.conf || die
389
390 # Reset bash completion dir; Bug 472438
391 mv "${D}"bash-completion "${D}"usr/share/ || die
392
393 if use doc; then
394 emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
395
396 dohtml -r docs/
397 docinto pdf
398 dodoc ${DOCS[@]}
399 [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
400 fi
401
402 rm -rf "${D}"/usr/share/doc/xen/
403 doman docs/man?/*
404
405 newconfd "${FILESDIR}"/xendomains.confd xendomains
406 newconfd "${FILESDIR}"/xenstored.confd xenstored
407 newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
408 newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
409 newinitd "${FILESDIR}"/xenstored.initd xenstored
410 newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
411 newinitd "${FILESDIR}"/xencommons.initd xencommons
412 newconfd "${FILESDIR}"/xencommons.confd xencommons
413 newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
414 newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
415
416 if use screen; then
417 cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
418 cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
419 keepdir /var/log/xen-consoles
420 fi
421
422 # For -static-libs wrt Bug 384355
423 if ! use static-libs; then
424 rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a
425 fi
426
427 # xend expects these to exist
428 keepdir /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
429
430 # for xendomains
431 keepdir /etc/xen/auto
432
433 # Temp QA workaround
434 dodir "$(udev_get_udevdir)"
435 mv "${D}"/etc/udev/* "${D}/$(udev_get_udevdir)"
436 rm -rf "${D}"/etc/udev
437
438 # Remove files failing QA AFTER emake installs them, avoiding seeking absent files
439 find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
440 -o -name openbios-ppc -o -name palcode-clipper \) -delete || die
441 }
442
443 pkg_postinst() {
444 elog "Official Xen Guide and the offical wiki page:"
445 elog "https://wiki.gentoo.org/wiki/Xen"
446 elog "http://wiki.xen.org/wiki/Main_Page"
447 elog ""
448 elog "Recommended to utilise the xencommons script to config sytem At boot"
449 elog "Add by use of rc-update on completion of the install"
450
451 if [[ "$(scanelf -s __guard -q "${PYTHON}")" ]] ; then
452 echo
453 ewarn "xend may not work when python is built with stack smashing protection (ssp)."
454 ewarn "If 'xm create' fails with '<ProtocolError for /RPC2: -1 >', see bug #141866"
455 ewarn "This problem may be resolved as of Xen 3.0.4, if not post in the bug."
456 fi
457
458 # TODO: we need to have the current Python slot here.
459 if ! has_version "dev-lang/python[ncurses]"; then
460 echo
461 ewarn "NB: Your dev-lang/python is built without USE=ncurses."
462 ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
463 fi
464
465 if has_version "sys-apps/iproute2[minimal]"; then
466 echo
467 ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
468 ewarn "will not work until you rebuild iproute2 without USE=minimal."
469 fi
470
471 if ! use hvm; then
472 echo
473 elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
474 elog "support enable the hvm use flag."
475 elog "An x86 or amd64 system is required to build HVM support."
476 fi
477
478 if use qemu; then
479 elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
480 elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
481 elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
482 elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
483 fi
484
485 if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
486 echo
487 elog "xensv is broken upstream (Gentoo bug #142011)."
488 elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
489 fi
490 }