Gentoo Archives: gentoo-commits

From: "Thomas Sachau (tommy)" <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/qemu-kvm: ChangeLog qemu-kvm-0.12.3-r1.ebuild
Date: Sat, 03 Apr 2010 13:51:59
Message-Id: E1Ny3lT-00077H-Qq@stork.gentoo.org
1 tommy 10/04/03 13:51:55
2
3 Modified: ChangeLog
4 Added: qemu-kvm-0.12.3-r1.ebuild
5 Log:
6 Include madvise defines, fixes bug 305785, include virtio-large-iovecs patch, fixes bug 308451, include upstream fix for crash with sdl as default sound option, fixes sound issues of bug 294269
7 (Portage version: 2.2_rc67-r3/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.27 app-emulation/qemu-kvm/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/qemu-kvm/ChangeLog?rev=1.27&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/qemu-kvm/ChangeLog?rev=1.27&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/qemu-kvm/ChangeLog?r1=1.26&r2=1.27
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v
19 retrieving revision 1.26
20 retrieving revision 1.27
21 diff -u -r1.26 -r1.27
22 --- ChangeLog 28 Mar 2010 17:24:11 -0000 1.26
23 +++ ChangeLog 3 Apr 2010 13:51:55 -0000 1.27
24 @@ -1,6 +1,16 @@
25 # ChangeLog for app-emulation/qemu-kvm
26 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.26 2010/03/28 17:24:11 jmbsvicetto Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.27 2010/04/03 13:51:55 tommy Exp $
29 +
30 +*qemu-kvm-0.12.3-r1 (03 Apr 2010)
31 +
32 + 03 Apr 2010; Thomas Sachau (Tommy[D]) <tommy@g.o>
33 + +qemu-kvm-0.12.3-r1.ebuild,
34 + +files/qemu-kvm-0.12.3-fix-crash-with-sdl.patch,
35 + +files/qemu-kvm-0.12.3-include-madvise-defines.patch:
36 + Include madvise defines, fixes bug 305785, include virtio-large-iovecs
37 + patch, fixes bug 308451, include upstream fix for crash with sdl as
38 + default sound option, fixes sound issues of bug 294269
39
40 28 Mar 2010; Jorge Manuel B. S. Vicetto <jmbsvicetto@g.o>
41 qemu-kvm-9999.ebuild, -files/qemu-kvm-9999-sysconfigdir.patch:
42
43
44
45 1.1 app-emulation/qemu-kvm/qemu-kvm-0.12.3-r1.ebuild
46
47 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-0.12.3-r1.ebuild?rev=1.1&view=markup
48 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-0.12.3-r1.ebuild?rev=1.1&content-type=text/plain
49
50 Index: qemu-kvm-0.12.3-r1.ebuild
51 ===================================================================
52 # Copyright 1999-2010 Gentoo Foundation
53 # Distributed under the terms of the GNU General Public License v2
54 # $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-0.12.3-r1.ebuild,v 1.1 2010/04/03 13:51:55 tommy Exp $
55
56 EAPI="2"
57
58 if [[ ${PV} = *9999* ]]; then
59 EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git"
60 GIT_ECLASS="git"
61 fi
62
63 inherit eutils flag-o-matic ${GIT_ECLASS} linux-info toolchain-funcs
64
65 if [[ ${PV} = *9999* ]]; then
66 SRC_URI=""
67 KEYWORDS=""
68 else
69 SRC_URI="mirror://sourceforge/kvm/${PN}/${P}.tar.gz"
70 KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
71 fi
72
73 DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
74 HOMEPAGE="http://www.linux-kvm.org"
75
76 LICENSE="GPL-2"
77 SLOT="0"
78 # xen is disabled until the deps are fixed
79 IUSE="+aio alsa bluetooth curl esd gnutls fdt hardened kvm-trace ncurses \
80 pulseaudio qemu-ifup sasl sdl static vde"
81
82 COMMON_TARGETS="i386 x86_64 arm cris m68k microblaze mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64"
83 IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} mips64 mips64el ppcemb"
84 IUSE_USER_TARGETS="${COMMON_TARGETS} alpha armeb ppc64abi32 sparc32plus"
85
86 for target in ${IUSE_SOFTMMU_TARGETS}; do
87 IUSE="${IUSE} +qemu_softmmu_targets_${target}"
88 done
89
90 for target in ${IUSE_USER_TARGETS}; do
91 IUSE="${IUSE} +qemu_user_targets_${target}"
92 done
93
94 RESTRICT="test"
95
96 RDEPEND="
97 !app-emulation/kqemu
98 !app-emulation/qemu
99 !app-emulation/qemu-softmmu
100 !app-emulation/qemu-user
101 sys-apps/pciutils
102 >=sys-apps/util-linux-2.16.0
103 sys-libs/zlib
104 aio? ( dev-libs/libaio )
105 alsa? ( >=media-libs/alsa-lib-1.0.13 )
106 bluetooth? ( net-wireless/bluez )
107 curl? ( net-misc/curl )
108 esd? ( media-sound/esound )
109 fdt? ( sys-apps/dtc )
110 gnutls? ( net-libs/gnutls )
111 ncurses? ( sys-libs/ncurses )
112 pulseaudio? ( media-sound/pulseaudio )
113 qemu-ifup? ( sys-apps/iproute2 net-misc/bridge-utils )
114 sasl? ( dev-libs/cyrus-sasl )
115 sdl? ( >=media-libs/libsdl-1.2.11[X] )
116 vde? ( net-misc/vde )
117 "
118
119 DEPEND="${RDEPEND}
120 app-text/texi2html
121 >=sys-kernel/linux-headers-2.6.29
122 gnutls? ( dev-util/pkgconfig )"
123
124 kvm_kern_warn() {
125 eerror "Please enable KVM support in your kernel, found at:"
126 eerror
127 eerror " Virtualization"
128 eerror " Kernel-based Virtual Machine (KVM) support"
129 eerror
130 }
131
132 pkg_setup() {
133
134 local counter="0" check
135 use qemu_softmmu_targets_x86_64 || ewarn "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
136 for check in ${IUSE_SOFTMMU_TARGETS} ; do
137 use "qemu_softmmu_targets_${check}" && counter="1"
138 done
139 [[ ${counter} == 0 ]] && die "You need to set at least 1 target in QEMU_SOFTMMU_TARGETS"
140
141 if kernel_is lt 2 6 25; then
142 eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
143 eerror "Either upgrade your kernel"
144 else
145 if ! linux_config_exists; then
146 eerror "Unable to check your kernel for KVM support"
147 kvm_kern_warn
148 elif ! linux_chkconfig_present KVM; then
149 kvm_kern_warn
150 fi
151 fi
152
153 enewgroup kvm
154 }
155
156 src_prepare() {
157 # prevent docs to get automatically installed
158 sed -i '/$(DESTDIR)$(docdir)/d' Makefile || die
159 # Alter target makefiles to accept CFLAGS set via flag-o
160 sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
161 Makefile Makefile.target || die
162 # append CFLAGS while linking
163 sed -i 's/$(LDFLAGS)/$(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS)/' rules.mak || die
164
165 # remove part to make udev happy
166 sed -e 's~NAME="%k", ~~' -i kvm/scripts/65-kvm.rules || die
167
168 epatch "${FILESDIR}"/qemu-0.11.0-mips64-user-fix.patch \
169 "${FILESDIR}"/${P}-fix-crash-with-sdl.patch \
170 "${FILESDIR}"/${PN}-0.12.2-virtio-large-iovecs.patch \
171 "${FILESDIR}"/${P}-include-madvise-defines.patch
172 }
173
174 src_configure() {
175 local conf_opts audio_opts softmmu_targets user_targets
176
177 for target in ${IUSE_SOFTMMU_TARGETS} ; do
178 use "qemu_softmmu_targets_${target}" && \
179 softmmu_targets="${softmmu_targets} ${target}-softmmu"
180 done
181
182 for target in ${IUSE_USER_TARGETS} ; do
183 use "qemu_user_targets_${target}" && \
184 user_targets="${user_targets} ${target}-linux-user"
185 done
186
187 if [ ! -z "${softmmu_targets}" ]; then
188 einfo "Building the following softmmu targets: ${softmmu_targets}"
189 fi
190
191 if [ ! -z "${user_targets}" ]; then
192 einfo "Building the following user targets: ${user_targets}"
193 conf_opts="${conf_opts} --enable-linux-user"
194 else
195 conf_opts="${conf_opts} --disable-linux-user"
196 fi
197
198 # Fix QA issues. QEMU needs executable heaps and we need to mark it as such
199 conf_opts="${conf_opts} --extra-ldflags=-Wl,-z,execheap"
200
201 # Add support for static builds
202 use static && conf_opts="${conf_opts} --static"
203
204 #config options
205 conf_opts="${conf_opts} $(use_enable aio linux-aio)"
206 use bluetooth || conf_opts="${conf_opts} --disable-bluez"
207 conf_opts="${conf_opts} $(use_enable curl)"
208 use gnutls || conf_opts="${conf_opts} --disable-vnc-tls"
209 conf_opts="${conf_opts} $(use_enable fdt)"
210 use hardened && conf_opts="${conf_opts} --enable-user-pie"
211 use kvm-trace && conf_opts="${conf_opts} --with-kvm-trace"
212 use ncurses || conf_opts="${conf_opts} --disable-curses"
213 use sasl || conf_opts="${conf_opts} --disable-vnc-sasl"
214 use sdl || conf_opts="${conf_opts} --disable-sdl"
215 use vde || conf_opts="${conf_opts} --disable-vde"
216 # conf_opts="${conf_opts} $(use_enable xen)"
217 conf_opts="${conf_opts} --disable-xen"
218 conf_opts="${conf_opts} --disable-darwin-user --disable-bsd-user"
219
220 # audio options
221 audio_opts="oss"
222 use alsa && audio_opts="alsa ${audio_opts}"
223 use esd && audio_opts="esd ${audio_opts}"
224 use pulseaudio && audio_opts="pa ${audio_opts}"
225 use sdl && audio_opts="sdl ${audio_opts}"
226 ./configure --prefix=/usr \
227 --disable-strip \
228 --enable-kvm \
229 --enable-nptl \
230 --enable-uuid \
231 ${conf_opts} \
232 --audio-drv-list="${audio_opts}" \
233 --target-list="${softmmu_targets} ${user_targets}" \
234 --cc=$(tc-getCC) \
235 --host-cc=$(tc-getBUILD_CC) \
236 || die "configure failed"
237
238 # this is for qemu upstream's threaded support which is
239 # in development and broken
240 # the kvm project has its own support for threaded IO
241 # which is always on and works
242 # --enable-io-thread \
243 }
244
245 src_install() {
246 emake DESTDIR="${D}" install || die "make install failed"
247
248 insinto /etc/udev/rules.d/
249 doins kvm/scripts/65-kvm.rules || die
250
251 if use qemu-ifup; then
252 insinto /etc/qemu/
253 insopts -m0755
254 doins kvm/scripts/qemu-ifup || die
255 fi
256
257 dodoc Changelog MAINTAINERS TODO pci-ids.txt || die
258 newdoc pc-bios/README README.pc-bios || die
259 dohtml qemu-doc.html qemu-tech.html || die
260
261 if use qemu_softmmu_targets_x86_64 ; then
262 dobin "${FILESDIR}"/qemu-kvm
263 dosym /usr/bin/qemu-kvm /usr/bin/kvm
264 else
265 elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
266 elog "of /usr/bin/qemu-kvm and /usr/bin/kvm"
267 fi
268 }
269
270 pkg_postinst() {
271 elog "If you don't have kvm compiled into the kernel, make sure you have"
272 elog "the kernel module loaded before running kvm. The easiest way to"
273 elog "ensure that the kernel module is loaded is to load it on boot."
274 elog "For AMD CPUs the module is called 'kvm-amd'"
275 elog "For Intel CPUs the module is called 'kvm-intel'"
276 elog "Please review /etc/conf.d/modules for how to load these"
277 elog
278 elog "Make sure your user is in the 'kvm' group"
279 elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
280 elog
281 elog "You will need the Universal TUN/TAP driver compiled into your"
282 elog "kernel or loaded as a module to use the virtual network device"
283 elog "if using -net tap. You will also need support for 802.1d"
284 elog "Ethernet Bridging and a configured bridge if using the provided"
285 elog "kvm-ifup script from /etc/kvm."
286 echo
287 }