Gentoo Archives: gentoo-commits

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