diff options
author | Frederic Bezies | 2017-05-24 01:30:44 +0200 |
---|---|---|
committer | Frederic Bezies | 2017-05-24 01:30:44 +0200 |
commit | de7352c92d573f588092a3f9bb9a87eef70a353b (patch) | |
tree | 82b9f4ec2f726536168345037c05e8e13add58a3 | |
parent | 8f2b23e810f4a5a7c1a1974ac410157d332de5db (diff) | |
download | aur-de7352c92d573f588092a3f9bb9a87eef70a353b.tar.gz |
huge cleanup... Hope everything is working :)
-rw-r--r-- | .SRCINFO | 128 | ||||
-rw-r--r-- | PKGBUILD | 272 | ||||
-rw-r--r-- | qemu.install | 26 |
3 files changed, 238 insertions, 188 deletions
@@ -1,106 +1,99 @@ # Generated by mksrcinfo v8 -# Mo Mai 22 09:57:01 UTC 2017 -pkgbase = qemu-git - pkgver = 2.9.0.r45576.56821559f0 +# Tue May 23 23:30:18 UTC 2017 +pkgbase = qemu + pkgdesc = A generic and open source machine emulator and virtualizer. Git version. + pkgver = 2.9.0.r53387.9964e96dc9 pkgrel = 1 url = http://wiki.qemu.org/ arch = i686 arch = x86_64 license = GPL2 license = LGPL2.1 - makedepends = pixman - makedepends = libjpeg - makedepends = libpng - makedepends = sdl - makedepends = alsa-lib - makedepends = nss - makedepends = glib2 - makedepends = gnutls - makedepends = bluez-libs - makedepends = vde2 - makedepends = util-linux - makedepends = curl - makedepends = libsasl - makedepends = libgl - makedepends = libpulse - makedepends = libcap-ng - makedepends = libaio - makedepends = libseccomp - makedepends = libiscsi + makedepends = spice-protocol makedepends = python2 - makedepends = virglrenderer - makedepends = usbredir makedepends = ceph + makedepends = libiscsi makedepends = glusterfs - makedepends = libssh2 - makedepends = lzo - makedepends = snappy - makedepends = dtc - makedepends = libepoxy makedepends = git - makedepends = texi2html - makedepends = perl - makedepends = numactl + depends = seabios + depends = dtc + depends = virglrenderer + depends = sdl2 + depends = vte3 + depends = brltty + depends = gnutls + depends = libpng + depends = libaio + depends = numactl + depends = jemalloc + depends = xfsprogs + depends = libnfs + depends = lzo + depends = snappy + depends = curl + depends = vde2 + depends = libcap-ng + depends = spice + depends = usbredir source = git://git.qemu.org/qemu.git source = qemu.sysusers source = qemu-ga.service source = 65-kvm.rules - source = qemu.install sha256sums = SKIP sha256sums = dd43e2ef062b071a0b9d0d5ea54737f41600ca8a84a8aefbebb1ff09f978acfb sha256sums = 0b4f3283973bb3bc876735f051d8eaab68f0065502a3a5012141fad193538ea1 sha256sums = 60dcde5002c7c0b983952746e6fb2cf06d6c5b425d64f340f819356e561e7fc7 - sha256sums = 0df69a77645c9a05f98635773666b6212084525d7801ef8382242b06baebe5aa pkgname = qemu-git - pkgdesc = A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. Git version. - install = qemu.install - depends = pixman - depends = libjpeg - depends = libpng - depends = sdl - depends = libgl - depends = gnutls - depends = bluez-libs - depends = usbredir - depends = lzo - depends = snappy - depends = libpulse - depends = dtc - depends = numactl - depends = libnfs - depends = libepoxy - optdepends = ovmf: Tianocore UEFI firmware for qemu - optdepends = samba: SMB/CIFS server support optdepends = qemu-arch-extra-git: extra architectures support - optdepends = qemu-block-iscsi-git: iSCSI block support - optdepends = qemu-block-rbd-git: RBD block support - optdepends = qemu-block-gluster-git: glusterfs block support + provides = qemu-headless provides = qemu provides = qemu-kvm provides = qemu-spice - provides = seabios - provides = seabios-git + conflicts = qemu-headless conflicts = qemu conflicts = kvm conflicts = kvm-git conflicts = qemu-spice - conflicts = seabios - conflicts = seabios-git - options = !strip + replaces = qemu-kvm + +pkgname = qemu-headless-git + pkgdesc = QEMU without GUI. Git version. + depends = gnutls + depends = libpng + depends = libaio + depends = numactl + depends = jemalloc + depends = xfsprogs + depends = libnfs + depends = lzo + depends = snappy + depends = curl + depends = vde2 + depends = libcap-ng + depends = spice + depends = usbredir + optdepends = qemu-headless-arch-extra-git: extra architectures support pkgname = qemu-arch-extra-git - pkgdesc = QEMU with full support for non x86 architectures. Git version - depends = glib2 - depends = qemu-git - provides = qemu-arch-extra - conflicts = qemu-arch-extra + pkgdesc = QEMU for foreign architectures. Git version. + depends = qemu + provides = qemu-headless-arch-extra + conflicts = qemu-headless-arch-extra + options = !strip + +pkgname = qemu-headless-arch-extra-git + pkgdesc = QEMU without GUI, for foreign architectures. Git version. + depends = qemu-headless + provides = qemu-headless-arch-extra + conflicts = qemu-headless-arch-extra options = !strip pkgname = qemu-block-iscsi-git pkgdesc = QEMU iSCSI block module. Git version. depends = glib2 depends = libiscsi + depends = jemalloc provides = qemu-block-iscsi conflicts = qemu-block-iscsi @@ -119,7 +112,8 @@ pkgname = qemu-block-gluster-git conflicts = qemu-block-gluster pkgname = qemu-guest-agent-git - pkgdesc = QEMU Guest Agent. Git version + pkgdesc = QEMU Guest Agent. Git version. + depends = gcc-libs depends = glib2 provides = qemu-guest-agent conflicts = qemu-guest-agent @@ -1,173 +1,245 @@ -# Maintainer: ajs124 < aur at ajs124 dot de> +# Maintainer: Frederic Bezies <fredbezies@gmail.com> +# Contributor: ajs124 < aur at ajs124 dot de> # Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us> # Contributor: Tobias Powalowski <tpowa@archlinux.org> -# Contributor: Frederic Bezies <fredbezies@gmail.com> # Contributor: Sébastien "Seblu" Luttringer <seblu@seblu.net> pkgbase=qemu-git _gitname=qemu -pkgname=('qemu-git' - 'qemu-arch-extra-git' - 'qemu-block-iscsi-git' - 'qemu-block-rbd-git' - 'qemu-block-gluster-git' - 'qemu-guest-agent-git') -pkgver=2.9.0.r45576.56821559f0 +pkgbase=qemu +pkgname=(qemu-git qemu-headless-git qemu-arch-extra-git qemu-headless-arch-extra-git qemu-block-{iscsi-git,rbd-git,gluster-git} qemu-guest-agent-git) +pkgdesc="A generic and open source machine emulator and virtualizer. Git version." +pkgver=2.9.0.r53387.9964e96dc9 pkgrel=1 -arch=('i686' 'x86_64') -license=('GPL2' 'LGPL2.1') -url='http://wiki.qemu.org/' -makedepends=('pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' - 'gnutls' 'bluez-libs' 'vde2' 'util-linux' 'curl' 'libsasl' - 'libgl' 'libpulse' 'libcap-ng' 'libaio' 'libseccomp' - 'libiscsi' 'python2' 'virglrenderer' - 'usbredir' 'ceph' 'glusterfs' 'libssh2' 'lzo' 'snappy' - 'dtc' 'libepoxy' 'git' 'texi2html' 'perl' 'numactl') +arch=(i686 x86_64) +license=(GPL2 LGPL2.1) +url="http://wiki.qemu.org/" +_headlessdeps=(gnutls libpng libaio numactl jemalloc xfsprogs libnfs + lzo snappy curl vde2 libcap-ng spice usbredir) +depends=(seabios dtc virglrenderer sdl2 vte3 brltty "${_headlessdeps[@]}") +makedepends=(spice-protocol python2 ceph libiscsi glusterfs git) source=(git://git.qemu.org/qemu.git qemu.sysusers qemu-ga.service - 65-kvm.rules - qemu.install) + 65-kvm.rules) sha256sums=('SKIP' 'dd43e2ef062b071a0b9d0d5ea54737f41600ca8a84a8aefbebb1ff09f978acfb' '0b4f3283973bb3bc876735f051d8eaab68f0065502a3a5012141fad193538ea1' - '60dcde5002c7c0b983952746e6fb2cf06d6c5b425d64f340f819356e561e7fc7' - '0df69a77645c9a05f98635773666b6212084525d7801ef8382242b06baebe5aa') + '60dcde5002c7c0b983952746e6fb2cf06d6c5b425d64f340f819356e561e7fc7') -_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 slof.bin -spapr-rtas.bin u-boot.e500) +case $CARCH in + i?86) _corearch=i386 ;; + x86_64) _corearch=x86_64 ;; +esac pkgver() { - cd "${srcdir}/$_gitname" - echo "$(git describe | sed 's/^v//' | cut -c -5).r$(git rev-list --count master).$(git log -1 --format=%h)" + cd "${srcdir}/${_gitname}" + echo "$(git describe | sed 's/^v//' | cut -c -5).r$(git rev-list --count master).$(git log -1 --format=%h)" + #Todo : find a way to provide a cleaner revision number. +} + +prepare() { + cd "${srcdir}/${_gitname}" + mkdir build-{full,headless} + mkdir -p extra-arch-{full,headless}/usr/{bin,share/qemu} + + #cd "${srcdir}/${_gitname}" + sed -i 's/vte-2\.90/vte-2.91/g' configure } build() { - cd $_gitname + _build full \ + --audio-drv-list="pa alsa sdl" + + _build headless \ + --audio-drv-list= \ + --disable-bluez \ + --disable-sdl \ + --disable-gtk \ + --disable-vte \ + --disable-opengl \ + --disable-virglrenderer \ + --disable-brlapi +} + +_build() ( + cd ${srcdir}/${_gitname}/build-$1 + # qemu vs. make 4 == bad - export ARFLAGS="rv" + 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 \ - --enable-docs --libexecdir=/usr/lib/qemu \ - --disable-gtk --enable-linux-aio --enable-seccomp \ - --localstatedir=/var \ - --enable-tpm --disable-werror \ - --enable-modules --enable-{rbd,glusterfs,libiscsi,curl} - make V=99 -} + export CFLAGS+=" -fPIC" + + # Note for gcc 7.x users : please modify your /etc/makepkg.conf + # and add -Wno-error to both CFLAGS and CXXFLAGS for this PKGBUILD + + ../configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/qemu \ + --python=/usr/bin/python2 \ + --smbd=/usr/bin/smbd \ + --with-gtkabi=3.0 \ + --with-sdlabi=2.0 \ + --enable-modules \ + --enable-jemalloc \ + "${@:2}" + + make +) package_qemu-git() { - pkgdesc='A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. Git version.' - depends=('pixman' 'libjpeg' 'libpng' 'sdl' 'libgl' - 'gnutls' 'bluez-libs' - 'usbredir' 'lzo' 'snappy' 'libpulse' - 'dtc' 'numactl' 'libnfs' 'libepoxy') - optdepends=('ovmf: Tianocore UEFI firmware for qemu' - 'samba: SMB/CIFS server support' - 'qemu-arch-extra-git: extra architectures support' - 'qemu-block-iscsi-git: iSCSI block support' - 'qemu-block-rbd-git: RBD block support' - 'qemu-block-gluster-git: glusterfs block support') - conflicts=('qemu' 'kvm' 'kvm-git' 'qemu-spice' 'seabios' 'seabios-git') - provides=('qemu' 'qemu-kvm' 'qemu-spice' 'seabios' 'seabios-git') + optdepends=('qemu-arch-extra-git: extra architectures support') + conflicts=('qemu-headless' 'qemu' 'kvm' 'kvm-git' 'qemu-spice') + provides=('qemu-headless' 'qemu' 'qemu-kvm' 'qemu-spice') + replaces=(qemu-kvm) - options=(!strip) + _package full +} + +package_qemu-headless-git() { + pkgdesc="QEMU without GUI. Git version." + depends=("${_headlessdeps[@]}") + optdepends=('qemu-headless-arch-extra-git: extra architectures support') + + _package headless +} + +_package() { + optdepends+=('ovmf: Tianocore UEFI firmware for qemu' + 'samba: SMB/CIFS server support' + 'qemu-block-iscsi-git: iSCSI block support' + 'qemu-block-rbd-git: RBD block support' + 'qemu-block-gluster-git: glusterfs block support') install=qemu.install + options=(!strip) - make -C $_gitname DESTDIR="${pkgdir}" libexecdir="/usr/lib/qemu" install + make -C ${srcdir}/${_gitname}/build-$1 DESTDIR="$pkgdir" install "${@:2}" + + # systemd stuff + install -Dm644 65-kvm.rules "$pkgdir/usr/lib/udev/rules.d/65-kvm.rules" + install -Dm644 qemu.sysusers "$pkgdir/usr/lib/sysusers.d/qemu.conf" - cd "${pkgdir}" # remove conflicting /var/run directory + cd "$pkgdir" 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 + cd usr/lib + tidy_strip # bridge_helper needs suid # https://bugs.archlinux.org/task/32565 - chmod u+s usr/lib/qemu/qemu-bridge-helper + chmod u+s qemu/qemu-bridge-helper - # remove splitted block modules - rm usr/lib/qemu/block-{iscsi,rbd,gluster}.so + # remove split block modules + rm qemu/block-{iscsi,rbd,gluster}.so - # remove guest agent - rm usr/bin/qemu-ga + cd ../bin + tidy_strip # remove extra arch - for _arch in "${_extra_arches[@]}"; do - rm -f usr/bin/qemu-${_arch} usr/bin/qemu-system-${_arch} + for _bin in qemu-*; do + [[ -f $_bin ]] || continue + + case ${_bin#qemu-} in + # guest agent + ga) rm "$_bin"; continue ;; + + # tools + img|io|nbd) continue ;; + + # core emu + system-${_corearch}) continue ;; + esac + + mv "$_bin" "$srcdir/$_gitname/extra-arch-$1/usr/bin" done - for _blob in "${_extra_blob[@]}"; do - rm usr/share/qemu/${_blob} + + cd ../share/qemu + for _blob in *; do + [[ -f $_blob ]] || continue + + case $_blob in + # provided by seabios package + bios.bin|acpi-dsdt.aml|bios-256k.bin|vgabios-cirrus.bin|vgabios-qxl.bin|\ + vgabios-stdvga.bin|vgabios-vmware.bin) rm "$_blob"; continue ;; + + + # iPXE ROMs + efi-*|pxe-*) continue ;; + + # core blobs + kvmvapic.bin|linuxboot*|multiboot.bin|sgabios.bin|vgabios*) continue ;; + + # Trace events definitions + trace-events*) continue ;; + + # Logos + *.bmp|*.svg) continue ;; + esac + + mv "$_blob" "$srcdir/$_gitname/extra-arch-$1/usr/share/qemu" done } package_qemu-arch-extra-git() { - pkgdesc='QEMU with full support for non x86 architectures. Git version' - depends=('glib2' 'qemu-git') - conflicts=(qemu-arch-extra) - provides=(qemu-arch-extra) + pkgdesc="QEMU for foreign architectures. Git version." + depends=(qemu) + provides=(qemu-headless-arch-extra) + conflicts=(qemu-headless-arch-extra) options=(!strip) - cd $_gitname - install -dm755 "${pkgdir}"/usr/bin - for _arch in "${_extra_arches[@]}"; do - install -m755 ${_arch}-*/qemu-*${_arch} "${pkgdir}"/usr/bin - done + mv $srcdir/$_gitname/extra-arch-full/usr "$pkgdir" +} - cd pc-bios - for _blob in "${_extra_blob[@]}"; do - install -Dm644 ${_blob} "${pkgdir}"/usr/share/qemu/${_blob} - done +package_qemu-headless-arch-extra-git() { + pkgdesc="QEMU without GUI, for foreign architectures. Git version." + depends=(qemu-headless) + options=(!strip) + conflicts=(qemu-headless-arch-extra) + provides=(qemu-headless-arch-extra) - # manually stripping - find "${pkgdir}"/usr/bin -type f -exec strip {} \; + mv $srcdir/$_gitname/extra-arch-headless/usr "$pkgdir" } package_qemu-block-iscsi-git() { - pkgdesc='QEMU iSCSI block module. Git version.' - depends=('glib2' 'libiscsi') + pkgdesc="QEMU iSCSI block module. Git version." + depends=(glib2 libiscsi jemalloc) conflicts=(qemu-block-iscsi) provides=(qemu-block-iscsi) - install -D $_gitname/block-iscsi.so "${pkgdir}"/usr/lib/qemu/block-iscsi.so + install -D $srcdir/$_gitname/build-full/block-iscsi.so "$pkgdir/usr/lib/qemu/block-iscsi.so" } package_qemu-block-rbd-git() { - pkgdesc='QEMU RBD block module. Git version.' - depends=('glib2' 'ceph') + pkgdesc="QEMU RBD block module. Git version." + depends=(glib2 ceph) conflicts=(qemu-block-rbd) provides=(qemu-block-rbd) - install -D $_gitname/block-rbd.so "${pkgdir}"/usr/lib/qemu/block-rbd.so + install -D $srcdir/$_gitname/build-full/block-rbd.so "$pkgdir/usr/lib/qemu/block-rbd.so" } package_qemu-block-gluster-git() { - pkgdesc='QEMU GlusterFS block module. Git version.' - depends=('glib2' 'glusterfs') + pkgdesc="QEMU GlusterFS block module. Git version." + depends=(glib2 glusterfs) conflicts=(qemu-block-gluster) provides=(qemu-block-gluster) - install -D $_gitname/block-gluster.so "${pkgdir}"/usr/lib/qemu/block-gluster.so + install -D $srcdir/$_gitname/build-full/block-gluster.so "$pkgdir/usr/lib/qemu/block-gluster.so" } package_qemu-guest-agent-git() { - pkgdesc='QEMU Guest Agent. Git version' - depends=('glib2') + pkgdesc="QEMU Guest Agent. Git version." + depends=(gcc-libs glib2) conflicts=(qemu-guest-agent) provides=(qemu-guest-agent) - install -D $_gitname/qemu-ga "${pkgdir}"/usr/bin/qemu-ga - install -D qemu-ga.service "${pkgdir}"/usr/lib/systemd/system/qemu-ga.service + install -D $srcdir/$_gitname/build-full/qemu-ga "$pkgdir/usr/bin/qemu-ga" + install -Dm644 $srcdir/qemu-ga.service "$pkgdir/usr/lib/systemd/system/qemu-ga.service" + install -Dm755 "$srcdir/$_gitname/scripts/qemu-guest-agent/fsfreeze-hook" "$pkgdir/etc/qemu/fsfreeze-hook" } # vim:set ts=2 sw=2 et: diff --git a/qemu.install b/qemu.install index be5b0184ad2f..9fe850d4ed7e 100644 --- a/qemu.install +++ b/qemu.install @@ -1,24 +1,8 @@ # Arg 1: the new package version post_install() { - # create kvm group - systemd-sysusers qemu.conf - - # retrigger events on modules files when already loaded - [[ -e /dev/kvm ]] && udevadm trigger /dev/kvm - [[ -e /dev/vhost-net ]] && udevadm trigger /dev/vhost-net -} - -# 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 <vm-name>'" - fi + # 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 + : } |