diff options
Diffstat (limited to 'opt/xen-tools/MAKEPKG')
| -rw-r--r-- | opt/xen-tools/MAKEPKG | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/opt/xen-tools/MAKEPKG b/opt/xen-tools/MAKEPKG new file mode 100644 index 0000000..a946dbe --- /dev/null +++ b/opt/xen-tools/MAKEPKG @@ -0,0 +1,147 @@ +#!/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 |
