Skip to content
Toby Schneider edited this page Apr 23, 2019 · 9 revisions

The CircleCI build currently only works with amd64, since the many dependencies of Wt have not been all converted to multiarch.

To cross-compile the remaining the packages after the CircleCI job completes, we use an AWS Arm based build server.

Initial setup:

sudo apt install sbuild
sudo sbuild-adduser $LOGNAME
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg --arch arm64 stretch /srv/chroot/stretch-arm64-sbuild http://deb.debian.org/debian
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg --arch armhf stretch /srv/chroot/stretch-armhf-sbuild http://deb.debian.org/debian

for DISTRO in bionic xenial; do
for ARCH in arm64 armhf; do
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg --arch $ARCH $DISTRO /srv/chroot/${DISTRO}-${ARCH}-sbuild http://ports.ubuntu.com/ubuntu-ports/ --components=main,restricted,universe,multiverse --extra-repository="deb http://ports.ubuntu.com/ubuntu-ports/ ${DISTRO}-updates main restricted universe multiverse" --extra-repository="deb http://ports.ubuntu.com/ubuntu-ports/ ${DISTRO}-security main restricted universe multiverse" 
done
done

Mount build dir as tmpfs (add to /etc/fstab)

none    /var/lib/schroot/union/overlay  tmpfs   size=3000M,uid=root,gid=root,mode=0750 0 0

Get source

apt-get source witty/bionic
apt-get source witty/xenial
apt-get source witty/stretch

Build

export ARCH=arm64
export DIST=bionic
sudo sbuild-update --arch $ARCH -d $DIST 
sbuild --arch $ARCH -d $DIST witty_3.3.12+dfsg-4~*.dsc -k19478082E2F8D3FE --no-arch-all

Had to remove "libmysqclient-dev" from debian/control for stretch build.

Upload

dput gobysoft-continuous *.changes
dput gobysoft-release *.changes
Clone this wiki locally