# Contributor: Sergei Lukin # Contributor: Valery Kartel # Contributor: Jakub Jirutka # Maintainer: Natanael Copa global pkgname := 'qemu' global pkgver := '2.10.1' global pkgrel := '0' global pkgdesc := '"QEMU is a generic machine emulator and virtualizer'" global url := '"http://qemu.org/'" global arch := '"all'" global license := '"GPL2 LGPL-2'" global makedepends := '" alsa-lib-dev bison curl-dev flex glib-dev glib-static gnutls-dev gtk+3.0-dev libaio-dev libcap-dev libcap-ng-dev libjpeg-turbo-dev libnfs-dev libpng-dev libssh2-dev libusb-dev linux-headers lzo-dev ncurses-dev paxmark snappy-dev spice-dev texinfo usbredir-dev util-linux-dev vde2-dev xfsprogs-dev zlib-dev '" global pkggroups := '"qemu'" global install := ""$pkgname.pre-install $pkgname.post-install"" global options := '"suid !strip'" # suid needed for qemu-bridge-helper global subpackages := ""$pkgname-doc $pkgname-lang $pkgname-guest-agent:guest"" global _subsystems := '" aarch64 alpha arm armeb cris i386 m68k microblaze microblazeel mips mips64 mips64el mipsel mipsn32 mipsn32el or1k ppc ppc64 ppc64abi32 ppc64le s390x sh4 sh4eb sparc sparc32plus sparc64 system-aarch64 system-alpha system-arm system-cris system-i386 system-lm32 system-m68k system-microblaze system-microblazeel system-mips system-mips64 system-mips64el system-mipsel system-moxie system-nios2 system-or1k system-ppc system-ppc64 system-ppcemb system-s390x system-sh4 system-sh4eb system-sparc system-sparc64 system-tricore system-unicore32 system-x86_64 system-xtensa system-xtensaeb x86_64 '" for _sub in [$_subsystems] { global subpackages := ""$subpackages $pkgname-$_sub:_subsys"" } matchstr $CARCH { x86 { global _arch := 'i386' } x86_64 { global _arch := 'x86_64' } * { global _arch := ''"" } } if test -n $_arch { global subpackages := ""$subpackages $pkgname-gtk"" proc gtk { _subsys system-$_arch-gtk; } } global subpackages := ""$subpackages $pkgname-img"" # -img must be declared the last global source := ""http://wiki.qemu-project.org/download/$pkgname-$pkgver.tar.bz2 0001-elfload-load-PIE-executables-to-right-address.patch 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch 0001-linux-user-fix-build-with-musl-on-aarch64.patch musl-F_SHLCK-and-F_EXLCK.patch fix-sigevent-and-sigval_t.patch xattr_size_max.patch ncurses.patch ignore-signals-33-and-64-to-allow-golang-emulation.patch 0001-linux-user-fix-build-with-musl-on-ppc64le.patch fix-sockios-header.patch fix-test-crypto-tls-x509-helpers-dont-use-sha1.patch fix-test-io-channel-tls-handshake-completion.patch fix-test-io-channel-tls-temp-directory.patch test-crypto-ivgen-skip-essiv.patch $pkgname-guest-agent.confd $pkgname-guest-agent.initd 80-kvm.rules bridge.conf "" global builddir := ""$srcdir/$pkgname-$pkgver"" global options := '"!check'" # some tests does not run on our builders # secfixes: # 2.8.1-r1: # - CVE-2016-7994 # - CVE-2016-7995 # - CVE-2016-8576 # - CVE-2016-8577 # - CVE-2016-8578 # - CVE-2016-8668 # - CVE-2016-8909 # - CVE-2016-8910 # - CVE-2016-9101 # - CVE-2016-9102 # - CVE-2016-9103 # - CVE-2016-9104 # - CVE-2016-9105 # - CVE-2016-9106 # - CVE-2017-2615 # - CVE-2017-2620 # - CVE-2017-5525 # - CVE-2017-5552 # - CVE-2017-5578 # - CVE-2017-5579 # - CVE-2017-5667 # - CVE-2017-5856 # - CVE-2017-5857 # - CVE-2017-5898 # - CVE-2017-5931 proc prepare { default_prepare # apply patches sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \ Makefile.target } proc _compile_common { env CFLAGS=$(CFLAGS/-Os/-O2) "$builddir"/configure \ --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ --libexecdir=/usr/lib/qemu \ --disable-glusterfs \ --disable-debug-info \ --disable-bsd-user \ --disable-werror \ --disable-sdl \ --disable-xen \ --cc="$(CC:-gcc)" \ @Argv make ARFLAGS="rc" } proc _compile_system { _compile_common \ --audio-drv-list=oss,alsa \ --enable-kvm \ --enable-vde \ --enable-virtfs \ --enable-curl \ --enable-cap-ng \ --enable-linux-aio \ --enable-usb-redir \ --enable-libssh2 \ --enable-vhost-net \ --enable-snappy \ --enable-tpm \ --enable-libnfs \ --enable-lzo \ --enable-docs \ --enable-curses \ --enable-pie \ --disable-linux-user \ @Argv } proc build { mkdir -p "$builddir"/build \ "$builddir"/build-user \ "$builddir"/build-gtk cd "$builddir"/build-user _compile_common \ --enable-linux-user \ --disable-system \ --static cd "$builddir"/build _compile_system \ --enable-vnc \ --enable-vnc-png \ --enable-vnc-jpeg \ --enable-spice \ --enable-guest-agent \ --disable-gtk if test -n $_arch { cd "$builddir"/build-gtk _compile_system \ --enable-gtk \ --with-gtkabi=3.0 \ --disable-vnc \ --disable-spice \ --disable-guest-agent \ --target-list="$_arch-softmmu" } } proc check { cd "$builddir"/build # XXX: ESSIV crypto tests are disabled, see test-crypto-ivgen-skip-essiv.patch. make check V=1 } proc package { cd "$builddir"/build-user make DESTDIR="$pkgdir" install cd "$builddir"/build make DESTDIR="$pkgdir" install paxmark -m "$pkgdir"/usr/bin/qemu-system-* install -Dm640 -g qemu "$srcdir"/bridge.conf \ "$pkgdir"/etc/qemu/bridge.conf install -Dm644 "$srcdir"/80-kvm.rules \ "$pkgdir"/lib/udev/rules.d/80-kvm.rules # qemu-bridge-helper needs suid to create tunX devices; # allow only users in the qemu group to run it. chmod 04710 "$pkgdir"/usr/lib/qemu/qemu-bridge-helper chgrp qemu "$pkgdir"/usr/lib/qemu/qemu-bridge-helper if test -n $_arch { cd "$builddir"/build-gtk install $_arch-softmmu/qemu-system-$_arch \ "$pkgdir"/usr/bin/qemu-system-$_arch-gtk } # Do not install HTML docs. rm "$pkgdir"/usr/share/doc/qemu/*.html } proc _subsys { var name = $(1:-"${subpkgname#$pkgname-}") global pkgdesc := ""Qemu $(name/-/ ) emulator"" global options := ''"" global depends := ''"" matchstr $name { system* { global depends := '"qemu'"} } mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qemu-$name "$subpkgdir"/usr/bin/ } proc img { global pkgdesc := '"QEMU command line tool for manipulating disk images'" global depends := ''"" global options := ''"" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qemu-img \ "$pkgdir"/usr/bin/qemu-io \ "$pkgdir"/usr/bin/qemu-nbd \ "$subpkgdir"/usr/bin/ # We exploit the fact that -img subpackage are created last # and check that we done have new systems that belongs in # subpackage. var path = '', retval = '0' for path in ["$pkgdir"/usr/bin/qemu-system-*] { if test -r $path { error "Please create a subpackage for $(path##*/)" retval := '1' } } return $retval } proc guest { global pkgdesc := '"QEMU guest agent'" global depends := ''"" global options := ''"" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qemu-ga "$subpkgdir"/usr/bin/ install -Dm755 "$srcdir"/$pkgname-guest-agent.initd \ "$subpkgdir"/etc/init.d/$pkgname-guest-agent install -Dm644 "$srcdir"/$pkgname-guest-agent.confd \ "$subpkgdir"/etc/conf.d/$pkgname-guest-agent } global sha512sums := '"1a4a6ebf700ec6851c83cc2a71eaea8d95f14c685d094eaaa86c740eb9401e49a79074b72385f58681ca7646771a99bb6bbd9bebb39162f7220626d37ed0654f qemu-2.10.1.tar.bz2 405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch ec84b27648c01c6e58781295dcd0c2ff8e5a635f9836ef50c1da5d0ed125db1afc4cb5b01cb97606d6dd8f417acba93e1560d9a32ca29161a4bb730b302440ea 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch 1ac043312864309e19f839a699ab2485bca51bbf3d5fdb39f1a87b87e3cbdd8cbda1a56e6b5c9ffccd65a8ac2f600da9ceb8713f4dbba26f245bc52bcd8a1c56 0001-linux-user-fix-build-with-musl-on-aarch64.patch 224f5b44da749921e8a821359478c5238d8b6e24a9c0b4c5738c34e82f3062ec4639d495b8b5883d304af4a0d567e38aa6623aac1aa3a7164a5757c036528ac0 musl-F_SHLCK-and-F_EXLCK.patch 5da8114b9bd2e62f0f1f0f73f393fdbd738c5dea827ea60cedffd6f6edd0f5a97489c7148d37a8ec5a148d4e65d75cbefe9353714ee6b6f51a600200133fc914 fix-sigevent-and-sigval_t.patch 4b1e26ba4d53f9f762cbd5cea8ef6f8062d827ae3ae07bc36c5b0c0be4e94fc1856ad2477e8e791b074b8a25d51ed6d0ddd75e605e54600e5dd0799143793ce4 xattr_size_max.patch b6ed02aaf95a9bb30a5f107d35371207967edca058f3ca11348b0b629ea7a9c4baa618db68a3df72199eea6d86d14ced74a5a229d17604cc3f0adedcfeae7a73 ncurses.patch fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c692bb34883346babef5c44407a6804b20a39a465bb2bc85136 ignore-signals-33-and-64-to-allow-golang-emulation.patch a750e5e3d768cd41f704ca376a0ee460b83c0337f00cef0e8bced342d55b37fb9075f0a9ff805533b97f1e4dd02bf76c96ec202643df501784e85b985cdaf24e 0001-linux-user-fix-build-with-musl-on-ppc64le.patch f0f99dc4f7fb475e3fab0262c0bc2c0dd8f17d77fe096c295fa1fc3e911ce07e1592f49c6ead7489246fecdd3a3f39f89ce05704af7f3fd384ce4f626f3c4601 fix-sockios-header.patch f4c6f9b1b1b22eecddb63e801a7e6070766868a63cc441647dbd571c86f29ba74d0fbd67f6016c85873d01ce537eed558eca05b92872ac70b4e9e0f17123ba2a fix-test-crypto-tls-x509-helpers-dont-use-sha1.patch f405d985a359069a310b03a714e6223dbe85c94442b03ba35d7e1fe5da02c02c6ad1ce52d3705a6f9fccb79c2494085298d93b3cb159bacaa3b3bf3597c25202 fix-test-io-channel-tls-handshake-completion.patch 2233b45389467b4386253e113c9b08ff0d6ad55f06361f4c6f9f49f2528895847e12c1a6e7f66efa356d49b384b61945d970325a0008e4a8715ef48b9d84b7fd fix-test-io-channel-tls-temp-directory.patch 8b8db136f78bd26b5da171effa9e11016ec2bc3e2fc8107228b5543b47aa370978ed883794aa4f917f334e284a5b49e82070e1da2d31d49301195b6713a48eff test-crypto-ivgen-skip-essiv.patch d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd 1cd24c2444c5935a763c501af2b0da31635aad9cf62e55416d6477fcec153cddbe7de205d99616def11b085e0dd366ba22463d2270f831d884edbc307c7864a6 qemu-guest-agent.initd 9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules 749efa2e764006555b4fd3a8e2f6d1118ad2ea4d45acf99104a41a93cfe66dc9685f72027c17d8211e5716246c2a52322c962cf4b73b27541b69393cd57f53bb bridge.conf'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(qemu)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.10.1)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[18])] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("QEMU is a generic machine emulator and virtualizer"))} spids: [21] ) ] spids: [21] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://qemu.org/"))} spids: [26] ) ] spids: [26] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[31])] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("GPL2 LGPL-2"))} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("\n") ("\talsa-lib-dev\n") ("\tbison\n") ("\tcurl-dev\n") ("\tflex\n") ("\tglib-dev\n") ("\tglib-static\n") ("\tgnutls-dev\n") ("\tgtk+3.0-dev\n") ("\tlibaio-dev\n") ("\tlibcap-dev\n") ("\tlibcap-ng-dev\n") ("\tlibjpeg-turbo-dev\n") ("\tlibnfs-dev\n") ("\tlibpng-dev\n") ("\tlibssh2-dev\n") ("\tlibusb-dev\n") ("\tlinux-headers\n") ("\tlzo-dev\n") ("\tncurses-dev\n") ("\tpaxmark\n") ("\tsnappy-dev\n") ("\tspice-dev\n") ("\ttexinfo\n") ("\tusbredir-dev\n") ("\tutil-linux-dev\n") ("\tvde2-dev\n") ("\txfsprogs-dev\n") ("\tzlib-dev\n") ("\t") ) } spids: [41] ) ] spids: [41] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ (qemu))} spids:[75])] spids: [75] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") (".pre-install ") ($ VSub_Name "$pkgname") (.post-install)) } spids: [80] ) ] spids: [80] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("suid !strip"))} spids:[88])] spids: [88] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-lang ") ($ VSub_Name "$pkgname") ("-guest-agent:guest") ) } spids: [96] ) ] spids: [96] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_subsystems) op: Equal rhs: { (DQ ("\n") ("\taarch64\n") ("\talpha\n") ("\tarm\n") ("\tarmeb\n") ("\tcris\n") ("\ti386\n") ("\tm68k\n") ("\tmicroblaze\n") ("\tmicroblazeel\n") ("\tmips\n") ("\tmips64\n") ("\tmips64el\n") ("\tmipsel\n") ("\tmipsn32\n") ("\tmipsn32el\n") ("\tor1k\n") ("\tppc\n") ("\tppc64\n") ("\tppc64abi32\n") ("\tppc64le\n") ("\ts390x\n") ("\tsh4\n") ("\tsh4eb\n") ("\tsparc\n") ("\tsparc32plus\n") ("\tsparc64\n") ("\tsystem-aarch64\n") ("\tsystem-alpha\n") ("\tsystem-arm\n") ("\tsystem-cris\n") ("\tsystem-i386\n") ("\tsystem-lm32\n") ("\tsystem-m68k\n") ("\tsystem-microblaze\n") ("\tsystem-microblazeel\n") ("\tsystem-mips\n") ("\tsystem-mips64\n") ("\tsystem-mips64el\n") ("\tsystem-mipsel\n") ("\tsystem-moxie\n") ("\tsystem-nios2\n") ("\tsystem-or1k\n") ("\tsystem-ppc\n") ("\tsystem-ppc64\n") ("\tsystem-ppcemb\n") ("\tsystem-s390x\n") ("\tsystem-sh4\n") ("\tsystem-sh4eb\n") ("\tsystem-sparc\n") ("\tsystem-sparc64\n") ("\tsystem-tricore\n") ("\tsystem-unicore32\n") ("\tsystem-x86_64\n") ("\tsystem-xtensa\n") ("\tsystem-xtensaeb\n") ("\tx86_64\n") ("\t") ) } spids: [107] ) ] spids: [107] ) (ForEach iter_name: _sub iter_words: [{($ VSub_Name "$_subsystems")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" ") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_sub") (":_subsys") ) } spids: [181] ) ] spids: [181] ) ] spids: [178 191] ) spids: [174 176] ) (Case to_match: {(DQ ($ VSub_Name "$CARCH"))} arms: [ (case_arm pat_list: [{(x86)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_arch) op:Equal rhs:{(i386)} spids:[206])] spids: [206] ) ] spids: [203 204 209 -1] ) (case_arm pat_list: [{(x86_64)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_arch) op:Equal rhs:{(x86_64)} spids:[215])] spids: [215] ) ] spids: [212 213 218 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_arch) op:Equal rhs:{(DQ )} spids:[224])] spids: [224] ) ] spids: [221 222 228 -1] ) ] spids: [194 200 230] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$_arch"))} {(Lit_Other "]")}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$subpackages") (" ") ($ VSub_Name "$pkgname") (-gtk))} spids: [248] ) ] spids: [248] ) (FuncDef name: gtk body: (BraceGroup children: [ (Sentence child: (C {(_subsys)} {(system-) ($ VSub_Name "$_arch") (-gtk)}) terminator: ) ] spids: [261] ) spids: [257 260] ) ] spids: [-1 245] ) ] spids: [-1 272] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$subpackages") (" ") ($ VSub_Name "$pkgname") (-img))} spids: [275] ) ] spids: [275] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://wiki.qemu-project.org/download/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.bz2\n") ("\t0001-elfload-load-PIE-executables-to-right-address.patch\n") ("\t0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch\n") ("\t0001-linux-user-fix-build-with-musl-on-aarch64.patch\n") ("\tmusl-F_SHLCK-and-F_EXLCK.patch\n") ("\tfix-sigevent-and-sigval_t.patch\n") ("\txattr_size_max.patch\n") ("\tncurses.patch\n") ("\tignore-signals-33-and-64-to-allow-golang-emulation.patch\n") ("\t0001-linux-user-fix-build-with-musl-on-ppc64le.patch\n") ("\tfix-sockios-header.patch\n") ("\tfix-test-crypto-tls-x509-helpers-dont-use-sha1.patch\n") ("\tfix-test-io-channel-tls-handshake-completion.patch\n") ("\tfix-test-io-channel-tls-temp-directory.patch\n") ("\ttest-crypto-ivgen-skip-essiv.patch\n") ("\t") ($ VSub_Name "$pkgname") ("-guest-agent.confd\n") ("\t") ($ VSub_Name "$pkgname") ("-guest-agent.initd\n") ("\t80-kvm.rules\n") ("\tbridge.conf\n") ("\t") ) } spids: [287] ) ] spids: [287] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [319] ) ] spids: [319] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[328])] spids: [328] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(default_prepare)}) (C {(sed)} {(-i)} {(SQ <"s/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/">)} {(Makefile.target)}) ] spids: [423] ) spids: [419 422] ) (FuncDef name: _compile_common body: (BraceGroup children: [ (SimpleCommand words: [ {(DQ ($ VSub_Name "$builddir")) (/configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--localstatedir) (Lit_Other "=") (/var)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--libexecdir) (Lit_Other "=") (/usr/lib/qemu)} {(--disable-glusterfs)} {(--disable-debug-info)} {(--disable-bsd-user)} {(--disable-werror)} {(--disable-sdl)} {(--disable-xen)} {(--cc) (Lit_Other "=") (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcc)}) spids: [524 528] ) ) } {(DQ ($ VSub_At "$@"))} ] more_env: [ (env_pair name: CFLAGS val: { (DQ (BracedVarSub token: suffix_op: (PatSub pat: {(-Os)} replace: {(-O2)} do_all: False do_prefix: False do_suffix: False ) spids: [457 463] ) ) } spids: [455] ) ] ) (C {(make)} {(Lit_VarLike "ARFLAGS=") (DQ (rc))}) ] spids: [452] ) spids: [448 451] ) (FuncDef name: _compile_system body: (BraceGroup children: [ (C {(_compile_common)} {(--audio-drv-list) (Lit_Other "=") (oss) (Lit_Comma ",") (alsa)} {(--enable-kvm)} {(--enable-vde)} {(--enable-virtfs)} {(--enable-curl)} {(--enable-cap-ng)} {(--enable-linux-aio)} {(--enable-usb-redir)} {(--enable-libssh2)} {(--enable-vhost-net)} {(--enable-snappy)} {(--enable-tpm)} {(--enable-libnfs)} {(--enable-lzo)} {(--enable-docs)} {(--enable-curses)} {(--enable-pie)} {(--disable-linux-user)} {(DQ ($ VSub_At "$@"))} ) ] spids: [552] ) spids: [548 551] ) (FuncDef name: build body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$builddir")) (/build)} {(DQ ($ VSub_Name "$builddir")) (/build-user)} {(DQ ($ VSub_Name "$builddir")) (/build-gtk)} ) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build-user)}) (C {(_compile_common)} {(--enable-linux-user)} {(--disable-system)} {(--static)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build)}) (C {(_compile_system)} {(--enable-vnc)} {(--enable-vnc-png)} {(--enable-vnc-jpeg)} {(--enable-spice)} {(--enable-guest-agent)} {(--disable-gtk)} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$_arch"))} {(Lit_Other "]")}) terminator: ) ] action: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build-gtk)}) (C {(_compile_system)} {(--enable-gtk)} {(--with-gtkabi) (Lit_Other "=") (3.0)} {(--disable-vnc)} {(--disable-spice)} {(--disable-guest-agent)} {(--target-list) (Lit_Other "=") (DQ ($ VSub_Name "$_arch") (-softmmu))} ) ] spids: [-1 747] ) ] spids: [-1 792] ) ] spids: [646] ) spids: [642 645] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build)}) (C {(make)} {(check)} {(Lit_VarLike "V=") (1)}) ] spids: [801] ) spids: [797 800] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build-user)}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build)}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (C {(paxmark)} {(-m)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-system-) (Lit_Other "*")}) (C {(install)} {(-Dm640)} {(-g)} {(qemu)} {(DQ ($ VSub_Name "$srcdir")) (/bridge.conf)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/qemu/bridge.conf)} ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/80-kvm.rules)} {(DQ ($ VSub_Name "$pkgdir")) (/lib/udev/rules.d/80-kvm.rules)} ) (C {(chmod)} {(04710)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/qemu/qemu-bridge-helper)}) (C {(chgrp)} {(qemu)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/qemu/qemu-bridge-helper)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$_arch"))} {(Lit_Other "]")}) terminator: ) ] action: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build-gtk)}) (C {(install)} {($ VSub_Name "$_arch") (-softmmu/qemu-system-) ($ VSub_Name "$_arch")} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-system-) ($ VSub_Name "$_arch") (-gtk)} ) ] spids: [-1 965] ) ] spids: [-1 992] ) (C {(rm)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/qemu/) (Lit_Other "*") (.html)}) ] spids: [831] ) spids: [827 830] ) (FuncDef name: _subsys body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {($ VSub_Name "$pkgname") (-)} ) spids: [1026 1031] ) ) } ) spids: [1022 1033] ) } spids: [1021] ) ] spids: [1019] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: { (DQ ("Qemu ") (BracedVarSub token: suffix_op: (PatSub pat: {(-)} replace: {(" ")} do_all: False do_prefix: False do_suffix: False ) spids: [1039 1045] ) (" emulator") ) } spids: [1036] ) ] spids: [1036] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ )} spids:[1050])] spids: [1050] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[1055])] spids: [1055] ) (Case to_match: {(DQ ($ VSub_Name "$name"))} arms: [ (case_arm pat_list: [{(system) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (qemu))} spids: [1073] ) ] spids: [1073] ) ] spids: [1069 1071 1077 -1] ) ] spids: [1060 1066 1080] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-) ($ VSub_Name "$name")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) ] spids: [1016] ) spids: [1012 1015] ) (FuncDef name: img body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("QEMU command line tool for manipulating disk images"))} spids: [1117] ) ] spids: [1117] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[1123])] spids: [1123] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ )} spids:[1128])] spids: [1128] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-img)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-io)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-nbd)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {(SQ )} spids: [1188] ) (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {(0)} spids: [1190] ) ] spids: [1186] ) (ForEach iter_name: path iter_words: [{(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-system-) (Lit_Other "*")}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-r)} {(DQ ($ VSub_Name "$path"))} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(error)} { (DQ ("Please create a subpackage for ") (BracedVarSub token: suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {("*") (Lit_Slash /)} ) spids: [1230 1235] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {(1)} spids: [1239] ) ] spids: [1239] ) ] spids: [-1 1223] ) ] spids: [-1 1243] ) ] spids: [1207 1246] ) spids: [1199 1205] ) (ControlFlow token: arg_word: {($ VSub_Name "$retval")} ) ] spids: [1114] ) spids: [1110 1113] ) (FuncDef name: guest body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("QEMU guest agent"))} spids: [1263] ) ] spids: [1263] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[1269])] spids: [1269] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ )} spids:[1274])] spids: [1274] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/qemu-ga)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-guest-agent.initd)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/init.d/) ($ VSub_Name "$pkgname") (-guest-agent)} ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-guest-agent.confd)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/conf.d/) ($ VSub_Name "$pkgname") (-guest-agent)} ) ] spids: [1260] ) spids: [1256 1259] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "1a4a6ebf700ec6851c83cc2a71eaea8d95f14c685d094eaaa86c740eb9401e49a79074b72385f58681ca7646771a99bb6bbd9bebb39162f7220626d37ed0654f qemu-2.10.1.tar.bz2\n" ) ( "405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch\n" ) ( "ec84b27648c01c6e58781295dcd0c2ff8e5a635f9836ef50c1da5d0ed125db1afc4cb5b01cb97606d6dd8f417acba93e1560d9a32ca29161a4bb730b302440ea 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch\n" ) ( "1ac043312864309e19f839a699ab2485bca51bbf3d5fdb39f1a87b87e3cbdd8cbda1a56e6b5c9ffccd65a8ac2f600da9ceb8713f4dbba26f245bc52bcd8a1c56 0001-linux-user-fix-build-with-musl-on-aarch64.patch\n" ) ( "224f5b44da749921e8a821359478c5238d8b6e24a9c0b4c5738c34e82f3062ec4639d495b8b5883d304af4a0d567e38aa6623aac1aa3a7164a5757c036528ac0 musl-F_SHLCK-and-F_EXLCK.patch\n" ) ( "5da8114b9bd2e62f0f1f0f73f393fdbd738c5dea827ea60cedffd6f6edd0f5a97489c7148d37a8ec5a148d4e65d75cbefe9353714ee6b6f51a600200133fc914 fix-sigevent-and-sigval_t.patch\n" ) ( "4b1e26ba4d53f9f762cbd5cea8ef6f8062d827ae3ae07bc36c5b0c0be4e94fc1856ad2477e8e791b074b8a25d51ed6d0ddd75e605e54600e5dd0799143793ce4 xattr_size_max.patch\n" ) ( "b6ed02aaf95a9bb30a5f107d35371207967edca058f3ca11348b0b629ea7a9c4baa618db68a3df72199eea6d86d14ced74a5a229d17604cc3f0adedcfeae7a73 ncurses.patch\n" ) ( "fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c692bb34883346babef5c44407a6804b20a39a465bb2bc85136 ignore-signals-33-and-64-to-allow-golang-emulation.patch\n" ) ( "a750e5e3d768cd41f704ca376a0ee460b83c0337f00cef0e8bced342d55b37fb9075f0a9ff805533b97f1e4dd02bf76c96ec202643df501784e85b985cdaf24e 0001-linux-user-fix-build-with-musl-on-ppc64le.patch\n" ) ( "f0f99dc4f7fb475e3fab0262c0bc2c0dd8f17d77fe096c295fa1fc3e911ce07e1592f49c6ead7489246fecdd3a3f39f89ce05704af7f3fd384ce4f626f3c4601 fix-sockios-header.patch\n" ) ( "f4c6f9b1b1b22eecddb63e801a7e6070766868a63cc441647dbd571c86f29ba74d0fbd67f6016c85873d01ce537eed558eca05b92872ac70b4e9e0f17123ba2a fix-test-crypto-tls-x509-helpers-dont-use-sha1.patch\n" ) ( "f405d985a359069a310b03a714e6223dbe85c94442b03ba35d7e1fe5da02c02c6ad1ce52d3705a6f9fccb79c2494085298d93b3cb159bacaa3b3bf3597c25202 fix-test-io-channel-tls-handshake-completion.patch\n" ) ( "2233b45389467b4386253e113c9b08ff0d6ad55f06361f4c6f9f49f2528895847e12c1a6e7f66efa356d49b384b61945d970325a0008e4a8715ef48b9d84b7fd fix-test-io-channel-tls-temp-directory.patch\n" ) ( "8b8db136f78bd26b5da171effa9e11016ec2bc3e2fc8107228b5543b47aa370978ed883794aa4f917f334e284a5b49e82070e1da2d31d49301195b6713a48eff test-crypto-ivgen-skip-essiv.patch\n" ) ( "d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd\n" ) ( "1cd24c2444c5935a763c501af2b0da31635aad9cf62e55416d6477fcec153cddbe7de205d99616def11b085e0dd366ba22463d2270f831d884edbc307c7864a6 qemu-guest-agent.initd\n" ) ( "9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules\n" ) ( "749efa2e764006555b4fd3a8e2f6d1118ad2ea4d45acf99104a41a93cfe66dc9685f72027c17d8211e5716246c2a52322c962cf4b73b27541b69393cd57f53bb bridge.conf" ) ) } spids: [1348] ) ] spids: [1348] ) ] )