Merge branch 'staging'

This commit is contained in:
Anton Livaja 2024-09-23 20:39:50 -04:00
commit 0356639e9a
No known key found for this signature in database
GPG key ID: 44A86CFF1FDF0E85
893 changed files with 12321 additions and 4142 deletions

View file

@ -0,0 +1,21 @@
name: merge-main-check
on:
pull_request:
types:
- opened
- edited
- reopened
- synchronize
defaults:
run:
shell: 'sh -e {0}'
jobs:
check:
name: Check if non-staging -> main
runs-on: shell
if: github.base_ref == 'main' && !startsWith(github.ref, 'refs/heads/release/') && github.head_ref != 'staging'
steps:
- name: Check if non-staging -> main
run: echo 'Cannot merge non-staging branch to main'; exit 1

1
.taplo.toml Normal file
View file

@ -0,0 +1 @@
include = ["MAINTAINERS", ".taplo.toml"]

View file

@ -1,160 +1,160 @@
[people]
[people.lancevick]
Name = "Lance Vick"
Location = Silicon Valley, USA
Email = stagex@lance.vick.house
Matrix = @lance:matrix.org
Fediverse = @lrvick@mastodon.social
Keyoxide = https://keyoxide.org/E90A401336C8AAA9
Website = https://lance.dev
name = "Lance Vick"
location = "Silicon Valley, USA"
email = "stagex@lance.vick.house"
matrix = "@lance:matrix.org"
fediverse = "@lrvick@mastodon.social"
keyoxide = "https://keyoxide.org/E90A401336C8AAA9"
website = "https://lance.dev"
[people.antonlivaja]
Name = "Anton Livaja"
Location = Toronto, Canada
Email = stagex@livaja.me
Matrix = @antonleviathan:matrix.org
Fediverse = @anton@mastodon.online
Keyoxide = https://keyoxide.org/DC4B7D1F52E0BA4D
Website = https://antonlivaja.com/
name = "Anton Livaja"
location = "Toronto, Canada"
email = "stagex@livaja.me"
matrix = "@antonleviathan:matrix.org"
fediverse = "@anton@mastodon.online"
keyoxide = "https://keyoxide.org/DC4B7D1F52E0BA4D"
website = "https://antonlivaja.com/"
[people.ryanheywood]
Name = "Ryan Heywood"
Location = Florida, USA
Email = me@ryansquared.pub
Matrix = @ryansquared:beeper.com
Fediverse = @ryan@tilde.zone
Keyoxide = https://keyoxide.org/8E401478A3FBEF72
Website = https://ryansquared.pub
name = "Ryan Heywood"
location = "Florida, USA"
email = "me@ryansquared.pub"
matrix = "@ryansquared:beeper.com"
fediverse = "@ryan@tilde.zone"
keyoxide = "https://keyoxide.org/8E401478A3FBEF72"
website = "https://ryansquared.pub"
[people.dannygrove]
Name = "Danny Grove"
Location = California, USA
Email = stagex@dannygrove.com
Matrix = @dgrove:matrix.org
Keyoxide = https://keyoxide.org/C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD
Website = https://dannygrove.com
name = "Danny Grove"
location = "California, USA"
email = "stagex@dannygrove.com"
matrix = "@dgrove:matrix.org"
keyoxide = "https://keyoxide.org/C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD"
website = "https://dannygrove.com"
[keys]
[keys.lancevick.personal]
ID = 6B61ECD76088748C70590D55E90A401336C8AAA9
Algorithm = RSA4096
Servers = openpgp.org
Devices = Yubikey 4 Nano, Yubikey 5c, FST-01
OfflineCA = Yes
Backup = Yes
Interaction = Yes
id = "6B61ECD76088748C70590D55E90A401336C8AAA9"
algorithm = "RSA4096"
servers = "openpgp.org"
devices = "Yubikey 4 Nano, Yubikey 5c, FST-01"
offline-ca = true
backup = true
interaction = true
[keys.antonlivaja.personal]
ID = F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D
Algorithm = RSA4096
Servers = openpgp.org
Devices = Yubikey 5c
OfflineCA = Yes
Backup = Yes
Interaction = Yes
id = "F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D"
algorithm = "RSA4096"
servers = "openpgp.org"
devices = "Yubikey 5c"
offline-ca = true
backup = true
interaction = true
[keys.ryanheywood.personal]
ID = 88823A75ECAA786B0FF38B148E401478A3FBEF72
Algorithm = RSA4096
Servers = openpgp.org
Devices = Yubikey 4c Nano, Yubikey 5 NFC
OfflineCA = No
Backup = Yes
Interaction = Yes
id = "88823A75ECAA786B0FF38B148E401478A3FBEF72"
algorithm = "RSA4096"
servers = "openpgp.org"
devices = "Yubikey 4c Nano, Yubikey 5 NFC"
offline-ca = false
backup = true
interaction = true
[keys.dannygrove.personal]
ID = C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD
Algorithm = RSA4096
Servers = openpgp.org
Devices = Yubikey 5 NFC, Yubikey 5C
OfflineCA = Yes
Backup = Yes
Interaction = Yes
id = "C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD"
algorithm = "RSA4096"
servers = "openpgp.org"
devices = "Yubikey 5 NFC, Yubikey 5C"
offline-ca = true
backup = true
interaction = true
[machines]
[machines.lancevick.local1]
Owner = Lance Vick
Location = Silicon Valley, USA
Type = metal
Arch = x86_64
Brand = AMD
Model = Ryzen Threadripper 2990WX
Ghz = 3
Cores = 32
OS = QubesOS / Debian
Runtime = Docker
owner = "Lance Vick"
location = "Silicon Valley, USA"
type = "metal"
arch = "x86_64"
brand = "AMD"
model = "Ryzen Threadripper 2990WX"
ghz = 3
cores = 32
os = "QubesOS / Debian"
runtime = "Docker"
[machines.antonlivaja.local1]
Owner = Anton Livaja
Location = Toronto, Canada
Type = metal
Arch = x86_64
Brand = AMD
Model = Ryzen Threadripper 2970X
Ghz = 3
Cores = 24
OS = QubesOS / Debian
Runtime = Docker
owner = "Anton Livaja"
location = "Toronto, Canada"
type = "metal"
arch = "x86_64"
brand = "AMD"
model = "Ryzen Threadripper 2970X"
ghz = 3
cores = 24
os = "QubesOS / Debian"
runtime = "Docker"
[machines.lancevick.remote1]
Owner = Hetzner Online GmbH
Location = Finland, Europe
Type = metal
Arch = x86_64
Brand = AMD
Model = EPYC 7502P
Ghz = 2.2
Cores = 32
OS = Debian
Runtime = Docker
owner = "Hetzner Online GmbH"
location = "Finland, Europe"
type = "metal"
arch = "x86_64"
brand = "AMD"
model = "EPYC 7502P"
ghz = 2.2
cores = 32
os = "Debian"
runtime = "Docker"
[machines.antonlivaja.remote1]
Owner = Hetzner Online GmbH
Location = Hillsboro, OR, USA
Type = vm
Arch = x86_64
Brand = AMD
Model = EPYC Milan
Ghz = 2.0
Cores = 32
OS = Debian
Runtime = Docker
owner = "Hetzner Online GmbH"
location = "Hillsboro, OR, USA"
type = "vm"
arch = "x86_64"
brand = "AMD"
model = "EPYC Milan"
ghz = 2.0
cores = 32
os = "Debian"
runtime = "Docker"
[machines.ryanheywood.remote]
Owner = Hetzner Online GmbH
Location = Falkstein, Germany
Type = metal
Arch = x86_64
Brand = AMD
Model = Ryzen Threadripper 2950X
Ghz = 3.5
Cores = 16
OS = Debian
Runtime = Docker
owner = "Hetzner Online GmbH"
location = "Falkstein, Germany"
type = "metal"
arch = "x86_64"
brand = "AMD"
model = "Ryzen Threadripper 2950X"
ghz = 3.5
cores = 16
os = "Debian"
runtime = "Docker"
[machines.dannygrove.local1]
Owner = Danny Grove
Location = California, USA
Type = metal
Arch = x86_64
Brand = Intel
Model = Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
Ghz = 4.2
Cores = 4
OS = Arch Linux
Runtime = Docker
owner = "Danny Grove"
location = "California, USA"
type = "metal"
arch = "x86_64"
brand = "Intel"
model = "Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz"
ghz = 4.2
cores = 4
os = "arch Linux"
runtime = "Docker"
[machines.dannygrove.local2]
Owner = Danny Grove
Location = California, USA
Type = metal
Arch = x86_64
Brand = AMD
Model = AMD Ryzen 7 7840U
Ghz = 3.3
Cores = 8
OS = Arch Linux
Runtime = Docker
owner = "Danny Grove"
location = "California, USA"
type = "metal"
arch = "x86_64"
brand = "AMD"
model = "AMD Ryzen 7 7840U"
ghz = 3.3
cores = 8
os = "arch Linux"
runtime = "Docker"

View file

@ -1,65 +1,24 @@
export PLATFORM := linux/amd64
export BUILDER := $(shell which docker)
export REGISTRY_LOCAL := stagex-local
export REGISTRY_REMOTE := stagex
export NOCACHE ?= 0
export MIRRORS := \
git.distrust.co \
hub.docker.com
ifeq ($(NOCACHE), 1)
NOCACHE_FLAG=--no-cache
else
NOCACHE_FLAG=
endif
export NOCACHE_FLAG
clean_logs := $(shell rm *.log 2>&1 >/dev/null || :)
include src/global.mk
DEFAULT_GOAL := default
.PHONY: default
default: all
all: $(all_packages)
include src/macros.mk
include src/packages.mk
include src/groups.mk
check:
@$(MAKE) CHECK=1 all
.PHONY: all
all: \
compat \
$(shell find packages/* -type d -exec sh -c 'basename {} | tr "\n" " "' \; ) \
digests.txt
.PHONY: compat
compat:
./src/compat.sh
.PHONY: preseed
preseed:
./src/preseed.sh
.PHONY: verify
verify:
./src/verify.sh
@$(call verify)
.PHONY: digests
digests:
./src/digests.sh
@$(call digests)
digests.txt: $(shell find out -iname index.json | tr "\n" " ")
./src/digests.sh > digests.txt
release: all
@$(call digests) > digests.txt
.PHONY: sign
sign:
./src/digests.sh | diff digests.txt /dev/stdin
cut -d' ' -f2 digests.txt | xargs -n1 ./src/sign.sh $(REGISTRY_REMOTE)
sign: release
@$(call sign)
out/graph.svg: Makefile
$(MAKE) -Bnd | make2graph | dot -Tsvg -o graph.svg
compat:
@./src/compat.sh
.PHONY: gen-make
gen-make: out/sxctl/index.json $(shell find packages/*/Containerfile | tr '\n' ' ')
env -C out/sxctl tar -cf - . | docker load
docker run \
--rm \
--volume .:/src \
--user $(shell id -u):$(shell id -g) \
stagex/sxctl -baseDir=/src gen make
preseed:
@./src/preseed.sh

View file

@ -1,171 +1,281 @@
fda8636719788a6206b4604fc25fba8058bc370b74e80a5f68168b55eefae051 abseil-cpp
90b1b2c705dcbc4112420762d2cd0acd71f03b967ec9c8267dcd6efa3f4dd11e argp-standalone
1ba8d3185684a9dd5702920d689ab3a437db70c8925981d07736c066d83d3797 autoconf-archive
1af73ca2217bfd31eeebcbf4a36091b604a70b1a56793b66a22606972af15a45 autoconf
40c3d944de217faceedccb028e92c730f4ed041dfa580bd14a76a19b7418846c automake
8951e64343e1b4e0df301c4ef62474655bb26c2446cf6f0d12906ef298413238 aws-cli
395e85b2f017c3fd30810d12eea5d59b015f6f5387f79bdec808ca01408cfe86 bash
1ecf6029ceed91dd62b08c64e49f00518edcf6c10ac4ab2fe7e8f71943607eef bc
823ad20a58696435f4afd61aadbe7d9e18afde676a94b59a932126fc16ba0761 binutils
aad29b5b7b0851eb2c99fe5ffbb3000655d4f199c74a048d0a29d45d651afa2e bison
d6a180c1b2e06e512f9defcbbd03fab104a464a52bc83c37a1ecf1874e2ef6cf buf
8cb9360041cd17e8df33c5cbc6c223875045c0c249254367ed7e0eb445720757 busybox
f4fdf7f5c966bf2aef1e271e146d019ac6923368aad3581f817e2c893f8d97c4 bzip2
76b232139c838fad3cdc693f839384141c2a5bf6e7f390294a133be1392a9b7a ca-certificates
0f50ff4441d8b20ff73babab652fc0a563bce46385100240de4ae587012c9505 ccid
0021ac32c35197d8bba0ae6a27104da7dd7c63535b0f3e9bfe812e55b9e97b9d clang
1d3e7a0bbb030cfadc6ad6a71d6c96ce2c415570b1fa45478796a11d4aee4628 cmake
e8c88bae74f453d8277a6265e8ff22c14d404d22d1e67ea68be68b4da59ede6a coreutils
25afad810fbb9b1d02762030c3e43e07259a79627dbea9b66ef7f797f8377a2a cpio
0b72be087ffc4767c9fb58f3bf55ed99cbd48217871e23d8bdc31b6afb1e0253 curl
4e937265bab0f853b175bccfff831d3888da567d3966f6a284d233540e09a472 diffutils
ac56e8eaafde2485a6e60d3b46511701506de859fecf53d0b99be75c9fb63b6e docbook-xml
76a6fd516da4306eaf24637934432bdae195c867125f55c8d70d7d177b64b590 docbook-xsl
8a580d399d5f7ac276e276059be5ffc87d6118f30f62a7151de76f7eb4a37fbe dosfstools
6fc0d5db2775f987f089b7280c6e362d23404662718cd4273dcd881fb2650eec e2fsprogs
34d8af6561c26beb90b78299f0f20e1327147e7a1e1519d82ec65bbee7c4e824 ed
8628b83ddf2aa51068e2422b62646250667abe0ec9591a30c98a3c4bd8ee6ee1 eif_build
2e415f1c641e35286d992d5c2406944b36eabff4ac3eb27b6e226bbee65b4548 elfutils
66020d28246af1d1e5f8fe3b5bca3da3cbfbd1f89cc1c616b7f8d13f61419026 eudev
6cb3e28b54157e1ffbc04fcdcb7e896e1bb9337d323e5b6901a26577efb9e795 file
c504b17edae1bea8c139d058b20bebd383a0be1b4f57565d92cb578012f9c0f8 filesystem
e7d48fac7c198c6a58e83a437d6f86f795dc8a7541720472c9f728f9e4710466 findutils
e2ac807475e66201ad50eee09bf9625ad0e97dc136818ff11775cb13a54d764b flashtools
045953b67aa1b9f965b5e0b507c55d7590e5f32e33fefc65953718898d30ade6 flex
e4b39ff2528e93b0d4936c88c0c8da50254a31927e2c1d716a80915f37cc59b2 gawk
ce77c0d1576d3c9d7905edd438fc58d2c51c0340a996c09a93c4602534dc2e26 gcc
0bdcb1073255ece49129d61998fb8cbe4521d409c3631bb0d8d3bc5f00d8945b gen_initramfs
8ef80aa190b4c765615b4a1c17f906d73a83cf39f88e66ff4f086e990db75066 gettext
d177bde1f1ca0f20f74502af4da17b89628683f21116573ada69f38b46d367a6 git
5c701a3a1f95c1c19e57ce2438d7bd8bce2c6c15556f31bb68ff160b1e6034b2 gmp
5c12000dd04a015973fbac431c77e6739ec19bde4454bca3067452ad30ebb48f go
693b5f99ed745bfadac5d89ad45f3e26400059b68430db23c4895e38bb0c8025 go-md2man
d49e37f8d4455259aadab9fe28e18da44f83ff6e86a2d636a7bc799ac40d8841 gperf
b5b0726171f66da437dbd24d2398cd324b96f00115770767b4f72df2547c5323 gpg
821c412751accafc42cecbbdcb9fd6f1ce3de2732c79bceda79cad4973d1c4ad grep
138a64d541a8acda7e6c19033a83114082d0aca39569f34fd94ea40dbfb7d675 grpcurl
5f382615881470e0cf9c670bead785507545a2b829b391247313f516c63355e3 grub
f8f916ceb9b5bab3bd0accb24049f8c91d23d25ecbc73432fe6e904a6376bc7f gzip
0e12ae85e8c0dc702482806cd85bacdc4a4d7765f5c1bc452f1237762845cd57 helm
7ba79dd2b79dfaab960b02974c5bf0e836e1f5a168d5e7103e8194a7f3512444 icu
f745fee8efc807a1493d2c9bd617b1345f10a4dab02cc528fe930647846682ea iputils
0297a099ae95eed13d48bce2d4d624544857680095b6201e9919e1d5da45a6cd jq
63db8d16b2549bb68498ab60f700bc12d9fec725db38440678aefc4f83353537 json-c
2b7016af8f507d31d222b30e8c42e26bec7178963edf4a029ea50563b87914f6 k9s
bd6167d2a4a6c3b1c3f9c0accbb1fe0d5854f64997bd1d9d8d822cdf628f8baf keyfork
facd6c6d1eacf6a0d180f9b231fc45527ecd1693db97cecff282e1b5cbe989d5 ksops-dry-run
70fa7f6e5918ddb66732d4ef42e979dd6db38ad92875f5ad8ff1a6d04450fa3d kubeconform
f647075cb0330b8cfc3d35ac097d9155e130ea5d1dd16c99e927c7a3b4da47ed kubectl
a99a74f2e37770ea3cb6fe8a4ebe8e731800ab3ea1ed3813b9f374592adf85f2 kustomize
57655bd5bed28075a8ab96e1e50d9a6f88a0321893dcda0f53b4b483a5188f7a kustomize-sops
742ac429b484bf2b441f9ad72d1c67b44795343c0b5ab646ca5a4bcb8a27f592 libarchive
1267bb842bcb6e8bff56e2b72599357605a5e141f76629f7e96187ae85a07197 libassuan
bc8dc2d91963008d3bdb462251269bce239a17b8966818023ec950301f8d744a libcap
23c734a9376d588c2ac112c61d84309c511281fbc62e0fcdbb04e97ef4d2f99d libffi
ea1906215d18688d96fc5329301af649834fe96c5eadda74c9d485623efb1f90 libgcrypt
e7e4797f38ba1a09ba700c91e2a5c99230f04f31e7961101a72d4e95f653f284 libgpg-error
a5aac434ffd8fca96c435756fac9e300b3d06e04a15c707d09e5e8a16c0bcd89 libksba
1927d17aaf1ad6a9910380714f0dd12c72c69f9ee1b19668bf4cc5f89cbc2b2d libqrencode
cd53fc6b7ffc28b0575d3f74bc2c32794f36ce138adc49556870ce59443a51b4 libtool
18d3b25f523d83aec9db229528d83068a5e289cc6dd27c85ab6ed0f0a55bc9a9 libunwind
c67807377fb18d2a874d975b43e37056eb4067a5be74ebf8c1f5e5ec65ae5650 libusb
92302a169fde418c2091537b5dbdee16ce34789a71444eb91d1b2dd729a41cc0 libxml2
a5b94093455cbf9d739a2559155e7ae66654d1511b6b4d7bd08ea440f6e8b281 libxslt
44bf98b9cfc8f7659311a9780a2bbe76234e7e50706042e3812afab8d8d7ca33 libzstd
a4fac3ca7795e171a4d1b3b634fdae1790d4f8d076f3c1ac8a38f3ece72e1ec5 linux-airgap
bc6decf337fec1202a332848358ea128a5f82a7d312372ddb66ab1516742293f linux-generic
fe366787ecaf36393b17ede6108161af4136bf5b7521e49f0a005a6ef68ef8db linux-headers
8e43d6705c81a9747f6deeb1b8c51277056e5c0a99e7c1eb7f2460c8d031432f linux-nitro
532e1af9d6908aeaf34e6cb919a666ba8e7a2f0c68c62a5bf97051a010234c7d lld
f59625658e3bf6fcfd1ab8a5dfc33e5b08774e9be3fc040bf0fc20ec26387bcb llvm13
c43abe585e2867d2ef2fad0902f2a264a3c4a429f95dddd00320de59dcf66210 llvm
985856b71fdc8d00a37de7d24eb6dddd2afde85fa55354d51d4478535978cb8d lua
3467caa9a33cc9fbc227ae4d4ce81597489d678f214d4cc5f47f2d972b4e3085 lzip
284b0fdcc8f424cf67dd5a7acdde17f696846bc218c20923dc93e5cc786c26c5 m4
8357ff7a8afa260ae3cc8e8993d80bce524d9802b2033020f7ea7f8f85133634 make
55c17c86bca2bfa700548094cbb5ee3da4f0a8b2c09a876481edf9f29e08e58d meson
4625fbe2fda77b9e5037d08e4b8c65c1232427ade3ee4e0728ac73a0b26472a8 mockgen
b6202dc29906ea8d7594bce604cb676f5335cc51e75e3f12b5f619e8fc27cc28 mtools
9dde4c7dd23f8337d2ffaa1e5d93f781ec56292ae583c56fb25b5f7acb3537cd musl-fts
f888fcf45fabaaae3d0268bcec902ceb94edba7bf8d09ef6966ebb20e00b7127 musl
9b28f5895304b752c8f64829a76bc5e96b033a510d46a01a62206b0f7113df04 musl-obstack
a1e2850292297c8740972fa54f9942500177b6f0984d4353a4a14c207d5330c2 ncurses
a7078cbde902f0c891910a54bee2b4f073d456f1e10f8a051000d05b616eb7b2 nettle
2b67861ee4ce100bbea14ca78438ea0d1dd921434884ef4c1ca9029a07dc80da ninja
7899c399f2924c5ba0dfbce9ce6f8391e27ecd0564f0341fb85f83ba293e1ebe npth
088dbc336e34f16f7a8e323f114918468a7e4b13b190c43593ca7b0dffea54b4 openpgp-card-tools
8da704d0078d445d3af0338764b9f3a87ba4841744c396c8eddef15466366553 opensc
79e8a8b5994cec32e486ffb59c76ae3f6b3081ac9c578da4bf633383e6b45e66 openssh
9bd55ed05263a538e6a23c0262edc356c998a24674f3b8ad008a4b117a4cdf3b openssl
fd9b0600f7f73f87d9d678b8b8a7119e0f9b9314c9959bd0d180c31736cb97d6 pcsc-lite
d83997bda2b9500c8a4567df827a90d65efa842f9a2bb361b6f394589cf167d5 pcsc-tools
c5ae28da107a71f80e3f9af26633be5cde252f3bf89ed626b26c808b943e7b01 perl
015ca74b2658e6d181cccaff00dd23c1f90ad1816fcf965324e76fa3454e66e5 perl-module-build
839acbbd364e05dac68f877ce1777bb42b8ec3bc82c84986eb7805b1c928f341 perl-pod-parser
2f5128c181a137c259d5304b77d213ca0d9fc85452b034027b47c2431044c5a6 pkgconf
4e18208d998a26cac3da0f66aebd02a15c1f526ec0517fc184f47e99539c8513 po4a
ff8bd3f8fda05729ab717a7e68b3bacf2d09537e72b488fcbe767f0c9a3d8fc3 postgresql
d139ce360aafe2552121ff380dfa7c97d3c4bdf14a2c091ac6eec9df5d5270f4 protobuf
4683db34b3f577c1cdc32136ac3d160df204b97c31fc48a713b875d4ea6911d6 protoc-gen-go-grpc
8cc32668d9f412bd8c191c5318419454d9574a11f951e4db6a7a0f2bfb90783d protoc-gen-go
fcc24f48c1d711e575ea85101f2273f380d2444526065bb36a1a5676e04b334e protoc-gen-grpc-gateway
e19bcf57e6b45677d2d67eb44067973c647f3ca93c062716416dd30eea1a0e7b protoc-gen-openapiv2
df7a1630ce701cde982bfdd7011577d8302683377d81dd3d838e6f041732c27e protoc-go-inject-tag
bc406c668dc1719abb3f0d7f13472679c2f8787bf2c9eab6f10fab62e65d8f25 py-awscrt
65cf34dd33b2bc0abc53b8e11e466953efb29a69f008e69ac55ec73d61e2cdb2 py-botocore
35bcb20b054c3dd6259d008c8cdc39665ad18df511ca96f26dda288020ba1fb7 py-build
59afa5d510ee1ac2ea129c2f96ba3392b3b75482f0ccbc91195503d9c9de10ee py-certifi
f45355bda5820f0d703ee3a67ef01b3de3eb466d93d8fcfd496308ed5f525d38 py-cffi
0a2e318d6b5f21cbd3a0452755b4d64e855186e55069b4affa5ba7d649ea4f9a py-colorama
0d8849ef819129c42e2f5a9746b8a13218a2bbe9189c71b61bbbcb67fadff6e9 py-cparser
93a83fc6fa352c39e5d98c622544e08c661ba2401963c02dbb82899dcef75ba1 py-cryptography
3d5b194ee87804685f22d2148be5b387475cbbe09aa82f266366383c70775907 py-dateutil
14f493c66c1f81649c2a31b7d14c441c9e09698d79b290161d93026e4780ec44 py-distro
bae843ab95fffba8c983a9794f9de0fd8ef6ac7c9a44e17f87a925b9185421e9 py-docutils
4b446b9727229083eeee5d834e75ed2ccd26f28f9de347e6f449eeeab96c8224 py-flit
81e6c3793503b95beeb40bbc942bd4e394dd3852c1e152ddf096766f5b481623 py-gpep517
46f9d78935d1ebdc397cd1a1dcaff1cb5c17a24679bf5d5bf74719cde122b986 py-installer
a280f496d08ada980687714e67b34a5de318b1c88c733f211da6628d42b8e025 py-jmespath
4f8e9de6e4259273651c2aa11b6e83f064d0f7995bafbe8246b1c01b3ded9597 py-packaging
076da491f5034059097a6443fe088a2fa5d10ffc16646cfd6bdba228eeb55ed5 py-pep517
80c161370d57e12d4ee47dc0d163fd8dbc1a7308d89f41ea3f5829ee5ff23614 py-prompt_toolkit
f5d7825bdc213cff5042fa62d5b2148b68236dd986c1063617d90ede020ef91d py-ruamel.yaml
579345f7761bc07a3a16480e4d066f7ff1bfef7e16c6c39a3c98141ef3773cca py-semantic-version
7f019f34eece4c6c2ab48e8077a43f68c8eebdd5062ac95b223ed68bb640beb6 py-setuptools
6649e4482c4a5e5fe1df17510f76423b8a75b289615adf61e1be3d4ad91d87bb py-setuptools-rust
8baa17145013bcc839d5fd25dec1b81ef50c84d206fdc17b4ce6c8dbe6783979 py-setuptools-scm
25d606d48a73c125ed9556cddfe7abcc9a756cfd123df1e7abd3d48074eb3322 py-six
44a0e45c4026c06af1449d752fa66ea1ae228fee160754ac3f4e83c9833572e4 python
6cac7914775301fbfb03635a1c0b98e44632a5988f62b4d590be0ba8879a2f0f py-toml
7a99f88a4c0652ad61c99ebab42c3d2dd1a8444eb1980c7cec31ae538ac46144 py-typing-extensions
ad1a7f01da06e207d9148a71cde97724a0ad9752df00e7193de27f1c9c9646e7 py-urllib3
74a31fe749c5de6386e271fef9aedf61de8b649edd8d471a216188b12e5298a6 py-wcwidth
450e7b8c9b436704e76c15d8fa01efd91839f4bcb89ae5033af80dad20f00d45 py-wheel
d6b0fededa0b24e0e1788c230965ff3fc7b5c430ac8982ea8d345ce7adf5a4c7 readline
b8363bf61c8fbba40540f7db823998a17baa6b24c0f553114516fbbe169d6519 redis
b982614e41a163f0b4222a7472030e30d466a8a605a1ff41e9731e9921e90f0e rust
54ad503c27a688bc1ac8537c6090c1dde514c5b6e67332ca7b0e1d79c577be96 sed
7d8d51e41c7cab21b8ae75f557961f20405f727a21107d669080e3804d09665c sops
7afa63749dab813b340108cc253b273f1e1442b567da631ac5686e357410f864 sqlite3
6d4ef4bdf25fc418b3cbde8e51d74d8e34705c3560917aaf76b392df24fb26ca stage0
e6028317e5560d0705fa5dd72ea5bda9492098718c108da036137d29e3101845 stage1
b91a42a8b32013895119a8435686c7c7d37ca6e4ea6d6aae99bdfe614a0a6889 stage2
43f0f09ad2299d1d79761666141792248fea99225a23c216f6bdf0162c9d4fd4 stage3
80c17352a8ed1f0d085cc9fe8da16d65403282ecb3117739f8221df0d4b17af2 strace
24083d761fc10ec460aaf9d6466fd9b59589da6604bd230c40db30ceefb6bfe0 sxctl
909dcabcf13bd39b0138309f6efdeb780e01c00bf17cb1e7ee851e8b8be74d2b syslinux
04415fd1dcca6fb9a2edcb11ef12402d120bbded0c13dc4ce38aff0c9c205791 talosctl
40709224c12e2edf9da1b21434d850edddbdd81e5c960e9e70b4713f48b5ea97 tar
db0ab7f1b1d7b02dd501a01af85f455a82cd06f93b2e4b79f200273b25c0f250 tcl
9261a11db7c8d4f74be8d2fa1708a96d80c3c82ddedb26a9131baf2c1cd9e627 texinfo
1353af73a8e4b576a0711db268c2be6dff93b66c21eed042c28d93f39e49cc81 tflint
afcb2120ef0db23cbfaabf703663065072d2bf722409764bbd9672c887d00a04 tofu
1693d4ef7e0b7df3e9bd60088588d94b7f5bf755fde0c1be695f3c2f00ec2897 tpm2-tools
5e362f43a5e0c49f774605a0e3e1b7523dc6bc775f537c206a3aaa8b8b733c93 tpm2-tss
41525597d1f5648dc2318da7779e3c5194b4e6d24cb07f2f616ac539bb094d04 util-linux
9ab45852aee077b68ea101173025be6e1cdbde93692efa4ee198e1960f02ab52 xorriso
f6ca72fc9096ef5f694b6b7f9b7ad323a571d9447eb5cc790042f72e69b9aad8 xz
10e80bd7cec3c6e0a7fd36c65bac13600368bff993ad42b03e3b787d2125e5f0 yq
82f9f8ae24e077529bde415cef3f2408a7321d008bfd9fe904e3726f8c309551 zig
b19100a245460e1b4bf1c407f54698c0c8cb6a00bf28bbb2c7a61650e690752c zip
d0d6eef463a410191e086448c710441109ae72693cb074fe2b795ee033aa6c9d zlib
2b302a926971b9da62c6d898779971b4229d73a8c4e341d7de2ea79de70f920e abseil-cpp
865af5a01d66da86b87cfde51b5546449f70daeaf797cc809b254f90c9445db1 acl
2e9b2850e47a7411567fd22a3dcdfe78029e77671a78f17102da943f64a17bda acpica
a41b481187f76c1e9ed4e237977f4892c1507a3b8f8f6736ff3fdd5144bd2afb alsa-lib
beaa89490c3d05b590aabf399d2058748472d20deebe1c8c9dd2519da5e2e652 apr
090e0082e7a3f2c3519bad7377d1d5e9b4d4c2fd1255982c060f5871694acc73 apr-util
d2954e08c80097c1bef1e9511bbc502c54086cbd81c8f84adb2b732f0958ab53 argon2
633608a6ce39c89f3fbfa086c44dd97e988fe996d7dafa02728298a443a02052 argp-standalone
29fd68f838832fcb691d17104c641c1ffa1f517ce29292b9b4e69dd3ca1b7d85 aspell
19403c6a4623181bc7a62d6070907fcf27072c1ffc5430c17166e0ecb32c3386 attr
95cea86440484bdf336548905b6904ee42feb1379881dcf09b3e6febdeff9af8 autoconf
73a6f1d7889e7779d2080a490ceaed0b8936676721d9946d5d062b969355f00a autoconf-archive
59b2c8e5ad336108685337d011ff38acc08e83b2c77e8aafea7c5722841f5ef2 automake
5f4d5df5ef40538c01ebdeeab849045b0feee7af5d217b1c5296455a00db0e2b aws-cli
cb58f55d268fbe7ef629cda86e3a8af893066e4af7f26ef54748b6ad47bdaa66 bash
039cc5ac357a17d6374445fe4eed1dac15cc72f615bd9657c17e2c3904d42b62 bc
30a1bd110273894fe91c3a4a2103894f53eaac43cf12a035008a6982cb0e6908 binutils
a96fc6e2c246bdc29a263bbff117a8830704ac725fa524d7ac779f0566916c8b bison
92337882b03339de5b2f19866e5ae0997681cdd33247a50b8f13771ea5599166 brotli
20ab5b4597caededfd404cdb8dbc8e4e8b5f2faf52f735be04aed3d063d9dfb3 buf
291a933db0ef0ada1ca79740f7ae8c1309c7e3706cf2b44f42c5a443724763a6 buildkit
d34bfa56566aa72d605d6cbdc154de8330cf426cfea1bc4ba8013abcac594395 busybox
02aaf7444cf39b11cc70467eac4a315def3d8e8083b05a94e96b5f1309219645 bzip2
33787f1feb634be4232a6dfe77578c1a9b890ad82a2cf18c11dd44507b358803 ca-certificates
ac089ee6aa28d6784ad8b339fe8547a9e781bab6913d87f5b53390f96eb51212 c-ares
3225dc4a6a1af5f828854157a6b16eb09a0b0f7ebe9d9ee34030afe3966afad1 ccid
818ec25333017eae9bf9aed7a7bf96d116ab0356cb975008bc97bf6b7df03514 clang
4d3fd5923cadecf82cd45a992094a0af564612732b4183cfa217f2a98459695b clang16
9f6c0f7ad7a6fba1d4ffb91c06dd0ec5d838477f539233ed8d19aa6b8d035f21 cmake
3c996e9b94fa685c7407b6250880dfe38d02ab8818c8947d61c63908c8cfd594 containerd
fe7463445ec4b2326f04887a0b04e226459c45888cd3312f70ef891cd734ce33 coreutils
abccb58edb5f1f31b3b9c8b61cffa10cd56de3307e337335927b8df4d9112d24 cpio
8e5705a77a76c92d058e016184dabd0c4fa2f6117021cc5ff55df35f654cb158 curl
831b045250df81b9f82a36796e86d7e1cd998d70afe5845c5ccf387e5dcbf9b9 cython
b743e783c8ddc8adf2d58214b51a70f8d1912208b7a0e2b0b2e4f99753a9be5b dhcpcd
f20f1db9118bb421652a7f6b0c48d7647f795c66e20b0f57322f61ec0c78483b diffoscope
c0e9461da7f952e3491542891c0e3d31b736c159b819a2af0a64078a502100a4 diffutils
5d3814394626bd1f49f33fbf213a99b3e6e39fa7cd55c483bf8b644790374be8 docbook-xml
64fb0e456664f0f39060419d735dc98d15042e812d0a7d2a13049ace690411a4 docbook-xsl
0ac5313971b65059dea71d7aacfebf88f35c9bc9ba02aaaa36efc8095b032e91 docker
7181c986e61a684976ce68eb9a9854f227f824f5e624af75fb99a97c80000fa4 docker-cli-buildx
e6a454f008d7c08ec255fcdad2058b40687ae16ef267b47452efe37f11614c60 dosfstools
31467bf1f5ffd6fe4c2f7b457671f5db1063ee0bf52c03f190deb7f1a13249cd doxygen
57f8aaa94059c43081b32fccb473ebd2c0cf16878dcf0e24e0e56c910467e93a dtc
9a8221b9114246560b0eaada99c35534c7c3bd5e8aa3b7551cea140ec3d0b2a4 e2fsprogs
8ab90aa69877571d31ca43aaafecf835c09343ed48cdad14cde93267cb721ac0 ed
fde31559023631cc275d85f29fabf1c1b841fda05cc4f6f77e414862161b0767 edk2
291653f1ca528af48fd05858749c443300f6b24d2ffefa7f5a3a06c27c774566 eif_build
6e90f2408aa3eaeeb18c6d63b399ce73bcd3ef693f53ef232d0803cb42803d71 elfutils
7da7aed7ea7eb73bda86e206e765bdc8e6367c2c2ae535ccd68c7c1b0a936611 eudev
046aa479ac28e5ed0d246e85afb8efc5bcc02015cd07735b2ea031b50cbcb48a expat
11b57e23e265ba7f2b56e31901be8f188f870038d1b970900e70bcb70a3ba6d1 expect
b43a7f0bd50419a39d91d77a316bb888ed87c94aeb6f9eb11f12efd275ca4ab8 file
d03195563f548c3ac8f34acf777b7e86f0d0d049a9430d715e5774eb7cc93302 filesystem
d92494daaf08999aac0a277327d240a0149494716707fbce93381df058f693e2 findutils
4e61cc6f0af9aa6116bb93f048c20d00026d75c27dc52b7e8604f0e340c55b80 flashtools
fb22f60262c39dffd878f5243e13cc357ea45a088c60f077359ed48af7476fd2 flex
ccd1c7329ec0019bbf6c3cd1b81db218bb4fcedde9e074e25153eef7c6c8d6cf fmt
663b5710e2874646842f964abf3c67fc084e251c2b2bdb2f355517279ce1e0b4 freetds
cd05a7cbfeed90118680c52da7d90e6f31ffb2fc3967ea760167592204af2310 fuse3
abe83e0c4e2297814d14c623ebec8321fff56c5c0fc88c3f25dc03f781920be1 fuse-overlayfs
03f2726e66ce5051867aeed9dedc2a6b93d7faf5fee265e6eef56ef9c768d439 gawk
439bf36289ef036a934129d69dd6b4c196427e4f8e28bc1a3de5b9aab6e062f0 gcc
c526f2367cb63a294f13d2ec93c9dc03625ed90a5fb6f93a0ce488731f60f327 gdbm
f5b9271cca6003e952cbbb9ef041ffa92ba328894f563d1d77942e6b5cdeac1a gen_initramfs
ad263b1192b4f07c3b2db85464380fe10fe33b3162825890bcc18ad192186c6f gettext
29a02c423a4b55fa72cf2fce89f3bbabd1defea86d251bb2aea84c056340ab22 git
d280c18f8b52ce21a26924b0cb1bfb69ea6508b57db73efe22401572e71dbe84 glib
6d0f8c6472f72e35e2d0a2fbcab077407c22e8d2b921ede2d8c57bde60011c71 gmp
56f511d92dcc6c1910115d8b19dd984b6cd682d1d3e9b72456e3b95f7b141fee go
80badaa5176879f83dd04df14a940c24d79cd3092dee6d556e9f284297319a47 go-md2man
7585458a0786a21de5414662d09dc897961a3beb3641a565c540367ab8d74c54 gperf
f63555b39740db63b34c06894a4a9d5e125d04f5d51e799909d06c490e8ecd42 gpg
576288125a7ecda969285e5edfaedef479c4bc18cba8230c0502000fdf2586c1 grep
fa0a8627fea5db3ffffa42990925bee75adc7e9042388903bef12fa8bef25513 groff
4fa877d54258b01d5f825f10f41bad6275c010c5a7bf80b54368a188caaaddf8 grpcurl
a14c60f152c759185e5702e910053cb5c0d9eee11f43d8d5d40a84123aece9fd grub
d1bbdbfae6d773c2b69f2a03105f604f782ab68b42fcb5c5addf0b29698b5f6a gzip
0e80b5408f0f92eb0882a818f13b1160942743fa5b6e3b0db3f436a23810dc1c helm
f29278cbdf1da7ba6c716d5c7ce9e2c2292b94514dd6d00f8c3b517a9486f345 hunspell
33db338624ed3a3720d84278de9488270b8a4eeccff32110551f8a01d149098c icu
393eb58ff8b385565ffd84a0f39895db548e50fa04d0474a89a55d880691dc68 iproute2
2a0e24536ab3ac83877afc9cfc46f0a14144d34bf1e9d5d85c5deb890047fc9d iptables
d75098bd3832414bfcd226417e4d2b7bad8a6699372ae9466860df74122ed96c iputils
5791d9b42c7e9099a0180c4fe6cc4b8e9afc9e6b9ec392099c65c53b71db7908 ipxe
3e8b44aa54481bdd46406e9d3a63862f4216f81530a1898b3c144e1c38847a82 jq
342f1083fd61285468f02979862e7cf7a89a43b8dc09fe7293ebcfa456c6a234 json-c
cbde1c424f21647a26d82d0f93a32f11e031c2108ddcf75bdb39f9ad9141feeb json-glib
5723eece85ab72f6b147763b7c6f13da3f0fc05c5d77e1c8da40c64ee9bd42b9 k9s
2288c1d769a0c3c535835019ad4919cc45b094492b5aa959a0eaf1e883a96214 keyfork
32df62d780c41f132e070b27142bd90000866b0e16b2c778a3e484d1cbbb455b krb5
eb0a337b36a333127461134956d91c554b660c8cf0f213994c3f6ea4f47be7ce ksops-dry-run
66bd112f8f59fdecff47d0bac70a7c008af114553bc2c2cee1fa94f8ee128735 kubeconform
56043e069e820e3d85e0df3144a7e908d749bf89bd46c6d5fad9fc5011abaa48 kubectl
c6dc0a4ae61d8ca5bec08fb06a019942c1a3040549490c239794738712b6bb0e kustomize
d1dacca57eb925c5f131b29af67fabda34ece1b54f78137fd4a812b5d91082d4 kustomize-sops
c8d6dd6f3e6fbda73ac0620b2bc4b4cfe6fa504bf7a17eee3bb56e286c394b8b libaio
7c9799fe18add3ca0954f784c3342c6b053a2edb6326710837b7f30d66c5fa6a libarchive
1f31e888ab3f02634009d1a38acca9f25deb827432eb91392e21fd75128a44aa libassuan
857c52470ad99c1a0df183c752544036e0c0cd2ab892b306f7f012fb709d2709 libcap
c2a975aba9ddf31110f174535e8f0f5b1b343c504c36dd9b1887af4e93a80c62 libcap-ng
aee02149b82cd6e19eeaf8897d17930a6fcf1f1a91823c3d60bbda23c1ace9de libedit
ebc11feadbd980e7284ad62b79f60821c6032b52b7b45c93bf174c8f9069d277 libev
da563b0079c155e323b82b6c5cf556f413488c2237269cc6b8f0e99ffa0c6939 libevent
ab647ebf8464e00cde623f86f716e7f50ce82c30eafde813b7977d917ff7143a libffi
49c84a586969ff625b3304dcf8905a98db0da36fb8704e3d7a0771d271509b68 libgcrypt
11c17c1ac41f36c85e538bd34a0095a9f17e116f61c38d560350c02a6929e55a libgpg-error
22ed564f7590448228483f6aa63c333b928ab369cc80d5a279bd6fe7fc87418b libical
d0db9f9caa610d8844a9c4254e93631239807a3a3b8ac6424901e08897b3e20b libiconv
2913b382fdb76f02f9d78ee162066e04953ba782b8f722145111617a842f40a3 libksba
7504619b44f08a347e9ead2a20058e402973e99e63538b5471158429f0f6dd85 libmnl
683a7fdbb19ef91be4c13ecdd8371fd8e9c9880688fc59bea1328291811be8a8 libnftnl
deabccb7c8bdfc3f9589084bb95f234c6de63b7d13bd3600821bae1c9d690ddc libnghttp2
8c0f523bdf8d315e7b67cadd584e23d22a316dd1973232d49603e127717e4d1a libqrencode
f48d783989da9d509cc6b4c12ec34e14074ffc1ab7a4f2d1e322c417d967e12f libseccomp
9dfb87e4a0adba80b862ce6b96112d96f509ffbca25bb71c60ba5bb5693b481d libslirp
19dd278eed7fc724a80f74e7359cf1b6b2ddd2821806ca0e20c4b38be91da4be libsodium
c77e4d4f05b06305c32028da55f85d400b81e394341b38fbf2344950a05291b5 libtasn1
a6cdb816fbf80fe54d20bb40ad77fbb82e9d8defa6456f922975145dec98a85e libtool
d909a55137d0bf4a76331c2bf0358ee192d6c93ad77a5099af09ce1bcca2a6cd libtpms
97ee6068a8e8c9f1c74409f80681069c8051abb31f9559dedf0d0d562d3bfc82 libunwind
6c0dcf2b9519b1a41066ad71d3b597e9dae84fb73e5d031a3bdd2eb40f78ef94 libusb
6bf8afcec5c1830f19a6199fa8386582328a2a0d413deb8675091f597a6cee2a libverto
1a1f30b6e9e9a781c70c1c6ee0746eac37846d64fb7bbfa4fe8f398e7fce6562 libxml2
2498bd21d131fff2930ee921550dfc5253861e5ee1a905e0b80a10c56e96ce92 libxslt
a055f8cd6e11b0b8836b2e5e1d755f672edbd344a4f4b5aba94919a6511be4c3 libzstd
efb98b59ab37a7e33db423eda7a49bb7273b087838fda8098ce6736a0860fc73 linux-airgap
cfdb0a67d5980b7079e2fb8fbc688d4025c9fde5159c872339edf40924f7f8b1 linux-generic
81213dcbe6f551a3c01304c034df677ae02537a7c6f00897001bfe74fa807304 linux-guest
934b27a4431db4b351683e60eab81255613d22a9d0386f9f4763d907d16bd222 linux-headers
e6c8a861f9b18edfad56b1aa130feb822a25987c71e2b2932b020750dd7325bc linux-nitro
b21d2632cdb6064c1dc5d5e6e72726cff03d3792be85be032802e87da5b27437 linux-pam
569eb52b68618f2d24d8b0a6f051ccbaa6a35f769ef101821ac5bcb27bdd96cc lld
30517a41af648305afe6398af5b8c527d25545037df9d977018c657ba1b1708f llvm
aa60e2883ecf2070c7591fc29622a578c8ea24a14a2b7fcce95d3e5d9c00b101 llvm13
e10e58d871b6f0352907254b9be018700b9b41d16a5350b7371ed2779f6b3dee llvm16
928521fbbf8ae938ca5a9cfeaa507bcd8cfa4e03afdab933ef0679eba4657ebc lmdb
417ecae03adf1e045cef0601b87675450294ba43c458cd0d3c44170bc9e72079 lua
83cbc856ad93736931774c83815e4319c567c71f6cdfdc63c6a0f34a84f578c2 lzip
09c60840e3e3e5835ec027c21283febc9f8cf53ab887576fbe9c38dbdbdfd571 lzo
975895c0b02ebc11d6a02d180466c538afd2ccfa6dddc5594dea14a73791b22a m4
df43f0cf3ac1ad91bf91baefb539e8df42c11b0954a6e2498322a5467deb81e3 make
c442686851151054330453f3c15ed1e746543fe03e78651d05a92d83cee6b275 mdbook
0fda6a7adea23fe4e691c61d94a7bdb11d63c943b96a1f1f4298e85a703941d9 meson
a487b724a1137c100ec54e63c3d71d4732e02ba0583db416aadb4608affec7a3 mockgen
c83f7aebce9076903dbf1082aac981d3c0950d9e8952a900e5e072e2a811cda7 mtools
ad351b875f26294562d21740a3ee51c23609f15e6f9f0310e0994179c4231e1d musl
bd99100b7b6e58a5f47006e865a53bb34a251ada33ee9af2b1ccc416215b282f musl-fts
be242a20d00323ab65477f5d41cdd7d2195631c409b734a161066ac9ac055fe1 musl-obstack
705c6ed79775674b19fc599380a8889c25a7724335bebdb5a7cadeb4a5296f3c nasm
3c73ff7f6856656fef77fccc1cd987098cc9142d97f6d21184e2f7092b15b3dc ncurses
d2a45d2073a011d95743023cc2a3cde54090b5840fe686d235bcc9efd2df23a7 nettle
545e2a64dd3ad558500b54b2472b463acd2eaeb8ca905bf02b52f98675e5b882 ninja
a603f2f53de95867c96691315bea11a480a26cdb1ac54ec655bf3f3a723b76ab nodejs
21d50ec1421fe75af4bea240d76022ddb8c114fd2805bfeb06fb938e5a58fc0d npth
39e667b966a443f42e1c7a8c944203945bd1808ce759df1706bb3b93b0b674c2 numactl
22ed564f7590448228483f6aa63c333b928ab369cc80d5a279bd6fe7fc87418b nuspell
3aa3aa065d64328ec72c624620cc74a46d95b4eedccfe6cd6ed85bb7f124f446 ocaml
1105d9215fffb7331669e3ad32f27c8c7871a2ea1fdc7975c2cf59a8caaf0739 ocismack
29f44438f370f097f687d436457bd42d3f15b31173141277d95b298fc40987e4 openldap
56d4696d111b309e536f1b70980db7098cd7823005432e4130432cb2f625cf9f openpgp-card-tools
5117a9d39d3b77655b29bf661d9e04eea2001a5b033b2fd6b4297048330ff6e7 opensc
0845e70bce3e1686ac95b73ab8fefd49dc3706fdc0e01416b194a921228b04f2 openssh
2c1a9d8fcc6f52cb11a206f380b17d74c1079f04cbb08071a4176648b4df52c1 openssl
e9e376dce882b401cadfd6af14af291c0f6cf4bba60cfa75d0fc04f167e81589 osv-scanner
910570f3b60a1dc73f962d2f269e58d995587a7d05a28beaf886fd7a5a0bc4f5 pcre2
4fe37671197ac768637e95f7395ae1a18412b3f42359d0c0aa9f4e7f684aef4e pcsc-lite
05046ca5d41a09163eda26785563fd98f0cb1179030c3f4ee3243997a907bb96 pcsc-tools
7fd8ea695fb1e0baf0c5f2587844dfcec15b8ae5c64c952afbd64333ede3c857 perl
583fab9316675e64af1ac6b7138d5eedda067ca9d0d4419dfa18ccfd5bfa5f38 perl-dbi
ac16b4bec746c9b776ef7992e906c4994228f97ab81c229c3406e179e5b5571d perl-module-build
7f58db3ea315623cb3dc2e5321bf982384baeda81d0e1d925469d1030b75eb43 perl-pod-parser
0559f09342a72cd3b2692efcc5657169659080b1df783c5b896e4b50478ff16d perl-yaml-syck
7f92a3cde1e158d23351c1945dee8fb6bd9d04021dc393fa784634b2402c983d php
ba7fce4108b721e8bf1a0d993a5f9be9b65eceda8ba073fe7e8ebca2a31b1494 pkgconf
d6ffd46e0d0bc4cc514bd0027d7c7d113c32ba4109180c429d1f00eb23488126 po4a
b48d84b0e823907c4a3f37a943b5740e6edf2344a263aea9243048b28ef86bab postgresql
0466e00d7ef04352f3205e51d2fa7d6f258221dba23ed87f752c6c6a6b784e20 protobuf
56cc694ea27d1a0a370026851f00857dd1b7b088bafc0d31a59591515f35b99c protoc-gen-go
3676253214746660730725634bebb4dd8e09833de846049f5067f35cd602a4e8 protoc-gen-go-grpc
ac85c55c97090f4f525209591adf1b5d18af206bfaf9b12ea4eca6f71c29e3ec protoc-gen-grpc-gateway
ed16a4b7e4719389673a4f4bf9ba2a1009691b7f4da3b251fd757aec082c1cd9 protoc-gen-openapiv2
396f827c543646fd7a4ad774dee6a6baab7696de9ac78ee352a610e31cf714ad protoc-go-inject-tag
c2cc3c1ab3ffcdce49b9b5624747ac17a49fbe1efdca55166a1ff84ac4ae2476 py-alabaster
f2766e2e15300c5fbe6f52ff9580932927c72ab60e9edefd2985da7cd9717d95 py-awscrt
5dd9f62b2fe378a2d9e1ab9a124fa6459b95f45c4a1f009642639c173dfc6fe1 py-babel
8973b0d6d15d3fdbc8a43ff9fc91f20e2881d2ac2d5bdad77e48f51c17978cdf py-botocore
ebc91781e06aa75bc16d9e96ad91c9eb98f0f6cfe78377de4aaac0d414f10fd4 py-build
9289a71e233bc653c3b5f2502576a68df3fa86eed589ae50f82e296d78a9844e py-certifi
e4bd81d2b0ef3ff6fe31e5eeec8911ff8befd5f4cefa880ce140509dd5dcfce8 py-cffi
1b338f1b7a174651893fa74cd1b1ebd5e01e56ae7417e19249e0291b806e1dc6 py-colorama
8f34c0ac1a5a4d6b3be36e4397aac238ba10dc16e04cd3749260df8b3360a6b9 py-cparser
11f5e71c04289ec970a3422491381efcf182362d7f3e9e02ad5422f40e922bd7 py-cryptography
5c49a16c021c20ba03e41625bde5ea198f9befb0f8584c994059695d191ec2de py-dateutil
acdfdb894bb3c2741d517df3a65c9c4cc5ead6a1f24f4a030e4cb2b411fbf8b5 py-distro
d07dc886337e357ce98047efff01fa75fa001738a13b16beb019aa6b0478fa2c py-docutils
e3f39632458cf1a4f7b8af027972969b1148a2f19996afc34c8597aa0ebe56f9 py-flit
9647d066355b6c57de057bb19c624257ff8c83d00bacc5acbc6cff14443a87c0 py-gpep517
ed5b97c4a659b675202791bd4ed03bef5b5d09d7b1b5f5d66252461ba623c9dc py-hatchling
af7d960b69ad1150a354b17429c88d6a3e9e785e7d8deabbcb628df522156bf6 py-idna
8cd48f3ffdb5cd1b48901af284539b20e1f85f58db88ba2cc10d4e3bbf234747 py-imagesize
aeeebbb0ebc0a2f1e6f8b053105c551cea73e0999835f2ca3cdb371c9d893ffd py-installer
770f43b73679ab21495cc70935dd4af9b83bd12a294ac09d1811eed655570f75 py-jinja2
9c54ca1d2fe48d39c07fa576478258eabecab7d7a9565449aeb6c73e807910b5 py-jmespath
97b357d0e9ea2448b6045e7a2120557545d68707579f359761aedf826e71462b py-libarchive
d48429a1606a0d401f698f957fa29023525871265af68a90b58314f237a46cf4 py-magic
d13916c6e1d0dd0d67f4ca9f2c8b64ba6e96e812f044077b15c28ff6e3a16c38 py-markupsafe
be896fd1527c8525b39fcac325a5a98cf1dcbebaf476721b2bb22427bfbf8c09 py-packaging
b80b5d5759cc609a3b98c41f9f8e86a8b998d64ec3b796caaa0d7e727b37d6c0 py-pathspec
9db1b69277f8bf37367fd3fa49f167b68f3b8ae525e3c1719bdf313f3d23da40 py-pep517
1394502e9ca18011e5a62050119215275be0cdb465f2e49641b4f2206e851bca py-pluggy
ac46f2fe5c6ffddaabd7fc7f2c831cda70a2837654b218d6ae496f86a3245588 py-prompt_toolkit
f992d6abef69d80fd002cfc061d2574b4d7c02c4fc37bfaa5ac7ecb7bc091719 py-pygments
0723b6368aab67ba93dc5f6ab04582653139744a14958d5be5cbf7838cf7d64c py-requests
4b5112cce67478f1014f951b7bf5d6f3335e8eb7a34f0b3e29580389fc9fbfcc py-ruamel.yaml
a58095b77d7eb345788f6b490046f397a5dfefeb377460cd0aeb4f33406bbb2b py-semantic-version
28182587b8e4bc98245195df5ffc38268c8e19fa053f3e888841dcb06c8aaf6d py-setuptools
0866a0d84510e436b33677bcca77fe17ea3daf105e394357619107a96dff8d17 py-setuptools-rust
2300420c3f37000732a36f36199ad64a112e6009a605905de09bad722539952a py-setuptools-scm
ef535177f40323664740fff47a51af175bb75eaf3bab1c72b8dbd6fc96afef4e py-six
a6354d25cc20a7ec9b7c69749dae21b53d7577cb14d60dbb35710fa620c3645d py-snowballstemmer
e00f2df8329f2f4abf251c9417253995888467c011a4e0ddeed16c84e1338d06 py-sphinx
d062b9f654c780422109b22fb0e03bd98b3c7ce802f33837165cc865584d7afa py-sphinxcontrib-applehelp
8235fff1615ce4ad547f399d3e1f112c0cf59b076b12a80469e6fe20fa626947 py-sphinxcontrib-devhelp
356e647a5f84e4f279a8ab4ba8507dea2b760e7fec7577458640d7756b67dd61 py-sphinxcontrib-htmlhelp
2d538c55d6ad1733d1db0f5aa9b20e46f4d32ae8200145285c26fe8d0983c4eb py-sphinxcontrib-jquery
56de3471aa2e4fc24d9ca3881e0c7eebe47669516fb291e64a739b08c43885d6 py-sphinxcontrib-qthelp
a492a650dcb6c71984f0be2bfee451bc5ae3f7fe8921abfbb8db071b05802a2c py-sphinxcontrib-serializinghtml
1e0774ebf2edc3b5204705c4924eced13444638fada7a4d651d4ec2dd331ebe8 py-sphinx_rtd_theme
a4b55e2fd4c20aec1535181e5bc0172c66a14e8b19d13bd17870b96dea32fb2e python
8a7e46278b20802b3ddc59ecc6b0965988e83233efe6046e3b2486245a4cfa13 py-toml
a4446c1c37c7210bdf2ecff14ef52837677a7aa600f2b99610169401d74b8fcd py-trove-classifiers
42de926d4b9df59e5a0850954e346d80433011141d7d92f8114c97e161ae9544 py-typing-extensions
c23bba7365de90f5e014bde0084e15f933ca6355a14cb3629490801e21c433a3 py-urllib3
4f0010fb21fd83109323ffe93493d56e4439240cc3b2cb55ace30e159d36b93d py-wcwidth
8824ef25a336b486766196942116caac63e88e1cf3ada0168f3cbaaf401fac8e py-wheel
c9b099bc7d810a581e0e0f68061dd525d7efdb5334d119b4253249a459bd907e qemu
edf3120349573dfd729ca476a3ad827fc11c2cc45b1ebea0ad010850bde44faf re2c
9cb4614f2ba94f164e5a0963417dcdfaf05cc75be03b8f6f2907a68e5fd501f9 readline
ed39f5753718cb65266c2b2e25fafdc206d8d95b032a3a9fa8d1df4a00351d16 redis
e2b7b5944c5e6c4ab5fcc1fecbf9b46b28385b3988658fb90571971814226b91 rhash
611897abd100d927a11e5165eec70a06b5a1f73b52424f4061d2c6e6cb9e1a8f runc
b7c834268a81bfcc473246995c55b47fe18414cc553e3293b6294fde4e579163 rust
f2ca315ca297da72f53c253839618b4b5da88c79b7dcbacfda2b5349e530a148 samurai
3b145cb81233fa948f24cd78e6337580cec8901e304a86d7c95db8718a10f456 scdoc
02fd93964f89a68f26d041654ac9f7f6ddde4844543e33ea4e0f1c328b67a652 sdtool
f4e535fb1bfc2c7ae1756cdaa2404b1572f6ad195ceabba90d87ed0599fd97d7 seabios
a3ed66311e4637400fbaacad513479b7828e0097f08c03921afc5542c39e0523 sed
cc4b9804ecf50422902d6f92d8a64aa6e322e6ec927a0c052680cbfc8675da76 skalibs
073e28399a142bd4ce28c8bf4ffc12fdf745a605c60fae121b7076223383007d socat
c742fb1f0c5a4f9d9bc9afc37ba686b247d2b17d55d179409d33736b43c9aaa5 sops
a24a92d71c1e3312ca67a109dcbb68b567d07336056c62364d3513b55138a771 sqlite3
3774171893fc3cefc92533d7db181a460133f4d877a72d864071127070b589a4 stage0
7db449f93c92de52ecd5ae57a610f1e4ad1abc50a7e6aea174bd27348c3c0e7a stage1
e8accb544dd51697e9f049a01272fc3a8bbbb068a5130d6af15ad46c6099c63e stage2
3bfd4db6e70eb0882402f4f92be44f4ac11c8170cafb9a7fa098108b6d2b71f2 stage3
5907293a83fab7bf4e042bdf53fcd3081dc9e36399d59d825ed0982271b73475 strace
c47fb2c4d8690936b4adef832a3f354231bb5a04206bf2fb565218034ce27792 swtpm
a8902ec83460e293c74555b243fe77d49b0527cdd009572f8b660288d251d443 sxctl
a41388558d7f6d9a29847ee2ff5507ab3100bfe9032ef3b99a3d783ad60ed390 syslinux
dcc2e36e19de4d0d071aa312a21d98a90b2d48de016fa1232abcf9a4c07a09f9 talosctl
42a897f8e633ea092e35de18cebc4c404731b6e7db984a0d19b4bc3cfde7504c tar
90c0cb04094193e497d4a629c1371442be372c84573501139cd16bf11b6a95b4 tcl
5e0636ae97d64a13ea165beb8e8a02b4b0b5cec8baf1c8a98c5509012069628e texinfo
154ca805e1662e6b7138f87f7f684d5206dd52156064668219f75b7be2720d76 tflint
1d9f849bf8d6b333a0379d0b69a12bcc83b01653aeef12a73530ee5728090454 tini
4ad268685c0eeedf55f70e504d18f76d5403010570b7f99330a945503c6aa22a tofu
c2fc693ec68a9d097151e5b3dd5b923f0dcc35fd4e0624b91ade3bf21367162c tpm2-tools
a8bf8c0973e1b5ba62ce5034a6230684ebe5a142da275d09e81fa2f2f9c87411 tpm2-tss
5b63cd277d70574ddef1fea3262bb985a48033192c9cb5aba16cd51d83660c7c unixodbc
7e3f3c1e748f5c216503e69b9f8f2e9f8084ec675fb29b23f3a6f0ed3b20c54a util-linux
04766fca467f9c945a398d5054c0388ba36ba09c0d5affdae553f321b519995a util-macros
53349df7ec84bc47eef9bebdd9917e7eafc3b2f397fd8f43ca10162cc835d0ee utmps
52b6a8271487f1933bccced48f0d68cdaca86ca9a1456515579559a8cdd063e2 xmlto
2205a8f53d4fc569880c311061daa085f40c62b2fd94d556e72bd31b4df9e63a xorriso
b57c5e6144117bc0124855e9538e60c302cc7bf53fafb53e2eef3434015366f1 xz
53d8c2948dddd72ced3fa061c48c9d49e97d23a431e15dc80071e5cac2580688 yarn
bd6882f0f3ea664e9de6cf732cef2fa2781fc2852f5e6502a6aea1e63eb9708b yq
eb8e38b2285d5f6e88f8730c6c2550ca62b3fd1cc050ac87da0119f92c907dda zig
7595e72b261f750ecefbc47954d135237e91f10086e27e29aacb19c134d4e77d zip
96b4100550760026065dac57148d99e20a03d17e5ee20d6b32cbacd61125dbb6 zlib

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=20240116.2
ENV SRC_HASH=733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/abseil/abseil-cpp/archive/refs/tags/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/linux-headers . /
@ -20,7 +20,7 @@ COPY --from=stagex/gcc . /
COPY --from=stagex/zlib . /
RUN tar -xf ${SRC_FILE}
WORKDIR abseil-cpp-${VERSION}
WORKDIR /abseil-cpp-${VERSION}
RUN <<-EOF
set -eux
cmake \
@ -38,8 +38,8 @@ RUN <<-EOF
cmake --build build
EOF
FROM build as install
FROM build AS install
RUN --network=none DESTDIR="/rootfs" cmake --install build
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,36 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=2.3.2
ENV SRC_HASH=5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c
ENV SRC_FILE=acl-${VERSION}.tar.gz
ENV SRC_SITE=https://download.savannah.nongnu.org/releases/acl/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/attr . /
RUN tar -xf ${SRC_FILE}
WORKDIR /acl-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--libdir=/usr/lib \
--libexecdir=/usr/libexec
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,29 @@
FROM scratch AS base
ENV VERSION=20230628
ENV SRC_HASH=86876a745e3d224dcfd222ed3de465b47559e85811df2db9820ef09a9dff5cce
ENV SRC_FILE=acpica-unix-${VERSION}.tar.gz
ENV SRC_SITE=https://downloadmirror.intel.com/783549/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/musl . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/bison . /
COPY --from=stagex/flex . /
COPY --from=stagex/m4 . /
RUN tar -xf ${SRC_FILE}
WORKDIR /acpica-unix-${VERSION}
ENV SOURCE_DATE_EPOCH=1
ENV LDFLAGS="-Wl,-z,pack-relative-relocs"
RUN --network=none make NOWERROR=TRUE -j "$(nproc)"
FROM build AS install
RUN --network=none DESTDIR=/rootfs make install
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,41 @@
FROM scratch AS base
ENV VERSION=1.2.12
ENV SRC_HASH=4868cd908627279da5a634f468701625be8cc251d84262c7e5b6a218391ad0d2
ENV SRC_FILE=alsa-lib-${VERSION}.tar.bz2
ENV SRC_SITE=https://alsa-project.org/files/pub/lib/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /alsa-lib-${VERSION}
RUN --network=none <<-EOF
set -eux; \
./configure \
--build=x86_64-linux-musl \
--host=x86_64-linux-musl \
--prefix=/usr \
--libdir=/usr/lib \
--disable-python \
--disable-static \
--disable-resmgr \
--enable-rawmidi \
--enable-seq \
--enable-aload \
--disable-dependency-tracking \
--without-versioned
make -j "$(nproc)"
EOF
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,53 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.6.3
ENV SRC_HASH=a41076e3710746326c3945042994ad9a4fcac0ce0277dd8fea076fec3c9772b5
ENV SRC_FILE=apr-util-${VERSION}.tar.bz2
ENV SRC_SITE=https://www.apache.org/dist/apr/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/expat . /
COPY --from=stagex/gdbm . /
COPY --from=stagex/openldap . /
COPY --from=stagex/sqlite3 . /
COPY --from=stagex/openssl . /
COPY --from=stagex/postgresql . /
COPY --from=stagex/apr . /
COPY --from=stagex/libtool . /
COPY --from=stagex/util-linux . /
RUN tar -xf ${SRC_FILE}
WORKDIR /apr-util-${VERSION}
COPY *.patch .
RUN --network=none <<-EOF
set -eux
patch -p1 < musl-fix-testsuite.patch
./configure \
--prefix=/usr \
--with-apr=/usr \
--with-ldap \
--with-pgsql \
--with-mysql \
--with-sqlite3 \
--with-crypto \
--with-openssl \
--without-sqlite2 \
--with-dbm=ndbm \
--with-ndbm
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,19 @@
diff --git a/test/testxlate.c b/test/testxlate.c
index 6981eff..de00fa4 100644
--- a/test/testxlate.c
+++ b/test/testxlate.c
@@ -116,8 +116,12 @@ static void test_transformation(abts_case *tc, void *data)
}
/* 4. Transformation using charset aliases */
- one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p);
- one_test(tc, "UTF-7", "UTF-8", test_utf7, test_utf8, p);
+ if (is_transform_supported(tc, "UTF-8", "UTF-7", p)) {
+ one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p);
+ }
+ if (is_transform_supported(tc, "UTF-7", "UTF-8", p)) {
+ one_test(tc, "UTF-7", "UTF-8", test_utf7, test_utf8, p);
+ }
}
#endif /* APR_HAS_XLATE */

View file

@ -0,0 +1,38 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.7.5
ENV SRC_HASH=cd0f5d52b9ab1704c72160c5ee3ed5d3d4ca2df4a7f8ab564e3cb352b67232f2
ENV SRC_FILE=apr-${VERSION}.tar.bz2
ENV SRC_SITE=https://www.apache.org/dist/apr/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/util-linux . /
RUN tar -xf ${SRC_FILE}
WORKDIR /apr-${VERSION}
COPY *.patch .
RUN --network=none <<-EOF
set -eux \
patch -p1 apr-1.6.2-dont-test-dlclose.patch
patch -p1 semtimedop-s390x.patch
./configure \
--prefix=/usr \
--datadir=/usr/share \
--enable-nonportable-atomics=no \
--with-devrandom=/dev/urandom
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,22 @@
dlclose is a no-op on musl. Test will always fail.
--- apr-1.6.2/test/testdso.c.old 2010-01-03 19:35:07.000000000 -0600
+++ apr-1.6.2/test/testdso.c 2017-09-10 18:43:43.374983090 -0500
@@ -244,7 +244,7 @@
abts_run_test(suite, test_load_module, NULL);
abts_run_test(suite, test_dso_sym, NULL);
abts_run_test(suite, test_dso_sym_return_value, NULL);
- abts_run_test(suite, test_unload_module, NULL);
+ /* abts_run_test(suite, test_unload_module, NULL); */
#ifdef LIB_NAME
apr_filepath_merge(&libname, NULL, LIB_NAME, 0, p);
@@ -252,7 +252,7 @@
abts_run_test(suite, test_load_library, NULL);
abts_run_test(suite, test_dso_sym_library, NULL);
abts_run_test(suite, test_dso_sym_return_value_library, NULL);
- abts_run_test(suite, test_unload_library, NULL);
+ /* abts_run_test(suite, test_unload_library, NULL); */
#endif
abts_run_test(suite, test_load_notthere, NULL);

View file

@ -0,0 +1,16 @@
the testsuite hangs on s390x when testing locking mechanism sysvsem. Work
around by avoid use semtimedop for s390x.
diff --git a/locks/unix/proc_mutex.c b/locks/unix/proc_mutex.c
index 8e2187f..cad6c4a 100644
--- a/locks/unix/proc_mutex.c
+++ b/locks/unix/proc_mutex.c
@@ -449,7 +449,7 @@ static const apr_proc_mutex_unix_lock_methods_t mutex_sysv_methods =
proc_mutex_sysv_create,
proc_mutex_sysv_acquire,
proc_mutex_sysv_tryacquire,
-#if defined(HAVE_SEMTIMEDOP)
+#if defined(HAVE_SEMTIMEDOP) && !defined(__s390x__)
proc_mutex_sysv_timedacquire,
#else
proc_mutex_spinsleep_timedacquire,

View file

@ -0,0 +1,29 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=20190702
ENV SRC_HASH=daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/P-H-C/phc-winner-argon2/archive/refs/tags/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
RUN tar -xf $SRC_FILE
WORKDIR /phc-winner-argon2-${VERSION}
RUN --network=none <<-EOF
set -eux
make -j "$(nproc)" OPTTARGET=none ARGON2_VERSION=${VERSION}
EOF
FROM build AS install
RUN make OPTTARGET=none LIBRARY_REL=lib DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.5.0
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/argp-standalone/argp-standalone/archive/refs/tags/${SRC_FILE}
ENV SRC_HASH=c29eae929dfebd575c38174f2c8c315766092cec99a8f987569d0cad3c6d64f6
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -18,7 +18,7 @@ COPY --from=stagex/autoconf . /
COPY --from=stagex/automake . /
COPY --from=stagex/m4 . /
RUN tar -xf ${SRC_FILE}
WORKDIR argp-standalone-${VERSION}
WORKDIR /argp-standalone-${VERSION}
RUN --network=none <<-EOF
set -eux
/usr/bin/autoreconf -vif
@ -32,12 +32,12 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN <<-EOF
set -eux
install -D -m644 argp.h /rootfs/usr/include/argp.h
install -D -m755 libargp.a /rootfs/usr/lib/libargp.a
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,38 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=0.60.8.1
ENV SRC_HASH=d6da12b34d42d457fa604e435ad484a74b2effcd120ff40acd6bb3fb2887d21b
ENV SRC_FILE=aspell-${VERSION}.tar.gz
ENV SRC_SITE=https://ftp.gnu.org/gnu/aspell/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/perl . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR /aspell-${VERSION}
ENV SOURCE_DATE_EPOCH=1
RUN --network=none <<-EOF
set -ex
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--sysconfdir=/etc \
--enable-dict-dir=/usr/share/aspell \
--enable-pkgdatadir=/usr/share/aspell
make -j "$(nproc)"
EOF
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,43 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=2.5.2
ENV SRC_HASH=39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87
ENV SRC_FILE=attr-${VERSION}.tar.gz
ENV SRC_SITE=https://download.savannah.nongnu.org/releases/attr/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/perl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /attr-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
--prefix=/usr \
--exec-prefix=/ \
--sbindir=/bin \
--bindir=/usr/bin \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--includedir=/usr/include \
--mandir=/usr/share/man \
--docdir=/usr/share/doc/attr \
--datadir=/usr/share \
--disable-nls
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,20 +1,20 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2023.02.20
ENV SRC_HASH=71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33
ENV SRC_FILE=autoconf-archive-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/autoconf-archive/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
#COPY --from=stagex/gcc . /
#COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
RUN tar -xf ${SRC_FILE}
WORKDIR autoconf-archive-${VERSION}
WORKDIR /autoconf-archive-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
@ -27,8 +27,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
from build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.71
ENV SRC_HASH=f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4
ENV SRC_FILE=autoconf-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/autoconf/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -16,7 +16,7 @@ COPY --from=stagex/musl . /
COPY --from=stagex/m4 . /
COPY --from=stagex/perl . /
RUN tar -xf ${SRC_FILE}
WORKDIR autoconf-${VERSION}
WORKDIR /autoconf-${VERSION}
ENV M4=/usr/bin/m4
RUN --network=none <<-EOF
set -eux
@ -25,8 +25,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
from build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.16.5
ENV SRC_HASH=f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469
ENV SRC_FILE=automake-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/automake/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -17,7 +17,7 @@ COPY --from=stagex/perl . /
COPY --from=stagex/m4 . /
COPY --from=stagex/autoconf . /
RUN tar -xf automake-${VERSION}.tar.xz
WORKDIR automake-${VERSION}
WORKDIR /automake-${VERSION}
ENV SOURCE_DATE_EPOCH=1
RUN --network=none <<-EOF
set -eux
@ -25,8 +25,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.15.31
ENV SRC_HASH=6507f894a30036ad002b54e12f49959c592c8507765405c52cf7b4ba4dc2509d
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/aws/aws-cli/archive/refs/tags/${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/zlib . /
@ -36,13 +36,13 @@ COPY --from=stagex/py-wcwidth . /
COPY --from=stagex/py-prompt_toolkit . /
COPY --from=stagex/py-ruamel.yaml . /
RUN tar -xzf ${SRC_FILE}
WORKDIR aws-cli-${VERSION}
WORKDIR /aws-cli-${VERSION}
RUN --network=none \
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
FROM build as install
FROM build AS install
RUN --network=none <<-EOF
set -eu
python -m installer -d /rootfs .dist/*.whl
@ -50,5 +50,5 @@ RUN --network=none <<-EOF
rm /rootfs/usr/lib/python*/site-packages/awscli-*.dist-info/RECORD
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,20 +1,20 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=5.2.21
ENV SRC_HASH=c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8
ENV SRC_FILE=bash-${VERSION}.tar.gz
ENV SRC_SITE=https://ftp.gnu.org/gnu/bash/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
RUN tar -xzf ${SRC_FILE}
WORKDIR bash-${VERSION}
WORKDIR /bash-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
@ -31,8 +31,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,14 +1,14 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.07.1
ENV SRC_HASH=62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a
ENV SRC_FILE=bc-${VERSION}.tar.gz
ENV SRC_SITE=https://ftp.gnu.org/gnu/bc/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/binutils . /
COPY --from=stagex/coreutils . /
COPY --from=stagex/musl . /
@ -29,7 +29,7 @@ COPY --from=stagex/texinfo . /
COPY --from=stagex/findutils . /
COPY --from=stagex/sed . /
RUN tar -xf ${SRC_FILE}
WORKDIR bc-${VERSION}
WORKDIR /bc-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -42,8 +42,8 @@ RUN --network=none <<-EOF
make -j1
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,17 +1,17 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=2.35
ENV SRC_HASH=1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85
ENV VERSION=2.43.1
ENV SRC_HASH=13f74202a3c4c51118b797a39ea4200d3f6cfbe224da6d1d95bb938480132dfd
ENV SRC_FILE=binutils-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/binutils/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/stage3 . /
RUN tar -xf binutils-${VERSION}.tar.xz
WORKDIR binutils-${VERSION}
WORKDIR /binutils-${VERSION}
RUN --network=none <<-EOF
set -ex
CFLAGS='-Os -Wformat -Werror=format-security -O2' \
@ -49,8 +49,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=3.4.2
ENV SRC_HASH=27d05534699735dc69e86add5b808d6cb35900ad3fd63fa82e3eb644336abfa0
ENV SRC_FILE=bison-${VERSION}.tar.xz
ENV SRC_SITE=http://mirrors.kernel.org/gnu/bison/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
@ -18,7 +18,7 @@ COPY --from=stagex/automake . /
COPY --from=stagex/make . /
COPY --from=stagex/m4 . /
RUN tar -xf ${SRC_FILE}
WORKDIR bison-${VERSION}
WORKDIR /bison-${VERSION}
ENV M4=/usr/bin/m4
RUN --network=none <<-EOF
set -eux
@ -28,8 +28,8 @@ RUN --network=none <<-EOF
make -j1 MAKEINFO=false
EOF
from build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,48 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.1.0
ENV SRC_HASH=e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/google/brotli/archive/refs/tags/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/samurai . /
COPY --from=stagex/cmake . /
COPY --from=stagex/openssl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /brotli-${VERSION}
RUN --network=none <<-EOF
set -eux
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=OFF
cmake --build build
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=ON
cmake --build build
EOF
FROM build AS install
RUN <<-EOF
set -eux
DESTDIR=/rootfs cmake --install build
for file in common dec enc; do
install -D -m 755 build/libbrotli$file.a /rootfs/usr/lib64
done
mv /rootfs/usr/lib64 /rootfs/usr/lib
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,18 +1,18 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.30.1
ENV SRC_HASH=56da0c31b11bd15b99049af8b364c7bf4e11106152ab27d5ccb98d28123ab785
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/bufbuild/buf/archive/refs/tags/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/ca-certificates . /
RUN tar -xvf v${VERSION}.tar.gz
WORKDIR buf-${VERSION}
WORKDIR /buf-${VERSION}
ENV PWD=/home/user/buf-${VERSION}
ENV GOPATH=${PWD}/cache/go
ENV GOCACHE=${PWD}/cache/
@ -26,11 +26,11 @@ ENV GOFLAGS=-trimpath
RUN mkdir -p ${GOPATH}
RUN go build -o bin/buf ./cmd/buf
from build as install
FROM build AS install
RUN <<-EOF
mkdir -p /rootfs/usr/bin/
cp bin/buf /rootfs/usr/bin/
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/./ /

View file

@ -0,0 +1,48 @@
FROM scratch AS base
ENV VERSION=0.15.0
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/moby/buildkit/archive/${SRC_FILE}
ENV SRC_HASH=ebf4b82f7379818d8fcfe5c54034e7f93c062c95f663bfd3c2a622583f62a8a4
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/bash . /
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/pkgconf . /
RUN tar -xf ${SRC_FILE}
ENV GOPROXY=https://proxy.golang.org,direct
ENV GOSUMDB=sum.golang.org
ENV GOPATH=/cache/go
ENV GOBIN=${GOPATH}/bin
ENV PATH=${GOBIN}:${PATH}
WORKDIR /buildkit-${VERSION}
RUN <<-EOF
set -eux
mkdir -p out
go build -v \
--ldflags=" \
-w -s -buildid= \
-X github.com/moby/buildkit/version.Version=${VERSION} \
-X github.com/moby/buildkit/version.Revision=stagex \
" \
-o out/ \
./cmd/...
rm -r docs/reference
EOF
FROM build AS install
RUN <<-EOF
set -eux
mkdir -p /rootfs
install -Dm755 ./out/* -t /rootfs/usr/bin/
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,16 +1,16 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.36.1
ENV SRC_HASH=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
ENV SRC_FILE=busybox-${VERSION}.tar.bz2
ENV SRC_SITE=https://busybox.net/downloads/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/stage3 . /
RUN tar -xjf ${SRC_FILE}
WORKDIR busybox-${VERSION}
WORKDIR /busybox-${VERSION}
ENV KCONFIG_NOTIMESTAMP=1
RUN --network=none <<-EOF
set -eux
@ -51,7 +51,7 @@ RUN --network=none <<-EOF
make
EOF
FROM build as install
FROM build AS install
RUN --network=none <<-EOF
set -eux
mkdir -p /rootfs/usr/bin
@ -61,6 +61,6 @@ RUN --network=none <<-EOF
/usr/bin/busybox --install -s usr/bin
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /
ENTRYPOINT ["/bin/sh"]

View file

@ -1,29 +1,29 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.0.8
ENV SRC_HASH=ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
ENV SRC_FILE=bzip2-${VERSION}.tar.gz
ENV SRC_SITE=https://sourceware.org/pub/bzip2/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR bzip2-${VERSION}
WORKDIR /bzip2-${VERSION}
RUN --network=none <<-EOF
set -ex
make -j "$(nproc)" -f Makefile-libbz2_so all
make -j "$(nproc)" all
EOF
FROM build as install
FROM build AS install
RUN --network=none make PREFIX="/rootfs/usr" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,35 @@
FROM scratch AS base
ENV VERSION=1.33.1
ENV SRC_HASH=06869824094745872fa26efd4c48e622b9bd82a89ef0ce693dc682a23604f415
ENV SRC_FILE=c-ares-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/c-ares/c-ares/releases/download/v${VERSION}/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN --network=none tar -xf ${SRC_FILE}
WORKDIR /c-ares-${VERSION}
RUN --network=none <<EOF
set -eux
./configure \
--build=x86_64-linux-musl \
--host=x86_64-linux-musl \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-shared
make -j "$(nproc)"
EOF
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -23,7 +23,7 @@ COPY --from=stagex/gcc . /
COPY --from=stagex/openssl . /
COPY --from=stagex/perl . /
RUN tar -xf ca-certificates-${SRC_2_VERSION}.tar.gz
WORKDIR ca-certificates-${SRC_2_VERSION}
WORKDIR /ca-certificates-${SRC_2_VERSION}
ADD *.patch .
RUN --network=none <<-EOF
set -eux
@ -33,7 +33,7 @@ RUN --network=none <<-EOF
make
EOF
FROM build as install
FROM build AS install
RUN --network=none make install DESTDIR=/rootfs
RUN --network=none mv cert.pem /rootfs/etc/ssl/certs/ca-certificates.crt

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.5.5
ENV SRC_HASH=194708f75fe369d45dd7c15e8b3e8a7db8b49cfc5557574ca2a2e76ef12ca0ca
ENV SRC_FILE=ccid-${VERSION}.tar.bz2
ENV SRC_SITE=https://ccid.apdu.fr/files/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/m4 . /
COPY --from=stagex/musl . /
@ -21,7 +21,7 @@ COPY --from=stagex/pkgconf . /
COPY --from=stagex/libusb . /
COPY --from=stagex/zlib . /
RUN tar -xvf $SRC_FILE
WORKDIR ccid-${VERSION}
WORKDIR /ccid-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
@ -34,8 +34,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,14 +1,15 @@
FROM scratch as base
ENV VERSION=16.0.6
ENV SRC_HASH=ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e
FROM scratch AS base
ENV VERSION=18.1.8
ENV SRC_HASH=0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a
ENV SRC_FILE=llvm-project-${VERSION}.src.tar.xz
ENV SRC_SITE=https://github.com/llvm/llvm-project/releases/download/llvm-org-${VERSION}/${SRC_FILE}
ENV SRC_SITE=https://github.com/llvm/llvm-project/releases/download/llvmorg-${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/binutils . /
COPY --from=stagex/cmake . /
COPY --from=stagex/ninja . /
@ -17,32 +18,39 @@ COPY --from=stagex/gcc . /
COPY --from=stagex/python . /
COPY --from=stagex/py-setuptools . /
COPY --from=stagex/openssl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/git . /
COPY --from=stagex/llvm . /
COPY --from=stagex/zlib . /
COPY --from=stagex/ninja . /
COPY --from=stagex/libxml2 . /
COPY --from=stagex/samurai . /
RUN tar -xf ${SRC_FILE}
WORKDIR llvm-project-${VERSION}.src
WORKDIR /llvm-project-${VERSION}.src
RUN --network=none <<-EOF
set -eux
cmake \
-S clang \
-B build \
-G Ninja \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DCMAKE_INSTALL_RPATH=/usr/ \
-DCLANG_BUILT_STANDALONE=ON \
-DCLANG_LINK_CLANG_DYLIB=ON \
-DCLANG_PLUGIN_SUPPORT=ON \
-DCLANG_VENDOR=stagex \
-DLIBCLANG_BUILD_STATIC=ON
cmake --build build
-S clang \
-B build \
-G Ninja \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DCLANG_BUILT_STANDALONE=ON \
-DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang18 \
-DCLANG_ENABLE_ARCMT=ON \
-DCMAKE_INSTALL_RPATH=/usr/ \
-DCLANG_LINK_CLANG_DYLIB=ON \
-DCLANG_PLUGIN_SUPPORT=ON \
-DCLANG_VENDOR=stagex \
-DENABLE_LINKER_BUILD_ID=ON \
-DLIBCLANG_BUILD_STATIC=ON
ninja -C build clang-tblgen
ninja -C build
EOF
FROM build as install
FROM build AS install
RUN --network=none DESTDIR="/rootfs" cmake --install build
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,48 @@
FROM scratch AS base
ENV VERSION=16.0.6
ENV SRC_HASH=ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e
ENV SRC_FILE=llvm-project-${VERSION}.src.tar.xz
ENV SRC_SITE=https://github.com/llvm/llvm-project/releases/download/llvm-org-${VERSION}/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/cmake . /
COPY --from=stagex/ninja . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/python . /
COPY --from=stagex/py-setuptools . /
COPY --from=stagex/openssl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/llvm16 . /
COPY --from=stagex/zlib . /
RUN tar -xf ${SRC_FILE}
WORKDIR /llvm-project-${VERSION}.src
RUN --network=none <<-EOF
set -eux
cmake \
-S clang \
-B build \
-G Ninja \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DCMAKE_INSTALL_RPATH=/usr/ \
-DCLANG_BUILT_STANDALONE=ON \
-DCLANG_LINK_CLANG_DYLIB=ON \
-DCLANG_PLUGIN_SUPPORT=ON \
-DCLANG_VENDOR=stagex \
-DLIBCLANG_BUILD_STATIC=ON
cmake --build build
EOF
FROM build AS install
RUN --network=none DESTDIR="/rootfs" cmake --install build
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=3.27.8
ENV SRC_HASH=fece24563f697870fbb982ea8bf17482c9d5f855d8c9bf0b82463d76c9e8d0cc
ENV SRC_FILE=cmake-${VERSION}.tar.gz
ENV SRC_SITE=https://cmake.org/files/v3.27/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/ninja . /
@ -18,7 +18,7 @@ COPY --from=stagex/gcc . /
COPY --from=stagex/zlib . /
COPY --from=stagex/openssl . /
RUN tar -xf ${SRC_FILE}
WORKDIR cmake-${VERSION}
WORKDIR /cmake-${VERSION}
RUN --network=none <<-EOF
set -eux
./bootstrap \
@ -33,8 +33,8 @@ RUN --network=none <<-EOF
ninja
EOF
FROM build as install
FROM build AS install
RUN --network=none DESTDIR=/rootfs bin/cmake -P cmake_install.cmake
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,55 @@
FROM scratch AS base
ENV VERSION=1.7.20
ENV COMMIT=8fc6bcff51318944179630522a095cc9dbf9f353
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/containerd/containerd/archive/${SRC_FILE}
ENV SRC_HASH=c4268561e514a2e8322bc8cdd39113d5e164fb31c2cef76f479d683395ea9bd6
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/bash . /
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/go-md2man . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/libseccomp . /
RUN tar -xf ${SRC_FILE}
WORKDIR /containerd-${VERSION}
ENV GO11MODULE=on
RUN <<-EOF
set -eux
make \
SHIM_CGO_ENABLED=1 \
VERSION=${VERSION} \
REVISION=${COMMIT} \
BUILDMODE=pie \
EXTRA_LDFLAGS="-s -w -buildid=" \
-j "$(nproc)"
make man
EOF
FROM build AS install
RUN <<-EOF
set -eux
rm ./bin/gen-manpages
install -d /rootfs/usr/bin/
install -Dsm755 ./bin/* /rootfs/usr/bin/
install -d /rootfs/usr/share/man/man5/
install -Dm644 ./man/*.5 /rootfs/usr/share/man/man5/
install -d /rootfs/usr/share/man/man8/
install -Dm644 ./man/*.8 /rootfs/usr/share/man/man8/
install -d /rootfs/etc/containerd/
/rootfs/usr/bin/containerd config default \
| sed "s|/opt/cni/bin|/usr/libexec/cni|g" \
> /rootfs/etc/containerd/config.toml
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,14 +1,14 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=9.4
ENV SRC_HASH=ea613a4cf44612326e917201bbbcdfbd301de21ffc3b59b6e5c07e040b275e52
ENV SRC_FILE=coreutils-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/coreutils/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/openssl . /
@ -16,7 +16,7 @@ COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf coreutils-${VERSION}.tar.xz
WORKDIR coreutils-${VERSION}
WORKDIR /coreutils-${VERSION}
ENV FORCE_UNSAFE_CONFIGURE=1
RUN --network=none <<-EOF
set -ex
@ -38,8 +38,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,20 +1,20 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.15
ENV SRC_HASH=efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee4183455499e
ENV SRC_FILE=cpio-${VERSION}.tar.gz
ENV SRC_SITE=https://ftp.gnu.org/gnu/cpio/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
RUN tar -xzf ${SRC_FILE}
WORKDIR cpio-${VERSION}
WORKDIR /cpio-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
@ -28,8 +28,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,14 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=8.9.1
ENV SRC_HASH=f292f6cc051d5bbabf725ef85d432dfeacc8711dd717ea97612ae590643801e5
ENV SRC_FILE=curl-${VERSION}.tar.xz
ENV SRC_SITE=https://curl.se/download/${SRC_FILE}
ENV SOURCE_DATE_EPOCH=1
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
@ -17,7 +18,7 @@ COPY --from=stagex/openssl . /
COPY --from=stagex/perl . /
COPY --from=stagex/ca-certificates . /
RUN tar -xf curl-${VERSION}.tar.xz
WORKDIR curl-${VERSION}
WORKDIR /curl-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
@ -33,8 +34,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make install DESTDIR=/rootfs
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,42 @@
FROM scratch AS base
ENV VERSION=3.0.10
ENV SRC_HASH=00f97476cef9fcd9a89f9d2a49be3b518e1a74b91f377fe08c97fcb44bc0f7d7
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/cython/cython/archive/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/zlib . /
COPY --from=stagex/openssl . /
COPY --from=stagex/python . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/cmake . /
COPY --from=stagex/libffi . /
COPY --from=stagex/py-setuptools . /
COPY --from=stagex/py-installer . /
COPY --from=stagex/py-flit . /
COPY --from=stagex/py-gpep517 . /
COPY --from=stagex/py-wheel . /
COPY --from=stagex/py-distro . /
COPY --from=stagex/py-dateutil . /
COPY --from=stagex/py-urllib3 . /
COPY --from=stagex/py-cffi . /
RUN tar -xzf ${SRC_FILE}
WORKDIR /cython-${VERSION}
RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2
#
FROM build AS install
RUN --network=none <<-EOF
set -eux
python -m installer -d /rootfs .dist/*.whl
find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,49 @@
FROM scratch AS base
ENV VERSION=10.0.10
ENV SRC_FILE=dhcpcd-${VERSION}.tar.xz
ENV SRC_SITE=https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${VERSION}/${SRC_FILE}
ENV SRC_HASH=d582012992efddd2442bb1213c518a37d90febbcf8b11f8e76448c710dacad27
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/m4 . /
COPY --from=stagex/libmnl . /
COPY --from=stagex/linux-headers . /
RUN tar -xf ${SRC_FILE}
WORKDIR /dhcpcd-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
--build=x86_64-linux-musl \
--host=x86_64-linux-musl \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var \
--libexecdir=/usr/lib/dhcpcd \
--dbdir=/var/lib/dhcpcd \
--rundir=/run/dhcpcd \
--enable-ipv6 \
--enable-privsep \
--enable-seccomp \
--without-dev \
--without-udev
make -j "$(nproc)"
EOF
FROM build AS install
RUN <<-EOF
set -eux
make DESTDIR=/rootfs install
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,46 @@
FROM scratch AS base
ENV VERSION=274
ENV SRC_HASH=c5398be0f26cb13344f4e27cf5a53df2b7a246a7b08944d114eee140989e5bb5
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://salsa.debian.org/reproducible-builds/diffoscope/-/archive/${VERSION}/diffoscope-${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/zlib . /
COPY --from=stagex/openssl . /
COPY --from=stagex/python . /
COPY --from=stagex/file . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/cmake . /
COPY --from=stagex/libffi . /
COPY --from=stagex/py-setuptools . /
COPY --from=stagex/py-installer . /
COPY --from=stagex/py-flit . /
COPY --from=stagex/py-gpep517 . /
COPY --from=stagex/py-wheel . /
COPY --from=stagex/py-distro . /
COPY --from=stagex/py-dateutil . /
COPY --from=stagex/py-urllib3 . /
COPY --from=stagex/py-cffi . /
COPY --from=stagex/py-magic . /
COPY --from=stagex/py-libarchive . /
RUN tar -xzf diffoscope-${SRC_FILE}
WORKDIR /diffoscope-${VERSION}
RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2
#
FROM build AS install
RUN --network=none <<-EOF
set -eu
python -m installer -d /rootfs .dist/*.whl
find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,21 +1,21 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=3.10
ENV SRC_HASH=90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e
ENV SRC_FILE=diffutils-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/diffutils/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR diffutils-${VERSION}
WORKDIR /diffutils-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -28,8 +28,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,4 +1,4 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=4.5
ENV SRC_HASH_4_5=4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd79188594e26190dc7b4
ENV SRC_HASH_4_4=02f159eb88c4254d95e831c51c144b1863b216d909b5ff45743a1ce6f5273090
@ -7,14 +7,14 @@ ENV SRC_HASH_4_2=acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa
ENV SRC_HASH_4_1_2=30f0644064e0ea71751438251940b1431f46acada814a062870f486c772e7772
ENV SRC_SITE=https://docbook.org/xml
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH_4_5} ${SRC_SITE}/4.5/docbook-xml-4.5.zip .
ADD --checksum=sha256:${SRC_HASH_4_4} ${SRC_SITE}/4.4/docbook-xml-4.4.zip .
ADD --checksum=sha256:${SRC_HASH_4_3} ${SRC_SITE}/4.3/docbook-xml-4.3.zip .
ADD --checksum=sha256:${SRC_HASH_4_2} ${SRC_SITE}/4.2/docbook-xml-4.2.zip .
ADD --checksum=sha256:${SRC_HASH_4_1_2} ${SRC_SITE}/4.1.2/docbkx412.zip .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -278,8 +278,8 @@ RUN --network=none <<-EOF
out/etc/xml/catalog
EOF
FROM build as install
FROM build AS install
RUN --network=none mv out/ /rootfs
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,20 +1,20 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.79.2
ENV SRC_HASH=966188d7c05fc76eaca115a55893e643dd01a3486f6368733c9ad974fcee7a26
ENV SRC_FILE=docbook-xsl-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/docbook-xml . /
COPY --from=stagex/zlib . /
COPY --from=stagex/libxml2 . /
COPY --from=stagex/musl . /
RUN tar -xf ${SRC_FILE}
WORKDIR docbook-xsl-${VERSION}
WORKDIR /docbook-xsl-${VERSION}
RUN --network=none <<-EOF
set -eux
dest=out/usr/share/xml/docbook/xsl-stylesheets-${VERSION}
@ -51,8 +51,8 @@ RUN --network=none <<-EOF
done
EOF
FROM build as install
FROM build AS install
RUN --network=none mv out /rootfs && ls -Rlah /rootfs
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,46 @@
FROM scratch AS base
ENV VERSION=0.16.2
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/docker/buildx/archive/${SRC_FILE}
ENV SRC_HASH=f314635765f3dc5efe089244280cd24a577e83d339fec1970fed16977bf28382
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/bash . /
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/pkgconf . /
RUN tar -xf ${SRC_FILE}
ENV GOPROXY=https://proxy.golang.org,direct
ENV GOSUMDB=sum.golang.org
ENV GOPATH=/cache/go
ENV GOBIN=${GOPATH}/bin
ENV PATH=${GOBIN}:${PATH}
WORKDIR /buildx-${VERSION}
RUN <<-EOF
set -eux
mkdir -p out
go build \
-v \
-modcacherw \
--ldflags=" \
-w -s -buildid= \
-X github.com/moby/buildkit/version.Version=${VERSION} \
-X github.com/moby/buildkit/version.Revision=stagex \
-X github.com/moby/buildkit/version.PKG=github.com/docker/buildx \
" \
-o docker-buildx \
./cmd/buildx
EOF
FROM build AS install
RUN install -Dm755 docker-buildx -t /rootfs/usr/libexec/docker/cli-plugins/
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,88 @@
FROM scratch AS base
ENV VERSION=27.1.2
ENV MOBY_COMMIT=f9522e5e96c3ab5a6b8a643d15a92700ca864da6
ENV CLI_COMMIT=d01f264bccd8bed2e3c038054a04b99533478ab8
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE_CLI=https://github.com/docker/cli/archive/${SRC_FILE}
ENV SRC_HASH_CLI=e60fddb2bd2b4e19790d26b786c930e70fa935168373ef08055f74bbc450bce8
ENV SRC_SITE_MOBY=https://github.com/moby/moby/archive/${SRC_FILE}
ENV SRC_HASH_MOBY=8c9b5fa44f0272726484c925d4d05f0aa189053ed8be9b27447bc116df1e99c9
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH_MOBY} ${SRC_SITE_MOBY} moby-${SRC_FILE}
ADD --checksum=sha256:${SRC_HASH_CLI} ${SRC_SITE_CLI} cli-${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/bash . /
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/libseccomp . /
COPY --from=stagex/ca-certificates . /
RUN tar -xf moby-${SRC_FILE}
RUN tar -xf cli-${SRC_FILE}
ENV GO11MODULE=off
ENV CGO_ENABLED=1
ENV AUTO_GOPATH=1
ENV GITCOMMIT=${CLI_COMMIT}
ENV DOCKER_GITCOMMIT=${MOBY_COMMIT}
ENV DOCKER_BUILDTAGS=seccomp
ENV DISABLE_WARN_OUTSIDE_CONTAINER=1
ENV GOPROXY=https://proxy.golang.org,direct
ENV GOSUMDB=sum.golang.org
ENV GOPATH=/cache/go
ENV GOBIN=${GOPATH}/bin
ENV PATH=${GOBIN}:${PATH}
ENV SOURCE_DATE_EPOCH=1
ENV LDFLAGS="-w -s -buildid="
ENV GO_LDFLAGS=${LDFLAGS}
WORKDIR /moby-${VERSION}
RUN <<-EOF
set -eux
sed -i '98iLDFLAGS=${GO_LDFLAGS}' hack/make.sh
hack/make.sh dynbinary
EOF
WORKDIR /cli-${VERSION}
RUN <<-EOF
set -eux
mkdir -p "$GOPATH"/src/github.com/docker/
ln -sf /cli-${VERSION} "$GOPATH"/src/github.com/docker/cli
make -j "$(nproc)" VERSION=${VERSION} dynbinary
make manpages
EOF
FROM build AS install
WORKDIR /
RUN <<-EOF
set -eux
install -Dm644 cli-${VERSION}/contrib/completion/fish/docker.fish \
/rootfs/usr/share/fish/vendor_completions.d/docker.fish
install -Dm644 cli-${VERSION}/contrib/completion/zsh/_docker \
/rootfs/usr/share/zsh/site-functions/_docker
install -Dm644 cli-${VERSION}/contrib/completion/bash/docker \
/rootfs/usr/share/bash-completion/completions/docker
install -Dm644 cli-${VERSION}/man/man1/* \
-t /rootfs/usr/share/man/man1/
# 'build/docker' is a symlink to 'docker-linux-$arch' e.g. 'docker-linux-amd64'
install -Dm755 cli-${VERSION}/build/docker \
/rootfs/usr/bin/docker
install -Dm755 -t /rootfs/usr/bin \
moby-${VERSION}/bundles/dynbinary-daemon/dockerd \
moby-${VERSION}/bundles/dynbinary-daemon/docker-proxy
# symlink externally provided tini-static binary
ln -sf /sbin/tini-static /rootfs/usr/bin/docker-init
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=4.2
ENV SRC_HASH=64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527
ENV SRC_FILE=dosfstools-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/dosfstools/dosfstools/releases/download/v${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -19,7 +19,7 @@ COPY --from=stagex/autoconf . /
COPY --from=stagex/automake . /
COPY --from=stagex/musl . /
RUN tar -xzf ${SRC_FILE}
WORKDIR dosfstools-${VERSION}
WORKDIR /dosfstools-${VERSION}
RUN --network=none <<-EOF
set -eux
./autogen.sh
@ -34,8 +34,8 @@ RUN --network=none <<-EOF
--enable-compat-symlinks
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,48 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.10.0
ENV SRC_HASH=dd7c556b4d96ca5e682534bc1f1a78a5cfabce0c425b14c1b8549802686a4442
ENV SRC_FILE=doxygen-${VERSION}.src.tar.gz
ENV SRC_SITE=https://doxygen.nl/files/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/flex . /
COPY --from=stagex/bison . /
COPY --from=stagex/coreutils . /
COPY --from=stagex/perl . /
COPY --from=stagex/python . /
COPY --from=stagex/cmake . /
COPY --from=stagex/samurai . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/libxml2 . /
COPY --from=stagex/perl . /
COPY --from=stagex/openssl . /
COPY --from=stagex/m4 . /
RUN tar -xf ${SRC_FILE}
WORKDIR /doxygen-${VERSION}
COPY *.patch .
RUN --network=none <<-EOF
set -eux \
patch -p1 remove-usage-of-fstat64.patch
cmake -B build -G Ninja \
-DGIT_EXECUTABLE=/bin/false \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-Dbuild_xmlparser=ON
cmake --build build
EOF
FROM build AS install
RUN DESTDIR=/rootfs cmake --install build
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,23 @@
--- a/deps/spdlog/include/spdlog/details/os-inl.h
+++ b/deps/spdlog/include/spdlog/details/os-inl.h
@@ -236,20 +236,11 @@
# else
int fd = ::fileno(f);
# endif
-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
- struct stat64 st;
- if (::fstat64(fd, &st) == 0)
- {
- return static_cast<size_t>(st.st_size);
- }
-# else // other unix or linux 32 bits or cygwin
struct stat st;
if (::fstat(fd, &st) == 0)
{
return static_cast<size_t>(st.st_size);
}
-# endif
#endif
throw_spdlog_ex("Failed getting file size from fd", errno);
return 0; // will not be reached.

View file

@ -0,0 +1,44 @@
FROM scratch AS base
ENV VERSION=1.7.0
ENV SRC_HASH=29edce3d302a15563d8663198bbc398c5a0554765c83830d0d4c0409d21a16c4
ENV SRC_FILE=dtc-${VERSION}.tar.xz
ENV SRC_SITE=https://kernel.org/pub/software/utils/dtc/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/binutils . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/perl . /
COPY --from=stagex/m4 . /
COPY --from=stagex/gcc . /
COPY --from=stagex/bison . /
COPY --from=stagex/openssl . /
COPY --from=stagex/libzstd . /
COPY --from=stagex/zlib . /
COPY --from=stagex/flex . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/coreutils . /
COPY --from=stagex/python . /
COPY --from=stagex/py-setuptools . /
RUN tar -xf ${SRC_FILE}
WORKDIR /dtc-${VERSION}
RUN --network=none <<-EOF
set -eux
sed -i s:-Werror::g Makefile
sed -i "s|@VERSION@|${VERSION}|" setup.py
make -j "$(nproc)"
EOF
FROM build AS install
RUN <<-EOF
set -eux
make DESTDIR=/rootfs PREFIX=/usr install
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,14 +1,14 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.47.0
ENV SRC_HASH=74c8ea97c73294edc6c11dc5e7fbb4324f86c28efd66ad0ba50be4eec8a48be2
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/tytso/e2fsprogs/archive/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/bash . /
COPY --from=stagex/binutils . /
COPY --from=stagex/pkgconf . /
@ -19,7 +19,7 @@ COPY --from=stagex/util-linux . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
RUN tar -xzf ${SRC_FILE}
WORKDIR e2fsprogs-${VERSION}
WORKDIR /e2fsprogs-${VERSION}
RUN --network=none <<-EOF
./configure \
--build=${ARCH}-linux-musl \
@ -36,8 +36,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,14 +1,14 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.20
ENV SRC_HASH=c6030defe6ae172f1687906d7354054c75a6a9130af319d4e73c50a91959c5a6
ENV SRC_FILE=ed-${VERSION}.tar.lz
ENV SRC_SITE=https://ftp.gnu.org/gnu/ed/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
@ -17,7 +17,7 @@ COPY --from=stagex/tar . /
COPY --from=stagex/lzip . /
COPY --from=stagex/gcc . /
RUN tar --lzip -xf ${SRC_FILE}
WORKDIR ed-${VERSION}
WORKDIR /ed-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -30,8 +30,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

112
packages/edk2/Containerfile Normal file
View file

@ -0,0 +1,112 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=202408
ENV VERSION_OPENSSL=3.0.9
ENV VERSION_SOFTFLOAT=3e
ENV VERSION_MIPISYST=370b5944c046bab043dd8b133727b2135af7747a
ENV VERSION_MBEDTLS=8c89224991adff88d53cd380f42a2baa36f91454
ENV VERSION_LIBSPDM=50924a4c8145fc721e17208f55814d2b38766fe6
ENV SRC_HASH=63c99b6f9f7aa94e8d76c432bea05d0d4dd6600af78d6fd59a1aec5ce9cea8ce
ENV SRC_HASH_MIPISYST=9fda3b9a78343ab2be6f06ce6396536e7e065abac29b47c8eb2e42cbb4c4f00b
ENV SRC_HASH_SOFTFLOAT=21130ce885d35c1fe73fc1e1bf2244178167e05c6747cad5f450cc991714c746
ENV SRC_HASH_OPENSSL=eb1ab04781474360f77c318ab89d8c5a03abc38e63d65a603cabbf1b00a1dc90
ENV SRC_HASH_MBEDTLS=b5c7e7c54e013c168f4aae036e59912785f11b4aeebd57f6165a14e879b9a82c
ENV SRC_HASH_LIBSPDM=962aefeeddb130deeb68c6c60c4848ddedd09d7715ed1ba8a8dadabd032d6232
ENV SRC_FILE=edk2-stable${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/tianocore/edk2/archive/refs/tags/${SRC_FILE}
ENV SRC_FILE_MIPISYST=${VERSION_MIPISYST}.tar.gz
ENV SRC_SITE_MIPISYST=https://github.com/MIPI-Alliance/public-mipi-sys-t/archive/${SRC_FILE_MIPISYST}
ENV SRC_FILE_SOFTFLOAT=SoftFloat-${VERSION_SOFTFLOAT}.zip
ENV SRC_SITE_SOFTFLOAT=https://www.jhauser.us/arithmetic/${SRC_FILE_SOFTFLOAT}
ENV SRC_FILE_OPENSSL=openssl-${VERSION_OPENSSL}.tar.gz
ENV SRC_SITE_OPENSSL=https://www.openssl.org/source/${SRC_FILE_OPENSSL}
ENV SRC_FILE_MBEDTLS=${VERSION_MBEDTLS}.tar.gz
ENV SRC_SITE_MBEDTLS=https://github.com/Mbed-TLS/mbedtls/archive/${SRC_FILE_MBEDTLS}
ENV SRC_FILE_LIBSPDM=${VERSION_LIBSPDM}.tar.gz
ENV SRC_SITE_LIBSPDM=https://github.com/DMTF/libspdm/archive/${SRC_FILE_LIBSPDM}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
ADD --checksum=sha256:${SRC_HASH_OPENSSL} ${SRC_SITE_OPENSSL} .
ADD --checksum=sha256:${SRC_HASH_SOFTFLOAT} ${SRC_SITE_SOFTFLOAT} .
ADD --checksum=sha256:${SRC_HASH_MIPISYST} ${SRC_SITE_MIPISYST} .
ADD --checksum=sha256:${SRC_HASH_MBEDTLS} ${SRC_SITE_MBEDTLS} .
ADD --checksum=sha256:${SRC_HASH_LIBSPDM} ${SRC_SITE_LIBSPDM} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
COPY --from=stagex/git . /
COPY --from=stagex/python . /
COPY --from=stagex/nasm . /
COPY --from=stagex/acpica . /
COPY --from=stagex/bash . /
COPY --from=stagex/util-linux . /
COPY --from=stagex/zlib . /
RUN tar -xf ${SRC_FILE}
RUN tar -xf ${SRC_FILE_OPENSSL}
RUN tar -xf ${SRC_FILE_MIPISYST}
RUN tar -xf ${SRC_FILE_MBEDTLS}
RUN tar -xf ${SRC_FILE_LIBSPDM}
RUN unzip ${SRC_FILE_SOFTFLOAT}
WORKDIR /edk2-edk2-stable${VERSION}
ENV WORKDIR=/edk2-edk2-stable${VERSION}
ENV PACKAGES_PATH=$WORKDIR
ENV WORKSPACE=$WORKDIR
ENV EDK_TOOLS_PATH=${WORKDIR}/BaseTools
ENV PATH=${EDK_TOOLS_PATH}/BinWrappers/PosixLike/:$PATH
ENV PYTHON_COMMAND=python3
ENV PLATFORMS="ShellPkg/ShellPkg.dsc OvmfPkg/OvmfPkgX64.dsc OvmfPkg/OvmfXen.dsc"
ENV TOOLCHAIN="GCC5"
ENV RELEASE="RELEASE"
ENV TARGET_ARCH=X64
RUN --network=none <<-EOF
set -ex
rm -rf CryptoPkg/Library/OpensslLib/openssl
ln -s /openssl-${VERSION_OPENSSL} CryptoPkg/Library/OpensslLib/openssl
rm -rf CryptoPkg/Library/MbedTlsLib/mbedtls
ln -s /mbedtls-${VERSION_MBEDTLS} CryptoPkg/Library/MbedTlsLib/mbedtls
rm -rf SecurityPkg/DeviceSecurity/SpdmLib/libspdm
ln -s /libspdm-${VERSION_LIBSPDM} SecurityPkg/DeviceSecurity/SpdmLib/libspdm
rm -rf ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
ln -s /SoftFloat-${VERSION_SOFTFLOAT} \
ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
rm -rf MdePkg/Library/MipiSysTLib/mipisyst
ln -s /public-mipi-sys-t-${VERSION_MIPISYST} \
MdePkg/Library/MipiSysTLib/mipisyst
sed -e '/BrotliCompress/d' -i BaseTools/Source/C/GNUmakefile
sed -e '/BrotliCustomDecompressLib/d' -i MdeModulePkg/MdeModulePkg.dec
sed -e 's/\r$//' -i BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp \
BaseTools/Source/C/VolInfo/VolInfo.c
bash -c ". edksetup.sh"
make -C BaseTools
for platform in $PLATFORMS; do
echo "Building Plaform Files: $platform"
command build -b $RELEASE \
-a $TARGET_ARCH \
-t $TOOLCHAIN \
-p $platform \
-n "$(nproc)" \
-DSECURE_BOOT_ENABLE=TRUE \
-DTPM2_ENABLE=TRUE
done
EOF
FROM build AS install
RUN <<-EOF
mkdir -p /rootfs/usr/bin \
/rootfs/usr/share/edk2/Conf \
/rootfs/usr/share/edk2/Scripts
install BaseTools/Source/C/bin/* BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
/rootfs/usr/bin
install BaseTools/BuildEnv /rootfs/usr/share/edk2/
install BaseTools/Conf/*.template /rootfs/usr/share/edk2/Conf
install BaseTools/Scripts/GccBase.lds /rootfs/usr/share/edk2/Scripts
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,10 +1,10 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=0.2.2
ENV SRC_HASH=525514cd5b28a315564e2c4b4425189b567b71bf13584804cf266ba6dee71a0e
ENV SRC_FILE=eif_build.tgz
ENV SRC_SITE=https://codeload.github.com/tkhq/eif_build/legacy.tar.gz/${VERSION}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
@ -20,20 +20,20 @@ COPY --from=stagex/git . /
COPY --from=stagex/rust . /
RUN tar -xzf ${SRC_FILE}
RUN mv tkhq-eif_build-* eif_build
WORKDIR eif_build
WORKDIR /eif_build
RUN cargo fetch --locked
FROM fetch as build
FROM fetch AS build
RUN --network=none \
cargo build \
--no-default-features \
--locked \
--release \
--target x86_64-unknown-linux-musl
cargo build \
--no-default-features \
--locked \
--release \
--target x86_64-unknown-linux-musl
FROM build as install
WORKDIR /rootfs/usr/bin
FROM build AS install
WORKDIR //rootfs/usr/bin
RUN cp /eif_build/target/x86_64-unknown-linux-musl/release/eif_build .
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=0.190
ENV SRC_HASH=8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692
ENV SRC_FILE=elfutils-${VERSION}.tar.bz2
ENV SRC_SITE=https://sourceware.org/elfutils/ftp/${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -29,7 +29,7 @@ COPY --from=stagex/musl-fts . /
COPY --from=stagex/musl-obstack . /
COPY --from=stagex/linux-headers . /
RUN tar -xjf ${SRC_FILE}
WORKDIR elfutils-${VERSION}
WORKDIR /elfutils-${VERSION}
ADD *.patch .
RUN --network=none <<-EOF
set -eux
@ -54,8 +54,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -17,7 +17,7 @@ COPY --from=stagex/gcc . /
COPY --from=stagex/gperf . /
RUN --network=none tar -xf ${SRC_FILE}
WORKDIR eudev-${VERSION}
WORKDIR /eudev-${VERSION}
RUN --network=none <<EOF
set -eux
./configure

View file

@ -0,0 +1,36 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=2.6.2
ENV SRC_HASH=d4cf38d26e21a56654ffe4acd9cd5481164619626802328506a2869afab29ab3
ENV SRC_FILE=expat-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/libexpat/libexpat/releases/download/R_2_6_2/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
RUN tar -xf $SRC_FILE
WORKDIR /expat-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--mandir=/usr/share/man \
--enable-static
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,48 @@
FROM scratch AS base
ENV VERSION=5.45.4
ENV SRC_HASH=49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34
ENV SRC_FILE=expect${VERSION}.tar.gz
ENV SRC_SITE=https://downloads.sourceforge.net/project/expect/Expect/${VERSION}/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/perl . /
COPY --from=stagex/automake . /
COPY --from=stagex/autoconf . /
COPY --from=stagex/m4 . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/tcl . /
RUN tar -xvf $SRC_FILE
WORKDIR /expect${VERSION}
ADD *.patch .
RUN --network=none <<-EOF
set -eux
patch -Np0 -i expect-5.45-format-security.patch
patch -Np1 -i expect-c99.patch
patch -Np1 -i expect-configure-c99.patch
autoreconf -vif
./configure \
--build=x86_64-unknown-linux-musl \
--host=x86_64-unknown-linux-musl \
--prefix=/usr/ \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/share/man \
--with-tcl=/usr/lib \
--with-tclinclude=/usr/include \
--disable-rpath
make -j "$(nproc)"
EOF
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,13 @@
--- exp_clib.c.orig 2017-03-24 10:34:37.269183513 -0400
+++ exp_clib.c 2017-03-24 10:34:41.171117943 -0400
@@ -1938,8 +1938,8 @@
char *str;
{
if (exp_is_debugging) {
- fprintf(stderr,str);
- if (exp_logfile) fprintf(exp_logfile,str);
+ fprintf(stderr, "%s", str);
+ if (exp_logfile) fprintf(exp_logfile, "%s", str);
}
}

View file

@ -0,0 +1,24 @@
Adjustments for compatibility with the currrent (Tcl 8.4.0+) channel
implementation.
diff --git a/exp_chan.c b/exp_chan.c
index c92e26b6fbd02305..944200a63b102672 100644
--- a/exp_chan.c
+++ b/exp_chan.c
@@ -60,7 +60,7 @@ void exp_background_channelhandler _ANSI_ARGS_((ClientData,
Tcl_ChannelType expChannelType = {
"exp", /* Type name. */
- ExpBlockModeProc, /* Set blocking/nonblocking mode.*/
+ TCL_CHANNEL_VERSION_2,
ExpCloseProc, /* Close proc. */
ExpInputProc, /* Input proc. */
ExpOutputProc, /* Output proc. */
@@ -70,6 +70,7 @@ Tcl_ChannelType expChannelType = {
ExpWatchProc, /* Initialize notifier. */
ExpGetHandleProc, /* Get OS handles out of channel. */
NULL, /* Close2 proc */
+ ExpBlockModeProc, /* Set blocking/nonblocking mode.*/
};
typedef struct ThreadSpecificData {

View file

@ -0,0 +1,200 @@
Avoid calling exit without declaring the function.
Add missing <string.h> include for memcpy.
Use AC_TYPE_SIGNAL to fix REARM_SIG check. Add missing includes.
Fix various implicit int return types of main.
Submitted upstream here: <https://sourceforge.net/p/expect/patches/24/#6759>
diff --git a/configure.in b/configure.in
index 51558fa14d2bcf7e..055c88fbd8797eaa 100755
--- a/configure.in
+++ b/configure.in
@@ -452,7 +452,11 @@ AC_CHECK_FUNC(siglongjmp, AC_DEFINE(HAVE_SIGLONGJMP))
# because Unixware 2.0 handles it specially and refuses to compile
# autoconf's automatic test that is a call with no arguments
AC_MSG_CHECKING([for memcpy])
-AC_TRY_LINK(,[
+AC_TRY_LINK([
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+],[
char *s1, *s2;
memcpy(s1,s2,0);
],
@@ -469,6 +473,7 @@ memcpy(s1,s2,0);
AC_MSG_CHECKING([if WNOHANG requires _POSIX_SOURCE])
AC_TRY_RUN([
#include <sys/wait.h>
+int
main() {
#ifndef WNOHANG
return 0;
@@ -489,6 +494,7 @@ rm -rf wnohang
AC_TRY_RUN([
#include <stdio.h>
#include <sys/wait.h>
+int
main() {
#ifdef WNOHANG
FILE *fp = fopen("wnohang","w");
@@ -527,16 +533,21 @@ else
AC_DEFINE(SELECT_MASK_TYPE, fd_set)
fi
-dnl # Check for the data type of the function used in signal(). This
-dnl # must be before the test for rearming.
-dnl # echo checking return type of signal handlers
-dnl AC_HEADER_EGREP([(void|sighandler_t).*signal], signal.h, retsigtype=void,AC_DEFINE(RETSIGTYPE, int) retsigtype=int)
+AC_TYPE_SIGNAL
# FIXME: check if alarm exists
AC_MSG_CHECKING([if signals need to be re-armed])
AC_TRY_RUN([
#include <signal.h>
-#define RETSIGTYPE $retsigtype
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifndef NO_SYS_WAIT_H
+# include <sys/wait.h>
+#endif
int signal_rearms = 0;
@@ -553,6 +564,7 @@ int n;
signal_rearms++;
}
+int
main()
{
signal(SIGINT,parent_sigint_handler);
@@ -714,10 +726,11 @@ fi
AC_MSG_CHECKING([for struct sgttyb])
AC_TRY_RUN([
#include <sgtty.h>
+int
main()
{
struct sgttyb tmp;
- exit(0);
+ return 0;
}],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SGTTYB)
@@ -738,10 +751,11 @@ if test $mach -eq 0 ; then
# pty_termios.c is set up to handle pty_termio.
AC_MSG_CHECKING([for struct termio])
AC_TRY_RUN([#include <termio.h>
+ int
main()
{
struct termio tmp;
- exit(0);
+ return 0;
}],
AC_DEFINE(HAVE_TERMIO)
PTY_TYPE=termios
@@ -760,10 +774,11 @@ if test $mach -eq 0 ; then
# include <inttypes.h>
# endif
# include <termios.h>
+ int
main()
{
struct termios tmp;
- exit(0);
+ return 0;
}],
AC_DEFINE(HAVE_TERMIOS)
PTY_TYPE=termios
@@ -782,6 +797,7 @@ AC_TRY_RUN([
#include <inttypes.h>
#endif
#include <termios.h>
+int
main() {
#if defined(TCGETS) || defined(TCGETA)
return 0;
@@ -804,6 +820,7 @@ AC_TRY_RUN([
#include <inttypes.h>
#endif
#include <termios.h>
+int
main() {
#ifdef TIOCGWINSZ
return 0;
@@ -823,6 +840,7 @@ main() {
AC_MSG_CHECKING([for Cray-style ptys])
SETUID=":"
AC_TRY_RUN([
+int
main(){
#ifdef CRAY
return 0;
@@ -878,12 +896,13 @@ AC_MSG_CHECKING([for SV-style timezone])
AC_TRY_RUN([
extern char *tzname[2];
extern int daylight;
+int
main()
{
int *x = &daylight;
char **y = tzname;
- exit(0);
+ return 0;
}],
AC_DEFINE(HAVE_SV_TIMEZONE)
AC_MSG_RESULT(yes),
diff --git a/tclconfig/tcl.m4 b/tclconfig/tcl.m4
index 0689cab3da994068..ebe839e5553ba520 100644
--- a/tclconfig/tcl.m4
+++ b/tclconfig/tcl.m4
@@ -2400,7 +2400,7 @@ AC_DEFUN([TEA_TIME_HANDLER], [
AC_TRY_COMPILE([#include <time.h>],
[extern long timezone;
timezone += 1;
- exit (0);],
+ return 0;],
tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no)])
if test $tcl_cv_timezone_long = yes ; then
AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?])
@@ -2412,7 +2412,7 @@ AC_DEFUN([TEA_TIME_HANDLER], [
AC_TRY_COMPILE([#include <time.h>],
[extern time_t timezone;
timezone += 1;
- exit (0);],
+ return 0;],
tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no)])
if test $tcl_cv_timezone_time = yes ; then
AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?])
@@ -2452,17 +2452,17 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
double value;
value = strtod(infString, &term);
if ((term != infString) && (term[-1] == 0)) {
- exit(1);
+ return 1;
}
value = strtod(nanString, &term);
if ((term != nanString) && (term[-1] == 0)) {
- exit(1);
+ return 1;
}
value = strtod(spaceString, &term);
if (term == (spaceString+1)) {
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy,
tcl_cv_strtod_buggy=buggy)])
if test "$tcl_cv_strtod_buggy" = buggy; then

View file

@ -1,14 +1,14 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=5.45
ENV SRC_HASH=28c01a5ef1a127ef71758222ca019ba6c6bfa4a8fe20c2b525ce75943ee9da3c
ENV SRC_FILE=FILE5_45.tar.gz
ENV SRC_SITE=https://github.com/file/file/archive/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
@ -20,7 +20,7 @@ COPY --from=stagex/libtool . /
COPY --from=stagex/m4 . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR file-FILE5_45/
WORKDIR /file-FILE5_45/
RUN --network=none <<-EOF
set -eux
autoreconf -fvi
@ -32,8 +32,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,6 +1,6 @@
FROM scratch as build
FROM scratch AS build
COPY --from=stagex/stage3 . /
WORKDIR rootfs
WORKDIR /rootfs
RUN <<-EOF
install -d -m0750 root
install -d -m0755 etc
@ -8,7 +8,7 @@ RUN <<-EOF
install -d -m1777 tmp
install -d -m1777 var/tmp
install -d -m1777 var/spool/mail
install -o 1000:1000 -d -m0755 home/user
install -o 1000 -g 1000 -d -m0755 home/user
ln -sT usr/lib lib64
ln -sT usr/lib lib
ln -sT usr/bin bin
@ -104,7 +104,7 @@ COPY --chmod=644 <<-EOF etc/os-release
BUG_REPORT_URL="https://codeberg.org/stagex/stagex/issues"
EOF
FROM scratch as package
FROM scratch AS package
COPY --from=build /rootfs/. /
USER 1000:1000
ENTRYPOINT ["/bin/sh"]

View file

@ -1,21 +1,21 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=4.9.0
ENV SRC_HASH=a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe
ENV SRC_FILE=findutils-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/findutils/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR findutils-${VERSION}
WORKDIR /findutils-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -30,8 +30,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,10 +1,10 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=d1e6f12568cb23387144a4b7a6535fe1bc1e79b1
ENV SRC_HASH=a68cdb4a2e312f96862119a6d829ac900b53d0cbc80caa5632efd43b5b7eed6c
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/osresearch/flashtools/archive/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
@ -12,12 +12,12 @@ COPY --from=stagex/binutils . /
COPY --from=stagex/gcc . /
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
RUN tar -xvf ${SRC_FILE}
WORKDIR flashtools-${VERSION}
WORKDIR /flashtools-${VERSION}
FROM fetch as build
FROM fetch AS build
RUN --network=none make all
from build as install
FROM build AS install
RUN <<-EOF
mkdir -p /rootfs/usr/bin/
install -D -m 0755 flashtool /rootfs/usr/bin/
@ -27,5 +27,5 @@ RUN <<-EOF
install -D -m 0755 uefi /rootfs/usr/bin/
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/./ /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.6.4
ENV SRC_HASH=e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995
ENV SRC_FILE=flex-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/westes/flex/releases/download/v${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/perl . /
COPY --from=stagex/gcc . /
@ -21,7 +21,7 @@ COPY --from=stagex/bison . /
COPY --from=stagex/gettext . /
COPY --from=stagex/musl . /
RUN tar -xzf ${SRC_FILE}
WORKDIR flex-${VERSION}
WORKDIR /flex-${VERSION}
RUN --network=none <<-EOF
set -eux
./autogen.sh
@ -35,8 +35,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)" LDFLAGS=-static
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,45 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=10.2.1
ENV SRC_HASH=1250e4cc58bf06ee631567523f48848dc4596133e163f02615c97f78bab6c811
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/fmtlib/fmt/archive/refs/tags/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/openssl . /
COPY --from=stagex/postgresql . /
COPY --from=stagex/cmake . /
COPY --from=stagex/samurai . /
COPY --from=stagex/python . /
COPY --from=stagex/doxygen . /
RUN tar -xf ${SRC_FILE}
WORKDIR /fmt-${VERSION}
COPY *.patch .
RUN --network=none <<-EOF
set -eux
patch -p1 fix-handling-of-static-separator.patch
# Build in-tree so the prebuilt docs get installed correctly.
# See https://github.com/fmtlib/fmt/issues/2837
cmake -B . -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
cmake --build .
EOF
FROM build AS install
RUN DESTDIR=/rootfs cmake --install .
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,31 @@
From 44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e Mon Sep 17 00:00:00 2001
From: Victor Zverovich <viz@meta.com>
Date: Fri, 9 Feb 2024 15:58:56 -0800
Subject: [PATCH] Fix handling of static separator
---
include/fmt/format-inl.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/include/fmt/format-inl.h
+++ b/include/fmt/format-inl.h
@@ -114,7 +114,11 @@ template <typename Char> FMT_FUNC Char d
FMT_FUNC auto write_loc(appender out, loc_value value,
const format_specs<>& specs, locale_ref loc) -> bool {
-#ifndef FMT_STATIC_THOUSANDS_SEPARATOR
+#ifdef FMT_STATIC_THOUSANDS_SEPARATOR
+ value.visit(loc_writer<>{
+ out, specs, std::string(1, FMT_STATIC_THOUSANDS_SEPARATOR), "\3", "."});
+ return true;
+#else
auto locale = loc.get<std::locale>();
// We cannot use the num_put<char> facet because it may produce output in
// a wrong encoding.
@@ -123,7 +127,6 @@ FMT_FUNC auto write_loc(appender out, lo
return std::use_facet<facet>(locale).put(out, value, specs);
return facet(locale).put(out, value, specs);
#endif
- return false;
}
} // namespace detail

View file

@ -0,0 +1,48 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.4.22
ENV SRC_HASH=a9a7f24f0a7a871617e76e8cc6e6556ae788042f1c006195665505499b2334b1
ENV SRC_FILE=freetds-${VERSION}.tar.bz2
ENV SRC_SITE=https://www.freetds.org/files/stable/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
COPY --from=stagex/libtool . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/readline . /
COPY --from=stagex/unixodbc . /
COPY --from=stagex/openssl . /
COPY --from=stagex/perl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /freetds-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-msdblib \
--with-openssl=/usr \
--enable-odbc \
--with-unixodbc=/usr
make -j "$(nproc)"
EOF
FROM build AS install
RUN --network=none <<-EOF
set -eu
make DESTDIR="/rootfs" install
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,43 @@
FROM scratch AS base
ENV VERSION=1.13
ENV SRC_FILE=fuse-overlayfs-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/containers/fuse-overlayfs/archive/v${VERSION}/${SRC_FILE}
ENV SRC_HASH=96d10344921d5796bcba7a38580ae14a53c4e60399bb90b238ac5a10b3bb65b2
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
COPY --from=stagex/perl . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/autoconf . /
COPY --from=stagex/automake . /
COPY --from=stagex/m4 . /
COPY --from=stagex/fuse3 . /
COPY --from=stagex/linux-headers . /
RUN tar -xf ${SRC_FILE}
WORKDIR /fuse-overlayfs-${VERSION}
RUN --network=none <<-EOF
set -eux
/usr/bin/autoreconf -fis
./configure \
--build=x86_64-linux-musl \
--host=x86_64-linux-musl \
--prefix=/usr \
--mandir=/usr/share/man
make -j "$(nproc)"
EOF
FROM build AS install
RUN <<-EOF
set -eux
make DESTDIR=/rootfs install
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,58 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=3.16.2
ENV SRC_HASH=f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87
ENV SRC_FILE=fuse-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/libfuse/libfuse/releases/download/fuse-${VERSION}/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/python . /
COPY --from=stagex/zlib . /
COPY --from=stagex/bzip2 . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/ncurses . /
COPY --from=stagex/meson . /
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/cmake . /
COPY --from=stagex/pcre2 . /
COPY --from=stagex/python . /
COPY --from=stagex/bison . /
COPY --from=stagex/flex . /
COPY --from=stagex/py-packaging . /
COPY --from=stagex/libxslt . /
COPY --from=stagex/libffi . /
COPY --from=stagex/xz . /
COPY --from=stagex/expat . /
COPY --from=stagex/rhash . /
COPY --from=stagex/libxml2 . /
COPY --from=stagex/util-linux . /
COPY --from=stagex/libxslt . /
COPY --from=stagex/gettext . /
COPY --from=stagex/ninja . /
RUN tar -xf ${SRC_FILE}
WORKDIR /fuse-${VERSION}
COPY *.patch .
RUN --network=none <<-EOF
set -eux
meson setup \
--default-library=shared \
--prefix=/usr \
-Dinitscriptdir="" \
. output
meson compile -C output
EOF
FROM build AS install
RUN DESTDIR=/rootfs meson install --no-rebuild -C output
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,21 +1,21 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=5.3.0
ENV SRC_HASH=ca9c16d3d11d0ff8c69d79dc0b47267e1329a69b39b799895604ed447d3ca90b
ENV SRC_FILE=gawk-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/gawk/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR gawk-${VERSION}
WORKDIR /gawk-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -30,8 +30,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,29 +1,29 @@
FROM scratch as base
ENV VERSION 13.1.0
ENV SRC_FILE gcc-$VERSION.tar.xz
ENV SRC_SITE https://mirrors.kernel.org/gnu/gcc/gcc-${VERSION}/${SRC_FILE}
ENV SRC_HASH 61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
ENV DEP_SITE https://gcc.gnu.org/pub/gcc/infrastructure/
ENV GMP_FILE gmp-6.2.1.tar.bz2
ENV GMP_HASH eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
ENV MPFR_FILE mpfr-4.1.0.tar.bz2
ENV MPFR_HASH feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926
ENV MPC_FILE mpc-1.2.1.tar.gz
ENV MPC_HASH 17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459
ENV ISL_FILE isl-0.24.tar.bz2
ENV ISL_HASH fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0
FROM scratch AS base
ENV VERSION=13.1.0
ENV SRC_FILE=gcc-$VERSION.tar.xz
ENV SRC_SITE=https://mirrors.kernel.org/gnu/gcc/gcc-${VERSION}/${SRC_FILE}
ENV SRC_HASH=61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
ENV DEP_SITE=https://gcc.gnu.org/pub/gcc/infrastructure/
ENV GMP_FILE=gmp-6.2.1.tar.bz2
ENV GMP_HASH=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
ENV MPFR_FILE=mpfr-4.1.0.tar.bz2
ENV MPFR_HASH=feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926
ENV MPC_FILE=mpc-1.2.1.tar.gz
ENV MPC_HASH=17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459
ENV ISL_FILE=isl-0.24.tar.bz2
ENV ISL_HASH=fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
ADD --checksum=sha256:${GMP_HASH} ${DEP_SITE}/${GMP_FILE} .
ADD --checksum=sha256:${MPFR_HASH} ${DEP_SITE}/${MPFR_FILE} .
ADD --checksum=sha256:${MPC_HASH} ${DEP_SITE}/${MPC_FILE} .
ADD --checksum=sha256:${ISL_HASH} ${DEP_SITE}/${ISL_FILE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/stage3 . /
RUN tar -xf ${SRC_FILE}
WORKDIR gcc-${VERSION}
WORKDIR /gcc-${VERSION}
RUN --network=none <<-EOF
set -eux
mv ../*.tar.* .
@ -52,7 +52,7 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none <<-EOF
set -eux
make DESTDIR=/rootfs install-strip
@ -61,7 +61,7 @@ RUN --network=none <<-EOF
rm -rf /rootfs/usr/lib64
EOF
FROM scratch as test
FROM scratch AS test
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
@ -76,5 +76,5 @@ RUN <<-EOF
./main | grep "Success"
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,40 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.23
ENV SRC_HASH=74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd
ENV SRC_FILE=gdbm-${VERSION}.tar.gz
ENV SRC_SITE=https://ftp.gnu.org/gnu/gdbm/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/bash . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/openssl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /gdbm-${VERSION}
ENV SOURCE_DATE_EPOCH=1
RUN --network=none <<-EOF
set -eux
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--enable-libgdbm-compat \
--disable-largefile \
--disable-dependency-tracking \
--enable-fast-install
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,22 +1,22 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=6.8
ENV SRC_HASH=c969dea4e8bb6be991bbf7c010ba0e0a5643a3a8d8fb0a2aaa053406f1e965f3
ENV SRC_FILE=linux-${VERSION}.tar.xz
ENV SRC_SITE=http://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
RUN tar -xf ${SRC_FILE}
WORKDIR linux-${VERSION}
WORKDIR /linux-${VERSION}
RUN --network=none gcc usr/gen_init_cpio.c -o usr/gen_init_cpio
FROM build as install
FROM build AS install
RUN --network=none <<-EOF
set -eux
mkdir -p /rootfs/usr/bin
@ -27,5 +27,5 @@ RUN --network=none <<-EOF
cp -a usr/gen_init_cpio /rootfs/usr/bin
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=0.21
ENV SRC_HASH=d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192
ENV SRC_FILE=gettext-${VERSION}.tar.xz
ENV SRC_SITE=https://mirrors.kernel.org/gnu/gettext/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
@ -15,7 +15,7 @@ COPY --from=stagex/libxml2 . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
RUN tar -xf ${SRC_FILE}
WORKDIR gettext-${VERSION}
WORKDIR /gettext-${VERSION}
RUN <<-EOF
set -eux
./configure \
@ -27,8 +27,8 @@ RUN <<-EOF
make -j "$(nproc)"
EOF
from build as install
FROM build AS install
RUN --network=none make DESTDIR=/rootfs install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.9.5
ENV SRC_HASH=a4bea37ecb9a3fb5c0c8ef18c2f7eeaf8ccbcfec91f72f3bccfc6bf72a3e3902
ENV SRC_FILE=git-${VERSION}.tar.xz
ENV SRC_SITE=http://mirrors.edge.kernel.org/pub/software/scm/git/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
@ -19,7 +19,7 @@ COPY --from=stagex/zlib . /
COPY --from=stagex/perl . /
COPY --from=stagex/gettext . /
RUN tar -xvf $SRC_FILE
WORKDIR git-${VERSION}
WORKDIR /git-${VERSION}
ENV SOURCE_DATE_EPOCH=1
RUN --network=none <<-EOF
set -eux
@ -38,10 +38,10 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN make DESTDIR=/rootfs install
FROM base as test
FROM base AS test
COPY --from=install /rootfs/. /
COPY --from=stagex/zlib . /
COPY --from=stagex/musl . /
@ -56,5 +56,5 @@ RUN /bin/sh <<-EOF
fi
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,66 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=2.80.0
ENV SRC_HASH=8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d
ENV SRC_FILE=glib-${VERSION}.tar.xz
ENV SRC_SITE=https://download.gnome.org/sources/glib/2.80/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/python . /
COPY --from=stagex/zlib . /
COPY --from=stagex/bzip2 . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/ncurses . /
COPY --from=stagex/meson . /
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/cmake . /
COPY --from=stagex/pcre2 . /
COPY --from=stagex/python . /
COPY --from=stagex/bison . /
COPY --from=stagex/flex . /
COPY --from=stagex/py-packaging . /
COPY --from=stagex/libxslt . /
COPY --from=stagex/libffi . /
COPY --from=stagex/xz . /
COPY --from=stagex/expat . /
COPY --from=stagex/rhash . /
COPY --from=stagex/libxml2 . /
COPY --from=stagex/util-linux . /
COPY --from=stagex/libxslt . /
COPY --from=stagex/gettext . /
COPY --from=stagex/ninja . /
RUN tar -xf ${SRC_FILE}
WORKDIR /glib-${VERSION}
COPY *.patch .
RUN --network=none <<-EOF
set -eux
export CFLAGS="-ffat-lto-objects -O2"
export CXXFLAGS="-O2"
export CPPFLAGS="-O2"
meson setup \
--default-library=shared \
--prefix=/usr \
-Dman-pages=disabled \
-Dlibmount=disabled \
-Dtests=false \
-Dintrospection=disabled \
-Dnls=disabled \
. output
meson compile -C output
meson install --no-rebuild -C output
EOF
FROM build AS install
RUN DESTDIR=/rootfs meson install --no-rebuild -C output
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -20,7 +20,7 @@ COPY --from=stagex/m4 . /
COPY --from=stagex/gcc . /
RUN --network=none tar -xf ${SRC_FILE}
WORKDIR gmp-${VERSION}
WORKDIR /gmp-${VERSION}
RUN --network=none <<EOF
set -eux
./configure \

View file

@ -1,18 +1,18 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.0.3
ENV SRC_HASH=7ca3a04bb4ab83387538235decc42a535097a05d2fb9f2266d0c47b33119501f
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/cpuguy83/go-md2man/archive/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/ca-certificates . /
RUN tar -xvf ${SRC_FILE}
WORKDIR go-md2man-${VERSION}
WORKDIR /go-md2man-${VERSION}
ENV PWD=/home/user/go-md2man-${VERSION}
ENV GOPATH=${PWD}/cache/go
ENV GOCACHE=${PWD}/cache/
@ -25,11 +25,11 @@ ENV GOHOSTARCH=amd64
RUN mkdir -p ${GOPATH}
RUN go build -o bin/go-md2man
from build as install
FROM build AS install
RUN <<-EOF
mkdir -p /rootfs/usr/bin/
cp bin/go-md2man /rootfs/usr/bin/
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/./ /

View file

@ -1,6 +1,6 @@
FROM scratch as base
ENV VERSION=1.22.3
ENV SRC_HASH=80648ef34f903193d72a59c0dff019f5f98ae0c9aa13ade0b0ecbff991a76f68
FROM scratch AS base
ENV VERSION=1.23.1
ENV SRC_HASH=6ee44e298379d146a5e5aa6b1c5b5d5f5d0a3365eabdd70741e6e21340ec3b0d
ENV SRC_FILE=go${VERSION}.src.tar.gz
ENV SRC_SITE=https://storage.googleapis.com/golang/${SRC_FILE}
ENV VERSION_BOOTSTRAP_3=1.20.6
@ -16,13 +16,13 @@ ENV SRC_HASH_BOOTSTRAP_1=f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f
ENV SRC_FILE_BOOTSTRAP_1=go${VERSION_BOOTSTRAP_1}.tar.gz
ENV SRC_SITE_BOOTSTRAP_1=https://dl.google.com/go/${SRC_FILE_BOOTSTRAP_1}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH_BOOTSTRAP_1} ${SRC_SITE_BOOTSTRAP_1} .
ADD --checksum=sha256:${SRC_HASH_BOOTSTRAP_2} ${SRC_SITE_BOOTSTRAP_2} .
ADD --checksum=sha256:${SRC_HASH_BOOTSTRAP_3} ${SRC_SITE_BOOTSTRAP_3} .
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/bash . /
@ -39,7 +39,7 @@ RUN <<-EOF
tar -xzf go${VERSION}.src.tar.gz; \
mv go go-src
EOF
WORKDIR go-bootstrap-1-src
WORKDIR /go-bootstrap-1-src
ENV GOOS=linux
ENV CGO_ENABLED=0
ENV GOROOT_FINAL=/go-bootstrap-1
@ -54,7 +54,7 @@ RUN --network=none <<-EOF
mkdir -p ${DEST}
cp -R bin lib pkg src ${DEST}
EOF
WORKDIR ../go-bootstrap-2-src
WORKDIR /go-bootstrap-2-src
ENV GO11MODULE=off
ENV GOROOT_BOOTSTRAP=/go-bootstrap-1
ENV GOROOT_FINAL=/go-bootstrap-2
@ -69,7 +69,7 @@ RUN --network=none <<-EOF
mkdir -p ${DEST}
cp -R bin lib pkg src ${DEST}
EOF
WORKDIR ../go-bootstrap-3-src
WORKDIR /go-bootstrap-3-src
ENV GO11MODULE=off
ENV GOROOT_BOOTSTRAP=/go-bootstrap-2
ENV GOROOT_FINAL=/go-bootstrap-3
@ -84,7 +84,7 @@ RUN --network=none <<-EOF
mkdir -p ${DEST}
cp -R bin lib pkg src ${DEST}
EOF
WORKDIR ../go-src
WORKDIR /go-src
ENV GOPROXY=off
ENV GOTOOLCHAIN=local
ENV GOFLAGS=-mod=vendor
@ -99,7 +99,7 @@ RUN --network=none <<-EOF
bash make.bash
EOF
FROM build as install
FROM build AS install
RUN <<-EOF
set -eux
mkdir -p /rootfs/usr
@ -107,7 +107,7 @@ RUN <<-EOF
cp -R bin lib /rootfs/usr
EOF
FROM base as test
FROM base AS test
COPY --from=install /rootfs/. /
COPY <<-EOF test.go
package main
@ -120,5 +120,5 @@ RUN <<-EOF
./test | grep "Success"
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -16,7 +16,7 @@ COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN --network=none tar -xf ${SRC_FILE}
WORKDIR gperf-${VERSION}
WORKDIR /gperf-${VERSION}
RUN --network=none <<EOF
set -eux
./configure

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.4.4
ENV SRC_HASH=67ebe016ca90fa7688ce67a387ebd82c6261e95897db7b23df24ff335be85bc6
ENV SRC_FILE=gnupg-${VERSION}.tar.bz2
ENV SRC_SITE=https://gnupg.org/ftp/gcrypt/gnupg/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
@ -19,7 +19,7 @@ COPY --from=stagex/libgpg-error . /
COPY --from=stagex/libassuan . /
COPY --from=stagex/libgcrypt . /
RUN tar -xvf $SRC_FILE
WORKDIR gnupg-${VERSION}
WORKDIR /gnupg-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
@ -32,10 +32,10 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN make DESTDIR=/rootfs install
FROM base as test
FROM base AS test
COPY --from=install /rootfs/. /
COPY --from=stagex/zlib . /
COPY --from=stagex/musl . /
@ -56,5 +56,5 @@ RUN /bin/sh <<-EOF
fi
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,21 +1,21 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=3.11
ENV SRC_HASH=1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab
ENV SRC_FILE=grep-${VERSION}.tar.xz
ENV SRC_SITE=https://mirrors.kernel.org/gnu/grep/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR grep-${VERSION}
WORKDIR /grep-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -30,8 +30,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,38 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.23.0
ENV SRC_HASH=6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13
ENV SRC_FILE=groff-${VERSION}.tar.gz
ENV SRC_SITE=https://ftp.gnu.org/gnu/groff/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/perl . /
COPY --from=stagex/m4 . /
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
RUN tar -xf $SRC_FILE
WORKDIR /groff-${VERSION}
ENV SOURCE_DATE_EPOCH=1
RUN --network=none <<-EOF
set -eux
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--without-x \
--disable-rpath
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,4 +1,4 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=1.8.9
ENV SRC_HASH=962fe7d3da7653519d2975e130244af9286db32041b0745613aebf89949a9009
ENV SRC_FILE=v${VERSION}.tar.gz
@ -12,25 +12,25 @@ ENV GOHOSTOS=linux
ENV GOHOSTARCH=amd64
ENV GOLDFLAGS="-w -extldflags \"-static\" -X \"main.version=${VERSION}\""
FROM base as fetch
FROM base AS fetch
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/ca-certificates . /
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
RUN tar -xvf ${SRC_FILE}
WORKDIR grpcurl-${VERSION}
WORKDIR /grpcurl-${VERSION}
ENV GOPATH="/grpcurl-${VERSION}"
RUN go get ./...
FROM fetch as build
FROM fetch AS build
RUN --network=none go build -trimpath -v ./cmd/grpcurl
from build as install
FROM build AS install
RUN <<-EOF
set -eu
mkdir -p /rootfs/usr/bin/
cp grpcurl /rootfs/usr/bin/
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/./ /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=2.12
ENV SRC_HASH=b30919fa5be280417c17ac561bb1650f60cfb80cc6237fa1e2b6f56154cb9c91
ENV SRC_FILE=grub-${VERSION}.tar.gz
ENV SRC_SITE=https://mirrors.kernel.org/gnu/grub/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/bison . /
COPY --from=stagex/flex . /
@ -26,7 +26,7 @@ COPY --from=stagex/gettext . /
COPY --from=stagex/xz . /
COPY --from=stagex/linux-headers . /
RUN tar -xf ${SRC_FILE}
WORKDIR grub-${VERSION}
WORKDIR /grub-${VERSION}
RUN --network=none <<-EOF
set -eux
sh autogen.sh
@ -64,7 +64,7 @@ RUN --network=none <<-EOF
make
EOF
FROM build as install
FROM build AS install
RUN <<-EOF
cd build-pc
make DESTDIR=/rootfs install-strip
@ -73,5 +73,5 @@ RUN <<-EOF
make DESTDIR=/rootfs install-strip
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,21 +1,21 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.13
ENV SRC_HASH=7454eb6935db17c6655576c2e1b0fabefd38b4d0936e0f87f48cd062ce91a057
ENV SRC_FILE=gzip-${VERSION}.tar.xz
ENV SRC_SITE=https://ftp.gnu.org/gnu/gzip/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR gzip-${VERSION}
WORKDIR /gzip-${VERSION}
ENV FORCE_UNSAFE_CONFIGURE=1
RUN --network=none <<-EOF
set -ex
@ -29,8 +29,8 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none make DESTDIR="/rootfs" install
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,4 +1,4 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=3.14.3
ENV SRC_HASH=e0d46f69954002d27eaac3bd6543ee4f486cdd3795c5aac921e7f02791df8d8e
ENV SRC_FILE=v${VERSION}.tar.gz
@ -13,24 +13,24 @@ ENV GOHOSTOS=linux
ENV GOHOSTARCH=amd64
ENV GO11MODULE=on
FROM base as fetch
FROM base AS fetch
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/ca-certificates . /
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
RUN tar -xvf ${SRC_FILE}
WORKDIR helm-${VERSION}
WORKDIR /helm-${VERSION}
RUN go get ./...
FROM fetch as build
FROM fetch AS build
RUN --network=none go build -v -trimpath ./cmd/helm
from build as install
FROM build AS install
RUN <<-EOF
set -eu
mkdir -p /rootfs/usr/bin/
cp helm /rootfs/usr/bin/
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/./ /

View file

@ -0,0 +1,39 @@
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.7.2
ENV SRC_HASH=11ddfa39afe28c28539fe65fc4f1592d410c1e9b6dd7d8a91ca25d85e9ec65b8
ENV SRC_FILE=hunspell-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/hunspell/hunspell/releases/download/v${VERSION}/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
FROM fetch AS build
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/bash . /
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/openssl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /hunspell-${VERSION}
RUN --network=none <<-EOF
set -eux
./configure \
--build=${ARCH}-linux-musl \
--host=${ARCH}-linux-musl \
--prefix=/usr \
--with-ui \
--with-readline \
--disable-static \
--without-included-gettext
make -j "$(nproc)"
EOF
FROM build AS install
RUN make DESTDIR=/rootfs install
RUN find /rootfs -exec touch -hcd "@0" "{}" +
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,4 +1,4 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=74.2
ENV SRC_HASH=68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c
@ -8,13 +8,13 @@ ENV SRC_DATA_BIN_L_HASH=2acdb1b982228040963d183b2dd9d321252c613e0f4db213d4bbc104
ENV SRC_FILE=icu4c-74_2-src.tgz
ENV SRC_SITE=https://github.com/unicode-org/icu/releases/download/release-74-2
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE}/${SRC_FILE} .
ADD --checksum=sha256:${SRC_DATA_HASH} ${SRC_SITE}/icu4c-74_2-data.zip .
ADD --checksum=sha256:${SRC_DATA_BIN_B_HASH} ${SRC_SITE}/icu4c-74_2-data-bin-b.zip .
ADD --checksum=sha256:${SRC_DATA_BIN_L_HASH} ${SRC_SITE}/icu4c-74_2-data-bin-l.zip .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/bash . /
COPY --from=stagex/binutils . /
COPY --from=stagex/busybox . /
@ -22,7 +22,7 @@ COPY --from=stagex/make . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
RUN tar -xzf ${SRC_FILE}
WORKDIR icu/source
WORKDIR /icu/source
RUN --network=none <<-EOF
./configure \
--build=${ARCH}-linux-musl \
@ -36,7 +36,7 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none <<-EOF
make DESTDIR=/rootfs install
install -D -m644 /icu4c-74_2-data.zip /rootfs/usr/share/icu/74.2/
@ -44,5 +44,5 @@ RUN --network=none <<-EOF
install -D -m644 /icu4c-74_2-data-bin-l.zip /rootfs/usr/share/icu/74.2/
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs /

View file

@ -0,0 +1,34 @@
FROM scratch AS base
ENV VERSION=6.10.0
ENV SRC_HASH=91a62f82737b44905a00fa803369c447d549e914e9a2a4018fdd75b1d54e8dce
ENV SRC_FILE=iproute2-${VERSION}.tar.xz
ENV SRC_SITE=http://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/${SRC_FILE}
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/musl . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/m4 . /
COPY --from=stagex/bison . /
COPY --from=stagex/flex . /
COPY --from=stagex/elfutils . /
RUN tar -xvf $SRC_FILE
WORKDIR /iproute2-${VERSION}
RUN --network=none make -j "$(nproc)" V=1
FROM build AS install
RUN <<-EOF
make DESTDIR=/rootfs install
mv /rootfs/sbin /rootfs/usr/sbin
install -D -m644 include/libnetlink.h /rootfs/usr/include/libnetlink.h
install -D -m644 lib/libnetlink.a /rootfs/usr/lib/libnetlink.a
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -0,0 +1,51 @@
FROM scratch AS base
ENV VERSION=1.8.10
ENV SRC_FILE=iptables-${VERSION}.tar.xz
ENV SRC_SITE=https://netfilter.org/projects/iptables/files/${SRC_FILE}
ENV SRC_HASH=5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
COPY --from=stagex/perl . /
COPY --from=stagex/libtool . /
COPY --from=stagex/pkgconf . /
COPY --from=stagex/autoconf . /
COPY --from=stagex/automake . /
COPY --from=stagex/m4 . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/libnftnl . /
COPY --from=stagex/libmnl . /
RUN tar -xf ${SRC_FILE}
WORKDIR /iptables-${VERSION}
RUN --network=none <<-EOF
set -eux
/usr/bin/autoreconf -vif
./configure \
--build=x86_64-linux-musl \
--host=x86_64-linux-musl \
--prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--sbindir=/usr/sbin \
--without-kernel \
--enable-devel \
--enable-libipq \
--enable-shared
make -j "$(nproc)"
EOF
FROM build AS install
RUN <<-EOF
set -eux
make install DESTDIR=/rootfs
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -20,7 +20,7 @@ COPY --from=stagex/libxslt . /
COPY --from=stagex/linux-headers . /
COPY --from=stagex/ninja . /
RUN tar -xzf ${SRC_FILE}
WORKDIR iputils-${VERSION}
WORKDIR /iputils-${VERSION}
RUN --network=none <<-EOF
set -eux;
./configure

View file

@ -0,0 +1,86 @@
FROM scratch AS base
ENV VERSION=6ca597eee9f95b846a3c2dc1231e63cfc02272c1
ENV SRC_FILE=${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/ipxe/ipxe/archive/${SRC_FILE}
ENV SRC_HASH=f90cc9024d90e3fcbd738a3a1904dd552f276fcc52d177ebdd4e78d17e5c5b44
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/coreutils . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/openssl . /
COPY --from=stagex/make . /
COPY --from=stagex/perl . /
COPY --from=stagex/musl . /
COPY --from=stagex/edk2 . /
COPY --from=stagex/syslinux . /
COPY --from=stagex/xorriso . /
COPY --from=stagex/xz . /
RUN tar -xf ${SRC_FILE}
WORKDIR /ipxe-${VERSION}/src
ENV SOURCE_DATE_EPOCH=1
RUN --network=none <<-EOF
set -ex
mkdir -p out
make \
-j "$(nproc)" \
CC=x86_64-linux-musl-gcc \
NO_WERROR=1 \
EXTRA_CFLAGS="-fcommon" \
bin/ipxe.iso \
bin/ipxe.lkrn \
bin/ipxe.pxe \
bin/undionly.kpxe \
bin/ipxe.usb \
bin/ipxe.dsk \
bin-x86_64-efi/ipxe.efi
printf " \
e1000 8086 100e \n \
e1000e 8086 10d3 \n \
eepro100 8086 1209 \n \
ne2k_pci 1050 0940 \n \
pcnet 1022 2000 \n \
rtl8139 10ec 8139 \n \
virtio 1af4 1000 \n \
vmxnet3 15ad 07b0" \
| while IFS= read -r line; do
set -- $line;
target="$1";
vid="$2";
did="$3";
make \
-j "$(nproc)" \
CONFIG=qemu \
CC=x86_64-linux-musl-gcc \
NO_WERROR=1 \
EXTRA_CFLAGS="-fcommon" \
bin-x86_64-efi/${vid}${did}.efidrv \
bin/${vid}${did}.rom;
EfiRom \
-f "0x${vid}" \
-i "0x${did}" \
-l 0x02 \
-b bin/${vid}${did}.rom \
-ec bin-x86_64-efi/${vid}${did}.efidrv \
-o out/efi-${target}.rom;
done
EOF
FROM build AS install
RUN <<-EOF
set -eux
install -vDm 644 bin/*.lkrn -t /rootfs/usr/share/ipxe/
install -vDm 644 bin/*.dsk -t /rootfs/usr/share/ipxe/
install -vDm 644 bin/*.iso -t /rootfs/usr/share/ipxe/
install -vDm 644 bin/*.pxe -t /rootfs/usr/share/ipxe/
install -vDm 644 bin/*.kpxe -t /rootfs/usr/share/ipxe/
install -vDm 644 bin-x86_64-efi/*.efi -t /rootfs/usr/share/ipxe/x86_64/
install -vDm 644 out/efi-*.rom -t /rootfs/usr/share/qemu/
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,21 +1,21 @@
FROM scratch as base
FROM scratch AS base
ARG ARCH=x86_64
ENV VERSION=1.7.1
ENV SRC_HASH=478c9ca129fd2e3443fe27314b455e211e0d8c60bc8ff7df703873deeee580c2
ENV SRC_FILE=jq-${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/jqlang/jq/releases/download/jq-${VERSION}/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/musl . /
COPY --from=stagex/make . /
COPY --from=stagex/gcc . /
RUN tar -xf ${SRC_FILE}
WORKDIR jq-${VERSION}
WORKDIR /jq-${VERSION}
RUN --network=none <<-EOF
set -ex
./configure \
@ -29,11 +29,11 @@ RUN --network=none <<-EOF
make -j "$(nproc)"
EOF
FROM build as install
FROM build AS install
RUN --network=none <<-EOF
set -eu
make DESTDIR="/rootfs" install
EOF
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

View file

@ -1,13 +1,13 @@
FROM scratch as base
FROM scratch AS base
ENV VERSION=0.17
ENV SRC_HASH=7550914d58fb63b2c3546f3ccfbe11f1c094147bd31a69dcd23714d7956159e6
ENV SRC_FILE=json-c-${VERSION}.tar.gz
ENV SRC_SITE=https://s3.amazonaws.com/json-c_releases/releases/${SRC_FILE}
FROM base as fetch
FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
FROM fetch as build
FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/binutils . /
COPY --from=stagex/cmake . /
@ -19,7 +19,7 @@ COPY --from=stagex/gcc . /
COPY --from=stagex/zlib . /
RUN tar -xf ${SRC_FILE}
WORKDIR json-c-${VERSION}
WORKDIR /json-c-${VERSION}
RUN <<-EOF
set -eux
cmake \
@ -35,8 +35,8 @@ RUN <<-EOF
cmake --build build --target all
EOF
FROM build as install
FROM build AS install
RUN --network=none DESTDIR="/rootfs" cmake --install build
FROM stagex/filesystem as package
FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /

Some files were not shown because too many files have changed in this diff Show more