From fa6f24c1e99cf5d11ee459ddc09bbe95c3793151 Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Wed, 18 Nov 2015 23:46:22 +0100 Subject: [PATCH] update qemu 2.4.1 --- celt0.5.1/PKGBUILD | 27 +++++ ceph/PKGBUILD | 80 ++++++++++++ ceph/ceph-mds@.service | 9 ++ ceph/ceph-mon@.service | 9 ++ ceph/ceph-osd@.service | 9 ++ glusterfs/PKGBUILD | 63 ++++++++++ glusterfs/glusterfs.install | 8 ++ libcap-ng/PKGBUILD | 34 ++++++ libiscsi/PKGBUILD | 31 +++++ liburcu/PKGBUILD | 25 ++++ qemu/65-kvm.rules | 2 +- qemu/PKGBUILD | 235 +++++++++++++++++++++++++++--------- qemu/qemu-ga.service | 8 ++ qemu/qemu.install | 26 ++++ qemu/qemu.sysusers | 1 + seabios/PKGBUILD | 75 ++++++++++++ seabios/config.coreboot | 2 + seabios/config.csm | 2 + seabios/config.seabios-128k | 9 ++ seabios/config.seabios-256k | 3 + seabios/config.vga.cirrus | 3 + seabios/config.vga.isavga | 3 + seabios/config.vga.qxl | 6 + seabios/config.vga.stdvga | 3 + seabios/config.vga.vmware | 6 + spice-protocol/PKGBUILD | 24 ++++ spice/PKGBUILD | 25 ++++ usbredir/PKGBUILD | 26 ++++ 28 files changed, 698 insertions(+), 56 deletions(-) create mode 100644 celt0.5.1/PKGBUILD create mode 100644 ceph/PKGBUILD create mode 100644 ceph/ceph-mds@.service create mode 100644 ceph/ceph-mon@.service create mode 100644 ceph/ceph-osd@.service create mode 100644 glusterfs/PKGBUILD create mode 100644 glusterfs/glusterfs.install create mode 100644 libcap-ng/PKGBUILD create mode 100644 libiscsi/PKGBUILD create mode 100644 liburcu/PKGBUILD create mode 100644 qemu/qemu-ga.service create mode 100644 qemu/qemu.install create mode 100644 qemu/qemu.sysusers create mode 100644 seabios/PKGBUILD create mode 100644 seabios/config.coreboot create mode 100644 seabios/config.csm create mode 100644 seabios/config.seabios-128k create mode 100644 seabios/config.seabios-256k create mode 100644 seabios/config.vga.cirrus create mode 100644 seabios/config.vga.isavga create mode 100644 seabios/config.vga.qxl create mode 100644 seabios/config.vga.stdvga create mode 100644 seabios/config.vga.vmware create mode 100644 spice-protocol/PKGBUILD create mode 100644 spice/PKGBUILD create mode 100644 usbredir/PKGBUILD diff --git a/celt0.5.1/PKGBUILD b/celt0.5.1/PKGBUILD new file mode 100644 index 000000000..3eb27a5bc --- /dev/null +++ b/celt0.5.1/PKGBUILD @@ -0,0 +1,27 @@ +# Contributor: Lauri Niskanen +# Contributor: Ray Rashif +# Contributor: Jon Nordby + +pkgname=celt0.5.1 +_basename=celt +pkgver=0.5.1.3 +pkgrel=1 +pkgdesc="Low-latency audio communication codec - SPICE version" +arch=(i686 x86_64) +url="http://www.celt-codec.org" +license=('BSD') +depends=('libogg') +source=(http://downloads.us.xiph.org/releases/celt/celt-$pkgver.tar.gz) +md5sums=('67e7b5e45db57a6f1f0a6962f5ecb190') + +build() { + cd "$srcdir/celt-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/celt-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/BSD" +} diff --git a/ceph/PKGBUILD b/ceph/PKGBUILD new file mode 100644 index 000000000..f4b11b533 --- /dev/null +++ b/ceph/PKGBUILD @@ -0,0 +1,80 @@ +# Contributor: Sébastien "Seblu" Luttringer + +pkgname=ceph +pkgver=0.94.5 +pkgrel=1 +pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' +arch=('x86_64') +url='http://ceph.com/' +license=('GPL') +makedepends=('boost' 'systemd' 'xfsprogs') +depends=('boost-libs' + 'curl' + 'expat' + 'fcgi' + 'fuse' + 'gcc-libs' + 'glibc' + 'gperftools' + 'keyutils' + 'leveldb' + 'libaio' + 'libatomic_ops' + 'libedit' + 'systemd' + 'util-linux' + 'ncurses' + 'nss' + 'python2' + 'snappy') +optdepends=('xfsprogs: support xfs backend') +options=('emptydirs') +source=("http://ceph.com/download/$pkgname-$pkgver.tar.bz2" + 'ceph-osd@.service' + 'ceph-mon@.service' + 'ceph-mds@.service') +md5sums=('e7c35581f8d36d34f7cde16a862e54fb' + '9104b5b90349d2aa7802eb89158456e8' + '63a584aa2a4e2b0efbee4e8fd32593f0' + 'd2411c41208d95743baa6d899cc1e0b0') + +#prepare() { +# patch -p1 -d $pkgname-$pkgver < 01-boost-158.patch +#} + +build() { + cd $pkgname-$pkgver + export PYTHON=/usr/bin/python2 + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-radosgw + make +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install + + cd "$pkgdir" + + # systemd + install -dm755 usr/lib/{systemd/system,udev/rules.d} + install -Dm644 "$srcdir"/ceph-{osd,mon,mds}@.service usr/lib/systemd/system + install -Dm644 "$srcdir"/$pkgname-$pkgver/udev/* usr/lib/udev/rules.d + + # fix directories path + mv sbin/* usr/bin + rmdir sbin + install -d -m 755 usr/share/bash-completion + mv etc/bash_completion.d usr/share/bash-completion/completions + + # fix python2 shebang, did not do it in prepare() anymore because it + # confuse automake + find . -type f -exec \ + sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \; +} + +# vim:set ts=2 sw=2 et: diff --git a/ceph/ceph-mds@.service b/ceph/ceph-mds@.service new file mode 100644 index 000000000..636c0d8f5 --- /dev/null +++ b/ceph/ceph-mds@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Ceph MDS %i +After=network.target + +[Service] +ExecStart=/usr/bin/ceph-mds -f -i %i + +[Install] +WantedBy=multi-user.target diff --git a/ceph/ceph-mon@.service b/ceph/ceph-mon@.service new file mode 100644 index 000000000..397842552 --- /dev/null +++ b/ceph/ceph-mon@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Ceph MON %i +After=network.target + +[Service] +ExecStart=/usr/bin/ceph-mon -f -i %i + +[Install] +WantedBy=multi-user.target diff --git a/ceph/ceph-osd@.service b/ceph/ceph-osd@.service new file mode 100644 index 000000000..d0dc2ff76 --- /dev/null +++ b/ceph/ceph-osd@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Ceph OSD %i +After=network.target + +[Service] +ExecStart=/usr/bin/ceph-osd -f -i %i + +[Install] +WantedBy=multi-user.target diff --git a/glusterfs/PKGBUILD b/glusterfs/PKGBUILD new file mode 100644 index 000000000..03d27adcb --- /dev/null +++ b/glusterfs/PKGBUILD @@ -0,0 +1,63 @@ +# Contributor: Sergej Pupykin +# Contributors: +# Andrei Antoukh - niwi@niwi.be - http://www.niwi.be +# henning mueller + +pkgname=glusterfs +pkgver=3.7.4 +pkgrel=1 +pkgdesc='Is a cluster file-system capable of scaling to several peta-bytes.' +arch=(x86_64) +url='http://www.gluster.org/' +license=(GPL2 LGPL3) +install=glusterfs.install +depends=(fuse python2 libxml2 libaio liburcu) +makedepends=(flex bison) +optdepends=('rpcbind: NFS' + 'glib2: qemu-block') +#source=($pkgname-$pkgver.tar.gz::https://github.com/gluster/glusterfs/archive/v$pkgver.tar.gz) +source=(https://download.gluster.org/pub/gluster/glusterfs/${pkgver%.?}/$pkgver/glusterfs-$pkgver.tar.gz) +md5sums=('3e2ab64a35a54a43413c2d88971fe32b') + +prepare() { + cd $srcdir/$pkgname-$pkgver + find -type f -name '*.py' -exec sed -i \ + -e 's:env\ python:env\ python2:' \ + -e 's:/usr/bin/python:/usr/bin/python2:' {} \; +} + +build() { + cd $srcdir/$pkgname-$pkgver + ./autogen.sh + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --with-mountutildir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --libexecdir=/usr/lib/$pkgname \ + --with-systemddir=/usr/lib/systemd/system \ + PYTHON=python2 LEXLIB= + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make -j1 DESTDIR=$pkgdir install + + mkdir -p $pkgdir/usr/lib/tmpfiles.d + echo "d /var/run/glusterfs 0755 root root -" >$pkgdir/usr/lib/tmpfiles.d/glusterfs.conf + + install -D -m 644 \ + $srcdir/$pkgname-$pkgver/{README.md,INSTALL,COPYING*} \ + $pkgdir/usr/share/doc/glusterfs/ + + cp -rf \ + $srcdir/$pkgname-$pkgver/doc/* \ + $pkgdir/usr/share/doc/glusterfs/ + rm -rf $pkgdir/var/run +} + +# vim:set ts=2 sw=2 et: diff --git a/glusterfs/glusterfs.install b/glusterfs/glusterfs.install new file mode 100644 index 000000000..7383408bf --- /dev/null +++ b/glusterfs/glusterfs.install @@ -0,0 +1,8 @@ +post_install() { + systemd-tmpfiles --create glusterfs.conf +} + +post_upgrade() { + systemd-tmpfiles --create glusterfs.conf + echo "-- Read http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.7 page!" +} diff --git a/libcap-ng/PKGBUILD b/libcap-ng/PKGBUILD new file mode 100644 index 000000000..59d81bbf4 --- /dev/null +++ b/libcap-ng/PKGBUILD @@ -0,0 +1,34 @@ +# Contributor: Ionut Biru +# Contributor: Gerardo Exequiel Pozzi + +pkgname=libcap-ng +pkgver=0.7.7 +pkgrel=1 +pkgdesc="A library making programming with POSIX capabilities easier than traditional libcap" +arch=('x86_64') +url="http://people.redhat.com/sgrubb/libcap-ng/" +license=('GPL2' 'LGPL2.1') +depends=('glibc') +source=(http://people.redhat.com/sgrubb/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('3d7d126b29e2869a0257c17c8b0d9b2e') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr --enable-static=no --with-python=no + make +} + +check() { + cd $pkgname-$pkgver + + make check +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR=$pkgdir install +} + +# vim:set ts=2 sw=2 et: diff --git a/libiscsi/PKGBUILD b/libiscsi/PKGBUILD new file mode 100644 index 000000000..3920d55c2 --- /dev/null +++ b/libiscsi/PKGBUILD @@ -0,0 +1,31 @@ +# Contributor: Tobias Powalowski +# Contributor: Patryk Kowalczyk +pkgname=libiscsi +pkgver=1.13.0 +pkgrel=1 +makedepends=('git') +depends=('glibc' 'popt' 'libgcrypt') +pkgdesc="Clientside library to implement the iSCSI protocol" +arch=(x86_64) +url="https://github.com/sahlberg/libiscsi" +license=('LGPL') +source=(libiscsi::git+https://github.com/sahlberg/libiscsi.git#commit=646c8b963d87f758c6c8c5cf78c654a9da31e6ad) +md5sums=('SKIP') + +build() { + cd "${srcdir}/${pkgname}" + ./autogen.sh + ./configure --prefix=/usr --disable-static --libdir=/usr/lib + make +} + +check() { + cd "${srcdir}/${pkgname}" + make check +} + +package () { + cd "${srcdir}/${pkgname}" + make DESTDIR="${pkgdir}" install +} +md5sums=('SKIP') diff --git a/liburcu/PKGBUILD b/liburcu/PKGBUILD new file mode 100644 index 000000000..761ad136f --- /dev/null +++ b/liburcu/PKGBUILD @@ -0,0 +1,25 @@ +# Contributor: Sergej Pupykin +# Contributor: Christian Babeux +# Contributor: Yggdrasil + +pkgname=liburcu +pkgver=0.8.7 +pkgrel=1 +pkgdesc="LGPLv2.1 userspace RCU (read-copy-update) library" +arch=('x86_64') +url="http://lttng.org/urcu" +license=('LGPL2.1') +source=(http://lttng.org/files/urcu/userspace-rcu-${pkgver}.tar.bz2) +depends=('glibc') +sha1sums=('5306999b8a3296f3dea91246d92e0a993d732898') + +build() { + cd ${srcdir}/userspace-rcu-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd ${srcdir}/userspace-rcu-${pkgver} + make install DESTDIR=${pkgdir} +} diff --git a/qemu/65-kvm.rules b/qemu/65-kvm.rules index dc87f73d9..569ded9f9 100644 --- a/qemu/65-kvm.rules +++ b/qemu/65-kvm.rules @@ -1,2 +1,2 @@ KERNEL=="kvm", GROUP="kvm", MODE="0660" -KERNEL=="vhost-net", GROUP="kvm", MODE="0660", TAG+="uaccess", OPTIONS+="static_node=vhost-net" \ No newline at end of file +KERNEL=="vhost-net", GROUP="kvm", MODE="0660", TAG+="uaccess", OPTIONS+="static_node=vhost-net" diff --git a/qemu/PKGBUILD b/qemu/PKGBUILD index 33206bbe8..b228d0a53 100644 --- a/qemu/PKGBUILD +++ b/qemu/PKGBUILD @@ -1,64 +1,189 @@ -pkgname=qemu -_pkgname=kvm -pkgver=2.3.0 -pkgrel=2 -pkgdesc="Generic and open source processor emulator using dynamic translation to improve speed." -arch=('x86_64') +# Contributor: Tobias Powalowski +# Contributor: Sébastien "Seblu" Luttringer + +pkgbase=qemu +pkgname=('qemu' + 'qemu-arch-extra' + 'qemu-block-iscsi' + 'qemu-block-rbd' + 'qemu-block-gluster' + 'qemu-guest-agent' + 'libcacard') +pkgver=2.4.1 +pkgrel=1 +arch=('i686' 'x86_64') license=('GPL2' 'LGPL2.1') -url="http://wiki.qemu.org/Index.html" -depends=('alsa-lib' 'bluez' 'curl' 'gnutls>=2.4.1' 'libjpeg' 'libpng' 'libpulse' 'libsasl' 'sdl' 'util-linux-ng' 'vde2' 'pixman' 'libaio' 'libseccomp') -makedepends=('git' 'iasl' 'perl' 'python2' 'texi2html' 'bluez-libs') -backup=('etc/qemu/target-x86_64.conf') -provides=("qemu-kvm=${pkver}") -conflicts=("qemu-kvm<${pkgver}") -replaces=("qemu-kvm<${pkgver}") -categories=('system') -options=(!strip) -install='qemu-kvm.install' -source=("http://wiki.qemu.org/download/${pkgname}-${pkgver}.tar.bz2" - "65-kvm.rules") -md5sums=('2fab3ea4460de9b57192e5b8b311f221' - '6c511f3ea77bde6b1a790c246da79b75') +url='http://wiki.qemu.org/' +makedepends=('pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' + 'gnutls' 'bluez-libs' 'vde2' 'util-linux' 'curl' 'libsasl' + 'libgl' 'libpulse' 'seabios' 'libcap-ng' 'libaio' 'libseccomp' + 'libiscsi' 'libcacard' 'spice' 'spice-protocol' 'python2' + 'usbredir' 'ceph' 'glusterfs' 'libssh2' 'lzo2' 'snappy') +source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}.tar.bz2 + qemu.sysusers + qemu-ga.service + 65-kvm.rules) +md5sums=('a895e93ec1dafc34bc64ed676f0d55a6' + '49778d11c28af170c4bebcc648b0ace1' + '44ee242d758f9318c6a1ea1dae96aa3a' + '33ab286a20242dda7743a900f369d68a') -build() { - cd $srcdir/$pkgname-$pkgver - - ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list='pa alsa sdl'\ +_extra_arches=(aarch64 alpha arm armeb cris lm32 m68k microblaze microblazeel mips +mips64 mips64el mipsel mipsn32 mipsn32el or32 ppc ppc64 ppc64abi32 ppc64le s390x +sh4 sh4eb sparc sparc32plus sparc64 moxie ppcemb tricore unicore32 xtensa xtensaeb) +_extra_blob=(QEMU,cgthree.bin QEMU,tcx.bin bamboo.dtb openbios-ppc +openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb +petalogix-s3adsp1800.dtb ppc_rom.bin s390-ccw.img s390-zipl.rom slof.bin +spapr-rtas.bin u-boot.e500) + +prepare() { + for _p in *.patch; do + [[ -e "$_p" ]] || continue + msg2 "Patching $_p" + patch -p1 -d ${pkgname}-${pkgver} < "$_p" + done +} + +build () +{ + cd ${pkgname}-${pkgver} + # qemu vs. make 4 == bad + export ARFLAGS="rv" + # http://permalink.gmane.org/gmane.comp.emulators.qemu/238740 + export CFLAGS+=' -fPIC' + # 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 \ - --libexecdir=/usr/lib/qemu \ - --disable-gtk \ - --enable-linux-aio --enable-seccomp \ - --enable-bluez --enable-modules \ - --localstatedir=/var - make + --enable-docs --libexecdir=/usr/lib/qemu \ + --disable-gtk --enable-linux-aio --enable-seccomp \ + --enable-spice --localstatedir=/var \ + --enable-tpm \ + --enable-modules --enable-{rbd,glusterfs,libiscsi,curl} + make V=99 } -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install +package_qemu() { + pkgdesc='A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation' + depends=('glibc' 'pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' + 'gnutls' 'bluez-libs' 'vde2' 'util-linux' 'libsasl' 'libgl' + 'seabios' 'libcap' 'libcap-ng' 'libaio' 'libseccomp' 'libcacard' + 'spice' 'usbredir' 'lzo2' 'snappy' 'gcc-libs' 'zlib' 'bzip2' 'nspr' + 'ncurses' 'libx11' 'libusb' 'libpulse' 'libssh2' 'curl') + replaces=('qemu-kvm') + optdepends=('samba: SMB/CIFS server support' + 'qemu-arch-extra: extra architectures support' + 'qemu-block-iscsi: iSCSI block support' + 'qemu-block-rbd: RBD block support' + 'qemu-block-gluster: glusterfs block support') + options=(!strip) + install=qemu.install - chmod u+s "${pkgdir}/usr/lib/qemu/qemu-bridge-helper" - # add sample config - echo "allow br0" > ${pkgdir}/etc/qemu/bridge.conf.sample + make -C ${pkgname}-${pkgver} DESTDIR="${pkgdir}" libexecdir="/usr/lib/qemu" install - # symbolic link for backwards compatibility - #ln -s qemu-system-x86_64 "${pkgdir}/usr/bin/qemu-kvm" - # symbolic link for to qemu binary for emulator apps - #ln -s qemu-system-x86_64 "${pkgdir}/usr/bin/qemu" - # symbolic link for to qemu binary for emulator apps - #ln -s qemu-system-x86_64 "${pkgdir}/usr/bin/kvm" + cd "${pkgdir}" - # remove conflicting /var/run directory - rm -r "${pkgdir}/var" - - # install udev rules - install -D -m644 "${srcdir}/65-kvm.rules" \ - "${pkgdir}/usr/lib/udev/rules.d/65-kvm.rules" - # strip scripts directory - find "${pkgdir}/usr/bin" -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 + # provided by seabios package + rm usr/share/qemu/bios.bin + rm usr/share/qemu/acpi-dsdt.aml + rm usr/share/qemu/q35-acpi-dsdt.aml + rm usr/share/qemu/bios-256k.bin + rm usr/share/qemu/vgabios-cirrus.bin + rm usr/share/qemu/vgabios-qxl.bin + rm usr/share/qemu/vgabios-stdvga.bin + rm usr/share/qemu/vgabios-vmware.bin + + # remove conflicting /var/run directory + rm -r var + + # systemd stuff + install -D -m644 "${srcdir}/65-kvm.rules" usr/lib/udev/rules.d/65-kvm.rules + install -D -m644 "${srcdir}/qemu.sysusers" usr/lib/sysusers.d/qemu.conf + + # bridge_helper needs suid + # https://bugs.archlinux.org/task/32565 + chmod u+s usr/lib/qemu/qemu-bridge-helper + + # remove libcacard files + rm -r usr/include/cacard + rm usr/lib/libcacard* + rm usr/lib/pkgconfig/libcacard.pc + rm usr/bin/vscclient + + # remove splitted block modules + rm usr/lib/qemu/block-{iscsi,rbd,gluster}.so + + # remove guest agent + rm usr/bin/qemu-ga + + # remove extra arch + for _arch in "${_extra_arches[@]}"; do + rm -f usr/bin/qemu-${_arch} usr/bin/qemu-system-${_arch} + done + for _blob in "${_extra_blob[@]}"; do + rm usr/share/qemu/${_blob} + done } + +package_qemu-arch-extra() { + pkgdesc='QEMU with full support for non x86 architectures' + depends=('glibc' 'gcc-libs' 'glib2' 'qemu') + options=(!strip) + + cd qemu-${pkgver} + install -dm755 "${pkgdir}"/usr/bin + for _arch in "${_extra_arches[@]}"; do + install -m755 ${_arch}-*/qemu-*${_arch} "${pkgdir}"/usr/bin + done + + cd pc-bios + for _blob in "${_extra_blob[@]}"; do + install -Dm644 ${_blob} "${pkgdir}"/usr/share/qemu/${_blob} + done + + # manually stripping + find "${pkgdir}"/usr/bin -type f -exec strip {} \; +} + +package_qemu-block-iscsi() { + pkgdesc='QEMU iSCSI block module' + depends=('glibc' 'glib2' 'libiscsi') + + install -D qemu-${pkgver}/block-iscsi.so "${pkgdir}"/usr/lib/qemu/block-iscsi.so +} + +package_qemu-block-rbd() { + pkgdesc='QEMU RBD block module' + depends=('glibc' 'glib2' 'ceph') + + install -D qemu-${pkgver}/block-rbd.so "${pkgdir}"/usr/lib/qemu/block-rbd.so +} + +package_qemu-block-gluster() { + pkgdesc='QEMU GlusterFS block module' + depends=('glibc' 'glib2' 'glusterfs') + + install -D qemu-${pkgver}/block-gluster.so "${pkgdir}"/usr/lib/qemu/block-gluster.so +} + +package_qemu-guest-agent() { + pkgdesc='QEMU Guest Agent' + depends=('glibc' 'gcc-libs' 'glib2') + + install -D qemu-${pkgver}/qemu-ga "${pkgdir}"/usr/bin/qemu-ga + install -Dm644 qemu-ga.service "${pkgdir}"/usr/lib/systemd/system/qemu-ga.service +} + +package_libcacard() { + pkgdesc='Common Access Card (CAC) Emulation' + depends=('glibc' 'nss' 'nspr' 'glib2') + + cd "${pkgdir}" + install -d usr/{bin,lib/pkgconfig,include/cacard} + cp -a "${srcdir}"/qemu-${pkgver}/libcacard/*.h usr/include/cacard/ + cp -a "${srcdir}"/qemu-${pkgver}/libcacard.pc usr/lib/pkgconfig/ + cp -a "${srcdir}"/qemu-${pkgver}/.libs/vscclient usr/bin/ + cp -a "${srcdir}"/qemu-${pkgver}/.libs/libcacard.so* usr/lib/ +} + + +# vim:set ts=2 sw=2 et: diff --git a/qemu/qemu-ga.service b/qemu/qemu-ga.service new file mode 100644 index 000000000..e5eb469f9 --- /dev/null +++ b/qemu/qemu-ga.service @@ -0,0 +1,8 @@ +[Unit] +Description=QEMU Guest Agent + +[Service] +ExecStart=/usr/bin/qemu-ga + +[Install] +WantedBy=multi-user.target diff --git a/qemu/qemu.install b/qemu/qemu.install new file mode 100644 index 000000000..71a6555b0 --- /dev/null +++ b/qemu/qemu.install @@ -0,0 +1,26 @@ +# Arg 1: the new package version +post_install() { + # create kvm group + systemd-sysusers qemu.conf + + # trigger events on modules files when already loaded + for _f in /sys/devices/virtual/misc/{kvm,vhost-net}; do + [[ -e "$_f" ]] && udevadm trigger "$_f" + done + : +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + if (( "$(vercmp $2 0.11)" < 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)" < 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 '" + fi +} diff --git a/qemu/qemu.sysusers b/qemu/qemu.sysusers new file mode 100644 index 000000000..4c03e8242 --- /dev/null +++ b/qemu/qemu.sysusers @@ -0,0 +1 @@ +g kvm 78 - diff --git a/seabios/PKGBUILD b/seabios/PKGBUILD new file mode 100644 index 000000000..98bcddc31 --- /dev/null +++ b/seabios/PKGBUILD @@ -0,0 +1,75 @@ +# Contributor: Tobias Powalowski + +pkgname=seabios +pkgver=1.9.0 +pkgrel=1 +pkgdesc="A 16-bit x86 bios" +arch=('any') +url="http://www.coreboot.org/SeaBIOS" +license=('GPL3' 'LGPL3') +makedepends=('iasl' 'python2' 'inetutils') +options=('!makeflags' '!strip') +source=(http://code.coreboot.org/p/seabios/downloads/get/${pkgname}-${pkgver}.tar.gz + config.coreboot + config.seabios-128k + config.seabios-256k + config.vga.isavga + config.vga.stdvga + config.csm + config.vga.cirrus + config.vga.qxl + config.vga.vmware) +sha1sums=('810c8f2ab6e61133e3ebe03f783bfb2b9d7e8606' + '5f2adb09c9006def1719b8cbd4792f14a7c7f7c9' + '39c2f98d3662933d3ce3360bc89421ec9c42612f' + '05b912a291994226049103cbe6754976cc03532d' + 'd56482f6ee0bf9633c551b10e99e24c74d9ece1e' + '54d4edf6eccf30883aedca348b9d2f125502fcdb' + '590739c1d5dc6cb63bdf311ee1cfbcde6c0ccc0f' + '84a44c04e74a09affae0d1a6e50800d10997108f' + '5a1316a0081f91acc300f57372de18fa9c67415e' + '5b017b16aec445df873618aaebd154aa97107148') + +# build routine from fedora +build_bios() { + make clean distclean + cp $1 .config + make oldnoconfig V=1 + + make V=1 $4 + + cp out/$2 binaries/$3 +} + +prepare() { + cd ${pkgname}-${pkgver} + rm -rf binaries + sed -i 's/python/python2/g' Makefile + mkdir binaries +} + +build() { + cd ${pkgname}-${pkgver} + # seabios + build_bios ${srcdir}/config.csm Csm16.bin bios-csm.bin + build_bios ${srcdir}/config.coreboot bios.bin.elf bios-coreboot.bin + build_bios ${srcdir}/config.seabios-128k bios.bin bios.bin + build_bios ${srcdir}/config.seabios-256k bios.bin bios-256k.bin + cp out/src/fw/*dsdt*.aml binaries + # seavgabios + for config in ${srcdir}/{config.vga.isavga,config.vga.stdvga,config.vga.cirrus,config.vga.qxl,config.vga.vmware}; do + name=${config#*config.vga.} + build_bios ${config} vgabios.bin vgabios-${name}.bin out/vgabios.bin + done +} + +package() { + cd ${pkgname}-${pkgver} + install -Dm644 binaries/bios.bin "${pkgdir}/usr/share/qemu/bios.bin" + install -Dm644 binaries/bios-256k.bin "${pkgdir}/usr/share/qemu/bios-256k.bin" + install -Dm644 binaries/bios-csm.bin "${pkgdir}/usr/share/qemu/bios-csm.bin" + install -Dm644 binaries/bios-coreboot.bin "${pkgdir}/usr/share/qemu/bios-coreboot.bin" + install -Dm644 binaries/*.aml "${pkgdir}/usr/share/qemu" + install -Dm644 binaries/vgabios*.bin "${pkgdir}/usr/share/qemu" +} + diff --git a/seabios/config.coreboot b/seabios/config.coreboot new file mode 100644 index 000000000..a0323b235 --- /dev/null +++ b/seabios/config.coreboot @@ -0,0 +1,2 @@ +CONFIG_QEMU_HARDWARE=y +CONFIG_COREBOOT=y diff --git a/seabios/config.csm b/seabios/config.csm new file mode 100644 index 000000000..c1d8df17c --- /dev/null +++ b/seabios/config.csm @@ -0,0 +1,2 @@ +CONFIG_QEMU_HARDWARE=y +CONFIG_CSM=y diff --git a/seabios/config.seabios-128k b/seabios/config.seabios-128k new file mode 100644 index 000000000..57020275b --- /dev/null +++ b/seabios/config.seabios-128k @@ -0,0 +1,9 @@ +# for qemu machine types 1.7 + older +# need to turn off features (xhci,debug) to make it fit into 128k +CONFIG_QEMU=y +CONFIG_ROM_SIZE=128 +CONFIG_XEN=n +CONFIG_USB_XHCI=n +CONFIG_USB_UAS=n +CONFIG_DEBUG_LEVEL=0 +CONFIG_DEBUG_IO=n diff --git a/seabios/config.seabios-256k b/seabios/config.seabios-256k new file mode 100644 index 000000000..65e5015c2 --- /dev/null +++ b/seabios/config.seabios-256k @@ -0,0 +1,3 @@ +# for qemu machine types 2.0 + newer +CONFIG_QEMU=y +CONFIG_ROM_SIZE=256 diff --git a/seabios/config.vga.cirrus b/seabios/config.vga.cirrus new file mode 100644 index 000000000..c8fe58239 --- /dev/null +++ b/seabios/config.vga.cirrus @@ -0,0 +1,3 @@ +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_CIRRUS=y +CONFIG_VGA_PCI=y diff --git a/seabios/config.vga.isavga b/seabios/config.vga.isavga new file mode 100644 index 000000000..e55e294a0 --- /dev/null +++ b/seabios/config.vga.isavga @@ -0,0 +1,3 @@ +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_BOCHS=y +CONFIG_VGA_PCI=n diff --git a/seabios/config.vga.qxl b/seabios/config.vga.qxl new file mode 100644 index 000000000..d393f0c34 --- /dev/null +++ b/seabios/config.vga.qxl @@ -0,0 +1,6 @@ +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_BOCHS=y +CONFIG_VGA_PCI=y +CONFIG_OVERRIDE_PCI_ID=y +CONFIG_VGA_VID=0x1b36 +CONFIG_VGA_DID=0x0100 diff --git a/seabios/config.vga.stdvga b/seabios/config.vga.stdvga new file mode 100644 index 000000000..7d063b787 --- /dev/null +++ b/seabios/config.vga.stdvga @@ -0,0 +1,3 @@ +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_BOCHS=y +CONFIG_VGA_PCI=y diff --git a/seabios/config.vga.vmware b/seabios/config.vga.vmware new file mode 100644 index 000000000..eb10427af --- /dev/null +++ b/seabios/config.vga.vmware @@ -0,0 +1,6 @@ +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_BOCHS=y +CONFIG_VGA_PCI=y +CONFIG_OVERRIDE_PCI_ID=y +CONFIG_VGA_VID=0x15ad +CONFIG_VGA_DID=0x0405 diff --git a/spice-protocol/PKGBUILD b/spice-protocol/PKGBUILD new file mode 100644 index 000000000..797c5eb48 --- /dev/null +++ b/spice-protocol/PKGBUILD @@ -0,0 +1,24 @@ +# Contributor: Sergej Pupykin +# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws> + +pkgname=spice-protocol +pkgver=0.12.10 +pkgrel=1 +pkgdesc="Headers for SPICE protocol" +arch=(any) +url="http://spice-space.org" +license=('BSD' 'LGPL2.1') +source=(http://spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2) + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} +md5sums=('1fb9d0dcdd42dce1b476ae8aa7569bcc') diff --git a/spice/PKGBUILD b/spice/PKGBUILD new file mode 100644 index 000000000..83b4441e0 --- /dev/null +++ b/spice/PKGBUILD @@ -0,0 +1,25 @@ +# Contributor: Sergej Pupykin +# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws> + +pkgname=spice +pkgver=0.12.6 +pkgrel=1 +pkgdesc="SPICE client and server" +arch=('i686' 'x86_64') +url="http://spice-space.org" +license=('LGPL2.1') +depends=(alsa-lib celt0.5.1 libcacard libjpeg-turbo libsasl libxinerama libxfixes libxrandr pixman) +makedepends=(python2-pyparsing python2-six qemu spice-protocol) +source=(http://spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2) + +build() { + cd "$srcdir/$pkgname-$pkgver" + PYTHON=python2 ./configure --prefix=/usr --disable-static --enable-smartcard --enable-client + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} +md5sums=('605a8c8ea80bc95076c4b3539c6dd026') diff --git a/usbredir/PKGBUILD b/usbredir/PKGBUILD new file mode 100644 index 000000000..188fb7955 --- /dev/null +++ b/usbredir/PKGBUILD @@ -0,0 +1,26 @@ +# Contributor: Sergej Pupykin +# Contributor: Stefano Facchini + +pkgname=usbredir +pkgver=0.7 +pkgrel=1 +pkgdesc="USB traffic redirection protocol" +arch=('i686' 'x86_64') +url="http://spice-space.org/page/UsbRedir" +license=('GPL2' 'LGPL2.1') +depends=('libusb') +source=(http://spice-space.org/download/usbredir/$pkgname-$pkgver.tar.bz2) +sha256sums=('0a63a0712b5dc62be9cca44f97270fea5d1ec1fe7dde0c11dc74a01c8e2006aa') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} + +# vim:set ts=2 sw=2 et: