1 |
dang 08/09/09 14:36:49 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: kvm-74.ebuild |
5 |
Log: |
6 |
Bump to kvm-74 |
7 |
(Portage version: 2.2_rc8/cvs/Linux 2.6.26-gentoo-r1 x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.15 app-emulation/kvm/ChangeLog |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/kvm/ChangeLog?rev=1.15&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/kvm/ChangeLog?rev=1.15&content-type=text/plain |
14 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/kvm/ChangeLog?r1=1.14&r2=1.15 |
15 |
|
16 |
Index: ChangeLog |
17 |
=================================================================== |
18 |
RCS file: /var/cvsroot/gentoo-x86/app-emulation/kvm/ChangeLog,v |
19 |
retrieving revision 1.14 |
20 |
retrieving revision 1.15 |
21 |
diff -u -r1.14 -r1.15 |
22 |
--- ChangeLog 9 Sep 2008 14:11:05 -0000 1.14 |
23 |
+++ ChangeLog 9 Sep 2008 14:36:49 -0000 1.15 |
24 |
@@ -1,6 +1,35 @@ |
25 |
# ChangeLog for app-emulation/kvm |
26 |
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 |
27 |
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/ChangeLog,v 1.14 2008/09/09 14:11:05 dang Exp $ |
28 |
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/ChangeLog,v 1.15 2008/09/09 14:36:49 dang Exp $ |
29 |
+ |
30 |
+*kvm-74 (09 Sep 2008) |
31 |
+ |
32 |
+ 09 Sep 2008; Daniel Gryniewicz <dang@g.o> -kvm-73.ebuild, |
33 |
+ +kvm-74.ebuild: |
34 |
+ Bump to kvm-74 |
35 |
+ Changes from kvm-73: |
36 |
+ - make real-mode startup state conform to spec |
37 |
+ - fix scheduling error in experimental big real mode support |
38 |
+ - fix reboot fault handler exception table entry (Eduardo Habkost) |
39 |
+ - x86 emulator code cleanup (Roel Kluin) |
40 |
+ - fix 'neg r/m' instruction emulation forced to byte size |
41 |
+ - fix shadow ptes corruption on i386 hosts running smp guests |
42 |
+ - fix kvmtrace ABI breakage (Adrian Bunk) |
43 |
+ - enable virtio for ia64 |
44 |
+ - add generic shadow page table walker |
45 |
+ - allocate internal guest memory as MAP_PRIVATE |
46 |
+ - don't call get_user_pages(.force=1) |
47 |
+ - paves the way for get_user_pages_fast() |
48 |
+ - add mov r, imm instructions to the emulator (Mohammed Gamal) |
49 |
+ - realmode emulator testsuite |
50 |
+ - ia64 external module support (Xiantao Zhang) |
51 |
+ - support tap IFF_VNET_HDR (Mark McLoughlin) |
52 |
+ - merge qemu-svn |
53 |
+ - improved usb support |
54 |
+ - usb auto connect/disconnect |
55 |
+ - protect against possible corruption during qemu fork() on older hosts |
56 |
+ |
57 |
+ (Marcelo Tosatti) |
58 |
|
59 |
09 Sep 2008; Daniel Gryniewicz <dang@g.o> -kvm-70.ebuild, |
60 |
-kvm-70-r1.ebuild: |
61 |
|
62 |
|
63 |
|
64 |
1.1 app-emulation/kvm/kvm-74.ebuild |
65 |
|
66 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/kvm/kvm-74.ebuild?rev=1.1&view=markup |
67 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/kvm/kvm-74.ebuild?rev=1.1&content-type=text/plain |
68 |
|
69 |
Index: kvm-74.ebuild |
70 |
=================================================================== |
71 |
# Copyright 1999-2008 Gentoo Foundation |
72 |
# Distributed under the terms of the GNU General Public License v2 |
73 |
# $Header: /var/cvsroot/gentoo-x86/app-emulation/kvm/kvm-74.ebuild,v 1.1 2008/09/09 14:36:49 dang Exp $ |
74 |
|
75 |
inherit eutils flag-o-matic toolchain-funcs linux-mod |
76 |
|
77 |
# Patchset git repo is at http://github.com/dang/kvm-patches/tree/master |
78 |
PATCHSET="kvm-patches-20080822" |
79 |
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz |
80 |
mirror://gentoo/${PATCHSET}.tar.gz" |
81 |
|
82 |
DESCRIPTION="Kernel-based Virtual Machine userland tools" |
83 |
HOMEPAGE="http://kvm.qumranet.com/kvmwiki" |
84 |
|
85 |
LICENSE="GPL-2" |
86 |
SLOT="0" |
87 |
KEYWORDS="-* ~amd64 ~x86" |
88 |
# Add bios back when it builds again |
89 |
IUSE="alsa esd gnutls havekernel modules ncurses pulseaudio sdl test vde" |
90 |
RESTRICT="test" |
91 |
|
92 |
RDEPEND="sys-libs/zlib |
93 |
alsa? ( >=media-libs/alsa-lib-1.0.13 ) |
94 |
esd? ( media-sound/esound ) |
95 |
pulseaudio? ( media-sound/pulseaudio ) |
96 |
gnutls? ( net-libs/gnutls ) |
97 |
ncurses? ( sys-libs/ncurses ) |
98 |
sdl? ( >=media-libs/libsdl-1.2.11 ) |
99 |
vde? ( net-misc/vde )" |
100 |
|
101 |
# bios? ( |
102 |
# sys-devel/dev86 |
103 |
# dev-lang/perl |
104 |
# sys-power/iasl |
105 |
# ) |
106 |
DEPEND="${RDEPEND} |
107 |
gnutls? ( dev-util/pkgconfig ) |
108 |
app-text/texi2html" |
109 |
|
110 |
QA_TEXTRELS="usr/bin/kvm" |
111 |
|
112 |
pkg_setup() { |
113 |
if use havekernel && use modules ; then |
114 |
ewarn "You have the 'havekernel' and 'modules' use flags enabled." |
115 |
ewarn "'havekernel' trumps 'modules'; the kvm modules will not" |
116 |
ewarn "be built. You must ensure you have a compatible kernel" |
117 |
ewarn "with the kvm modules on your own" |
118 |
elif use havekernel ; then |
119 |
ewarn "You have the 'havekernel' use flag set. This means you" |
120 |
ewarn "must ensure you have a compatible kernel on your own." |
121 |
elif use modules ; then |
122 |
BUILD_TARGETS="all" |
123 |
MODULE_NAMES="kvm(kvm:${S}/kernel:${S}/kernel/x86)" |
124 |
MODULE_NAMES="${MODULE_NAMES} kvm-intel(kvm:${S}/kernel:${S}/kernel/x86)" |
125 |
MODULE_NAMES="${MODULE_NAMES} kvm-amd(kvm:${S}/kernel:${S}/kernel/x86)" |
126 |
linux-mod_pkg_setup |
127 |
elif kernel_is lt 2 6 22; then |
128 |
eerror "the kvm in your kernel requires an older version of" |
129 |
eerror "kvm as shown in :" |
130 |
eerror " http://kvm.qumranet.com/kvmwiki/Downloads" |
131 |
eerror "Either upgrade your kernel, or enable the 'modules'" |
132 |
eerror "USE flag." |
133 |
die "kvm version not compatible" |
134 |
elif ! linux_chkconfig_present KVM; then |
135 |
eerror "Please enable KVM support in your kernel, found at:" |
136 |
eerror |
137 |
eerror " Virtualization" |
138 |
eerror " Kernel-based Virtual Machine (KVM) support" |
139 |
eerror |
140 |
eerror "or enable the 'modules' USE flag." |
141 |
die "KVM support not detected!" |
142 |
fi |
143 |
|
144 |
enewgroup kvm |
145 |
} |
146 |
|
147 |
src_unpack() { |
148 |
unpack ${A} |
149 |
|
150 |
cd "${S}" |
151 |
# prevent docs to get automatically installed |
152 |
sed -i '/$(DESTDIR)$(docdir)/d' qemu/Makefile |
153 |
# Alter target makefiles to accept CFLAGS set via flag-o |
154 |
sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \ |
155 |
qemu/Makefile qemu/Makefile.target |
156 |
[[ -x /sbin/paxctl ]] && \ |
157 |
sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \ |
158 |
qemu/Makefile.target |
159 |
# avoid strip |
160 |
sed -i 's/$(INSTALL) -m 755 -s/$(INSTALL) -m 755/' qemu/Makefile |
161 |
|
162 |
epatch \ |
163 |
"${WORKDIR}/${PATCHSET}"/kvm-45-qemu-configure.patch \ |
164 |
"${WORKDIR}/${PATCHSET}"/kvm-61-qemu-kvm.patch \ |
165 |
"${WORKDIR}/${PATCHSET}"/kvm-57-qemu-kvm-cmdline.patch \ |
166 |
"${WORKDIR}/${PATCHSET}"/kvm-68-libkvm-no-kernel.patch \ |
167 |
"${WORKDIR}/${PATCHSET}"/kvm-69-qemu-ifup_ifdown.patch \ |
168 |
"${WORKDIR}/${PATCHSET}"/kvm-70-block-rw-range-check.patch \ |
169 |
"${WORKDIR}/${PATCHSET}"/kvm-73-qemu-no-blobs.patch \ |
170 |
"${WORKDIR}/${PATCHSET}"/kvm-73-qemu-kvm-doc.patch \ |
171 |
"${WORKDIR}/${PATCHSET}"/kvm-73-kernel-longmode.patch |
172 |
} |
173 |
|
174 |
src_compile() { |
175 |
local mycc conf_opts audio_opts |
176 |
|
177 |
audio_opts="oss" |
178 |
use gnutls || conf_opts="$conf_opts --disable-vnc-tls" |
179 |
use ncurses || conf_opts="$conf_opts --disable-curses" |
180 |
use sdl || conf_opts="$conf_opts --disable-gfx-check --disable-sdl" |
181 |
use vde || conf_opts="$conf_opts --disable-vde" |
182 |
use alsa && audio_opts="alsa $audio_opts" |
183 |
use esd && audio_opts="esd $audio_opts" |
184 |
use pulseaudio && audio_opts="pa $audio_opts" |
185 |
use sdl && audio_opts="sdl $audio_opts" |
186 |
conf_opts="$conf_opts --disable-gcc-check" |
187 |
conf_opts="$conf_opts --prefix=/usr" |
188 |
#conf_opts="$conf_opts --audio-drv-list=\"$audio_opts\"" |
189 |
|
190 |
./configure ${conf_opts} --audio-drv-list="$audio_opts" || die "econf failed" |
191 |
|
192 |
emake libkvm || die "emake libkvm failed" |
193 |
|
194 |
if use test; then |
195 |
emake user || die "emake user failed" |
196 |
fi |
197 |
|
198 |
mycc=$(cat qemu/config-host.mak | egrep "^CC=" | cut -d "=" -f 2) |
199 |
|
200 |
filter-flags -fpie -fstack-protector |
201 |
|
202 |
# If using gentoo's compiler set the SPEC to non-hardened |
203 |
if [ ! -z ${GCC_SPECS} -a -f ${GCC_SPECS} ]; then |
204 |
local myccver=$(${mycc} -dumpversion) |
205 |
local gccver=$($(tc-getBUILD_CC) -dumpversion) |
206 |
|
207 |
#Is this a SPEC for the right compiler version? |
208 |
myspec="${GCC_SPECS/${gccver}/${myccver}}" |
209 |
if [ "${myspec}" == "${GCC_SPECS}" ]; then |
210 |
shopt -s extglob |
211 |
GCC_SPECS="${GCC_SPECS/%hardened*specs/vanilla.specs}" |
212 |
shopt -u extglob |
213 |
else |
214 |
unset GCC_SPECS |
215 |
fi |
216 |
fi |
217 |
|
218 |
# if use bios; then |
219 |
# emake bios || die "emake bios failed" |
220 |
# emake vgabios || die "emake vgabios failed" |
221 |
# fi |
222 |
|
223 |
emake qemu || die "emake qemu failed" |
224 |
|
225 |
if use modules && ! use havekernel ; then |
226 |
linux-mod_src_compile |
227 |
fi |
228 |
} |
229 |
|
230 |
src_install() { |
231 |
# kcmd so we don't install kernel modules which weren't build |
232 |
emake DESTDIR="${D}" kcmd='#' install || die "make install failed" |
233 |
|
234 |
exeinto /usr/bin/ |
235 |
doexe "${S}/kvm_stat" |
236 |
|
237 |
mv "${D}"/usr/share/man/man1/qemu.1 "${D}"/usr/share/man/man1/kvm.1 |
238 |
mv "${D}"/usr/share/man/man1/qemu-img.1 "${D}"/usr/share/man/man1/kvm-img.1 |
239 |
mv "${D}"/usr/share/man/man8/qemu-nbd.8 "${D}"/usr/share/man/man8/kvm-nbd.8 |
240 |
mv "${D}"/usr/bin/qemu-img "${D}"/usr/bin/kvm-img |
241 |
mv "${D}"/usr/bin/qemu-nbd "${D}"/usr/bin/kvm-nbd |
242 |
|
243 |
insinto /etc/udev/rules.d/ |
244 |
doins scripts/65-kvm.rules |
245 |
|
246 |
insinto /etc/kvm/ |
247 |
insopts -m0755 |
248 |
newins scripts/qemu-ifup kvm-ifup |
249 |
newins scripts/qemu-ifdown kvm-ifdown |
250 |
|
251 |
dodoc qemu/pc-bios/README |
252 |
newdoc qemu/qemu-doc.html kvm-doc.html |
253 |
newdoc qemu/qemu-tech.html kvm-tech.html |
254 |
|
255 |
if use modules && ! use havekernel ; then |
256 |
linux-mod_src_install |
257 |
fi |
258 |
} |
259 |
|
260 |
pkg_postinst() { |
261 |
elog "If you don't have kvm compiled into the kernel, make sure you have" |
262 |
elog "the kernel module loaded before running kvm. The easiest way to" |
263 |
elog "ensure that the kernel module is loaded is to load it on boot." |
264 |
elog "For AMD CPUs the module is called 'kvm-amd'" |
265 |
elog "For Intel CPUs the module is called 'kvm-intel'" |
266 |
elog "Please review /etc/conf.d/modules for how to load these" |
267 |
elog |
268 |
elog "Make sure your user is in the 'kvm' group" |
269 |
elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." |
270 |
elog |
271 |
elog "You will need the Universal TUN/TAP driver compiled into your" |
272 |
elog "kernel or loaded as a module to use the virtual network device" |
273 |
elog "if using -net tap. You will also need support for 802.1d" |
274 |
elog "Ethernet Bridging and a configured bridge if using the provided" |
275 |
elog "kvm-ifup script from /etc/kvm." |
276 |
echo |
277 |
} |