Gentoo Archives: gentoo-commits

From: "Robert Buchholz (rbu)" <rbu@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/xen-tools: ChangeLog metadata.xml xen-tools-3.3.0.ebuild xen-tools-3.2.0.ebuild
Date: Mon, 01 Sep 2008 00:41:12
Message-Id: E1KZxTf-0003Yy-Uo@stork.gentoo.org
1 rbu 08/09/01 00:41:07
2
3 Modified: ChangeLog metadata.xml
4 Added: xen-tools-3.3.0.ebuild
5 Removed: xen-tools-3.2.0.ebuild
6 Log:
7 Version bump to Xen 3.3 (bug #201792). Fixes bugs:
8 * Add USE flags for ACM and FLASK Xen Security Modules
9 * Properly compile and uninstall python bytecode
10 * RDEPEND on pyxml (bug #201255)
11 * Remove libvncserver dependency
12 * Shutdown xendomains in reverse start order (bug #210445)
13 * Allow for parallel shutdown of xendomains (bug #162833)
14 * Check that python is built with threading (bug #236092)
15 (Portage version: 2.2_rc8/cvs/Linux 2.6.27-rc4-git1 x86_64)
16
17 Revision Changes Path
18 1.40 app-emulation/xen-tools/ChangeLog
19
20 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/ChangeLog?rev=1.40&view=markup
21 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/ChangeLog?rev=1.40&content-type=text/plain
22 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/ChangeLog?r1=1.39&r2=1.40
23
24 Index: ChangeLog
25 ===================================================================
26 RCS file: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v
27 retrieving revision 1.39
28 retrieving revision 1.40
29 diff -u -r1.39 -r1.40
30 --- ChangeLog 30 Jul 2008 01:03:09 -0000 1.39
31 +++ ChangeLog 1 Sep 2008 00:41:07 -0000 1.40
32 @@ -1,6 +1,23 @@
33 # ChangeLog for app-emulation/xen-tools
34 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
35 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.39 2008/07/30 01:03:09 rbu Exp $
36 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.40 2008/09/01 00:41:07 rbu Exp $
37 +
38 +*xen-tools-3.3.0 (01 Sep 2008)
39 +
40 + 01 Sep 2008; Robert Buchholz <rbu@g.o>
41 + +files/xen-tools-3.3.0--as-needed.patch,
42 + +files/xen-tools-3.3.0-nostrip.patch,
43 + +files/xen-tools-3.3.0-xen-detect-nopie-fix.patch, files/xendomains.confd,
44 + files/xendomains.initd, metadata.xml, -xen-tools-3.2.0.ebuild,
45 + +xen-tools-3.3.0.ebuild:
46 + Version bump to Xen 3.3 (bug #201792). Fixes bugs:
47 + * Add USE flags for ACM and FLASK Xen Security Modules
48 + * Properly compile and uninstall python bytecode
49 + * RDEPEND on pyxml (bug #201255)
50 + * Remove libvncserver dependency
51 + * Shutdown xendomains in reverse start order (bug #210445)
52 + * Allow for parallel shutdown of xendomains (bug #162833)
53 + * Check that python is built with threading (bug #236092)
54
55 30 Jul 2008; Robert Buchholz <rbu@g.o> xen-tools-3.2.1.ebuild:
56 Set VARTEXFONTS so LaTeX does not try to write out of the sandbox (bug #233120)
57
58
59
60 1.6 app-emulation/xen-tools/metadata.xml
61
62 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/metadata.xml?rev=1.6&view=markup
63 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/metadata.xml?rev=1.6&content-type=text/plain
64 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/metadata.xml?r1=1.5&r2=1.6
65
66 Index: metadata.xml
67 ===================================================================
68 RCS file: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/metadata.xml,v
69 retrieving revision 1.5
70 retrieving revision 1.6
71 diff -u -r1.5 -r1.6
72 --- metadata.xml 28 Jul 2008 20:48:38 -0000 1.5
73 +++ metadata.xml 1 Sep 2008 00:41:07 -0000 1.6
74 @@ -10,5 +10,10 @@
75 <flag name='pygrub'>Install the pygrub boot loader</flag>
76 <flag name='screen'>Enable support for running domain U console in an
77 <pkg>app-misc/screen</pkg> session</flag>
78 + <flag name='xsm'>Enable the Xen Security Modules (XSM)</flag>
79 + <flag name='acm'>Enable the ACM/sHype XSM module from IBM</flag>
80 + <flag name='flask'>Enable the Flask XSM module from NSA</flag>
81 + <flag name='api'>Build the C libxenapi bindings</flag>
82 +<!-- <flag name='vtpm'>Enable TPM emulation</flag> -->
83 </use>
84 </pkgmetadata>
85
86
87
88 1.1 app-emulation/xen-tools/xen-tools-3.3.0.ebuild
89
90 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/xen-tools-3.3.0.ebuild?rev=1.1&view=markup
91 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/xen-tools/xen-tools-3.3.0.ebuild?rev=1.1&content-type=text/plain
92
93 Index: xen-tools-3.3.0.ebuild
94 ===================================================================
95 # Copyright 1999-2008 Gentoo Foundation
96 # Distributed under the terms of the GNU General Public License v2
97 # $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-3.3.0.ebuild,v 1.1 2008/09/01 00:41:07 rbu Exp $
98
99 inherit flag-o-matic eutils multilib python
100
101 # TPMEMUFILE=tpm_emulator-0.4.tar.gz
102
103 DESCRIPTION="Xend daemon and tools"
104 HOMEPAGE="http://xen.org/"
105 SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
106 # vtpm? ( mirror://berlios/tpm-emulator/${TPMEMUFILE} )"
107 S="${WORKDIR}/xen-${PV}"
108
109 LICENSE="GPL-2"
110 SLOT="0"
111 KEYWORDS="~amd64 ~x86"
112 IUSE="doc debug screen custom-cflags pygrub hvm api acm flask"
113
114 CDEPEND="dev-lang/python
115 sys-libs/zlib
116 hvm? ( media-libs/libsdl )
117 acm? ( dev-libs/libxml2 )
118 api? ( dev-libs/libxml2 net-misc/curl )"
119 # vtpm? ( dev-libs/gmp dev-libs/openssl )
120
121 DEPEND="${CDEPEND}
122 sys-devel/gcc
123 dev-lang/perl
124 app-misc/pax-utils
125 doc? (
126 app-doc/doxygen
127 dev-tex/latex2html
128 media-gfx/transfig
129 media-gfx/graphviz
130 )
131 hvm? (
132 x11-proto/xproto
133 sys-devel/dev86
134 )"
135
136 RDEPEND="${CDEPEND}
137 sys-apps/iproute2
138 net-misc/bridge-utils
139 dev-python/pyxml
140 screen? (
141 app-misc/screen
142 app-admin/logrotate
143 )
144 || ( sys-fs/udev sys-apps/hotplug )"
145
146 PYTHON_MODNAME="xen grub"
147
148 # hvmloader is used to bootstrap a fully virtualized kernel
149 # Approved by QA team in bug #144032
150 QA_WX_LOAD="usr/lib/xen/boot/hvmloader"
151 QA_EXECSTACK="usr/share/xen/qemu/openbios-sparc32
152 usr/share/xen/qemu/openbios-sparc64"
153
154 pkg_setup() {
155 export "CONFIG_LOMOUNT=y"
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 if use doc && ! built_with_use -o dev-tex/latex2html png gif; then
177 # die early instead of later
178 eerror "USE=doc requires latex2html with image support. Please add"
179 eerror "'png' and/or 'gif' to your use flags and re-emerge latex2html"
180 die "latex2html missing both png and gif flags"
181 fi
182
183 if use pygrub && ! built_with_use dev-lang/python ncurses; then
184 eerror "USE=pygrub requires python to be built with ncurses support. Please add"
185 eerror "'ncurses' to your use flags and re-emerge python"
186 die "python is missing ncurses flags"
187 fi
188
189 if ! built_with_use dev-lang/python threads; then
190 eerror "Python is required to be built with threading support. Please add"
191 eerror "'threads' to your use flags and re-emerge python"
192 die "python is missing threads flags"
193 fi
194
195 # use vtpm && export "VTPM_TOOLS=y"
196 use api && export "LIBXENAPI_BINDINGS=y"
197 use acm && export "ACM_SECURITY=y"
198 use flask && export "FLASK_ENABLE=y"
199 }
200
201 src_unpack() {
202 unpack ${A}
203 cd "${S}"
204 # use vtpm && cp "${DISTDIR}"/${TPMEMUFILE} tools/vtpm
205
206 # if the user *really* wants to use their own custom-cflags, let them
207 if use custom-cflags; then
208 einfo "User wants their own CFLAGS - removing defaults"
209 # try and remove all the default custom-cflags
210 find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
211 -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
212 -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
213 -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
214 -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
215 -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
216 -i {} \;
217 fi
218
219 # Disable hvm support on systems that don't support x86_32 binaries.
220 if ! use hvm; then
221 chmod 644 tools/check/check_x11_devel
222 sed -i -e '/^CONFIG_IOEMU := y$/d' "${S}"/config/*.mk
223 sed -i -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' "${S}"/tools/Makefile
224 fi
225
226 if ! use pygrub; then
227 sed -i -e '/^SUBDIRS-$(PYTHON_TOOLS) += pygrub$/d' "${S}"/tools/Makefile
228 fi
229
230 # Allow --as-needed LDFLAGS
231 epatch "${FILESDIR}/${P}--as-needed.patch"
232
233 # Fix network broadcast on bridged networks
234 epatch "${FILESDIR}/${PN}-3.1.3-network-bridge-broadcast.patch"
235
236 # Fix building small dumb utility called 'xen-detect' on hardened
237 epatch "${FILESDIR}/${P}-xen-detect-nopie-fix.patch"
238
239 # Do not strip binaries
240 epatch "${FILESDIR}/"${P}-nostrip.patch
241 }
242
243 src_compile() {
244 export VARTEXFONTS="${T}/fonts"
245 local myopt
246 use debug && myopt="${myopt} debug=y"
247
248 use custom-cflags || unset CFLAGS
249 if test-flag-CC -fno-strict-overflow; then
250 append-flags -fno-strict-overflow
251 fi
252
253 emake -C tools ${myopt} || die "compile failed"
254
255 if use doc; then
256 sh ./docs/check_pkgs || die "package check failed"
257 emake docs || die "compiling docs failed"
258 emake dev-docs || die "make dev-docs failed"
259 fi
260
261 emake -C docs man-pages || die "make man-pages failed"
262 }
263
264 src_install() {
265 make DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" XEN_PYTHON_NATIVE_INSTALL=y install-tools \
266 || die "install failed"
267
268 # Remove RedHat-specific stuff
269 rm -rf "${D}"/etc/sysconfig
270
271 dodoc README docs/README.xen-bugtool docs/ChangeLog
272 if use doc; then
273 emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs \
274 || die "install docs failed"
275
276 dohtml -r docs/api/
277 docinto pdf
278 dodoc docs/api/tools/python/latex/refman.pdf
279
280 [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
281 fi
282 rm -rf "${D}"/usr/share/doc/xen/
283
284 doman docs/man?/*
285
286 newinitd "${FILESDIR}"/xend.initd xend \
287 || die "Couldn't install xen.initd"
288 newconfd "${FILESDIR}"/xendomains.confd xendomains \
289 || die "Couldn't install xendomains.confd"
290 newinitd "${FILESDIR}"/xendomains.initd xendomains \
291 || die "Couldn't install xendomains.initd"
292
293 if use screen; then
294 cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains
295 cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/
296 keepdir /var/log/xen-consoles
297 fi
298
299 # xend expects these to exist
300 keepdir /var/run/xenstored /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
301
302 # for xendomains
303 keepdir /etc/xen/auto
304 }
305
306 pkg_postinst() {
307 elog "Official Xen Guide and the unoffical wiki page:"
308 elog " http://www.gentoo.org/doc/en/xen-guide.xml"
309 elog " http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
310
311 if [[ "$(scanelf -s __guard -q $(type -P python))" ]] ; then
312 echo
313 ewarn "xend may not work when python is built with stack smashing protection (ssp)."
314 ewarn "If 'xm create' fails with '<ProtocolError for /RPC2: -1 >', see bug #141866"
315 ewarn "This probablem may be resolved as of Xen 3.0.4, if not post in the bug."
316 fi
317
318 if ! built_with_use dev-lang/python ncurses; then
319 echo
320 ewarn "NB: Your dev-lang/python is built without USE=ncurses."
321 ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
322 fi
323
324 if built_with_use sys-apps/iproute2 minimal; then
325 echo
326 ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
327 ewarn "will not work until you rebuild iproute2 without USE=minimal."
328 fi
329
330 if ! use hvm; then
331 echo
332 elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
333 elog "support enable the hvm use flag."
334 elog "An x86 or amd64 multilib system is required to build HVM support."
335 echo
336 elog "The ioemu use flag has been removed and replaced with hvm."
337 fi
338
339 if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
340 echo
341 elog "xensv is broken upstream (Gentoo bug #142011)."
342 elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
343 fi
344
345 python_mod_optimize
346 }
347
348 pkg_postrm() {
349 python_mod_cleanup
350 }