diff --git a/debian/control.in b/debian/control.in index e400303..db9fd3a 100644 --- a/debian/control.in +++ b/debian/control.in @@ -6,7 +6,7 @@ Build-Depends: debhelper, fakeroot, svn2cl, subversion, subversion-tools, pkg-co Package: @PACKAGE_NAME@ Section: development Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} debootstrap qemu-user-static Description: @DESCRIPTION@ @README_DEB@ diff --git a/scripts/bootstrap-to-docker.sh b/scripts/bootstrap-to-docker.sh index 6d17cdc..ff09b54 100755 --- a/scripts/bootstrap-to-docker.sh +++ b/scripts/bootstrap-to-docker.sh @@ -1,13 +1,5 @@ #!/bin/bash -e -# pass your docker hub login name as $1, defaults to your user name -# you should have a repositories named ubuntu and debian -# if you have your own repository, you can also prepend it: -# my.repo.url:5000/myname the script will then append ubuntu or debian -# e.g. to my.repo.url:5000/myname/ubuntu:trusty-amd64 -# please login to docker before you start this script -docker_user=${1:-${docker_user:-$(id -un)}} - if test -f /etc/setup-debootstrap.conf; then . /etc/setup-debootstrap.conf fi @@ -17,7 +9,6 @@ fi tmpdir=${tmpdir:-"/var/tmp/chroots"} test -d "${tmpdir}" || mkdir -p "${tmpdir}" -docker_user=${docker_user:-${USER}} if test -z "${ports[@]}"; then #ports=( armhf powerpc ppc64el s390x arm64 ) #qemus=( arm ppc ppc64 s390x aarch64 ) @@ -39,14 +30,16 @@ fi excludes="precise-armhf stretch-armhf" no_universe="jessie sid wheezy" -ubuntu="zesty yakkety xenial trusty" -debian="stretch jessie sid" +ubuntu="bionic artful zesty xenial trusty" +debian="buster stretch jessie sid" # not yet successfully installable: ubuntu zesty, debian buster distros=(${distros:-"${ubuntu[@]}" "${debian[@]}"}) packages_qt5="libpoppler-qt5-dev libpodofo-dev libqt5designer5 libqt5svg5-dev libqt5webkit5-dev qt5-default qt5-qmake qtbase5-dev qtbase5-dev-tools qttools5-dev qttools5-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 xvfb texinfo" +package_not_in_bionic="libpoppler-qt5-dev libqt5webkit5-dev texinfo libcppunit-dev liblog4cxx-dev mscgen nodejs pandoc xvfb libpodofo-dev libqt5designer5 qt5-default qttools5-dev-tools qttools5-dev" +package_not_in_artful="texinfo libcppunit-dev liblog4cxx-dev mscgen nodejs pandoc xvfb libpodofo-dev libqt5designer5 qt5-default qttools5-dev-tools qttools5-dev" package_not_in_stretch="libssl-dev" package_not_in_zesty="texinfo libcppunit-dev liblog4cxx-dev mscgen nodejs pandoc xvfb libpodofo-dev libqt5designer5 qt5-default qttools5-dev-tools qttools5-dev" #package_not_in_yakkety="default-jdk-headless" @@ -64,11 +57,44 @@ fi fastmode=0; limit= arch= +docker_user=${docker_user:-${USER:-$(id -un)}} while [ $# -gt 0 ]; do case "$1" in + (-h|--help) cat < limit to given ditribution + -a, --arch limit to given architecture + -u, --user docker hub user name + +VARIABLES: + + docker_user docker hub user name (${docker_user}) + tmpdir temporary directory (${tmpdir}) + +DESCRIPTION: + +Bootstraps chroots in ${tmpdir} for distro ubuntu and debian +distributions of architecture ${archs// /, }, updates them and creates +docker images on docker hub with tag +${docker_user}/:-. You should have a +repositories named ubuntu and debian. You can the use these images +e.g. for compiling packages in jenkins. If you have your own +repository, you can also prepend it to docker hub user name, +e.g. my.repo.url:5000/myname the script will then append ubuntu or +debian, e.g. to my.repo.url:5000/myname/ubuntu:trusty-amd64. Please +login to docker hub before you start this script. + +EOF + exit 0;; (-f|--fastmode) fastmode=1;; (-l|--limit) shift; limit=$1;; (-a|--arch) shift; arch=$1;; + (-u|--user) shift; docker_user=$1;; (*) echo "**** ERROR: unknown option $1" 1>&2 exit 1;; @@ -89,8 +115,9 @@ error() { for ((i=0; i<${#distros[@]}; ++i)); do for distro in ${distros[$i]}; do - prevent=package_not_in_${distro}; - instpkgs=${packages} + prevent=package_not_in_${distro} + distropkgs=packages_${distro} + instpkgs="${packages} ${!distropkgs}" for pkg in ${!prevent}; do instpkgs=${instpkgs//${pkg}/} done