friendica / docker

Docker image for Friendica
https://friendi.ca
GNU Affero General Public License v3.0
48 stars 19 forks source link

switch to packaged gosu #199

Closed elrido closed 10 months ago

elrido commented 2 years ago

I noticed that both debian and alpine now do offer a packaged version of gosu in their repositories.

Benefits:

Caveats:

I have raised a merge request in the Alpine aports to get the package upgraded to 1.14. I can try and get in touch with the current maintainer (he was already assigned to review my merge request) and float the idea of getting it into community and therefore into the next release, so we could install it the same as the other packages. Since I am a user of the alpine flavour of the friendica image, I do now have a stake in keeping it updated and can offer to help him maintain it. :-)

Debian already has 1.14 available in testing, so it will become part of the next release.

nupplaphil commented 2 years ago

Thank you for your contribution!

I already considered using the packaged gosu instead of compiling it. But I added the compiling parts intentionally here https://github.com/docker-library/official-images/pull/11397 after the removal of mips64le here https://github.com/docker-library/official-images/pull/11354

The reason was that the packaged gosu binaries for debian weren't available for all architectures, at least not for mips64le . I do want to be as compatible as possible, so we're one of a few docker libraries, which are compatible to almost every possible Docker architecture.

we're currently supporting: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x

Can you check if the architectures are now supported for bullseye/alpine? If so, it would be great to merge this PR :-)

elrido commented 2 years ago

The reason was that the packaged gosu binaries for debian weren't available for all architectures, at least not for mips64le . I do want to be as compatible as possible, so we're one of a few docker libraries, which are compatible to almost every possible Docker architecture.

That makes a lot of sense - there may not be a lot of users of the more exotic archs, but it's annoying to loose one just because of a single missing package. I can only assume they must have had an issue with the go compiler on that arch or something.

we're currently supporting: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x

Can you check if the architectures are now supported for bullseye/alpine? If so, it would be great to merge this PR :-)

https://packages.debian.org/bullseye/gosu

They do list one for mips64el (endian little? Nice in-joke).

Unfortunately, Alpine has lost their single build host for mips64 and had to discontinue the support of that arch with the 3.15 release.

I saw some emails being exchanged with Loongson reps on the alpine dev lists, about getting a build host from them. It didn't seem to go anywhere - AFAIK they wouldn't allow the kind of access needed to integrate them into the build system and more recently have moved on to some new ISA which is claimed to be a hybrid of MIPS and RISC-V. It's a pity that it has become increasingly hard to get HW with their CPUs exported out of China, as I was actually quite interested on toying with these, years ago. Oh well, in the mean time we do get a lot more ARM choices and let's see how well RISC-V will scale or if OpenPOWER manages to make a comeback.

elrido commented 1 year ago

Sorry, I lost track of this one. Is it still of interest to you or should we close it to keep things tidy?

I'm happy to update and retest it (ensuring debian still has mips64le support, while alpine still lacks it).

MrPetovan commented 1 year ago

This is a question for @nupplaphil