blob: a946dbed835a61f8047fbbdab08ea1ed3b079111 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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
|