#!/bin/mkpkg # description: Xen tools # url: https://xenproject.org name=xen-tools version=4.22.0 release=2 depends=(python3 yajl libnl lzo2 zlib bzip2 xz ncurses e2fsprogs) makedeps=(python3 iasl perl swig pixman argp-standalone py-setuptools) source=(https://downloads.xenproject.org/release/xen/$version/xen-$version.tar.gz xsa477.patch xsa479.patch xsa480.patch xsa481.patch hotplug-vif-vtrill.patch hotplug-Linux-iscsi-block-handle-lun-1.patch) sha256sums=( "b2a14ca369e3cf26f123a455b1603f3962ae9fcee0b8640a9cc33879de198223" "025783441d7db846e717a1e48547b0db7a36fcc6af652b688524c684f0c3d2a7" "82369898d0287e69272d0d65fb0e6be5fd0106bda19cedb3c9f6e75688f6fb4b" "578f8fec3f34656e085419f6376d43987ffd6ed32e067b4024d3c83ce03a5901" "148147e4545a4670578c0f24aa136f67bc203c7b18ec980b8cc80cfbb04ace68" "c3994774305807f607742b6d49691c913fe3455cf1ab871254bc8fe2a4906b43" "a9dfb68d615aa4ee9e1137fa6bcc69a291e9603202db40bb343d50caf30dae3d" ) build() { cd $SRC/xen-$version for p in $SRC/xsa477.patch $SRC/xsa479.patch $SRC/xsa480.patch $SRC/xsa481.patch \ $SRC/hotplug-vif-vtrill.patch $SRC/hotplug-Linux-iscsi-block-handle-lun-1.patch; do [ -f "$p" ] && patch -N -p1 < "$p" || true done export ac_cv_lib_argp_argp_usage=yes unset CFLAGS CXXFLAGS CPPFLAGS ASFLAGS LDFLAGS AR OBJCOPY RANLIB CC LD LANG LC_ALL mkdir -p $SRC/fake-bin ln -sf /usr/bin/clang $SRC/fake-bin/gcc export PATH="$SRC/fake-bin:$PATH" find . \( -name '*.mk' -o -name 'Make*' \) \ -exec sed -i -e 's/-Werror//g' {} + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk #sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile sed -e '/^SUBDIRS-y += firmware/d' -i tools/Makefile sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile sed -i '/firmware/d' tools/Rules.mk export CONFIG_LOMOUNT=y export CONFIG_TESTS=n export XEN_TARGET_ARCH=x86_64 autoreconf --install CONFIG_SHELL=/bin/bash ./configure \ --prefix=/usr \ --libdir=/usr/lib \ --libexecdir=/usr/libexec \ --localstatedir=/var \ --with-rundir=/run \ --with-sysconfig-leaf-dir=conf.d \ --with-system-qemu=/usr/bin/qemu-system-x86_64 \ --with-system-seabios=/usr/share/seabios/bios.bin \ --with-xenstored=xenstored \ --disable-xen \ --disable-stubdom \ --disable-golang \ --disable-pvshim \ --disable-werror \ --disable-docs \ --disable-ocamltools \ --disable-ovmf \ --disable-rombios \ --disable-systemd \ --enable-9pfs \ --enable-tools NO_WERROR=1 make \ CC=clang CXX=clang++ \ HOSTCC=clang HOSTCXX=clang++ \ tools export INITD_DIR=/tmp/init.d export CONFIG_LEAF_DIR=../tmp/default NO_WERROR=1 make DESTDIR=$PKG \ DOCDIR=/usr/share/doc/xen \ XEN_PYTHON_NATIVE_INSTALL=y \ install-tools # remove openrc init scripts — we use runit rm -rf $PKG/etc/init.d # remove dev headers and static libs rm -rf $PKG/usr/include rm -f $PKG/usr/lib/*.a rm -rf $PKG/usr/lib/pkgconfig # remove debug dirs rm -rf $PKG/usr/lib/debug # remove pygrub # rm -f $PKG/usr/libexec/xen/bin/pygrub # rm -rf $PKG/usr/lib/python3*/site-packages/grub # rm -rf $PKG/usr/lib/python3*/site-packages/pygrub* # remove flask/xsm tools — not using XSM rm -f $PKG/usr/sbin/flask-* # remove debug/profiling tools rm -f $PKG/usr/sbin/gdbsx rm -f $PKG/usr/sbin/xen-kdd rm -f $PKG/usr/sbin/xenbaked rm -f $PKG/usr/sbin/xenlockprof rm -f $PKG/usr/sbin/xenmon rm -f $PKG/usr/sbin/xenperf rm -f $PKG/usr/sbin/xentrace rm -f $PKG/usr/sbin/xentrace_setmask rm -f $PKG/usr/sbin/xentrace_setsize # remove livepatch — desktop not server rm -f $PKG/usr/sbin/xen-livepatch # remove HVM loader — PVH only rm -f $PKG/usr/libexec/xen/boot/hvmloader rmdir $PKG/usr/libexec/xen/boot 2>/dev/null || true # remove init-xenstore-domain — not using xenstore stubdomain rm -f $PKG/usr/libexec/xen/bin/init-xenstore-domain # remove bash completion # rm -rf $PKG/etc/bash_completion.d # runtime dirs install -d $PKG/run/xen install -d $PKG/run/xenstored install -d $PKG/var/lib/xenstored install -d $PKG/var/lib/xen/xenpaging } signify() { untrusted comment: public key RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3 } # vim: filetype=sh