###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2009 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# #
# 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 #
include Config
-VER = 0.14.1
+VER = 2.11.0
THISAPP = qemu-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-SUP_ARCH = i586
+SUP_ARCH = i586 x86_64
PROG = qemu
-PAK_VER = 11
+PAK_VER = 23
-DEPS = "sdl"
+DEPS = "libusbredir sdl spice"
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = b6c713a8db638e173af53a62d5178640
+$(DL_FILE)_MD5 = 335994a755bc655e88a87aeb36bfc0b9
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-0.14.1_missing_ATFCWD_hack.patch
-
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-2.11.0-memfd-collision.patch
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
- --target-list="i386-linux-user i386-softmmu"
+ --localstatedir=/var --enable-kvm --disable-bluez --disable-attr \
+ --target-list="i386-linux-user x86_64-linux-user arm-linux-user i386-softmmu x86_64-softmmu arm-softmmu" \
+ --extra-cflags="$(CFLAGS)" --enable-spice --enable-usb-redir
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
+
+ # install wrapper for old kvm parameter handling
+ install -m 755 $(DIR_SRC)/config/qemu/qemu /usr/bin/qemu
+
+ # disable PaX MPROTECT and RANDMMAP
+ paxctl -cmr /usr/bin/qemu-system-arm
+ paxctl -cmr /usr/bin/qemu-system-i386
+ paxctl -cmr /usr/bin/qemu-system-x86_64
+ paxctl -cmr /usr/bin/qemu-arm
+ paxctl -cmr /usr/bin/qemu-i386
+ paxctl -cmr /usr/bin/qemu-x86_64
+
+ # install an udev script to set the permissions of /dev/kvm
+ cp -avf $(DIR_SRC)/config/qemu/65-kvm.rules /lib/udev/rules.d/65-kvm.rules
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)