Skip to content

Commit 4d7bfa9

Browse files
committed
fix(ccbr_atacseq): correct CRAN apt repo suffix from cran44 to cran40
'focal-cran44' does not exist -> 404 Not Found. CRAN's Ubuntu apt suffix is a fixed marker ('cran40') denoting the R>=4.0 binary ABI repo; it is NOT tied to a specific R minor version and always resolves to whatever the current R release is (R 4.4+ as of this writing). Per CRAN's own install instructions: deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/ This was misdiagnosed as network flakiness in the prior commit — the apt retry hardening added there is still valid/useful, but did not address this root cause since a 404 is not a transient failure. ⚡ generated using AI ⚡
1 parent 599cf64 commit 4d7bfa9

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

master_images/ccbr_atacseq/Dockerfile.v13

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ RUN echo 'Acquire::Retries "5";' > /etc/apt/apt.conf.d/80-retries && \
3333
echo 'Acquire::http::Timeout "30";' >> /etc/apt/apt.conf.d/80-retries && \
3434
echo 'Acquire::https::Timeout "30";' >> /etc/apt/apt.conf.d/80-retries
3535

36-
# ── Layer 1: R 4.4 + additional system packages ──────────────────────────────
36+
# ── Layer 1: R 4.x + additional system packages ──────────────────────────────
3737
# Ubuntu 20.04 (focal) default apt gives R 3.6.3; BiocT2T requires R >= 4.3.
3838
# Strategy:
3939
# 1. apt-get update (retried in a loop, see Layer 0 note) + install gnupg2
4040
# from the default Ubuntu repo (no key needed).
4141
# 2. curl | gpg --dearmor → write binary key to /etc/apt/trusted.gpg.d/.
42-
# 3. Add CRAN focal-cran44 with signed-by= (modern apt 2.0 style, no apt-key).
43-
# 4. Second apt-get update picks up CRAN; install r-base/r-base-dev (R 4.4).
42+
# 3. Add CRAN "cran40" repo with signed-by= (modern apt 2.0 style, no apt-key).
43+
# NOTE: "cran40" is CRAN's fixed suffix marking the R>=4.0 ABI/binary repo —
44+
# it is NOT tied to a specific R minor version. It always resolves to
45+
# whatever the current R release is (R 4.4+ as of this writing).
46+
# "cran44" does NOT exist as a repo path (404) — this was the actual
47+
# cause of the previous build failure, not network flakiness.
48+
# 4. Second apt-get update picks up CRAN; install r-base/r-base-dev.
4449
# This avoids apt-key add (which fails on empty/piped input) and keyserver ports.
4550
RUN for i in 1 2 3 4 5; do apt-get update && break || sleep 15; done && \
4651
apt-get install -y --no-install-recommends \
@@ -50,8 +55,8 @@ RUN for i in 1 2 3 4 5; do apt-get update && break || sleep 15; done && \
5055
libtiff5-dev libjpeg-dev && \
5156
curl -fsSL https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
5257
| gpg --dearmor -o /etc/apt/trusted.gpg.d/cran_ubuntu.gpg && \
53-
echo "deb [signed-by=/etc/apt/trusted.gpg.d/cran_ubuntu.gpg] https://cloud.r-project.org/bin/linux/ubuntu focal-cran44/" \
54-
> /etc/apt/sources.list.d/cran_r44.list && \
58+
echo "deb [signed-by=/etc/apt/trusted.gpg.d/cran_ubuntu.gpg] https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/" \
59+
> /etc/apt/sources.list.d/cran_r40.list && \
5560
for i in 1 2 3 4 5; do apt-get update && break || sleep 15; done && \
5661
apt-get install -y --no-install-recommends r-base r-base-dev && \
5762
apt-get clean && rm -rf /var/lib/apt/lists/*

0 commit comments

Comments
 (0)