###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2015 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.9.1
+VER = 2.8.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 x86_64
PROG = qemu
-PAK_VER = 2
+PAK_VER = 22
-DEPS = "sdl"
+DEPS = "libusbredir sdl spice"
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6591df8e9270eb358c881de4ebea1262
+$(DL_FILE)_MD5 = 17940dce063b6ce450a12e719a6c9c43
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
- # Apply a number of patches mainly for gcc 4
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-enforce-16byte-stack-boundary.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4-hacks.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4-opts.patch
-
- cd $(DIR_APP) && ./configure --prefix=/usr --disable-gcc-check \
- --disable-gfx-check --target-list="i386-linux-user i386-softmmu ppc-softmmu ppc-linux-user" \
- --enable-alsa
-
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
+ --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)