update build system

This commit is contained in:
Marc Wäckerlin
2017-01-07 12:37:46 +00:00
parent 1540cd41c7
commit a1047b0450
9 changed files with 708 additions and 110 deletions

View File

@@ -36,13 +36,16 @@ if test -z "$archs"; then
fi
done
fi
excludes="precise-armhf"
no_universe="jessie sid wheezy"
ubuntu_qt5="yakkety xenial wily vivid trusty"
ubuntu_qt5="zesty yakkety xenial wily vivid trusty"
ubuntu_qt4="precise"
debian_qt5="jessie sid"
debian_qt4=""
debian_qt4="wheezy"
# not yet successfully installable: debian stretch and buster
ubuntu=("${ubuntu_qt5}")
ubuntu=("${ubuntu_qt5}" "${ubuntu_qt4}")
debian=("${debian_qt5}" "${debian_qt4}")
distros=(${distros:-"${ubuntu[@]}" "${debian[@]}"})
@@ -52,9 +55,14 @@ packages_qt4="libqt4-core libqt4-designer libqt4-dev libqt4-webkit qt4-dev-tools
packages_base="apt-transport-https automake autotools-dev binutils-dev debhelper default-jdk-headless doxygen dpkg-dev g++ git graphviz libboost-thread-dev libcppunit-dev liblog4cxx-dev libpcsclite-dev libpkcs11-helper1-dev libproxy-dev libssl-dev libtool libz-dev lsb-release mscgen nodejs pandoc pkg-config software-properties-common subversion subversion-tools texinfo xvfb"
#package_not_in_yakkety="default-jdk-headless"
package_not_in_wily="default-jdk-headless"
package_not_in_vivid="default-jdk-headless liblog4cxx-dev"
package_not_in_trusty="default-jdk-headless liblog4cxx-dev"
package_not_in_jessie="default-jdk-headless liblog4cxx-dev"
package_not_in_precise="default-jdk-headless liblog4cxx-dev"
package_not_in_wheezy="default-jdk-headless liblog4cxx-dev nodejs"
if test -z "${packages[@]}"; then
packages=("${packages_base} ${packages_qt5}" "${packages_base} ${packages_qt5}" "${packages_base} ${packages_qt4}")
packages=("${packages_base} ${packages_qt5}" "${packages_base} ${packages_qt4}" "${packages_base} ${packages_qt5}" "${packages_base} ${packages_qt4}")
fi
if test -z "${index}" -a "${#distros[@]}" -ne "${#packages[@]}"; then
echo "**** ERROR: number of distribution lists doesn't match package lists" 1>&2
@@ -65,10 +73,12 @@ fi
fastmode=0;
limit=
arch=
while [ $# -gt 0 ]; do
case "$1" in
(-f|--fastmode) fastmode=1;;
(-l|--limit) shift; limit=$1;;
(-a|--arch) shift; arch=$1;;
(*)
echo "**** ERROR: unknown option $1" 1>&2
exit 1;;
@@ -108,7 +118,10 @@ for ((i=0; i<${#distros[@]}; ++i)); do
else
type="debian"
fi
for arch in ${archs}; do
for arch in ${arch:-$archs}; do
if [[ "${distro}-${arch}" = "$excludes" ]]; then
continue;
fi
trap 'error "${LINENO}" "${tmpdir}" "${disto}" "${arch}"' ERR SIGINT
echo "******** process $type $distro $arch ********" 1>&2
if test -d "${tmpdir}/${distro}-${arch}"; then
@@ -135,9 +148,9 @@ for ((i=0; i<${#distros[@]}; ++i)); do
echo " ---- install on $qemu ${tmpdir}/${distro}-${arch}" 1>&2
sudo debootstrap --foreign --arch="$arch" "$distro" "${tmpdir}/${distro}-${arch}"
sudo cp /usr/bin/qemu-${qemu}-static "${tmpdir}/${distro}-${arch}/usr/bin/qemu-${qemu}-static"
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot "${tmpdir}/${distro}-${arch}" /debootstrap/debootstrap --second-stage || \
sudo chroot "${tmpdir}/${distro}-${arch}" apt-get -o Acquire::ForceIPv4=true -y -f install && \
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot "${tmpdir}/${distro}-${arch}" /debootstrap/debootstrap --second-stage
if test -f "${tmpdir}/${distro}-${arch}"/debootstrap/debootstrap; then
ls -l "${tmpdir}/${distro}-${arch}"/debootstrap/debootstrap
fi
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot "${tmpdir}/${distro}-${arch}" dpkg --configure -a
fi
fi
@@ -183,10 +196,10 @@ EOF1
sudo chroot "${tmpdir}/${distro}-${arch}" apt-get -o Acquire::ForceIPv4=true -y upgrade
sudo chroot "${tmpdir}/${distro}-${arch}" apt-get -o Acquire::ForceIPv4=true install -y python-software-properties software-properties-common || \
sudo chroot "${tmpdir}/${distro}-${arch}" apt-get -o Acquire::ForceIPv4=true install -y software-properties-common
if test "${distro}" != "jessie" -a "${distro}" != "sid"; then
if [[ "${distro}" = "${no_universe}" ]]; then
sudo chroot "${tmpdir}/${distro}-${arch}" add-apt-repository universe || \
( test "$type" != "debian" && \
sudo chroot "${tmpdir}/${distro}-${arch}" add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${distro} universe" )
sudo chroot "${tmpdir}/${distro}-${arch}" add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${distro} universe" )
fi
sudo chroot "${tmpdir}/${distro}-${arch}" apt-get -o Acquire::ForceIPv4=true update
sudo chroot "${tmpdir}/${distro}-${arch}" apt-get -o Acquire::ForceIPv4=true -y dist-upgrade