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