diff --git a/docker/Makefile b/docker/Makefile index 283ad3b..9ab664d 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -15,11 +15,11 @@ DOCKER_ARGS ?= --platform linux/amd64 --progress=plain --rm .PHONY: clean push image_names := ub-16.04-base ub-18.04-base ub-22.04-base + image_names += ub-16.04-irods-4.2.7 image_names += ub-18.04-irods-4.2.11 image_names += ub-18.04-irods-4.2.12 image_names += ub-18.04-irods-4.3.0 - image_names += ub-22.04-irods-4.3-nightly image_names += ub-16.04-irods-clients-dev-4.2.7 @@ -27,10 +27,12 @@ image_names += ub-18.04-irods-clients-dev-4.2.11 image_names += ub-18.04-irods-clients-dev-4.2.12 image_names += ub-18.04-irods-clients-dev-4.3.0 image_names += ub-20.04-irods-clients-dev-4.3.0 +image_names += ub-22.04-irods-clients-dev-4.3-nightly image_names += ub-16.04-irods-clients-4.2.7 image_names += ub-18.04-irods-clients-4.2.11 image_names += ub-18.04-irods-clients-4.2.12 +image_names += ub-22.04-irods-clients-4.3-nightly image_names += centos-7-base image_names += centos-7-conda @@ -339,8 +341,6 @@ ub-18.04-irods-clients-dev-4.2.11.$(TAG): irods_clients_dev/ubuntu/Dockerfile --build-arg DOCKER_IMAGE=$(subst .$(TAG),,$@) \ --build-arg DOCKER_TAG=$(TAG) \ --build-arg IRODS_VERSION=4.2.11 \ - --build-arg BATON_VERSION=4.1.0 \ - --build-arg HTSLIB_VERSION=1.18 \ --label org.opencontainers.image.title="iRODS 4.2.11 client development, Ubuntu 18.04" \ --label org.opencontainers.image.source=$(git_url) \ --label org.opencontainers.image.revision=$(git_commit) \ @@ -402,6 +402,25 @@ ub-20.04-irods-clients-dev-4.3.0.$(TAG): irods_clients_dev/ubuntu/Dockerfile --tag $(DOCKER_PREFIX)/ub-20.04-irods-clients-dev-4.3.0:$(TAG) --file $< ./irods_clients_dev touch $@ +ub-20.04-irods-clients-dev-4.3-nightly.$(TAG): irods_clients_dev/ubuntu/22.04/Dockerfile + docker buildx build $(DOCKER_ARGS) \ + --load \ + --build-context singularity=../singularity \ + --build-arg DOCKER_PREFIX=$(DOCKER_PREFIX) \ + --build-arg BASE_IMAGE=ubuntu:22.04 \ + --build-arg IRODS_VERSION=4.3-nightly \ + --build-arg DOCKER_IMAGE=$(subst .$(TAG),,$@) \ + --build-arg DOCKER_TAG=$(TAG) \ + --label org.opencontainers.image.title="iRODS 4.3.0 client development, Ubuntu 20.04" \ + --label org.opencontainers.image.source=$(git_url) \ + --label org.opencontainers.image.revision=$(git_commit) \ + --label org.opencontainers.image.version=$(TAG) \ + --label org.opencontainers.image.created=$(NOW) \ + --tag $(DOCKER_PREFIX)/ub-22.04-irods-clients-dev-4.3-nightly:latest \ + --tag $(DOCKER_PREFIX)/ub-22.04-irods-clients-dev-4.3-nightly:$(TAG) --file $< ./irods_clients_dev + touch $@ + + %.$(TAG).pushed: %.$(TAG) docker push $(DOCKER_PREFIX)/$*:$(TAG) docker push $(DOCKER_PREFIX)/$*:latest diff --git a/docker/irods_clients/ubuntu/16.04/Dockerfile b/docker/irods_clients/ubuntu/16.04/Dockerfile new file mode 100644 index 0000000..723c371 --- /dev/null +++ b/docker/irods_clients/ubuntu/16.04/Dockerfile @@ -0,0 +1,169 @@ +# syntax=docker/dockerfile:1 + +ARG BASE_IMAGE=ubuntu:16.04 +FROM $BASE_IMAGE as installer + +ARG IRODS_VERSION="4.2.7" +ARG BATON_VERSION="4.1.0" +ARG HTSLIB_VERSION="1.18" +ARG SAMTOOLS_VERSION="1.18" +ARG BCFTOOLS_VERSION="1.18" +ARG HTSLIB_PLUGINS_VERSION="201712" + +COPY . /opt/docker/irods_clients + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + apt-transport-https \ + apt-utils \ + ca-certificates \ + curl \ + dirmngr \ + gnupg \ + gnupg-agent \ + lsb-release \ + locales && \ + locale-gen en_GB en_GB.UTF-8 && \ + localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8 + +ENV LANG=en_GB.UTF-8 \ + LANGUAGE=en_GB \ + LC_ALL=en_GB.UTF-8 + +RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - && \ + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/renci-irods.list && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + irods-dev="${IRODS_VERSION}" \ + irods-runtime="${IRODS_VERSION}" \ + irods-icommands="${IRODS_VERSION}" + +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "E1DD270288B4E6030699E45FA1715D88E1DF1F24" && \ + echo "deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/git-core.list && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + git + +# libdeflate-dev is not available on Ubuntu 16.04 +RUN apt-get update && \ + apt-get install -q -y --no-install-recommends \ + autoconf \ + automake \ + build-essential \ + less \ + libtool \ + pkg-config \ + python3-sphinx \ + ssh \ + libjansson-dev \ + libbz2-dev \ + libcurl3-dev \ + liblzma-dev \ + zlib1g-dev + +ENV CPPFLAGS="-I/usr/include/irods" + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/wtsi-npg/baton/releases/download/${BATON_VERSION}/baton-${BATON_VERSION}.tar.gz" && \ + tar xfz baton-${BATON_VERSION}.tar.gz && \ + cd baton-${BATON_VERSION} && \ + ./configure && \ + make install + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/samtools/htslib/releases/download/${HTSLIB_VERSION}/htslib-${HTSLIB_VERSION}.tar.bz2" && \ + tar xfj htslib-${HTSLIB_VERSION}.tar.bz2 && \ + cd htslib-${HTSLIB_VERSION} && \ + ./configure --enable-plugins --without-curses && \ + make install && \ + ldconfig + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSION}/samtools-${SAMTOOLS_VERSION}.tar.bz2" && \ + tar xfj samtools-${SAMTOOLS_VERSION}.tar.bz2 && \ + cd samtools-${SAMTOOLS_VERSION} && \ + ./configure --with-htslib=system --without-curses && \ + make install + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/samtools/bcftools/releases/download/${BCFTOOLS_VERSION}/bcftools-${BCFTOOLS_VERSION}.tar.bz2" && \ + tar xfj bcftools-${BCFTOOLS_VERSION}.tar.bz2 && \ + cd bcftools-${BCFTOOLS_VERSION} && \ + ./configure --with-htslib=system --without-curses && \ + make install + +RUN cd /tmp && \ + git clone --depth 1 --branch ${HTSLIB_PLUGINS_VERSION} "https://github.com/samtools/htslib-plugins.git" && \ + cd htslib-plugins && \ + make install + +FROM $BASE_IMAGE + +ARG DOCKER_IMAGE +ARG DOCKER_TAG +ARG IRODS_VERSION="4.2.7" + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + apt-transport-https \ + apt-utils \ + ca-certificates \ + curl \ + dirmngr \ + gnupg \ + gnupg-agent \ + lsb-release \ + locales && \ + locale-gen en_GB en_GB.UTF-8 && \ + localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8 + +ENV LANG=en_GB.UTF-8 \ + LANGUAGE=en_GB \ + LC_ALL=en_GB.UTF-8 + +RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - && \ + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/renci-irods.list && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + irods-runtime="${IRODS_VERSION}" \ + irods-icommands="${IRODS_VERSION}" + +RUN apt-get install -q -y --no-install-recommends \ + gnuplot \ + jq \ + libjansson4 \ + libbz2-1.0 \ + libcurl3 \ + liblzma5 \ + perl \ + zlib1g \ + unattended-upgrades && \ + unattended-upgrade -v && \ + apt-get remove -q -y unattended-upgrades && \ + apt-get autoremove -q -y && \ + apt-get clean -q -y && \ + rm -rf /var/lib/apt/lists/* + +# Copy the installed baton and samtools applications +COPY --from=installer /usr/local /usr/local + +# Copy the singularity-wrapper scripts +COPY --from=singularity ./scripts/* /usr/local/bin/ +COPY --from=installer /opt/docker/irods_clients/manifest.json /usr/local/irods_clients/etc/manifest.json +COPY --from=installer /opt/docker/irods_clients/scripts/docker-entrypoint.sh /usr/local/irods_clients/bin/docker-entrypoint.sh + +# Configure the singularity-wrapper script +ENV MANIFEST_PATH="/usr/local/irods_clients/etc/manifest.json" +ENV DOCKER_IMAGE="$DOCKER_IMAGE" +ENV DOCKER_TAG="$DOCKER_TAG" + +RUN ldconfig + +ENTRYPOINT ["/usr/local/irods_clients/bin/docker-entrypoint.sh"] + +CMD ["/bin/bash"] diff --git a/docker/irods_clients/ubuntu/22.04/Dockerfile b/docker/irods_clients/ubuntu/22.04/Dockerfile new file mode 100644 index 0000000..8f30302 --- /dev/null +++ b/docker/irods_clients/ubuntu/22.04/Dockerfile @@ -0,0 +1,171 @@ +# syntax=docker/dockerfile:1 + +ARG BASE_IMAGE=ubuntu:22.04 +FROM $BASE_IMAGE as installer + +ARG IRODS_VERSION="4.3-nightly" +ARG BATON_VERSION="4.1.0" +ARG HTSLIB_VERSION="1.18" +ARG SAMTOOLS_VERSION="1.18" +ARG BCFTOOLS_VERSION="1.18" +ARG HTSLIB_PLUGINS_VERSION="201712" + +COPY . /opt/docker/irods_clients + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + apt-utils \ + ca-certificates \ + curl \ + dirmngr \ + gpg \ + gpg-agent \ + lsb-release \ + locales && \ + locale-gen en_GB en_GB.UTF-8 && \ + localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8 + +ENV LANG=en_GB.UTF-8 \ + LANGUAGE=en_GB \ + LC_ALL=en_GB.UTF-8 + +RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - && \ + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/renci-irods.list && \ + apt-get update + +ENV NIGHTLY_URL_BASE=https://github.com/wtsi-npg/irods_development_environment/releases/download/nightly/ + +RUN curl -sSL \ + -O ${NIGHTLY_URL_BASE}irods-dev_4.3.0-1.jammy_amd64.deb \ + -O ${NIGHTLY_URL_BASE}irods-runtime_4.3.0-1.jammy_amd64.deb \ + -O ${NIGHTLY_URL_BASE}irods-icommands_4.3.0-1.jammy_amd64.deb + +RUN ls -l && apt-get install -y ./*.deb + +RUN apt-get update && \ + apt-get install -q -y --no-install-recommends \ + autoconf \ + automake \ + build-essential \ + less \ + libtool \ + pkg-config \ + python3-sphinx \ + ssh \ + libdeflate-dev \ + libjansson-dev \ + libbz2-dev \ + libcurl3-dev \ + liblzma-dev \ + zlib1g-dev + +ENV CPPFLAGS="-I/usr/include/irods" + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/wtsi-npg/baton/releases/download/${BATON_VERSION}/baton-${BATON_VERSION}.tar.gz" && \ + tar xfz baton-${BATON_VERSION}.tar.gz && \ + cd baton-${BATON_VERSION} && \ + ./configure && \ + make install + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/samtools/htslib/releases/download/${HTSLIB_VERSION}/htslib-${HTSLIB_VERSION}.tar.bz2" && \ + tar xfj htslib-${HTSLIB_VERSION}.tar.bz2 && \ + cd htslib-${HTSLIB_VERSION} && \ + ./configure --enable-plugins --without-curses && \ + make install && \ + ldconfig + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSION}/samtools-${SAMTOOLS_VERSION}.tar.bz2" && \ + tar xfj samtools-${SAMTOOLS_VERSION}.tar.bz2 && \ + cd samtools-${SAMTOOLS_VERSION} && \ + ./configure --with-htslib=system --without-curses && \ + make install + +RUN cd /tmp && \ + curl -sSL -O "https://github.com/samtools/bcftools/releases/download/${BCFTOOLS_VERSION}/bcftools-${BCFTOOLS_VERSION}.tar.bz2" && \ + tar xfj bcftools-${BCFTOOLS_VERSION}.tar.bz2 && \ + cd bcftools-${BCFTOOLS_VERSION} && \ + ./configure --with-htslib=system --without-curses && \ + make install + +RUN cd /tmp && \ + git clone --depth 1 --branch ${HTSLIB_PLUGINS_VERSION} "https://github.com/samtools/htslib-plugins.git" && \ + cd htslib-plugins && \ + make install + +FROM $BASE_IMAGE + +ARG DOCKER_IMAGE +ARG DOCKER_TAG +ARG IRODS_VERSION="4.3-nightly" + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + apt-utils \ + ca-certificates \ + curl \ + dirmngr \ + gpg \ + gpg-agent \ + lsb-release \ + locales && \ + locale-gen en_GB en_GB.UTF-8 && \ + localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8 + +ENV LANG=en_GB.UTF-8 \ + LANGUAGE=en_GB \ + LC_ALL=en_GB.UTF-8 + +RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - && \ + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/renci-irods.list && \ + apt-get update + +ENV NIGHTLY_URL_BASE=https://github.com/wtsi-npg/irods_development_environment/releases/download/nightly/ + +RUN curl -sSL \ + -O ${NIGHTLY_URL_BASE}irods-runtime_4.3.0-1.jammy_amd64.deb \ + -O ${NIGHTLY_URL_BASE}irods-icommands_4.3.0-1.jammy_amd64.deb + +RUN ls -l && apt-get install -y ./*.deb + +RUN apt-get install -q -y --no-install-recommends \ + gnuplot \ + jq \ + libdeflate0 \ + libjansson4 \ + libbz2-1.0 \ + libcurl4 \ + liblzma5 \ + perl \ + zlib1g \ + unattended-upgrades && \ + unattended-upgrade -v && \ + apt-get remove -q -y unattended-upgrades && \ + apt-get autoremove -q -y && \ + apt-get clean -q -y && \ + rm -rf /var/lib/apt/lists/* + +# Copy the installed baton and samtools applications +COPY --from=installer /usr/local /usr/local + +# Copy the singularity-wrapper scripts +COPY --from=singularity ./scripts/* /usr/local/bin/ +COPY --from=installer /opt/docker/irods_clients/manifest.json /usr/local/irods_clients/etc/manifest.json +COPY --from=installer /opt/docker/irods_clients/scripts/docker-entrypoint.sh /usr/local/irods_clients/bin/docker-entrypoint.sh + +# Configure the singularity-wrapper script +ENV MANIFEST_PATH="/usr/local/irods_clients/etc/manifest.json" +ENV DOCKER_IMAGE="$DOCKER_IMAGE" +ENV DOCKER_TAG="$DOCKER_TAG" + +RUN ldconfig + +ENTRYPOINT ["/usr/local/irods_clients/bin/docker-entrypoint.sh"] + +CMD ["/bin/bash"] diff --git a/docker/irods_clients_dev/README.md b/docker/irods_clients_dev/README.md new file mode 100644 index 0000000..7f1f950 --- /dev/null +++ b/docker/irods_clients_dev/README.md @@ -0,0 +1,23 @@ +# Ubuntu iRODS client development + +## Summary + +An image aimed at development of command line iRODS clients. + + - C development tools, including GCC, GDB, autoconf, automake, libtool + pkg-config and valgrind. + - [iRODS runtime and development packages](https://github.com/irods/irods) + - [iRODS icommands](https://github.com/irods/irods_client_icommands) + - [Dependencies required by baton](https://github.com/wtsi-npg/baton) + +This image is intended for use anywhere that iRODS C clients are built. + +## Usage + +This image will create a development container suitable for +[baton](https://github.com/wtsi-npg/baton) and other iRODS clients. + +The Dockerfile supports two build arguments: + +- BASE_IMAGE (defaults to "ubuntu:18.04") +- IRODS_VERSION (defaults to "4.2.11") diff --git a/docker/irods_clients_dev/ubuntu/16.04/Dockerfile b/docker/irods_clients_dev/ubuntu/16.04/Dockerfile new file mode 100644 index 0000000..de75a87 --- /dev/null +++ b/docker/irods_clients_dev/ubuntu/16.04/Dockerfile @@ -0,0 +1,65 @@ +ARG BASE_IMAGE=ubuntu:16.04 +FROM $BASE_IMAGE + +ARG IRODS_VERSION="4.2.7" + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + apt-transport-https \ + apt-utils \ + ca-certificates \ + curl \ + dirmngr \ + gnupg \ + gnupg-agent \ + lsb-release \ + locales && \ + locale-gen en_GB en_GB.UTF-8 && \ + localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8 + +ENV LANG=en_GB.UTF-8 \ + LANGUAGE=en_GB \ + LC_ALL=en_GB.UTF-8 + +RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - && \ + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/renci-irods.list && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + irods-dev="${IRODS_VERSION}" \ + irods-runtime="${IRODS_VERSION}" \ + irods-icommands="${IRODS_VERSION}" + +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "E1DD270288B4E6030699E45FA1715D88E1DF1F24" && \ + echo "deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/git-core.list && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + git + +RUN apt-get update && \ + apt-get install -q -y --no-install-recommends \ + autoconf \ + automake \ + build-essential \ + check \ + cmake \ + gdb \ + jq \ + lcov \ + less \ + libjansson-dev \ + libtool \ + netcat \ + pkg-config \ + python3-sphinx \ + ssh \ + valgrind \ + unattended-upgrades && \ + unattended-upgrade -v + +ENV CPPFLAGS="-I/usr/include/irods" \ + CK_DEFAULT_TIMEOUT=20 + +CMD ["/bin/bash"] diff --git a/docker/irods_clients_dev/ubuntu/16.04/README.md b/docker/irods_clients_dev/ubuntu/16.04/README.md new file mode 100644 index 0000000..6465e1c --- /dev/null +++ b/docker/irods_clients_dev/ubuntu/16.04/README.md @@ -0,0 +1,23 @@ +# Ubuntu iRODS client development + +## Summary + +An image aimed at development of command line iRODS clients. + + - C development tools, including GCC, GDB, autoconf, automake, libtool + pkg-config and valgrind. + - [iRODS runtime and development packages](https://github.com/irods/irods) + - [iRODS icommands](https://github.com/irods/irods_client_icommands) + - [Dependencies required by baton](https://github.com/wtsi-npg/baton) + +This image is intended for use anywhere that iRODS C clients are built. + +## Usage + +This image will create a development container suitable for +[baton](https://github.com/wtsi-npg/baton) and other iRODS clients. + +The Dockerfile supports two build arguments: + +- BASE_IMAGE (defaults to "ubuntu:16.04") +- IRODS_VERSION (defaults to "4.2.7") diff --git a/docker/irods_clients_dev/ubuntu/22.04/Dockerfile b/docker/irods_clients_dev/ubuntu/22.04/Dockerfile new file mode 100644 index 0000000..3334e58 --- /dev/null +++ b/docker/irods_clients_dev/ubuntu/22.04/Dockerfile @@ -0,0 +1,62 @@ +ARG BASE_IMAGE=ubuntu:22.04 +FROM $BASE_IMAGE + +ARG IRODS_VERSION="4.3-nightly" + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update && \ + apt-get install -q -y --no-install-recommends \ + apt-utils \ + ca-certificates \ + curl \ + dirmngr \ + gpg \ + gpg-agent \ + lsb-release \ + locales && \ + locale-gen en_GB en_GB.UTF-8 && \ + localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8 + +ENV LANG=en_GB.UTF-8 \ + LANGUAGE=en_GB \ + LC_ALL=en_GB.UTF-8 + +RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - && \ + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" |\ + tee /etc/apt/sources.list.d/renci-irods.list && \ + apt-get update + +ENV NIGHTLY_URL_BASE=https://github.com/wtsi-npg/irods_development_environment/releases/download/nightly/ + +RUN curl -sSL \ + -O ${NIGHTLY_URL_BASE}irods-dev_4.3.0-1.jammy_amd64.deb \ + -O ${NIGHTLY_URL_BASE}irods-runtime_4.3.0-1.jammy_amd64.deb \ + -O ${NIGHTLY_URL_BASE}irods-icommands_4.3.0-1.jammy_amd64.deb + +RUN ls -l && apt-get install -y ./*.deb + +RUN apt-get update && \ + apt-get install -q -y --no-install-recommends \ + autoconf \ + automake \ + build-essential \ + check \ + cmake \ + gdb \ + jq \ + lcov \ + less \ + libjansson-dev \ + libtool \ + netcat \ + pkg-config \ + python3-sphinx \ + ssh \ + valgrind \ + unattended-upgrades && \ + unattended-upgrade -v + +ENV CPPFLAGS="-I/usr/include/irods" \ + CK_DEFAULT_TIMEOUT=20 + +CMD ["/bin/bash"]