Gentoo Archives: gentoo-commits

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