From f14c1f82eea24e91ca069e45991d2867c71a05f9 Mon Sep 17 00:00:00 2001 From: Keith James Date: Fri, 3 May 2024 17:36:57 +0100 Subject: [PATCH 1/4] Add iRODS 4.3.2 and samtools 1.20 --- docker/Makefile | 85 ++++++++++++++++++++----- docker/irods/scripts/configure_irods.sh | 4 ++ 2 files changed, 74 insertions(+), 15 deletions(-) diff --git a/docker/Makefile b/docker/Makefile index 1c3c667..64d9cf5 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -21,6 +21,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.1 +image_names += ub-22.04-irods-4.3.2 image_names += ub-22.04-irods-4.3-nightly image_names += ub-16.04-irods-clients-dev-4.2.7 @@ -154,6 +155,20 @@ ub-22.04-irods-4.3.1.$(TAG): irods/ubuntu/22.04/Dockerfile ub-22.04-base.$(TAG) --tag $(DOCKER_PREFIX)/ub-22.04-irods-4.3.1:$(TAG) --file $< ./irods touch $@ +ub-22.04-irods-4.3.2.$(TAG): irods/ubuntu/22.04/Dockerfile ub-22.04-base.$(TAG) + docker buildx build $(DOCKER_ARGS) \ + --load \ + --build-arg BASE_IMAGE=$(DOCKER_PREFIX)/ub-22.04-base \ + --build-arg IRODS_VERSION=4.3.2 \ + --label org.opencontainers.image.title="iRODS 4.3.2 server, Ubuntu 22.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-4.3.2:latest \ + --tag $(DOCKER_PREFIX)/ub-22.04-irods-4.3.2:$(TAG) --file $< ./irods + touch $@ + ub-22.04-irods-4.3-nightly.$(TAG): irods/ubuntu/22.04/Dockerfile.nightly ub-22.04-base.$(TAG) docker buildx build $(DOCKER_ARGS) \ --load \ @@ -177,9 +192,9 @@ ub-16.04-irods-clients-4.2.7.$(TAG): irods_clients/ubuntu/16.04/Dockerfile ub-16 --build-arg DOCKER_TAG=$(TAG) \ --build-arg IRODS_VERSION=4.2.7 \ --build-arg BATON_VERSION=4.2.1 \ - --build-arg HTSLIB_VERSION=1.18 \ - --build-arg SAMTOOLS_VERSION=1.18 \ - --build-arg BCFTOOLS_VERSION=1.18 \ + --build-arg HTSLIB_VERSION=1.20 \ + --build-arg SAMTOOLS_VERSION=1.20 \ + --build-arg BCFTOOLS_VERSION=1.20 \ --label org.opencontainers.image.title="iRODS 4.2.7 clients, Ubuntu 16.04" \ --label org.opencontainers.image.source=$(git_url) \ --label org.opencontainers.image.revision=$(git_commit) \ @@ -198,9 +213,9 @@ ub-18.04-irods-clients-4.2.11.$(TAG): irods_clients/ubuntu/18.04/Dockerfile ub-1 --build-arg DOCKER_TAG=$(TAG) \ --build-arg IRODS_VERSION=4.2.11 \ --build-arg BATON_VERSION=4.2.1 \ - --build-arg HTSLIB_VERSION=1.18 \ - --build-arg SAMTOOLS_VERSION=1.18 \ - --build-arg BCFTOOLS_VERSION=1.18 \ + --build-arg HTSLIB_VERSION=1.20 \ + --build-arg SAMTOOLS_VERSION=1.20 \ + --build-arg BCFTOOLS_VERSION=1.20 \ --label org.opencontainers.image.title="iRODS 4.2.11 clients, Ubuntu 18.04" \ --label org.opencontainers.image.source=$(git_url) \ --label org.opencontainers.image.revision=$(git_commit) \ @@ -220,9 +235,9 @@ ub-18.04-irods-clients-4.2.12.$(TAG): irods_clients/ubuntu/18.04/Dockerfile ub-1 --build-arg DOCKER_TAG=$(TAG) \ --build-arg IRODS_VERSION=4.2.12 \ --build-arg BATON_VERSION=4.2.1 \ - --build-arg HTSLIB_VERSION=1.18 \ - --build-arg SAMTOOLS_VERSION=1.18 \ - --build-arg BCFTOOLS_VERSION=1.18 \ + --build-arg HTSLIB_VERSION=1.20 \ + --build-arg SAMTOOLS_VERSION=1.20 \ + --build-arg BCFTOOLS_VERSION=1.20 \ --label org.opencontainers.image.title="iRODS 4.2.12 clients, Ubuntu 18.04" \ --label org.opencontainers.image.source=$(git_url) \ --label org.opencontainers.image.revision=$(git_commit) \ @@ -242,9 +257,9 @@ ub-22.04-irods-clients-4.3.1.$(TAG): irods_clients/ubuntu/22.04/Dockerfile --build-arg DOCKER_TAG=$(TAG) \ --build-arg IRODS_VERSION=4.3.1 \ --build-arg BATON_VERSION=4.2.1 \ - --build-arg HTSLIB_VERSION=1.18 \ - --build-arg SAMTOOLS_VERSION=1.18 \ - --build-arg BCFTOOLS_VERSION=1.18 \ + --build-arg HTSLIB_VERSION=1.20 \ + --build-arg SAMTOOLS_VERSION=1.20 \ + --build-arg BCFTOOLS_VERSION=1.20 \ --label org.opencontainers.image.title="iRODS 4.3.1 clients, Ubuntu 22.04" \ --label org.opencontainers.image.source=$(git_url) \ --label org.opencontainers.image.revision=$(git_commit) \ @@ -254,6 +269,28 @@ ub-22.04-irods-clients-4.3.1.$(TAG): irods_clients/ubuntu/22.04/Dockerfile --tag $(DOCKER_PREFIX)/ub-22.04-irods-clients-4.3.1:$(TAG) --file $< ./irods_clients touch $@ +ub-22.04-irods-clients-4.3.2.$(TAG): irods_clients/ubuntu/22.04/Dockerfile + docker buildx build $(DOCKER_ARGS) \ + --load \ + --build-context singularity=../singularity \ + --build-arg DOCKER_PREFIX=$(DOCKER_PREFIX) \ + --build-arg BASE_IMAGE=$(DOCKER_PREFIX)/ub-22.04-base \ + --build-arg DOCKER_IMAGE=$(subst .$(TAG),,$@) \ + --build-arg DOCKER_TAG=$(TAG) \ + --build-arg IRODS_VERSION=4.3.2 \ + --build-arg BATON_VERSION=4.2.1 \ + --build-arg HTSLIB_VERSION=1.20 \ + --build-arg SAMTOOLS_VERSION=1.20 \ + --build-arg BCFTOOLS_VERSION=1.20 \ + --label org.opencontainers.image.title="iRODS 4.3.2 clients, Ubuntu 22.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-4.3.2:latest \ + --tag $(DOCKER_PREFIX)/ub-22.04-irods-clients-4.3.2:$(TAG) --file $< ./irods_clients + touch $@ + ub-22.04-irods-clients-4.3-nightly.$(TAG): irods_clients/ubuntu/22.04/Dockerfile.nightly docker buildx build $(DOCKER_ARGS) \ --load \ @@ -264,9 +301,9 @@ ub-22.04-irods-clients-4.3-nightly.$(TAG): irods_clients/ubuntu/22.04/Dockerfile --build-arg DOCKER_TAG=$(TAG) \ --build-arg IRODS_VERSION=4.3-nightly \ --build-arg BATON_VERSION=4.2.1 \ - --build-arg HTSLIB_VERSION=1.18 \ - --build-arg SAMTOOLS_VERSION=1.18 \ - --build-arg BCFTOOLS_VERSION=1.18 \ + --build-arg HTSLIB_VERSION=1.20 \ + --build-arg SAMTOOLS_VERSION=1.20 \ + --build-arg BCFTOOLS_VERSION=1.20 \ --label org.opencontainers.image.title="iRODS 4.3-nightly clients, Ubuntu 22.04" \ --label org.opencontainers.image.source=$(git_url) \ --label org.opencontainers.image.revision=$(git_commit) \ @@ -362,6 +399,24 @@ ub-22.04-irods-clients-dev-4.3.1.$(TAG): irods_clients_dev/ubuntu/22.04/Dockerfi --tag $(DOCKER_PREFIX)/ub-22.04-irods-clients-dev-4.3.1:$(TAG) --file $< ./irods_clients_dev touch $@ +ub-22.04-irods-clients-dev-4.3.2.$(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.2 \ + --build-arg DOCKER_IMAGE=$(subst .$(TAG),,$@) \ + --build-arg DOCKER_TAG=$(TAG) \ + --label org.opencontainers.image.title="iRODS 4.3.2 client development, Ubuntu 22.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.2:latest \ + --tag $(DOCKER_PREFIX)/ub-22.04-irods-clients-dev-4.3.2:$(TAG) --file $< ./irods_clients_dev + touch $@ + ub-22.04-irods-clients-dev-4.3-nightly.$(TAG): irods_clients_dev/ubuntu/22.04/Dockerfile.nightly docker buildx build $(DOCKER_ARGS) \ --load \ diff --git a/docker/irods/scripts/configure_irods.sh b/docker/irods/scripts/configure_irods.sh index b6ac56b..4f2938c 100755 --- a/docker/irods/scripts/configure_irods.sh +++ b/docker/irods/scripts/configure_irods.sh @@ -29,6 +29,10 @@ case "$IRODS_VERSION" in # Logging has been changed to use rsyslog. A potential enhancement is to configure that here. python3 /var/lib/irods/scripts/setup_irods.py < /opt/docker/irods/config/4.3.x.setup_irods.py.in ;; + 4.3.2) + # Logging has been changed to use rsyslog. A potential enhancement is to configure that here. + python3 /var/lib/irods/scripts/setup_irods.py < /opt/docker/irods/config/4.3.x.setup_irods.py.in + ;; *) echo Unknown iRODS version "$IRODS_VERSION" exit 1 From d50ee95ac0c2fc8c712726d985e981e0621a1c93 Mon Sep 17 00:00:00 2001 From: Keith James Date: Mon, 6 May 2024 11:29:11 +0100 Subject: [PATCH 2/4] Do not build a container from the nightly build irods_development_environment has been changed upstream and is currently generating uninstallable packages. --- docker/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Makefile b/docker/Makefile index 64d9cf5..4f4d214 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -22,20 +22,20 @@ 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.1 image_names += ub-22.04-irods-4.3.2 -image_names += ub-22.04-irods-4.3-nightly +# image_names += ub-22.04-irods-4.3-nightly image_names += ub-16.04-irods-clients-dev-4.2.7 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-22.04-irods-clients-dev-4.3.1 -image_names += ub-22.04-irods-clients-dev-4.3-nightly +# 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.1 -image_names += ub-22.04-irods-clients-4.3-nightly +# image_names += ub-22.04-irods-clients-4.3-nightly git_url=$(shell git remote get-url origin) git_commit=$(shell git log --pretty=format:'%H' -n 1) From 4bc04beb8abe4928ccf3c2aff30929d1b7f4660e Mon Sep 17 00:00:00 2001 From: Keith James Date: Mon, 6 May 2024 12:13:52 +0100 Subject: [PATCH 3/4] Fix missing client images --- docker/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Makefile b/docker/Makefile index 4f4d214..6572d54 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -29,12 +29,14 @@ 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-22.04-irods-clients-dev-4.3.1 +image_names += ub-22.04-irods-clients-dev-4.3.2 # 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.1 +image_names += ub-22.04-irods-clients-4.3.2 # image_names += ub-22.04-irods-clients-4.3-nightly git_url=$(shell git remote get-url origin) From 90cf16d14525b693d0e8be5146281027eddb53df Mon Sep 17 00:00:00 2001 From: Keith James Date: Mon, 6 May 2024 12:14:13 +0100 Subject: [PATCH 4/4] Remove irods-dev from server images As of iRODS 4.3.2, including irods-dev in the default server image results in the final image being ~4GiB, which is about 4x larger than iRODS 4.3.1 and too large to be manageable. For consistency, remove irods-dev from the images of earlier releases. From this point, use the client-dev image if irods-dev is required. --- docker/irods/ubuntu/16.04/Dockerfile | 3 +-- docker/irods/ubuntu/18.04/Dockerfile | 3 +-- docker/irods/ubuntu/22.04/Dockerfile | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/docker/irods/ubuntu/16.04/Dockerfile b/docker/irods/ubuntu/16.04/Dockerfile index e33503d..712c4c4 100644 --- a/docker/irods/ubuntu/16.04/Dockerfile +++ b/docker/irods/ubuntu/16.04/Dockerfile @@ -39,8 +39,7 @@ RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - & irods-server="$IRODS_VERSION" \ irods-runtime="$IRODS_VERSION" \ irods-database-plugin-postgres="$IRODS_VERSION" \ - irods-icommands="$IRODS_VERSION" \ - irods-dev="$IRODS_VERSION" && \ + irods-icommands="$IRODS_VERSION" && \ apt-get install -q -y -f && \ unattended-upgrade -v && \ apt-get remove -q -y unattended-upgrades && \ diff --git a/docker/irods/ubuntu/18.04/Dockerfile b/docker/irods/ubuntu/18.04/Dockerfile index 817ea22..7a1d1f9 100644 --- a/docker/irods/ubuntu/18.04/Dockerfile +++ b/docker/irods/ubuntu/18.04/Dockerfile @@ -43,8 +43,7 @@ RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - & irods-server="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ irods-runtime="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ irods-database-plugin-postgres="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ - irods-icommands="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ - irods-dev="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" && \ + irods-icommands="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" && \ apt-get install -q -y -f && \ unattended-upgrade -v && \ apt-get remove -q -y unattended-upgrades && \ diff --git a/docker/irods/ubuntu/22.04/Dockerfile b/docker/irods/ubuntu/22.04/Dockerfile index 62ad998..3411138 100644 --- a/docker/irods/ubuntu/22.04/Dockerfile +++ b/docker/irods/ubuntu/22.04/Dockerfile @@ -43,8 +43,7 @@ RUN curl -sSL https://packages.irods.org/irods-signing-key.asc | apt-key add - & irods-server="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ irods-runtime="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ irods-database-plugin-postgres="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ - irods-icommands="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" \ - irods-dev="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" && \ + irods-icommands="${IRODS_VERSION}-${IRODS_REVISION}~$(lsb_release -sc)" && \ apt-get install -q -y -f && \ unattended-upgrade -v && \ apt-get remove -q -y unattended-upgrades && \