xen: remove 4.4.1 + fixes compilation of 4.5.x, fixes #9572
This commit is contained in:
parent
b55a4df70f
commit
e80b41e94f
@ -1,8 +1,7 @@
|
|||||||
diff --git a/src/Kconfig b/src/Kconfig
|
diff -uNr a/src/Kconfig b/src/Kconfig
|
||||||
index 45ca59c..faf8951 100644
|
--- a/src/Kconfig 2015-08-31 10:15:13.231134858 +0200
|
||||||
--- a/src/Kconfig
|
+++ b/src/Kconfig 2015-08-31 10:14:24.039180178 +0200
|
||||||
+++ b/src/Kconfig
|
@@ -144,13 +144,13 @@
|
||||||
@@ -144,13 +144,13 @@ menu "Hardware support"
|
|
||||||
config ATA_DMA
|
config ATA_DMA
|
||||||
depends on ATA
|
depends on ATA
|
||||||
bool "ATA DMA"
|
bool "ATA DMA"
|
||||||
@ -16,8 +15,5 @@ index 45ca59c..faf8951 100644
|
|||||||
- default n
|
- default n
|
||||||
+ default y
|
+ default y
|
||||||
help
|
help
|
||||||
Use 32bit PIO accesses on ATA (minor optimization on PCI
|
Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
|
||||||
transfers).
|
|
||||||
config AHCI
|
config AHCI
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
{ callPackage, fetchurl, ... } @ args:
|
|
||||||
|
|
||||||
let
|
|
||||||
# Xen 4.4.1
|
|
||||||
xenConfig = {
|
|
||||||
name = "xen-4.4.1";
|
|
||||||
version = "4.4.1";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://bits.xensource.com/oss-xen/release/4.4.1/xen-4.4.1.tar.gz";
|
|
||||||
sha256 = "09gaqydqmy64s5pqnwgjyzhd3wc61xyghpqjfl97kmvm8ly9vd2m";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Sources needed to build the xen tools and tools/firmware.
|
|
||||||
toolsGits =
|
|
||||||
[ # tag qemu-xen-4.4.1
|
|
||||||
{ git = { name = "qemu-xen";
|
|
||||||
url = git://xenbits.xen.org/qemu-upstream-4.4-testing.git;
|
|
||||||
rev = "65fc9b78ba3d868a26952db0d8e51cecf01d47b4";
|
|
||||||
sha256 = "e24fb58f773fd9134c5aae6d3ca7e9f754dc9822de92b1eb2cedc76faf911f18";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# tag xen-4.4.1
|
|
||||||
{ git = { name = "qemu-xen-traditional";
|
|
||||||
url = git://xenbits.xen.org/qemu-xen-4.4-testing.git;
|
|
||||||
rev = "6ae4e588081620b141071eb010ec40aca7e12876";
|
|
||||||
sha256 = "b1ed1feb92fbe658273a8d6d38d6ea60b79c1658413dd93979d6d128d8554ded";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
firmwareGits =
|
|
||||||
[ # tag 1.7.3.1
|
|
||||||
{ git = { name = "seabios";
|
|
||||||
url = git://xenbits.xen.org/seabios.git;
|
|
||||||
rev = "7d9cbe613694924921ed1a6f8947d711c5832eee";
|
|
||||||
sha256 = "c071282bbcb1dd0d98536ef90cd1410f5d8da19648138e0e3863bc540d954a87";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{ git = { name = "ovmf";
|
|
||||||
url = git://xenbits.xen.org/ovmf.git;
|
|
||||||
rev = "447d264115c476142f884af0be287622cd244423";
|
|
||||||
sha256 = "7086f882495a8be1497d881074e8f1005dc283a5e1686aec06c1913c76a6319b";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
in callPackage ./generic.nix (args // { xenConfig=xenConfig; })
|
|
@ -58,17 +58,18 @@ let
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
xenserverPatches = let
|
xenserverPatches =
|
||||||
patches = {
|
let
|
||||||
url = https://github.com/ts468/xen-4.5.pg.git;
|
patches = {
|
||||||
rev = "3442b65b490f43c817cbc53369220d0b1ab9b785";
|
url = https://github.com/ts468/xen-4.5.pg.git;
|
||||||
sha256 = "31436c15def0a300b3ea1a63b2208c4a3bcbb143db5c6488d4db370b3ceeb845";
|
rev = "3442b65b490f43c817cbc53369220d0b1ab9b785";
|
||||||
};
|
sha256 = "31436c15def0a300b3ea1a63b2208c4a3bcbb143db5c6488d4db370b3ceeb845";
|
||||||
|
};
|
||||||
in ''
|
in ''
|
||||||
cp -r ${fetchgit patches}/master patches
|
cp -r ${fetchgit patches}/master patches
|
||||||
quilt push -a
|
quilt push -a
|
||||||
substituteInPlace tools/xenguest/Makefile --replace "_BSD_SOURCE" "_DEFAULT_SOURCE"
|
substituteInPlace tools/xenguest/Makefile --replace "_BSD_SOURCE" "_DEFAULT_SOURCE"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
xenPatches = [ ./0001-libxl-Spice-image-compression-setting-support-for-up.patch
|
xenPatches = [ ./0001-libxl-Spice-image-compression-setting-support-for-up.patch
|
||||||
./0002-libxl-Spice-streaming-video-setting-support-for-upst.patch
|
./0002-libxl-Spice-streaming-video-setting-support-for-upst.patch
|
||||||
|
@ -76,79 +76,9 @@ stdenv.mkDerivation {
|
|||||||
pythonPath = [ pythonPackages.curses ];
|
pythonPath = [ pythonPackages.curses ];
|
||||||
|
|
||||||
patches = stdenv.lib.optionals ((xenserverPatched == false) && (builtins.hasAttr "xenPatches" xenConfig)) xenConfig.xenPatches;
|
patches = stdenv.lib.optionals ((xenserverPatched == false) && (builtins.hasAttr "xenPatches" xenConfig)) xenConfig.xenPatches;
|
||||||
patchPhase = stdenv.lib.optional ((xenserverPatched == true) && (builtins.hasAttr "xenserverPatches" xenConfig)) xenConfig.xenserverPatches;
|
|
||||||
|
|
||||||
preConfigure = ''
|
postPatch = ''
|
||||||
# Fake wget: copy prefetched downloads instead
|
${stdenv.lib.optionalString ((xenserverPatched == true) && (builtins.hasAttr "xenserverPatches" xenConfig)) xenConfig.xenserverPatches}
|
||||||
mkdir wget
|
|
||||||
echo "#!/bin/sh" > wget/wget
|
|
||||||
echo "echo ===== Not fetching \$*, copy pre-fetched file instead" >> wget/wget
|
|
||||||
echo "cp \$4 \$3" >> wget/wget
|
|
||||||
chmod +x wget/wget
|
|
||||||
export PATH=$PATH:$PWD/wget
|
|
||||||
export EXTRA_QEMUU_CONFIGURE_ARGS="--enable-spice --enable-usb-redir --enable-linux-aio"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# TODO: Flask needs more testing before enabling it by default.
|
|
||||||
#makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
|
|
||||||
makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
|
|
||||||
|
|
||||||
buildFlags = "xen tools stubdom";
|
|
||||||
|
|
||||||
preBuild =
|
|
||||||
''
|
|
||||||
substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
|
|
||||||
--replace /usr $out
|
|
||||||
|
|
||||||
substituteInPlace tools/blktap2/lvm/lvm-util.c \
|
|
||||||
--replace /usr/sbin/vgs ${lvm2}/sbin/vgs \
|
|
||||||
--replace /usr/sbin/lvs ${lvm2}/sbin/lvs
|
|
||||||
|
|
||||||
substituteInPlace tools/hotplug/Linux/network-bridge \
|
|
||||||
--replace /usr/bin/logger ${utillinux}/bin/logger
|
|
||||||
|
|
||||||
substituteInPlace tools/xenmon/xenmon.py \
|
|
||||||
--replace /usr/bin/pkill ${procps}/bin/pkill
|
|
||||||
|
|
||||||
substituteInPlace tools/xenstat/Makefile \
|
|
||||||
--replace /usr/include/curses.h ${ncurses}/include/curses.h
|
|
||||||
|
|
||||||
substituteInPlace tools/ioemu-qemu-xen/xen-hooks.mak \
|
|
||||||
--replace /usr/include/pci ${pciutils}/include/pci
|
|
||||||
|
|
||||||
substituteInPlace tools/hotplug/Linux/xen-backend.rules \
|
|
||||||
--replace /etc/xen/scripts $out/etc/xen/scripts
|
|
||||||
|
|
||||||
# blktap is not provided by xen, but by xapi
|
|
||||||
sed -i '/blktap/d' tools/hotplug/Linux/xen-backend.rules
|
|
||||||
|
|
||||||
# Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
|
|
||||||
# print the GCC version number properly.
|
|
||||||
substituteInPlace xen/Makefile \
|
|
||||||
--replace '$(CC) $(CFLAGS) -v' '$(CC) -v'
|
|
||||||
|
|
||||||
substituteInPlace tools/python/xen/xend/server/BlktapController.py \
|
|
||||||
--replace /usr/sbin/tapdisk2 $out/sbin/tapdisk2
|
|
||||||
|
|
||||||
substituteInPlace tools/python/xen/xend/XendQCoWStorageRepo.py \
|
|
||||||
--replace /usr/sbin/qcow-create $out/sbin/qcow-create
|
|
||||||
|
|
||||||
substituteInPlace tools/python/xen/remus/save.py \
|
|
||||||
--replace /usr/lib/xen/bin/xc_save $out/${libDir}/xen/bin/xc_save
|
|
||||||
|
|
||||||
substituteInPlace tools/python/xen/remus/device.py \
|
|
||||||
--replace /usr/lib/xen/bin/imqebt $out/${libDir}/xen/bin/imqebt
|
|
||||||
|
|
||||||
# Allow the location of the xendomains config file to be
|
|
||||||
# overriden at runtime.
|
|
||||||
substituteInPlace tools/hotplug/Linux/init.d/xendomains \
|
|
||||||
--replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
|
|
||||||
--replace 'XENDOM_CONFIG=/etc/default/xendomains' "" \
|
|
||||||
--replace /etc/xen/scripts/hotplugpath.sh $out/etc/xen/scripts/hotplugpath.sh \
|
|
||||||
--replace /bin/ls ls
|
|
||||||
|
|
||||||
substituteInPlace tools/hotplug/Linux/xendomains \
|
|
||||||
--replace /bin/ls ls
|
|
||||||
|
|
||||||
# Xen's tools and firmares need various git repositories that it
|
# Xen's tools and firmares need various git repositories that it
|
||||||
# usually checks out at time using git. We can't have that.
|
# usually checks out at time using git. We can't have that.
|
||||||
@ -171,12 +101,76 @@ stdenv.mkDerivation {
|
|||||||
${flip concatMapStrings xenExtfiles (x: let src = fetchurl x; in ''
|
${flip concatMapStrings xenExtfiles (x: let src = fetchurl x; in ''
|
||||||
cp ${src} xen_ext_files/${src.name}
|
cp ${src} xen_ext_files/${src.name}
|
||||||
'')}
|
'')}
|
||||||
|
'';
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# Fake wget: copy prefetched downloads instead
|
||||||
|
mkdir wget
|
||||||
|
echo "#!/bin/sh" > wget/wget
|
||||||
|
echo "echo ===== Not fetching \$*, copy pre-fetched file instead" >> wget/wget
|
||||||
|
echo "cp \$4 \$3" >> wget/wget
|
||||||
|
chmod +x wget/wget
|
||||||
|
export PATH=$PATH:$PWD/wget
|
||||||
|
export EXTRA_QEMUU_CONFIGURE_ARGS="--enable-spice --enable-usb-redir --enable-linux-aio"
|
||||||
|
'';
|
||||||
|
|
||||||
|
postConfigure =
|
||||||
|
''
|
||||||
|
substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
|
||||||
|
--replace /usr $out
|
||||||
|
|
||||||
|
substituteInPlace tools/blktap2/lvm/lvm-util.c \
|
||||||
|
--replace /usr/sbin/vgs ${lvm2}/sbin/vgs \
|
||||||
|
--replace /usr/sbin/lvs ${lvm2}/sbin/lvs
|
||||||
|
|
||||||
|
substituteInPlace tools/hotplug/Linux/network-bridge \
|
||||||
|
--replace /usr/bin/logger ${utillinux}/bin/logger
|
||||||
|
|
||||||
|
substituteInPlace tools/xenmon/xenmon.py \
|
||||||
|
--replace /usr/bin/pkill ${procps}/bin/pkill
|
||||||
|
|
||||||
|
substituteInPlace tools/xenstat/Makefile \
|
||||||
|
--replace /usr/include/curses.h ${ncurses}/include/curses.h
|
||||||
|
|
||||||
|
substituteInPlace tools/qemu-xen-traditional/xen-hooks.mak \
|
||||||
|
--replace /usr/include/pci ${pciutils}/include/pci
|
||||||
|
|
||||||
|
substituteInPlace tools/qemu-xen-traditional-dir-remote/xen-hooks.mak \
|
||||||
|
--replace /usr/include/pci ${pciutils}/include/pci
|
||||||
|
|
||||||
|
substituteInPlace tools/hotplug/Linux/xen-backend.rules \
|
||||||
|
--replace /etc/xen/scripts $out/etc/xen/scripts
|
||||||
|
|
||||||
|
# blktap is not provided by xen, but by xapi
|
||||||
|
sed -i '/blktap/d' tools/hotplug/Linux/xen-backend.rules
|
||||||
|
|
||||||
|
# Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
|
||||||
|
# print the GCC version number properly.
|
||||||
|
substituteInPlace xen/Makefile \
|
||||||
|
--replace '$(CC) $(CFLAGS) -v' '$(CC) -v'
|
||||||
|
|
||||||
|
# Allow the location of the xendomains config file to be
|
||||||
|
# overriden at runtime.
|
||||||
|
substituteInPlace tools/hotplug/Linux/init.d/xendomains \
|
||||||
|
--replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
|
||||||
|
--replace 'XENDOM_CONFIG=/etc/default/xendomains' "" \
|
||||||
|
--replace /etc/xen/scripts/hotplugpath.sh $out/etc/xen/scripts/hotplugpath.sh \
|
||||||
|
--replace /bin/ls ls
|
||||||
|
|
||||||
|
substituteInPlace tools/hotplug/Linux/xendomains \
|
||||||
|
--replace /bin/ls ls
|
||||||
|
|
||||||
# Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
|
# Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
|
||||||
mkdir -p tools/include/gnu
|
mkdir -p tools/include/gnu
|
||||||
touch tools/include/gnu/stubs-32.h
|
touch tools/include/gnu/stubs-32.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# TODO: Flask needs more testing before enabling it by default.
|
||||||
|
#makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
|
||||||
|
makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
|
||||||
|
|
||||||
|
buildFlags = "xen tools stubdom";
|
||||||
|
|
||||||
postBuild =
|
postBuild =
|
||||||
''
|
''
|
||||||
make -C docs man-pages
|
make -C docs man-pages
|
||||||
|
@ -13461,7 +13461,6 @@ let
|
|||||||
|
|
||||||
xdotool = callPackage ../tools/X11/xdotool { };
|
xdotool = callPackage ../tools/X11/xdotool { };
|
||||||
|
|
||||||
xen_4_4_1 = callPackage ../applications/virtualization/xen/4.4.1.nix { };
|
|
||||||
xen_4_5_0 = callPackage ../applications/virtualization/xen/4.5.0.nix { };
|
xen_4_5_0 = callPackage ../applications/virtualization/xen/4.5.0.nix { };
|
||||||
xen_4_5_1 = callPackage ../applications/virtualization/xen/4.5.1.nix { };
|
xen_4_5_1 = callPackage ../applications/virtualization/xen/4.5.1.nix { };
|
||||||
xen_xenServer = callPackage ../applications/virtualization/xen/4.5.0.nix { xenserverPatched = true; };
|
xen_xenServer = callPackage ../applications/virtualization/xen/4.5.0.nix { xenserverPatched = true; };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user