Subject: From 3.20 on, the dcc apk install seems not to work

From: Gerben Wierda <[email-masked]>
Date: Mon, 16 Dec 2024 14:47:19 +0100

I am running a Docker container based on Alpine Linux 3. When I recently did my regular update, I found out that my Dockerfile doesn't work anymore because dcc fails to install properly.

Key elements in my Dockerfile that works under Alpine 3.19:

RUN apk add dcc dcc-dccifd

My entrypoint.sh contains:

if [ ! -f /var/dcc/dcc_conf ]
then
        echo "Error: no dcc configuration!"
        exit 1
else
        # alpine:
        /var/dcc/libexec/dccifd
fi

This fails under 3.20 and 3 latest

Investigating, I found out that under 3.20 and up, apk fails to fully install dcc. E.g. there is no /var/dcc/dcc_conf and /var/dcc/libexec/dccifd is now /usr/libexec/dccifd. That last one I could fix, but I do not trust the apk installation of dcc on these newer Alpine versions (who knows what else is missing?) Am I wrong and is there something else I need to do? Or is indeed the dcc apk package broken?

Gerben Wierda (LinkedIn <https://www.linkedin.com/in/gerbenwierda>, Mastodon <https://newsie.social/@gctwnl>, Bluesky <https://bsky.app/profile/gerbenwierda.bsky.social>)
R&A IT Strategy <https://ea.rna.nl/> (main site)
Book: Chess and the Art of Enterprise Architecture <https://ea.rna.nl/the-book/>
Book: Mastering ArchiMate <https://ea.rna.nl/mastering-archimate-edition-3-2/>
YouTube Channel <http://www.youtube.com/@GerbenWierda>

---

From: "Sertonix" <[email-masked]>
Date: Mon, 16 Dec 2024 14:26:08 +0000

> This fails under 3.20 and 3 latest

Do you mean 3.21 or 3.20? I can find a related change but it is only
included in 3.21: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/74592

---

From: Gerben Wierda <[email-masked]>
Date: Mon, 16 Dec 2024 15:47:52 +0100

> On 16 Dec 2024, at 15:26, Sertonix <[email-masked]> wrote:
> 

You are quite right. As of 3.21 it doesn't work (3.20 had another issue in my container, unrelated)

Basically, under 3.21 /var/dcc is empty except for a log directory. There is dcc_conf anywhere on the image (or whatever else is missing)

---

From: Naomi Rennie-Waldock <[email-masked]>
Date: Mon, 16 Dec 2024 15:11:57 +0000

> Basically, under 3.21 /var/dcc is empty except for a log directory. There is dcc_conf anywhere on the image (or whatever else is missing)

Seems the package is intermittently failing to build correctly.

v3.21 did not run make-dcc_conf:
https://build.alpinelinux.org/buildlogs/build-3-21-x86_64/community/dcc/dcc-2.3.169-r1.log
edge did: https://build.alpinelinux.org/buildlogs/build-edge-x86_64/community/dcc/dcc-2.3.169-r1.log

I'm guessing the Makefiles don't handle parallel builds very well,
I'll see if I can reproduce building locally.

---

From: "Sertonix" <[email-masked]>
Date: Tue, 17 Dec 2024 19:28:28 +0000

> I'll see if I can reproduce building locally.

Yes, the issue was related to parallel builds.

I opened a MR to fix the issue: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/77234

Otherwise the move of files from /var/dcc/libexec/ to /usr/libexec/ was
intentional. So if you upgrade to 3.21 you should update the paths in the
entrypoint.sh.

---

From: Gerben Wierda <[email-masked]>
Date: Tue, 17 Dec 2024 21:14:26 +0100

Site: https://ea.rna.nl/

> On 17 Dec 2024, at 20:28, Sertonix <[email-masked]> wrote:
> 
> 
>> 

Sure. But as long as dcc won't install I'm stuck at 3.20 (which is not a big problem of course)

G