Commit Graph

25 Commits

Author SHA1 Message Date
Tianon Gravi 6db82638bd Upgrade from GnuPG to sq
This requires doing a lot more backflipping to accept the musl key because it frankly should probably be replaced with something newer (at least since 2023, if not since 2013).
2025-08-12 16:30:44 -07:00
Tianon Gravi 6930d60e10 Update to Debian Trixie
I had two MIPS-related hiccups with this:
- the musl-upstream `musl-gcc` wrapper script has a bug that drops compiler arguments (patch included here; hopefully we can remove in the future?)
- QEMU couldn't run the resulting MUSL binaries until I applied an update to my binfmt magic/mask (https://bugs.debian.org/1041597, bb0811e353) - it also runs just fine on real musl hardware
2025-08-08 12:05:17 -07:00
Tianon Gravi f689a8df49 Support building on an arm64 host too
This adds a `.host-arch` symlink to build output; this doesn't get committed (for hopefully obvious reasons), but allows for things like `CMD` and `update.sh` to have a known-effective target for testing the output further in some way.

This was a mapping we already had thanks to `ARCH_TEST`, so I've also reordered our builds such that they're grouped by "host" architecture and sorted by "preference"/compatibility (with the goal that we get a more "correct" `.host-arch` symlink).
2025-02-03 12:15:59 -08:00
Tianon Gravi a71acd2dfb Update to Bookworm + musl 1.2.5
Also, fix `CFLAGS` bug and add `norelro` to avoid huge size increases on some architectures. 🚀
2025-01-21 15:32:32 -08:00
Tianon Gravi cbaef8901e
Revert "Add `-marm` to arm32v6 so it can be armv6-from-armv7-compiler instead…" 2024-03-19 10:39:39 -07:00
Tianon Gravi a1c987751f Add `-marm` to arm32v6 so it can be armv6-from-armv7-compiler instead of armv6-from-armv5-compiler 2024-03-14 15:10:33 -07:00
Tianon Gravi 61f3ba26fe Add explicit arm32v6 2024-03-08 16:48:04 -08:00
Tianon Gravi 3fb6ebca41 Update to musl 1.2.4 2023-05-02 09:49:27 -07:00
Tianon Gravi 19ac021100 Remove explicit `dirmngr` reference
This is pulled in automatically via `gnupg`, and moved from `Recommends` to `Depends` in 99474ad900, which has been part of `src:gnupg2` since 2.1.21-4 (and every supported version of both Debian _and_ Ubuntu have 2.2.x 😇).
2023-04-28 15:28:54 -07:00
Tianon Gravi 5ea157d042 Update musl to 1.2.3
(No change to compiled binaries.)
2022-04-08 09:25:02 -07:00
Tianon Gravi 3332fbee42 Update to Debian Bullseye, musl 1.2.2
```
 amd64/hello-world/hello    | Bin 13336 -> 13256 bytes
 arm32v5/hello-world/hello  | Bin 8948 -> 8948 bytes
 arm32v7/hello-world/hello  | Bin 4848 -> 4848 bytes
 arm64v8/hello-world/hello  | Bin 9136 -> 9136 bytes
 i386/hello-world/hello     | Bin 12984 -> 12924 bytes
 mips64le/hello-world/hello | Bin 7680 -> 7768 bytes
 ppc64le/hello-world/hello  | Bin 66400 -> 66400 bytes
 riscv64/hello-world/hello  | Bin 4976 -> 4976 bytes
 s390x/hello-world/hello    | Bin 9192 -> 9056 bytes
```
2021-08-24 14:52:19 -07:00
Tianon Gravi 584b134f74 Use "arch-test" to actively test as many binaries as the current host can support 2021-07-07 14:59:36 -07:00
Tianon Gravi 06d4f12fae Add riscv64 2021-07-07 14:50:25 -07:00
Tianon Gravi cb60bd8785 Switch from SKS to Ubuntu keyserver
See also https://github.com/docker-library/faq#openpgp--gnupg-keys-and-verification and https://github.com/tianon/pgp-happy-eyeballs
2021-06-22 13:56:37 -07:00
Alessandro Lenzen 7476122492 fix URLs
musl has moved to a new domain: musl.libc.org.
2021-06-14 21:00:42 +02:00
Tianon Gravi 1b6581761d Add support for mips64le 2019-12-30 16:42:32 -08:00
Tianon Gravi 7ecae69780 Convert from glibc-based binaries to musl-based binaries
The intent of the previous implementation was to avoid libc, but it turns out that just invoking a syscall without libc is complicated (see https://github.com/docker-library/hello-world/pull/62#issuecomment-568573535 for details).

On the other hand, my personal machine can cross-compile all of musl in ~30s per architecture, which is pretty reasonable, and the resulting binary sizes are only around ~10k each, and I was able to do so successfully for every architecture we currently support.
2019-12-30 16:06:25 -08:00
Tianon Gravi c0f93c3081 Add i386! 2017-08-09 14:40:59 -07:00
Tianon Gravi 7d0ee592e4 Add initial multiarchitecture support via Debian cross-compiled binaries 2017-06-13 16:17:33 -07:00
Tianon Gravi 0f30176f82 Add "nanoserver" variants using "hello.txt" + powershell 2016-11-18 09:50:16 -08:00
Tianon Gravi 85fd7ab65e Switch to the C version officially, and make some minor modifications to ensure cross-architecture compatibility is maximized 2016-06-29 16:31:30 -07:00
Tianon Gravi a2654a9266 Refactor repo to handle vanity DockerCon variant images 2016-06-28 10:58:00 -07:00
Tianon Gravi 7c64556e3d Update a few minor bits for better caching and verification 2016-04-26 12:50:16 -07:00
Tianon Gravi 2bf8256602 Add a new "test" Makefile target 2016-02-08 22:02:24 -08:00
Tianon Gravi 53828bc823 Add "Dockerfile.build" for building 2015-06-18 15:51:57 -07:00