summaryrefslogtreecommitdiff
path: root/pcr/qemu-usbredir
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2013-12-29 11:19:46 -0200
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2013-12-29 11:20:38 -0200
commitb24ff2ab2649f0c8bf482f0cdf540de4667b4a04 (patch)
tree1f8eee76d0985c70dd19307f8acee5480508010c /pcr/qemu-usbredir
parenta8d24e03f28fd51e47e2053a3bd925a0e7f75c08 (diff)
downloadabslibre-b24ff2ab2649f0c8bf482f0cdf540de4667b4a04.tar.gz
abslibre-b24ff2ab2649f0c8bf482f0cdf540de4667b4a04.tar.bz2
abslibre-b24ff2ab2649f0c8bf482f0cdf540de4667b4a04.zip
fix freedom issue reported by niitotantei => https://labs.parabola.nu/issues/452
Diffstat (limited to 'pcr/qemu-usbredir')
-rw-r--r--pcr/qemu-usbredir/65-kvm.rules2
-rw-r--r--pcr/qemu-usbredir/PKGBUILD88
-rw-r--r--pcr/qemu-usbredir/qemu.install23
3 files changed, 113 insertions, 0 deletions
diff --git a/pcr/qemu-usbredir/65-kvm.rules b/pcr/qemu-usbredir/65-kvm.rules
new file mode 100644
index 000000000..569ded9f9
--- /dev/null
+++ b/pcr/qemu-usbredir/65-kvm.rules
@@ -0,0 +1,2 @@
+KERNEL=="kvm", GROUP="kvm", MODE="0660"
+KERNEL=="vhost-net", GROUP="kvm", MODE="0660", TAG+="uaccess", OPTIONS+="static_node=vhost-net"
diff --git a/pcr/qemu-usbredir/PKGBUILD b/pcr/qemu-usbredir/PKGBUILD
new file mode 100644
index 000000000..7761a2ed9
--- /dev/null
+++ b/pcr/qemu-usbredir/PKGBUILD
@@ -0,0 +1,88 @@
+# $Id$
+# Maintainer (Arch GNU/Linux): Tobias Powalowski <tpowa@archlinux.org>
+_pkgname=('qemu' 'libcacard')
+pkgname=('qemu-usbredir' 'libcacard')
+pkgver=1.7.0
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL2' 'LGPL2.1')
+url="http://wiki.qemu.org/Index.html"
+makedepends=('texi2html' 'perl' 'python2' 'spice-protocol')
+install=qemu.install
+source=(http://wiki.qemu.org/download/${_pkgname}-${pkgver}.tar.bz2
+ 65-kvm.rules)
+makedepends=('pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2'
+ 'gnutls>=2.4.1' 'bluez-libs' 'vde2' 'util-linux' 'curl' 'libsasl'
+ 'libgl' 'libpulse' 'seabios' 'libcap-ng' 'libaio' 'libseccomp'
+ 'libiscsi' 'libcacard' 'spice' 'spice-protocol' 'python2'
+ 'usbredir')
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+replaces=('qemu-kvm')
+options=(!strip)
+
+build ()
+{
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ # qemu vs. make 4 == bad
+ export ARFLAGS="rv"
+ # http://permalink.gmane.org/gmane.comp.emulators.qemu/238740
+ # gtk gui breaks keymappings at the moment
+ ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list='pa alsa sdl' \
+ --python=/usr/bin/python2 --smbd=/usr/bin/smbd \
+ --enable-docs --libexecdir=/usr/lib/qemu \
+ --disable-gtk --enable-linux-aio --enable-seccomp \
+ --enable-spice --localstatedir=/var --enable-usb-redir
+ make V=99
+}
+
+package_qemu-usbredir() {
+ pkgdesc="A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation."
+ depends=('pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2'
+ 'gnutls>=2.4.1' 'bluez-libs' 'vde2' 'util-linux' 'curl' 'libsasl'
+ 'libgl' 'libpulse' 'seabios' 'libcap-ng' 'libaio' 'libseccomp'
+ 'libiscsi' 'libcacard' 'spice' 'usbredir')
+ backup=('etc/qemu/target-x86_64.conf')
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" libexecdir="/usr/lib/qemu" install
+ # provided by seabios package
+ rm "${pkgdir}/usr/share/qemu/bios.bin"
+ rm "${pkgdir}/usr/share/qemu/acpi-dsdt.aml"
+ rm "${pkgdir}/usr/share/qemu/q35-acpi-dsdt.aml"
+ # remove conflicting /var/run directory
+ rm -r "${pkgdir}/var"
+ install -D -m644 "${srcdir}/65-kvm.rules" \
+ "${pkgdir}/usr/lib/udev/rules.d/65-kvm.rules"
+ # bridge_helper needs suid
+ # https://bugs.archlinux.org/task/32565
+ chmod u+s "${pkgdir}/usr/lib/qemu/qemu-bridge-helper"
+ # add sample config
+ echo "allow br0" > ${pkgdir}/etc/qemu/bridge.conf.sample
+ # strip scripts directory
+ find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
+ case "$(file -bi "$binary")" in
+ *application/x-executable*) # Binaries
+ /usr/bin/strip $STRIP_BINARIES "$binary";;
+ esac
+ done
+ # remove libcacard files
+ rm -rf ${pkgdir}/usr/include/cacard
+ rm -rf ${pkgdir}/usr/lib/libcacard*
+ rm -rf ${pkgdir}/usr/lib/pkgconfig/libcacard.pc
+ rm -rf ${pkgdir}/usr/bin/vscclient
+}
+
+package_libcacard() {
+ pkgdesc="Common Access Card (CAC) Emulation"
+ options=('strip')
+ depends=('nss' 'libaio' 'libcap-ng' 'libiscsi' 'curl' 'vde2')
+ mkdir -p ${pkgdir}/usr/bin
+ mkdir -p ${pkgdir}/usr/lib/pkgconfig
+ mkdir -p ${pkgdir}/usr/include/cacard
+ cp -a ${srcdir}/qemu-${pkgver}/libcacard/*.h ${pkgdir}/usr/include/cacard/
+ cp -a ${srcdir}/qemu-${pkgver}/.libs/libcacard.so* ${pkgdir}/usr/lib/
+ cp -a ${srcdir}/qemu-${pkgver}/libcacard.pc ${pkgdir}/usr/lib/pkgconfig/
+ cp -a ${srcdir}/qemu-${pkgver}/.libs/vscclient ${pkgdir}/usr/bin/
+}
+md5sums=('32893941d40d052a5e649efcf06aca06'
+ '33ab286a20242dda7743a900f369d68a')
diff --git a/pcr/qemu-usbredir/qemu.install b/pcr/qemu-usbredir/qemu.install
new file mode 100644
index 000000000..79ee83536
--- /dev/null
+++ b/pcr/qemu-usbredir/qemu.install
@@ -0,0 +1,23 @@
+# kvm: the new package version
+post_install() {
+ #
+ groupadd kvm -f -g 78
+}
+
+post_upgrade() {
+ if [ "$(vercmp $2 0.11)" -lt 0 ]; then
+ echo "With the release of qemu and qemu-kvm 0.12.X, the kqemu kernel module"
+ echo "is no longer supported and will be removed from the repositories. You"
+ echo "can safely uninstall it from your system."
+ fi
+ if [ "$(vercmp $2 1.3.1)" -lt 0 ]; then
+ echo "With the release of qemu 1.3.0, qemu-kvm binary is removed."
+ echo "You need to change the emulator path, if you use libvirt by using:"
+ echo "'virsh edit <vm-name>'"
+ fi
+}
+
+post_remove() {
+ #
+ groupdel kvm
+}