new distro versions

master
Marc Wäckerlin 7 years ago
parent 647f7a5c41
commit bf8bdde195
  1. 2
      debian/control.in
  2. 53
      scripts/bootstrap-to-docker.sh

2
debian/control.in vendored

@ -6,7 +6,7 @@ Build-Depends: debhelper, fakeroot, svn2cl, subversion, subversion-tools, pkg-co
Package: @PACKAGE_NAME@ Package: @PACKAGE_NAME@
Section: development Section: development
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends} Depends: ${shlibs:Depends}, ${misc:Depends} debootstrap qemu-user-static
Description: @DESCRIPTION@ Description: @DESCRIPTION@
@README_DEB@ @README_DEB@

@ -1,13 +1,5 @@
#!/bin/bash -e #!/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 if test -f /etc/setup-debootstrap.conf; then
. /etc/setup-debootstrap.conf . /etc/setup-debootstrap.conf
fi fi
@ -17,7 +9,6 @@ fi
tmpdir=${tmpdir:-"/var/tmp/chroots"} tmpdir=${tmpdir:-"/var/tmp/chroots"}
test -d "${tmpdir}" || mkdir -p "${tmpdir}" test -d "${tmpdir}" || mkdir -p "${tmpdir}"
docker_user=${docker_user:-${USER}}
if test -z "${ports[@]}"; then if test -z "${ports[@]}"; then
#ports=( armhf powerpc ppc64el s390x arm64 ) #ports=( armhf powerpc ppc64el s390x arm64 )
#qemus=( arm ppc ppc64 s390x aarch64 ) #qemus=( arm ppc ppc64 s390x aarch64 )
@ -39,14 +30,16 @@ fi
excludes="precise-armhf stretch-armhf" excludes="precise-armhf stretch-armhf"
no_universe="jessie sid wheezy" no_universe="jessie sid wheezy"
ubuntu="zesty yakkety xenial trusty" ubuntu="bionic artful zesty xenial trusty"
debian="stretch jessie sid" debian="buster stretch jessie sid"
# not yet successfully installable: ubuntu zesty, debian buster # not yet successfully installable: ubuntu zesty, debian buster
distros=(${distros:-"${ubuntu[@]}" "${debian[@]}"}) 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_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" 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_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_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" #package_not_in_yakkety="default-jdk-headless"
@ -64,11 +57,44 @@ fi
fastmode=0; fastmode=0;
limit= limit=
arch= arch=
docker_user=${docker_user:-${USER:-$(id -un)}}
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case "$1" in case "$1" in
(-h|--help) cat <<EOF
SYNPOSIS: $0 [OPTIONS]
OPTIONS:
-h, --help show this help
-f, --fastmode don't update existing distribution
-l, --limit <distro> limit to given ditribution
-a, --arch <arch> limit to given architecture
-u, --user <name> 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}/<distro>:<codename>-<architecture>. 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;; (-f|--fastmode) fastmode=1;;
(-l|--limit) shift; limit=$1;; (-l|--limit) shift; limit=$1;;
(-a|--arch) shift; arch=$1;; (-a|--arch) shift; arch=$1;;
(-u|--user) shift; docker_user=$1;;
(*) (*)
echo "**** ERROR: unknown option $1" 1>&2 echo "**** ERROR: unknown option $1" 1>&2
exit 1;; exit 1;;
@ -89,8 +115,9 @@ error() {
for ((i=0; i<${#distros[@]}; ++i)); do for ((i=0; i<${#distros[@]}; ++i)); do
for distro in ${distros[$i]}; do for distro in ${distros[$i]}; do
prevent=package_not_in_${distro}; prevent=package_not_in_${distro}
instpkgs=${packages} distropkgs=packages_${distro}
instpkgs="${packages} ${!distropkgs}"
for pkg in ${!prevent}; do for pkg in ${!prevent}; do
instpkgs=${instpkgs//${pkg}/} instpkgs=${instpkgs//${pkg}/}
done done

Loading…
Cancel
Save