├── LICENSE ├── README.md ├── baseimage └── build-scrtch.sh ├── snapcraft-docker ├── xenial ├── amd64 │ ├── 2.13.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.13 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.14 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.15.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.15 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.16 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.17 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.18.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.18 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.19 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.20-imagebuilder │ │ └── Dockerfile │ ├── 2.20 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.21-imagebuilder │ │ └── Dockerfile │ ├── 2.21 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.22-imagebuilder │ │ └── Dockerfile │ ├── 2.22.1-imagebuilder │ │ └── Dockerfile │ ├── 2.22.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.22 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.23-imagebuilder │ │ └── Dockerfile │ ├── 2.23 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.24-imagebuilder │ │ └── Dockerfile │ ├── 2.24 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.25 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.26 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.27.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.27 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.28 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.29.1-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.29.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.29 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.30-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.30 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.31-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.31 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.32-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.32 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.33-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.33 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.34-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.34 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.35-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.35 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.36-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.36.1-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.36.1 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.36 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.37-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.37 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.38-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ ├── 2.38 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh │ ├── 2.39-imagebuilder │ │ ├── Dockerfile │ │ └── disable-sparse-check.patch │ └── 2.39 │ │ ├── Dockerfile │ │ └── docker-entrypoint.sh ├── arm64 │ ├── 2.17 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.18.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.18 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.19 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.20 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.21 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.22.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.22 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.23 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.24 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.25 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.26 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.27.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.27 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.28 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.29.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.29 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.30 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ ├── 2.31 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static │ └── 2.32 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-aarch64-static ├── armhf │ ├── 2.17 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.18.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.18 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.19 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.20 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.21 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.22.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.22 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.23 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.24 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.25 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.26 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.27.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.27 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.28 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.29.1 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.29 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.30 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ ├── 2.31 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static │ └── 2.32 │ │ ├── Dockerfile │ │ ├── docker-entrypoint.sh │ │ └── qemu-arm-static └── i386 │ ├── 2.17 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.18.1 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.18 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.19 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.20 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.21 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.22.1 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.22 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.23 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.24 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.25 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.26 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.27.1 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.27 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.28 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.29.1 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.29 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.30 │ ├── Dockerfile │ └── docker-entrypoint.sh │ ├── 2.31 │ ├── Dockerfile │ └── docker-entrypoint.sh │ └── 2.32 │ ├── Dockerfile │ └── docker-entrypoint.sh └── zesty ├── amd64 └── 2.29.1 │ ├── Dockerfile │ └── docker-entrypoint.sh ├── arm64 └── 2.29.1 │ ├── Dockerfile │ ├── docker-entrypoint.sh │ └── qemu-aarch64-static ├── armhf └── 2.29.1 │ ├── Dockerfile │ ├── docker-entrypoint.sh │ └── qemu-arm-static └── i386 └── 2.29.1 ├── Dockerfile └── docker-entrypoint.sh /LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining 2 | a copy of this software and associated documentation files (the 3 | "Software"), to deal in the Software without restriction, including 4 | without limitation the rights to use, copy, modify, merge, publish, 5 | distribute, sublicense, and/or sell copies of the Software, and to 6 | permit persons to whom the Software is furnished to do so, subject to 7 | the following conditions: 8 | . 9 | The above copyright notice and this permission notice shall be 10 | included in all copies or substantial portions of the Software. 11 | . 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 13 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 16 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 17 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 18 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /baseimage/build-scrtch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Scripts to build the base images from scratch. 3 | 4 | for VERSION in 16.04.3 17.04; do 5 | for ARCH in amd64 i386 armhf arm64 ; do 6 | curl http://cdimage.ubuntu.com/ubuntu-base/releases/$VERSION/release/ubuntu-base-$VERSION-base-$ARCH.tar.gz | docker import - snapcraft/ubuntu-base:$ARCH-$VERSION 7 | docker push snapcraft/ubuntu-base:$ARCH-$VERSION 8 | done 9 | done 10 | -------------------------------------------------------------------------------- /snapcraft-docker: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | VERSION="${VERSION:-latest}" 4 | 5 | ARCH="${ARCH:-$(uname -m)}" 6 | if [ ${ARCH} = "x86_64" ] ; then 7 | ARCH="amd64" 8 | fi 9 | 10 | USERID="${USERID:-$(id -u)}" 11 | 12 | docker run -u ${USERID} -t -i --rm -v $(pwd):/build \ 13 | --privileged=true \ 14 | -v ${HOME}/.snap:/home/.snap \ 15 | -v ${HOME}/.local/share/snapcraft:/home/.local/share/snapcraft \ 16 | -v ${HOME}/.cache/snapcraft:/home/.cache/snapcraft \ 17 | -v ${HOME}/.config/snapcraft:/home/.config/snapcraft \ 18 | snapcraft/xenial-${ARCH}:${VERSION} $@ 19 | -------------------------------------------------------------------------------- /xenial/amd64/2.13.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.13.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.13.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.13/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.13 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.13/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.14/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.14 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.14/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.15.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.15.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.15.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.15/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.15 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.15/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.16/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.16 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.16/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.17/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.17 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | 44 | VOLUME /build 45 | WORKDIR /build 46 | 47 | ADD docker-entrypoint.sh /usr/local/bin 48 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 49 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 50 | -------------------------------------------------------------------------------- /xenial/amd64/2.17/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.18.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | 44 | VOLUME /build 45 | WORKDIR /build 46 | 47 | ADD docker-entrypoint.sh /usr/local/bin 48 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 49 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 50 | -------------------------------------------------------------------------------- /xenial/amd64/2.18.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.18/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/amd64/2.18/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.19/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.19 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | 44 | VOLUME /build 45 | WORKDIR /build 46 | 47 | ADD docker-entrypoint.sh /usr/local/bin 48 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 49 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 50 | -------------------------------------------------------------------------------- /xenial/amd64/2.19/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.20-imagebuilder/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/xenial-amd64:2.20 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV UBUNTUIMAGE_VERSION=0.10+real1 5 | RUN apt-get install -y --no-install-recommends \ 6 | devscripts \ 7 | equivs \ 8 | git 9 | 10 | 11 | WORKDIR /tmp 12 | RUN git clone --depth 1 --branch ${UBUNTUIMAGE_VERSION} https://github.com/CanonicalLtd/ubuntu-image \ 13 | && cd ubuntu-image \ 14 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 15 | && dpkg-buildpackage -us -uc \ 16 | && apt-get install -y ../*.deb \ 17 | && mkdir -p /snap/bin \ 18 | && ln -s /usr/bin/ubuntu-image /snap/bin/ubuntu-image 19 | 20 | RUN echo "ALL ALL=NOPASSWD: /snap/bin/ubuntu-image" >> /etc/sudoers.d/ubuntu-image \ 21 | && chmod 0440 /etc/sudoers.d/ubuntu-image 22 | 23 | # Install toolchins 24 | RUN apt-get install -y build-essential u-boot-tools lzop debootstrap \ 25 | gcc-4.8 \ 26 | gcc-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf \ 27 | device-tree-compiler 28 | 29 | # change the default gcc to 4.8, since old kernel need old gcc. 30 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 \ 31 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 50 32 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \ 33 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-4.8 100 34 | 35 | # multiarch. 36 | RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y libc6:i386 37 | 38 | RUN apt-get remove --purge -y devscripts equivs 39 | RUN apt-get autoremove -y 40 | RUN apt-get clean -y 41 | RUN rm -rf /tmp/* /var/tmp/* 42 | 43 | WORKDIR /build 44 | -------------------------------------------------------------------------------- /xenial/amd64/2.20/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.20 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.20/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.21-imagebuilder/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/xenial-amd64:2.21 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV UBUNTUIMAGE_VERSION=0.11+16.04ubuntu1 5 | RUN apt-get install -y --no-install-recommends \ 6 | devscripts \ 7 | equivs \ 8 | git 9 | 10 | 11 | WORKDIR /tmp 12 | RUN git clone --depth 1 --branch ${UBUNTUIMAGE_VERSION} https://github.com/CanonicalLtd/ubuntu-image \ 13 | && cd ubuntu-image \ 14 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 15 | && dpkg-buildpackage -us -uc \ 16 | && apt-get install -y ../*.deb \ 17 | && mkdir -p /snap/bin \ 18 | && ln -s /usr/bin/ubuntu-image /snap/bin/ubuntu-image 19 | 20 | RUN mknod /dev/loop0 b 7 0 21 | RUN echo "ALL ALL=NOPASSWD: /snap/bin/ubuntu-image, /bin/mount" >> /etc/sudoers.d/ubuntu-image \ 22 | && chmod 0440 /etc/sudoers.d/ubuntu-image 23 | 24 | # Install toolchins 25 | RUN apt-get install -y build-essential u-boot-tools lzop debootstrap \ 26 | gcc-4.8 \ 27 | gcc-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf \ 28 | device-tree-compiler 29 | 30 | # change the default gcc to 4.8, since old kernel need old gcc. 31 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 \ 32 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 50 33 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \ 34 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-4.8 100 35 | 36 | # multiarch. 37 | RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y libc6:i386 38 | 39 | RUN apt-get remove --purge -y devscripts equivs 40 | RUN apt-get autoremove -y 41 | RUN apt-get clean -y 42 | RUN rm -rf /tmp/* /var/tmp/* 43 | 44 | WORKDIR /build 45 | -------------------------------------------------------------------------------- /xenial/amd64/2.21/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.21 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.21/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.22-imagebuilder/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/xenial-amd64:2.22 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV UBUNTUIMAGE_VERSION=0.11+16.04ubuntu1 5 | RUN apt-get install -y --no-install-recommends \ 6 | devscripts \ 7 | equivs \ 8 | git 9 | 10 | WORKDIR /tmp 11 | RUN git clone --depth 1 --branch ${UBUNTUIMAGE_VERSION} https://github.com/CanonicalLtd/ubuntu-image \ 12 | && cd ubuntu-image \ 13 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 14 | && dpkg-buildpackage -us -uc \ 15 | && apt-get install -y ../*.deb \ 16 | && mkdir -p /snap/bin \ 17 | && ln -s /usr/bin/ubuntu-image /snap/bin/ubuntu-image 18 | 19 | RUN mknod /dev/loop0 b 7 0 20 | RUN echo "ALL ALL=NOPASSWD: /snap/bin/ubuntu-image, /bin/mount" >> /etc/sudoers.d/ubuntu-image \ 21 | && chmod 0440 /etc/sudoers.d/ubuntu-image 22 | 23 | # Install toolchins 24 | RUN apt-get install -y build-essential u-boot-tools lzop debootstrap \ 25 | gcc-4.8 \ 26 | gcc-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf \ 27 | device-tree-compiler 28 | 29 | # change the default gcc to 4.8, since old kernel need old gcc. 30 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 \ 31 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 50 32 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \ 33 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-4.8 100 34 | 35 | # multiarch. 36 | RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y libc6:i386 37 | 38 | RUN apt-get remove --purge -y devscripts equivs 39 | RUN apt-get autoremove -y 40 | RUN apt-get clean -y 41 | RUN rm -rf /tmp/* /var/tmp/* 42 | 43 | WORKDIR /build 44 | -------------------------------------------------------------------------------- /xenial/amd64/2.22.1-imagebuilder/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/xenial-amd64:2.22 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV UBUNTUIMAGE_VERSION=0.11+16.04ubuntu1 5 | RUN apt-get install -y --no-install-recommends \ 6 | devscripts \ 7 | equivs \ 8 | git 9 | 10 | WORKDIR /tmp 11 | RUN git clone --depth 1 --branch ${UBUNTUIMAGE_VERSION} https://github.com/CanonicalLtd/ubuntu-image \ 12 | && cd ubuntu-image \ 13 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 14 | && dpkg-buildpackage -us -uc \ 15 | && apt-get install -y ../*.deb \ 16 | && mkdir -p /snap/bin \ 17 | && ln -s /usr/bin/ubuntu-image /snap/bin/ubuntu-image 18 | 19 | RUN mknod /dev/loop0 b 7 0 20 | RUN echo "ALL ALL=NOPASSWD: /snap/bin/ubuntu-image, /bin/mount" >> /etc/sudoers.d/ubuntu-image \ 21 | && chmod 0440 /etc/sudoers.d/ubuntu-image 22 | 23 | # Install toolchins 24 | RUN apt-get install -y build-essential u-boot-tools lzop debootstrap \ 25 | gcc-4.8 \ 26 | gcc-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf \ 27 | device-tree-compiler 28 | 29 | # change the default gcc to 4.8, since old kernel need old gcc. 30 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 \ 31 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 50 32 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \ 33 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-4.8 100 34 | 35 | # multiarch. 36 | RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y libc6:i386 37 | 38 | RUN apt-get remove --purge -y devscripts equivs 39 | RUN apt-get autoremove -y 40 | RUN apt-get clean -y 41 | RUN rm -rf /tmp/* /var/tmp/* 42 | 43 | WORKDIR /build 44 | -------------------------------------------------------------------------------- /xenial/amd64/2.22.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.22.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.22/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.22/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.23-imagebuilder/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/xenial-amd64:2.23 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV UBUNTUIMAGE_VERSION=0.12+16.04ubuntu1 5 | RUN apt-get install -y --no-install-recommends \ 6 | devscripts \ 7 | equivs \ 8 | git 9 | 10 | WORKDIR /tmp 11 | RUN git clone --depth 1 --branch ${UBUNTUIMAGE_VERSION} https://github.com/CanonicalLtd/ubuntu-image \ 12 | && cd ubuntu-image \ 13 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 14 | && dpkg-buildpackage -us -uc \ 15 | && apt-get install -y ../*.deb \ 16 | && mkdir -p /snap/bin \ 17 | && ln -s /usr/bin/ubuntu-image /snap/bin/ubuntu-image 18 | 19 | RUN mknod /dev/loop0 b 7 0 20 | RUN echo "ALL ALL=NOPASSWD: /snap/bin/ubuntu-image, /bin/mount" >> /etc/sudoers.d/ubuntu-image \ 21 | && chmod 0440 /etc/sudoers.d/ubuntu-image 22 | 23 | # Install toolchins 24 | RUN apt-get install -y build-essential u-boot-tools lzop debootstrap \ 25 | gcc-4.8 \ 26 | gcc-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf \ 27 | device-tree-compiler 28 | 29 | # change the default gcc to 4.8, since old kernel need old gcc. 30 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 \ 31 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 50 32 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \ 33 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-4.8 100 34 | 35 | # multiarch. 36 | RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y libc6:i386 37 | 38 | RUN apt-get remove --purge -y devscripts equivs 39 | RUN apt-get autoremove -y 40 | RUN apt-get clean -y 41 | RUN rm -rf /tmp/* /var/tmp/* 42 | 43 | WORKDIR /build 44 | -------------------------------------------------------------------------------- /xenial/amd64/2.23/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.23 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.23/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.24-imagebuilder/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/xenial-amd64:2.24 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV UBUNTUIMAGE_VERSION=0.12+16.04ubuntu1 5 | RUN apt-get install -y --no-install-recommends \ 6 | devscripts \ 7 | equivs \ 8 | git 9 | 10 | WORKDIR /tmp 11 | RUN git clone --depth 1 --branch ${UBUNTUIMAGE_VERSION} https://github.com/CanonicalLtd/ubuntu-image \ 12 | && cd ubuntu-image \ 13 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 14 | && dpkg-buildpackage -us -uc \ 15 | && apt-get install -y ../*.deb \ 16 | && mkdir -p /snap/bin \ 17 | && ln -s /usr/bin/ubuntu-image /snap/bin/ubuntu-image 18 | 19 | RUN mknod /dev/loop0 b 7 0 20 | RUN echo "ALL ALL=NOPASSWD: /snap/bin/ubuntu-image, /bin/mount" >> /etc/sudoers.d/ubuntu-image \ 21 | && chmod 0440 /etc/sudoers.d/ubuntu-image 22 | 23 | # Install toolchins 24 | RUN apt-get install -y build-essential u-boot-tools lzop debootstrap \ 25 | gcc-4.8 \ 26 | gcc-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf \ 27 | device-tree-compiler 28 | 29 | # change the default gcc to 4.8, since old kernel need old gcc. 30 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 \ 31 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 50 32 | RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \ 33 | && update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-4.8 100 34 | 35 | # multiarch. 36 | RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y libc6:i386 37 | 38 | RUN apt-get remove --purge -y devscripts equivs 39 | RUN apt-get autoremove -y 40 | RUN apt-get clean -y 41 | RUN rm -rf /tmp/* /var/tmp/* 42 | 43 | WORKDIR /build 44 | -------------------------------------------------------------------------------- /xenial/amd64/2.24/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.24 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.24/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.25/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.25 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.25/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.26/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.26 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.26/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.27.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.27.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.27.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.27/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.27 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.27/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.28/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.28 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.28/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.29.1-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.29.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.29.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.29/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.29 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.29/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/amd64/2.30-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.30/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.30 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.30/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/amd64/2.31-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.31/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.31 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/amd64/2.31/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/amd64/2.32-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.32/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.32 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && rm -f snapcraft/tests/plugins/test_rust.py \ 23 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 24 | && dpkg-buildpackage -us -uc \ 25 | && apt-get install -y ../*.deb \ 26 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 27 | && apt-get autoremove -y \ 28 | && apt-get clean -y 29 | RUN rm -rf /tmp/* /var/tmp/* 30 | 31 | # Setup sudo for apt-get 32 | RUN apt-get install -y sudo 33 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 34 | && chmod 0440 /etc/sudoers.d/apt-get 35 | 36 | # sudo requires a pw entry 37 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 38 | 39 | # Clean up 40 | RUN apt-get clean 41 | 42 | # snapcraft need to save configs in ${HOME}/.local 43 | ENV HOME /home 44 | RUN chgrp -R 100 /home \ 45 | && chmod -R g+rwx /home 46 | 47 | VOLUME /build 48 | WORKDIR /build 49 | 50 | ADD docker-entrypoint.sh /usr/local/bin 51 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 52 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 53 | -------------------------------------------------------------------------------- /xenial/amd64/2.32/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.33-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.33/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.33 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && rm -f snapcraft/tests/plugins/test_rust.py \ 23 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 24 | && dpkg-buildpackage -us -uc \ 25 | && apt-get install -y ../*.deb \ 26 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 27 | && apt-get autoremove -y \ 28 | && apt-get clean -y 29 | RUN rm -rf /tmp/* /var/tmp/* 30 | 31 | # Setup sudo for apt-get 32 | RUN apt-get install -y sudo 33 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 34 | && chmod 0440 /etc/sudoers.d/apt-get 35 | 36 | # sudo requires a pw entry 37 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 38 | 39 | # Clean up 40 | RUN apt-get clean 41 | 42 | # snapcraft need to save configs in ${HOME}/.local 43 | ENV HOME /home 44 | RUN chgrp -R 100 /home \ 45 | && chmod -R g+rwx /home 46 | 47 | VOLUME /build 48 | WORKDIR /build 49 | 50 | ADD docker-entrypoint.sh /usr/local/bin 51 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 52 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 53 | -------------------------------------------------------------------------------- /xenial/amd64/2.33/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.34-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.34/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.34 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && rm -f snapcraft/tests/plugins/test_rust.py \ 23 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 24 | && dpkg-buildpackage -us -uc \ 25 | && apt-get install -y ../*.deb \ 26 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 27 | && apt-get autoremove -y \ 28 | && apt-get clean -y 29 | RUN rm -rf /tmp/* /var/tmp/* 30 | 31 | # Setup sudo for apt-get 32 | RUN apt-get install -y sudo 33 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 34 | && chmod 0440 /etc/sudoers.d/apt-get 35 | 36 | # sudo requires a pw entry 37 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 38 | 39 | # Clean up 40 | RUN apt-get clean 41 | 42 | # snapcraft need to save configs in ${HOME}/.local 43 | ENV HOME /home 44 | RUN chgrp -R 100 /home \ 45 | && chmod -R g+rwx /home 46 | 47 | VOLUME /build 48 | WORKDIR /build 49 | 50 | ADD docker-entrypoint.sh /usr/local/bin 51 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 52 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 53 | -------------------------------------------------------------------------------- /xenial/amd64/2.34/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.35-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.35/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.3 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.35 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | RUN apt-get dist-upgrade -y 11 | 12 | # build and install snapcraft 13 | WORKDIR /tmp 14 | RUN apt-get install -y --no-install-recommends \ 15 | devscripts \ 16 | equivs \ 17 | git \ 18 | ca-certificates \ 19 | curl 20 | 21 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 22 | && cd snapcraft \ 23 | && rm -f snapcraft/tests/plugins/test_rust.py \ 24 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 25 | && dpkg-buildpackage -us -uc \ 26 | && apt-get install -y ../*.deb \ 27 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 28 | && apt-get autoremove -y \ 29 | && apt-get clean -y 30 | RUN rm -rf /tmp/* /var/tmp/* 31 | 32 | # Setup sudo for apt-get 33 | RUN apt-get install -y sudo 34 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 35 | && chmod 0440 /etc/sudoers.d/apt-get 36 | 37 | # sudo requires a pw entry 38 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 39 | 40 | # Clean up 41 | RUN apt-get clean 42 | 43 | # snapcraft need to save configs in ${HOME}/.local 44 | ENV HOME /home 45 | RUN chgrp -R 100 /home \ 46 | && chmod -R g+rwx /home 47 | 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/amd64/2.35/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.36-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.36.1-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.36.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.3 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.36.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | RUN apt-get dist-upgrade -y 11 | 12 | # build and install snapcraft 13 | WORKDIR /tmp 14 | RUN apt-get install -y --no-install-recommends \ 15 | devscripts \ 16 | equivs \ 17 | git \ 18 | ca-certificates \ 19 | curl 20 | 21 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 22 | && cd snapcraft \ 23 | && rm -f snapcraft/tests/plugins/test_rust.py \ 24 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 25 | && dpkg-buildpackage -us -uc \ 26 | && apt-get install -y ../*.deb \ 27 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 28 | && apt-get autoremove -y \ 29 | && apt-get clean -y 30 | RUN rm -rf /tmp/* /var/tmp/* 31 | 32 | # Setup sudo for apt-get 33 | RUN apt-get install -y sudo 34 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 35 | && chmod 0440 /etc/sudoers.d/apt-get 36 | 37 | # sudo requires a pw entry 38 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 39 | 40 | # Clean up 41 | RUN apt-get clean 42 | 43 | # snapcraft need to save configs in ${HOME}/.local 44 | ENV HOME /home 45 | RUN chgrp -R 100 /home \ 46 | && chmod -R g+rwx /home 47 | 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/amd64/2.36.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.36/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.3 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.36 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | RUN apt-get dist-upgrade -y 11 | 12 | # build and install snapcraft 13 | WORKDIR /tmp 14 | RUN apt-get install -y --no-install-recommends \ 15 | devscripts \ 16 | equivs \ 17 | git \ 18 | ca-certificates \ 19 | curl 20 | 21 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 22 | && cd snapcraft \ 23 | && rm -f snapcraft/tests/plugins/test_rust.py \ 24 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 25 | && dpkg-buildpackage -us -uc \ 26 | && apt-get install -y ../*.deb \ 27 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 28 | && apt-get autoremove -y \ 29 | && apt-get clean -y 30 | RUN rm -rf /tmp/* /var/tmp/* 31 | 32 | # Setup sudo for apt-get 33 | RUN apt-get install -y sudo 34 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 35 | && chmod 0440 /etc/sudoers.d/apt-get 36 | 37 | # sudo requires a pw entry 38 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 39 | 40 | # Clean up 41 | RUN apt-get clean 42 | 43 | # snapcraft need to save configs in ${HOME}/.local 44 | ENV HOME /home 45 | RUN chgrp -R 100 /home \ 46 | && chmod -R g+rwx /home 47 | 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/amd64/2.36/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.37-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.37/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.3 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.37 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | RUN apt-get dist-upgrade -y 11 | 12 | # build and install snapcraft 13 | WORKDIR /tmp 14 | RUN apt-get install -y --no-install-recommends \ 15 | devscripts \ 16 | equivs \ 17 | git \ 18 | ca-certificates \ 19 | curl 20 | 21 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 22 | && cd snapcraft \ 23 | && rm -f snapcraft/tests/plugins/test_rust.py \ 24 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 25 | && dpkg-buildpackage -us -uc \ 26 | && apt-get install -y ../*.deb \ 27 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 28 | && apt-get autoremove -y \ 29 | && apt-get clean -y 30 | RUN rm -rf /tmp/* /var/tmp/* 31 | 32 | # Setup sudo for apt-get 33 | RUN apt-get install -y sudo 34 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 35 | && chmod 0440 /etc/sudoers.d/apt-get 36 | 37 | # sudo requires a pw entry 38 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 39 | 40 | # Clean up 41 | RUN apt-get clean 42 | 43 | # snapcraft need to save configs in ${HOME}/.local 44 | ENV HOME /home 45 | RUN chgrp -R 100 /home \ 46 | && chmod -R g+rwx /home 47 | 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/amd64/2.37/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.38-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.38/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.3 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.38 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | RUN apt-get dist-upgrade -y 11 | 12 | # build and install snapcraft 13 | WORKDIR /tmp 14 | RUN apt-get install -y --no-install-recommends \ 15 | devscripts \ 16 | equivs \ 17 | git \ 18 | ca-certificates \ 19 | curl 20 | 21 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 22 | && cd snapcraft \ 23 | && rm -f snapcraft/tests/plugins/test_rust.py \ 24 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 25 | && dpkg-buildpackage -us -uc \ 26 | && apt-get install -y ../*.deb \ 27 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 28 | && apt-get autoremove -y \ 29 | && apt-get clean -y 30 | RUN rm -rf /tmp/* /var/tmp/* 31 | 32 | # Setup sudo for apt-get 33 | RUN apt-get install -y sudo 34 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 35 | && chmod 0440 /etc/sudoers.d/apt-get 36 | 37 | # sudo requires a pw entry 38 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 39 | 40 | # Clean up 41 | RUN apt-get clean 42 | 43 | # snapcraft need to save configs in ${HOME}/.local 44 | ENV HOME /home 45 | RUN chgrp -R 100 /home \ 46 | && chmod -R g+rwx /home 47 | 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/amd64/2.38/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/amd64/2.39-imagebuilder/disable-sparse-check.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ubuntu_image/tests/test_helpers.py b/ubuntu_image/tests/test_helpers.py 2 | index e7148d6..adf4dae 100644 3 | --- a/ubuntu_image/tests/test_helpers.py 4 | +++ b/ubuntu_image/tests/test_helpers.py 5 | @@ -44,6 +44,9 @@ def is_sparse(path): 6 | # after position 0. If there is no data, an ENXIO will get raised, at 7 | # least on any modern Linux kernels we care about. See lseek(2) for 8 | # details. 9 | + 10 | + # XXX cointainer with aufs does not support sparse file. 11 | + return True 12 | with open(path, 'r') as fp: 13 | try: 14 | os.lseek(fp.fileno(), 0, os.SEEK_DATA) 15 | -------------------------------------------------------------------------------- /xenial/amd64/2.39/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-16.04.3 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.39 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | RUN apt-get dist-upgrade -y 11 | 12 | # build and install snapcraft 13 | WORKDIR /tmp 14 | RUN apt-get install -y --no-install-recommends \ 15 | devscripts \ 16 | equivs \ 17 | git \ 18 | ca-certificates \ 19 | curl 20 | 21 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 22 | && cd snapcraft \ 23 | && rm -f snapcraft/tests/plugins/test_rust.py \ 24 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 25 | && dpkg-buildpackage -us -uc \ 26 | && apt-get install -y ../*.deb \ 27 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 28 | && apt-get autoremove -y \ 29 | && apt-get clean -y 30 | RUN rm -rf /tmp/* /var/tmp/* 31 | 32 | # Setup sudo for apt-get 33 | RUN apt-get install -y sudo 34 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 35 | && chmod 0440 /etc/sudoers.d/apt-get 36 | 37 | # sudo requires a pw entry 38 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 39 | 40 | # Clean up 41 | RUN apt-get clean 42 | 43 | # snapcraft need to save configs in ${HOME}/.local 44 | ENV HOME /home 45 | RUN chgrp -R 100 /home \ 46 | && chmod -R g+rwx /home 47 | 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/amd64/2.39/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/arm64/2.17/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.17 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # snapcraft 15 | RUN apt-get install -y snapcraft=${SNAPCRAFT_VERSION} 16 | 17 | # Setup sudo for apt-get 18 | RUN apt-get install -y sudo 19 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 20 | && chmod 0440 /etc/sudoers.d/apt-get 21 | # sudo requires a pw entry 22 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 23 | 24 | # Clean up 25 | RUN apt-get clean 26 | 27 | # snapcraft need to save configs in ${HOME}/.local 28 | ENV HOME /home 29 | VOLUME /build 30 | WORKDIR /build 31 | 32 | ADD docker-entrypoint.sh /usr/local/bin 33 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 34 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 35 | -------------------------------------------------------------------------------- /xenial/arm64/2.17/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.17/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.17/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.18.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18.1 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/arm64/2.18.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.18.1/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.18.1/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.18/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/arm64/2.18/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.18/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.18/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.19/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.19 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | VOLUME /build 49 | WORKDIR /build 50 | 51 | ADD docker-entrypoint.sh /usr/local/bin 52 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 53 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 54 | -------------------------------------------------------------------------------- /xenial/arm64/2.19/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.19/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.19/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.20/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.20 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | RUN chgrp -R 100 /home \ 49 | && chmod g+rwx /home 50 | 51 | VOLUME /build 52 | WORKDIR /build 53 | 54 | ADD docker-entrypoint.sh /usr/local/bin 55 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 56 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 57 | -------------------------------------------------------------------------------- /xenial/arm64/2.20/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.20/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.20/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.21/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.21 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | RUN chgrp -R 100 /home \ 49 | && chmod g+rwx /home 50 | 51 | VOLUME /build 52 | WORKDIR /build 53 | 54 | ADD docker-entrypoint.sh /usr/local/bin 55 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 56 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 57 | -------------------------------------------------------------------------------- /xenial/arm64/2.21/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.21/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.21/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.22.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22.1 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | RUN chgrp -R 100 /home \ 49 | && chmod g+rwx /home 50 | 51 | VOLUME /build 52 | WORKDIR /build 53 | 54 | ADD docker-entrypoint.sh /usr/local/bin 55 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 56 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 57 | -------------------------------------------------------------------------------- /xenial/arm64/2.22.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.22.1/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.22.1/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.22/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | RUN chgrp -R 100 /home \ 49 | && chmod g+rwx /home 50 | 51 | VOLUME /build 52 | WORKDIR /build 53 | 54 | ADD docker-entrypoint.sh /usr/local/bin 55 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 56 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 57 | -------------------------------------------------------------------------------- /xenial/arm64/2.22/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.22/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.22/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.23/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:arm64-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.23 5 | 6 | # qemu-user-static 7 | ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | # sudo requires a pw entry 41 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 42 | 43 | # Clean up 44 | RUN apt-get clean 45 | 46 | # snapcraft need to save configs in ${HOME}/.local 47 | ENV HOME /home 48 | RUN chgrp -R 100 /home \ 49 | && chmod g+rwx /home 50 | 51 | VOLUME /build 52 | WORKDIR /build 53 | 54 | ADD docker-entrypoint.sh /usr/local/bin 55 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 56 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 57 | -------------------------------------------------------------------------------- /xenial/arm64/2.23/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.23/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.23/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.24/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.24/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.24/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.25/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.25/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.25/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.26/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.26/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.26/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.27.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.27.1/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.27.1/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.27/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.27/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.27/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.28/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.28/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.28/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.29.1/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.29.1/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.29/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/arm64/2.29/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.29/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.30/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/arm64/2.30/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.30/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.31/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/arm64/2.31/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.31/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/arm64/2.32/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/arm64/2.32/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/arm64/2.32/qemu-aarch64-static -------------------------------------------------------------------------------- /xenial/armhf/2.17/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.17 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # snapcraft 15 | RUN apt-get install -y snapcraft=${SNAPCRAFT_VERSION} 16 | 17 | # Setup sudo for apt-get 18 | RUN apt-get install -y sudo 19 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 20 | && chmod 0440 /etc/sudoers.d/apt-get 21 | # sudo requires a pw entry 22 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 23 | 24 | # Clean up 25 | RUN apt-get clean 26 | 27 | # snapcraft need to save configs in ${HOME}/.local 28 | ENV HOME /home 29 | VOLUME /build 30 | WORKDIR /build 31 | 32 | ADD docker-entrypoint.sh /usr/local/bin 33 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 34 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 35 | -------------------------------------------------------------------------------- /xenial/armhf/2.17/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.17/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.17/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.18.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18.1 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | VOLUME /build 50 | WORKDIR /build 51 | 52 | ADD docker-entrypoint.sh /usr/local/bin 53 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 54 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 55 | -------------------------------------------------------------------------------- /xenial/armhf/2.18.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.18.1/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.18.1/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.18/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | VOLUME /build 50 | WORKDIR /build 51 | 52 | ADD docker-entrypoint.sh /usr/local/bin 53 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 54 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 55 | -------------------------------------------------------------------------------- /xenial/armhf/2.18/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.18/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.18/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.19/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.19 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | VOLUME /build 50 | WORKDIR /build 51 | 52 | ADD docker-entrypoint.sh /usr/local/bin 53 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 54 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 55 | -------------------------------------------------------------------------------- /xenial/armhf/2.19/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.19/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.19/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.20/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.20 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | RUN chgrp -R 100 /home \ 50 | && chmod g+rwx /home 51 | 52 | VOLUME /build 53 | WORKDIR /build 54 | 55 | ADD docker-entrypoint.sh /usr/local/bin 56 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 57 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 58 | -------------------------------------------------------------------------------- /xenial/armhf/2.20/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.20/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.20/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.21/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.21 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | RUN chgrp -R 100 /home \ 50 | && chmod g+rwx /home 51 | 52 | VOLUME /build 53 | WORKDIR /build 54 | 55 | ADD docker-entrypoint.sh /usr/local/bin 56 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 57 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 58 | -------------------------------------------------------------------------------- /xenial/armhf/2.21/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.21/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.21/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.22.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22.1 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | RUN chgrp -R 100 /home \ 50 | && chmod g+rwx /home 51 | 52 | VOLUME /build 53 | WORKDIR /build 54 | 55 | ADD docker-entrypoint.sh /usr/local/bin 56 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 57 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 58 | -------------------------------------------------------------------------------- /xenial/armhf/2.22.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.22.1/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.22.1/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.22/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:armhf-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22 5 | 6 | # qemu-user-static 7 | ADD qemu-arm-static /usr/bin/qemu-arm-static 8 | 9 | ENV DEBIAN_FRONTEND=noninteractive 10 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 11 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 12 | RUN apt-get update 13 | 14 | # build and install snapcraft 15 | WORKDIR /tmp 16 | RUN apt-get install -y --no-install-recommends \ 17 | devscripts \ 18 | equivs \ 19 | git \ 20 | ca-certificates \ 21 | curl 22 | 23 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft 24 | 25 | RUN cd snapcraft \ 26 | && echo "override_dh_auto_test:" >> debian/rules \ 27 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 28 | && dpkg-buildpackage -us -uc 29 | 30 | RUN apt-get install -y ./*.deb \ 31 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 32 | && apt-get autoremove -y \ 33 | && apt-get clean -y 34 | RUN rm -rf /tmp/* /var/tmp/* 35 | 36 | # Setup sudo for apt-get 37 | RUN apt-get install -y sudo 38 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 39 | && chmod 0440 /etc/sudoers.d/apt-get 40 | 41 | # sudo requires a pw entry 42 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 43 | 44 | # Clean up 45 | RUN apt-get clean 46 | 47 | # snapcraft need to save configs in ${HOME}/.local 48 | ENV HOME /home 49 | RUN chgrp -R 100 /home \ 50 | && chmod g+rwx /home 51 | 52 | VOLUME /build 53 | WORKDIR /build 54 | 55 | ADD docker-entrypoint.sh /usr/local/bin 56 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 57 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 58 | -------------------------------------------------------------------------------- /xenial/armhf/2.22/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.22/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.22/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.23/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.23/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.23/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.24/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.24/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.24/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.25/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.25/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.25/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.26/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.26/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.26/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.27.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.27.1/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.27.1/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.27/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.27/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.27/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.28/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.28/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.28/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.29.1/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.29.1/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.29/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/armhf/2.29/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.29/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.30/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/armhf/2.30/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.30/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.31/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/armhf/2.31/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.31/qemu-arm-static -------------------------------------------------------------------------------- /xenial/armhf/2.32/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | 8 | # update APT if the image is older than one month 9 | if [[ "${LAST}" > "2592000" ]] ; then 10 | sudo apt-get update 11 | fi 12 | exec snapcraft $@ 13 | } 14 | 15 | if [ -z $1 ] ; then 16 | run_snapcraft 17 | else 18 | if [ $1 != "init" ] && \ 19 | [ $1 != "snap" ] && \ 20 | [ $1 != "login" ] && \ 21 | [ $1 != "logout" ] && \ 22 | [ $(which -- $1) ] ; then 23 | exec $@ 24 | else 25 | run_snapcraft $@ 26 | fi 27 | fi 28 | -------------------------------------------------------------------------------- /xenial/armhf/2.32/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/xenial/armhf/2.32/qemu-arm-static -------------------------------------------------------------------------------- /xenial/i386/2.17/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.17 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | 44 | VOLUME /build 45 | WORKDIR /build 46 | 47 | ADD docker-entrypoint.sh /usr/local/bin 48 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 49 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 50 | -------------------------------------------------------------------------------- /xenial/i386/2.17/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.18.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | 44 | VOLUME /build 45 | WORKDIR /build 46 | 47 | ADD docker-entrypoint.sh /usr/local/bin 48 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 49 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 50 | -------------------------------------------------------------------------------- /xenial/i386/2.18.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.18/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.18 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | # sudo requires a pw entry 35 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 36 | 37 | # Clean up 38 | RUN apt-get clean 39 | 40 | # snapcraft need to save configs in ${HOME}/.local 41 | ENV HOME /home 42 | VOLUME /build 43 | WORKDIR /build 44 | 45 | ADD docker-entrypoint.sh /usr/local/bin 46 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 47 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 48 | -------------------------------------------------------------------------------- /xenial/i386/2.18/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.19/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.19 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | 44 | VOLUME /build 45 | WORKDIR /build 46 | 47 | ADD docker-entrypoint.sh /usr/local/bin 48 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 49 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 50 | -------------------------------------------------------------------------------- /xenial/i386/2.19/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.20/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.20 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.20/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.21/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.21 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.21/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.22.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.22.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.22/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.22 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.22/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.23/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.23 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.23/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.24/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.24 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.24/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.25/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.25 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.25/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.26/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.26 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.26/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.27.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.27.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.27.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.27/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.27.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.27/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.28/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.28 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.28/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.29.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.29.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.29/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.1 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.29 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.29/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /xenial/i386/2.30/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.30 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.30/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/i386/2.31/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.31 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /xenial/i386/2.31/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | if [ -z $1 ] ; then 6 | exec snapcraft 7 | else 8 | if [ $1 != "init" ] && \ 9 | [ $1 != "snap" ] && \ 10 | [ $1 != "login" ] && \ 11 | [ $1 != "logout" ] && \ 12 | [ $(which -- $1) ] ; then 13 | exec $@ 14 | else 15 | exec snapcraft $@ 16 | fi 17 | fi 18 | -------------------------------------------------------------------------------- /xenial/i386/2.32/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-16.04.2 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.32 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && rm -f snapcraft/tests/plugins/test_rust.py \ 23 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 24 | && dpkg-buildpackage -us -uc \ 25 | && apt-get install -y ../*.deb \ 26 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 27 | && apt-get autoremove -y \ 28 | && apt-get clean -y 29 | RUN rm -rf /tmp/* /var/tmp/* 30 | 31 | # Setup sudo for apt-get 32 | RUN apt-get install -y sudo 33 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 34 | && chmod 0440 /etc/sudoers.d/apt-get 35 | 36 | # sudo requires a pw entry 37 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 38 | 39 | # Clean up 40 | RUN apt-get clean 41 | 42 | # snapcraft need to save configs in ${HOME}/.local 43 | ENV HOME /home 44 | RUN chgrp -R 100 /home \ 45 | && chmod g+rwx /home 46 | 47 | VOLUME /build 48 | WORKDIR /build 49 | 50 | ADD docker-entrypoint.sh /usr/local/bin 51 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 52 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 53 | -------------------------------------------------------------------------------- /xenial/i386/2.32/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export LC_ALL=C.UTF-8 3 | export LANG=C.UTF-8 4 | 5 | run_snapcraft () { 6 | LAST=$(($(date +%s) - $(date +%s -r /var/cache/apt/archives/lock))) 7 | # update APT if the image is older than one month 8 | if [ $LAST -qe 2592000 ] ; then 9 | sudo apt-get update 10 | fi 11 | exec sanpcraft $@ 12 | } 13 | 14 | if [ -z $1 ] ; then 15 | run_snapcraft 16 | else 17 | if [ $1 != "init" ] && \ 18 | [ $1 != "snap" ] && \ 19 | [ $1 != "login" ] && \ 20 | [ $1 != "logout" ] && \ 21 | [ $(which -- $1) ] ; then 22 | exec $@ 23 | else 24 | run_snapcraft $@ 25 | fi 26 | fi 27 | -------------------------------------------------------------------------------- /zesty/amd64/2.29.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:amd64-17.04 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.29.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod -R g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /zesty/amd64/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /zesty/arm64/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /zesty/arm64/2.29.1/qemu-aarch64-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/zesty/arm64/2.29.1/qemu-aarch64-static -------------------------------------------------------------------------------- /zesty/armhf/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | -------------------------------------------------------------------------------- /zesty/armhf/2.29.1/qemu-arm-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chihchun/snapcraft-docker/a853f6d605cbd172f9899914d5a3a476d954b3ee/zesty/armhf/2.29.1/qemu-arm-static -------------------------------------------------------------------------------- /zesty/i386/2.29.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM snapcraft/ubuntu-base:i386-17.04 2 | MAINTAINER Rex Tsai "http://about.me/chihchun" 3 | 4 | ENV SNAPCRAFT_VERSION=2.29.1 5 | 6 | ENV DEBIAN_FRONTEND=noninteractive 7 | RUN sed -i "/^# deb.*universe/ s/^# //" /etc/apt/sources.list 8 | RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list 9 | RUN apt-get update 10 | 11 | # build and install snapcraft 12 | WORKDIR /tmp 13 | RUN apt-get install -y --no-install-recommends \ 14 | devscripts \ 15 | equivs \ 16 | git \ 17 | ca-certificates \ 18 | curl 19 | 20 | RUN git clone --depth 1 --branch ${SNAPCRAFT_VERSION} https://github.com/snapcore/snapcraft \ 21 | && cd snapcraft \ 22 | && mk-build-deps debian/control -i --tool 'apt-get -y --no-install-recommends' \ 23 | && dpkg-buildpackage -us -uc \ 24 | && apt-get install -y ../*.deb \ 25 | && apt-get remove --purge -y devscripts equivs git python3-fixtures python3-responses python3-setuptools python3-testscenarios python3-testtools \ 26 | && apt-get autoremove -y \ 27 | && apt-get clean -y 28 | RUN rm -rf /tmp/* /var/tmp/* 29 | 30 | # Setup sudo for apt-get 31 | RUN apt-get install -y sudo 32 | RUN echo "ALL ALL=NOPASSWD: /usr/bin/apt-get,/usr/bin/apt-mark" >> /etc/sudoers.d/apt-get \ 33 | && chmod 0440 /etc/sudoers.d/apt-get 34 | 35 | # sudo requires a pw entry 36 | RUN for i in $(seq 500 1100); do echo snapper:x:$i:100:a build user:/build:/bin/bash ; done | tee -a /etc/passwd 37 | 38 | # Clean up 39 | RUN apt-get clean 40 | 41 | # snapcraft need to save configs in ${HOME}/.local 42 | ENV HOME /home 43 | RUN chgrp -R 100 /home \ 44 | && chmod g+rwx /home 45 | 46 | VOLUME /build 47 | WORKDIR /build 48 | 49 | ADD docker-entrypoint.sh /usr/local/bin 50 | RUN chmod 755 /usr/local/bin/docker-entrypoint.sh 51 | ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] 52 | -------------------------------------------------------------------------------- /zesty/i386/2.29.1/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z $1 ] ; then 4 | exec snapcraft 5 | else 6 | if [ $1 != "init" ] && \ 7 | [ $1 != "snap" ] && \ 8 | [ $1 != "login" ] && \ 9 | [ $1 != "logout" ] && \ 10 | [ $(which -- $1) ] ; then 11 | exec $@ 12 | else 13 | exec snapcraft $@ 14 | fi 15 | fi 16 | --------------------------------------------------------------------------------