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