forked from mirrors/nixpkgs
qemu-kvm: Update to 1.2.0
This time it will work for sure!
This commit is contained in:
parent
62c5eab5cd
commit
2a8e532e0a
|
@ -4,20 +4,18 @@
|
||||||
|
|
||||||
assert stdenv.isLinux;
|
assert stdenv.isLinux;
|
||||||
|
|
||||||
let version = "1.0.1"; in
|
let version = "1.2.0"; in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qemu-kvm-${version}";
|
name = "qemu-kvm-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/kvm/qemu-kvm/${version}/${name}.tar.gz";
|
url = "mirror://sourceforge/kvm/qemu-kvm/${version}/${name}.tar.gz";
|
||||||
sha256 = "0kxzwaw8h71mqcm46angpyx8gd58ascrxnr861k068xg89ix5g2p";
|
sha256 = "018vb5nmk2fsm143bs2bl2wirhasd4b10d7jchl32zik4inbk2p9";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./smb-tmpdir.patch ./qemu-img-fix-corrupt-vdi.patch ];
|
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
'' for i in $(find kvm -type f)
|
'' for i in $(find . -type f)
|
||||||
do
|
do
|
||||||
sed -i "$i" \
|
sed -i "$i" \
|
||||||
-e 's|/bin/bash|/bin/sh|g ;
|
-e 's|/bin/bash|/bin/sh|g ;
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
From http://patchwork.ozlabs.org/patch/137186/
|
|
||||||
|
|
||||||
diff -ru qemu-kvm-0.15.1-orig/block/vdi.c qemu-kvm-0.15.1/block/vdi.c
|
|
||||||
--- qemu-kvm-0.15.1-orig/block/vdi.c 2011-10-19 15:54:48.000000000 +0200
|
|
||||||
+++ qemu-kvm-0.15.1/block/vdi.c 2012-02-25 18:15:36.114574574 +0100
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
/*
|
|
||||||
* Block driver for the Virtual Disk Image (VDI) format
|
|
||||||
*
|
|
||||||
- * Copyright (c) 2009 Stefan Weil
|
|
||||||
+ * Copyright (c) 2009, 2012 Stefan Weil
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
@@ -767,8 +767,12 @@
|
|
||||||
acb->header_modified = 1;
|
|
||||||
}
|
|
||||||
acb->bmap_last = block_index;
|
|
||||||
+ /* Copy data to be written to new block and zero unused parts. */
|
|
||||||
+ memset(block, 0, sector_in_block * SECTOR_SIZE);
|
|
||||||
memcpy(block + sector_in_block * SECTOR_SIZE,
|
|
||||||
acb->buf, n_sectors * SECTOR_SIZE);
|
|
||||||
+ memset(block + (sector_in_block + n_sectors) * SECTOR_SIZE, 0,
|
|
||||||
+ (s->block_sectors - n_sectors - sector_in_block) * SECTOR_SIZE);
|
|
||||||
acb->hd_iov.iov_base = (void *)block;
|
|
||||||
acb->hd_iov.iov_len = s->block_size;
|
|
||||||
qemu_iovec_init_external(&acb->hd_qiov, &acb->hd_iov, 1);
|
|
|
@ -1,33 +0,0 @@
|
||||||
Honour $TMPDIR for the qemu-smb temporary directory.
|
|
||||||
|
|
||||||
diff -rc -x '*~' qemu-kvm-0.12.2-orig/net/slirp.c qemu-kvm-0.12.2/net/slirp.c
|
|
||||||
*** qemu-kvm-0.12.2-orig/net/slirp.c 2010-02-01 19:05:24.000000000 +0100
|
|
||||||
--- qemu-kvm-0.12.2/net/slirp.c 2010-02-01 19:05:54.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 476,486 ****
|
|
||||||
struct in_addr vserver_addr)
|
|
||||||
{
|
|
||||||
static int instance;
|
|
||||||
! char smb_conf[128];
|
|
||||||
! char smb_cmdline[128];
|
|
||||||
FILE *f;
|
|
||||||
|
|
||||||
! snprintf(s->smb_dir, sizeof(s->smb_dir), "/tmp/qemu-smb.%ld-%d",
|
|
||||||
(long)getpid(), instance++);
|
|
||||||
if (mkdir(s->smb_dir, 0700) < 0) {
|
|
||||||
qemu_error("could not create samba server dir '%s'\n", s->smb_dir);
|
|
||||||
--- 476,489 ----
|
|
||||||
struct in_addr vserver_addr)
|
|
||||||
{
|
|
||||||
static int instance;
|
|
||||||
! char smb_conf[1024];
|
|
||||||
! char smb_cmdline[1024];
|
|
||||||
FILE *f;
|
|
||||||
|
|
||||||
! char *tmpdir = getenv("TMPDIR");
|
|
||||||
!
|
|
||||||
! snprintf(s->smb_dir, sizeof(s->smb_dir), "%s/qemu-smb.%ld-%d",
|
|
||||||
! tmpdir ? tmpdir : "/tmp",
|
|
||||||
(long)getpid(), instance++);
|
|
||||||
if (mkdir(s->smb_dir, 0700) < 0) {
|
|
||||||
qemu_error("could not create samba server dir '%s'\n", s->smb_dir);
|
|
Loading…
Reference in a new issue