summaryrefslogtreecommitdiff
path: root/jenkins/xen-base
blob: 5b777ecc05aeef3d2b324875b0f02c5601015f24 (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
#! /bin/bash

do_build() {

rm -rf xen
cp -a xen-dist xen
cd xen
schroot -c trusty-amd64-sbuild --begin-session --session-name xen || schroot --recover-session -c xen

schroot --run-session -c xen -u root -- dpkg --add-architecture ${arch}
schroot --run-session -c xen -u root -- apt-get update
schroot --run-session -c xen -u root -- apt-get -y install crossbuild-essential-${arch}
schroot --run-session -c xen -u root -- apt-get -y install libc6-dev:${arch} libncurses-dev:${arch} uuid-dev:${arch} libglib2.0-dev:${arch} libssl-dev:${arch} libssl1.0.0:${arch} libaio-dev:${arch} libyajl-dev:${arch} python gettext gcc git libpython2.7-dev:${arch} libfdt-dev:${arch} libpixman-1-dev:${arch} wget fakeroot
# crude form of http://lists.xen.org/archives/html/xen-devel/2013-04/msg01127.html
schroot --run-session -c xen -u root -- sed -i -e '/PSR/d' /usr/aarch64-linux-gnu/include/asm/ptrace.h||true

schroot --run-session -c xen -- env CONFIG_SITE=/etc/dpkg-cross/cross-config.${arch} ./configure --build=x86_64-linux-gnu --host=${triplet} --prefix=/usr
schroot --run-session -c xen -- make -j5 debball dist-xen CROSS_COMPILE=${triplet}- XEN_TARGET_ARCH=${xenarch}

schroot --end-session -c xen

cp -L dist/install/boot/xen ${WORKSPACE}/upload/xen-${arch}
# Avoid -rc${foo} in the debian package name
mv dist/xen*.deb ${WORKSPACE}/upload/xen-${arch}.deb
cd ..

}

set -e

rm -rf xen xen-dist
git clone -b staging git://xenbits.xen.org/xen.git xen-dist

if ! dpkg -s trusty-crosschroot
then
    wget -nc http://repo.linaro.org/ubuntu/linaro-overlay/pool/main/t/trusty-crosschroot/trusty-crosschroot_0.7.3-2_all.deb
    sudo dpkg -i trusty-crosschroot_0.7.3-2_all.deb
fi

rm -rf upload
mkdir upload 

#armhf build
arch=armhf
triplet=arm-linux-gnueabihf
xenarch=arm32

do_build

#arm64 build
arch=arm64
triplet=aarch64-linux-gnu
xenarch=arm64

do_build

mkimage -A arm -C none -T kernel -a 0x0200000 -e 0x00200000 -n Xen -d upload/xen-arm64 upload/uXen-arm64

# Generate BUILD-INFO.txt
cat << EOF > ${WORKSPACE}/upload/BUILD-INFO.txt
Format-Version: 0.5

Files-Pattern: *
License-Type: open
EOF