Gentoo Archives: gentoo-commits

From: "Tony Vroon (chainsaw)" <chainsaw@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/xen-tools: ChangeLog xen-tools-3.4.2-r5.ebuild xen-tools-3.4.2-r4.ebuild
Date: Tue, 27 Sep 2011 21:14:19
Message-Id: 20110927211409.6FC2B2004C@flycatcher.gentoo.org
1 chainsaw 11/09/27 21:14:09
2
3 Modified: ChangeLog
4 Added: xen-tools-3.4.2-r5.ebuild
5 Removed: xen-tools-3.4.2-r4.ebuild
6 Log:
7 Proxy commit for Ian "idella4" Delaney. LDFLAGS respect closes bug #384351. Removal of static libraries closes bug #384355. Use toolchain function instead of calling LD directly, closes bug #384359.
8
9 (Portage version: 2.1.10.19/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.95 app-emulation/xen-tools/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/ChangeLog?rev=1.95&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/ChangeLog?rev=1.95&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/ChangeLog?r1=1.94&r2=1.95
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v
21 retrieving revision 1.94
22 retrieving revision 1.95
23 diff -u -r1.94 -r1.95
24 --- ChangeLog 25 Sep 2011 19:45:22 -0000 1.94
25 +++ ChangeLog 27 Sep 2011 21:14:09 -0000 1.95
26 @@ -1,6 +1,14 @@
27 # ChangeLog for app-emulation/xen-tools
28 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.94 2011/09/25 19:45:22 chainsaw Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.95 2011/09/27 21:14:09 chainsaw Exp $
31 +
32 +*xen-tools-3.4.2-r5 (27 Sep 2011)
33 +
34 + 27 Sep 2011; Tony Vroon <chainsaw@g.o> -xen-tools-3.4.2-r4.ebuild,
35 + +xen-tools-3.4.2-r5.ebuild, +files/xen-tools-3.4.2-ldflags-respect.patch:
36 + Proxy commit for Ian "idella4" Delaney. LDFLAGS respect closes bug #384351.
37 + Removal of static libraries closes bug #384355. Use toolchain function
38 + instead of calling LD directly, closes bug #384359.
39
40 *xen-tools-3.4.2-r4 (25 Sep 2011)
41
42
43
44
45 1.1 app-emulation/xen-tools/xen-tools-3.4.2-r5.ebuild
46
47 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/xen-tools-3.4.2-r5.ebuild?rev=1.1&view=markup
48 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/xen-tools/xen-tools-3.4.2-r5.ebuild?rev=1.1&content-type=text/plain
49
50 Index: xen-tools-3.4.2-r5.ebuild
51 ===================================================================
52 # Copyright 1999-2011 Gentoo Foundation
53 # Distributed under the terms of the GNU General Public License v2
54 # $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-3.4.2-r5.ebuild,v 1.1 2011/09/27 21:14:09 chainsaw Exp $
55
56 EAPI="3"
57
58 inherit base flag-o-matic eutils multilib python toolchain-funcs
59
60 # TPMEMUFILE=tpm_emulator-0.4.tar.gz
61
62 DESCRIPTION="Xend daemon and tools"
63 HOMEPAGE="http://xen.org/"
64 SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
65 # vtpm? ( mirror://berlios/tpm-emulator/${TPMEMUFILE} )"
66 S="${WORKDIR}/xen-${PV}"
67
68 LICENSE="GPL-2"
69 SLOT="0"
70 KEYWORDS="~amd64 ~x86"
71 IUSE="doc debug screen custom-cflags pygrub hvm api acm flask"
72
73 CDEPEND="dev-lang/python[ncurses,threads]
74 sys-libs/zlib
75 hvm? ( media-libs/libsdl )
76 acm? ( dev-libs/libxml2 )
77 api? ( dev-libs/libxml2 net-misc/curl )"
78 # vtpm? ( dev-libs/gmp dev-libs/openssl )
79
80 DEPEND="${CDEPEND}
81 sys-devel/gettext
82 sys-devel/gcc
83 dev-lang/perl
84 dev-lang/python[ssl]
85 app-misc/pax-utils
86 doc? (
87 app-doc/doxygen
88 dev-tex/latex2html[png,gif]
89 dev-texlive/texlive-latexextra
90 media-gfx/transfig
91 media-gfx/graphviz
92 )
93 hvm? (
94 x11-proto/xproto
95 sys-devel/dev86
96 )"
97
98 RDEPEND="${CDEPEND}
99 sys-apps/iproute2
100 net-misc/bridge-utils
101 dev-python/pyxml
102 screen? (
103 app-misc/screen
104 app-admin/logrotate
105 )
106 || ( sys-fs/udev sys-apps/hotplug )"
107
108 PATCHES=(
109 "${FILESDIR}/${PN}-3.4.0-network-bridge-broadcast.patch"
110 "${FILESDIR}/${PN}-3.3.0-nostrip.patch"
111 "${FILESDIR}/${PN}-3.3.1-sandbox-fix.patch"
112 "${FILESDIR}/${P}-as-needed.patch"
113 "${FILESDIR}/${P}-fix-definitions.patch"
114 "${FILESDIR}/${P}-fix-include.patch"
115 "${FILESDIR}/${P}-werror-idiocy-v2.patch"
116 "${FILESDIR}/${P}-ldflags-respect.patch"
117 )
118
119 # hvmloader is used to bootstrap a fully virtualized kernel
120 # Approved by QA team in bug #144032
121 QA_WX_LOAD="usr/lib/xen/boot/hvmloader"
122 QA_EXECSTACK="usr/share/xen/qemu/openbios-sparc32
123 usr/share/xen/qemu/openbios-sparc64"
124
125 pkg_setup() {
126 export "CONFIG_LOMOUNT=y"
127
128 if ! use x86 && ! has x86 $(get_all_abis) && use hvm; then
129 eerror "HVM (VT-x and AMD-v) cannot be built on this system. An x86 or"
130 eerror "an amd64 multilib profile is required. Remove the hvm use flag"
131 eerror "to build xen-tools on your current profile."
132 die "USE=hvm is unsupported on this system."
133 fi
134
135 if [[ -z ${XEN_TARGET_ARCH} ]] ; then
136 if use x86 && use amd64; then
137 die "Confusion! Both x86 and amd64 are set in your use flags!"
138 elif use x86; then
139 export XEN_TARGET_ARCH="x86_32"
140 elif use amd64 ; then
141 export XEN_TARGET_ARCH="x86_64"
142 else
143 die "Unsupported architecture!"
144 fi
145 fi
146
147 # use vtpm && export "VTPM_TOOLS=y"
148 use api && export "LIBXENAPI_BINDINGS=y"
149 use acm && export "ACM_SECURITY=y"
150 use flask && export "FLASK_ENABLE=y"
151 }
152
153 src_prepare() {
154 base_src_prepare
155
156 # use vtpm && cp "${DISTDIR}"/${TPMEMUFILE} tools/vtpm
157
158 # if the user *really* wants to use their own custom-cflags, let them
159 # Try and remove all the default custom-cflags
160 if use custom-cflags; then
161 epatch "${FILESDIR}/${P}-remove-default-cflags.patch"
162 fi
163
164 # Disable hvm support on systems that don't support x86_32 binaries.
165 if ! use hvm; then
166 chmod 644 tools/check/check_x11_devel
167 sed -i -e '/^CONFIG_IOEMU := y$/d' "${S}"/config/*.mk
168 sed -i -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' "${S}"/tools/Makefile
169 fi
170
171 if ! use pygrub; then
172 sed -i -e '/^SUBDIRS-$(PYTHON_TOOLS) += pygrub$/d' "${S}"/tools/Makefile
173 fi
174 }
175
176 src_compile() {
177 export VARTEXFONTS="${T}/fonts"
178 local myopt
179 use debug && myopt="${myopt} debug=y"
180
181 use custom-cflags || unset CFLAGS
182 if test-flag-CC -fno-strict-overflow; then
183 append-flags -fno-strict-overflow
184 fi
185
186 emake CC=$(tc-getCC) LD=$(tc-getLD) -C tools ${myopt} || die "compile failed"
187
188 if use doc; then
189 sh ./docs/check_pkgs || die "package check failed"
190 emake docs || die "compiling docs failed"
191 emake dev-docs || die "make dev-docs failed"
192 fi
193
194 emake -C docs man-pages || die "make man-pages failed"
195 }
196
197 src_install() {
198 make DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" XEN_PYTHON_NATIVE_INSTALL=y install-tools \
199 || die "install failed"
200
201 # Remove RedHat-specific stuff
202 rm -rf "${D}"/etc/sysconfig
203
204 # Remove unneeded static-libs
205 rm "${D}"/usr/lib64/libxenctrl.a "${D}"/usr/lib64/libxenguest.a \
206 "${D}"/usr/lib64/libflask.a "${D}"/usr/lib64/libxenstore.a \
207 "${D}"/usr/lib64/libblktap.a "${D}"/usr/lib64/libxenapi.a
208
209 dodoc README docs/README.xen-bugtool docs/ChangeLog
210 if use doc; then
211 emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs \
212 || die "install docs failed"
213
214 dohtml -r docs/api/
215 docinto pdf
216 dodoc docs/api/tools/python/latex/refman.pdf
217
218 [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
219 fi
220 rm -rf "${D}"/usr/share/doc/xen/
221
222 doman docs/man?/*
223
224 newinitd "${FILESDIR}"/xend.initd-r1 xend \
225 || die "Couldn't install xen.initd"
226 newconfd "${FILESDIR}"/xendomains.confd xendomains \
227 || die "Couldn't install xendomains.confd"
228 newinitd "${FILESDIR}"/xendomains.initd-r1 xendomains \
229 || die "Couldn't install xendomains.initd"
230
231 if use screen; then
232 cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains
233 cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/
234 keepdir /var/log/xen-consoles
235 fi
236
237 # xend expects these to exist
238 keepdir /var/run/xenstored /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
239
240 # for xendomains
241 keepdir /etc/xen/auto
242 }
243
244 pkg_postinst() {
245 elog "Official Xen Guide and the unoffical wiki page:"
246 elog " http://www.gentoo.org/doc/en/xen-guide.xml"
247 elog " http://en.gentoo-wiki.com/wiki/Xen/"
248
249 if [[ "$(scanelf -s __guard -q $(type -P python))" ]] ; then
250 echo
251 ewarn "xend may not work when python is built with stack smashing protection (ssp)."
252 ewarn "If 'xm create' fails with '<ProtocolError for /RPC2: -1 >', see bug #141866"
253 ewarn "This probablem may be resolved as of Xen 3.0.4, if not post in the bug."
254 fi
255
256 if ! has_version "dev-lang/python[ncurses]"; then
257 echo
258 ewarn "NB: Your dev-lang/python is built without USE=ncurses."
259 ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
260 fi
261
262 if has_version "sys-apps/iproute2[minimal]"; then
263 echo
264 ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
265 ewarn "will not work until you rebuild iproute2 without USE=minimal."
266 fi
267
268 if ! use hvm; then
269 echo
270 elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
271 elog "support enable the hvm use flag."
272 elog "An x86 or amd64 multilib system is required to build HVM support."
273 echo
274 elog "The ioemu use flag has been removed and replaced with hvm."
275 fi
276
277 if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
278 echo
279 elog "xensv is broken upstream (Gentoo bug #142011)."
280 elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
281 fi
282
283 python_mod_optimize $(use pygrub && echo grub) xen
284 }
285
286 pkg_postrm() {
287 python_mod_cleanup $(use pygrub && echo grub) xen
288 }