summaryrefslogtreecommitdiff
path: root/opt/xen-tools/MAKEPKG
diff options
context:
space:
mode:
Diffstat (limited to 'opt/xen-tools/MAKEPKG')
-rw-r--r--opt/xen-tools/MAKEPKG147
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