Skip to content

Commit 0ea6028

Browse files
committed
feat(python3): add riscv64 support for debian13
This change enables riscv64 architecture support for the Python 3 distroless images based on Debian 13 (Trixie). Updates include: - Adding riscv64 to the trixie_python debian repository configuration. - Updating Bazel lockfiles and repository lock files with riscv64 package metadata. - Adding the required ld.so.cache for riscv64. - Updating the README to reflect supported architectures.
1 parent accc36a commit 0ea6028

File tree

6 files changed

+280
-4
lines changed

6 files changed

+280
-4
lines changed

MODULE.bazel.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Debian 13 distroless images use the debian [UsrMerge](https://wiki.debian.org/Us
5656
| gcr.io/distroless/nodejs20-debian13 | latest, nonroot, debug, debug-nonroot | amd64, arm64, arm, s390x, ppc64le |
5757
| gcr.io/distroless/nodejs22-debian13 | latest, nonroot, debug, debug-nonroot | amd64, arm64, arm, s390x, ppc64le |
5858
| gcr.io/distroless/nodejs24-debian13 | latest, nonroot, debug, debug-nonroot | amd64, arm64, s390x, ppc64le |
59-
| gcr.io/distroless/python3-debian13 | latest, nonroot, debug, debug-nonroot | amd64, arm64 |
59+
| gcr.io/distroless/python3-debian13 | latest, nonroot, debug, debug-nonroot | amd64, arm64, riscv64 |
6060

6161
## Why is distroless still using `gcr.io` instead of `pkg.dev`?
6262

private/repos/deb/trixie_python.lock.json

Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,281 @@
549549
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/z/zlib/zlib1g_1.3.dfsg+really1.3.1-1+b1_arm64.deb"
550550
],
551551
"version": "1:1.3.dfsg+really1.3.1-1+b1"
552+
},
553+
{
554+
"arch": "riscv64",
555+
"dependencies": [],
556+
"key": "libbz2-1.0_1.0.8-6_riscv64",
557+
"name": "libbz2-1.0",
558+
"sha256": "27c7937eb4d2e314e1f0a57a99a20c141c55f720e5ee93d2244de432fd247a55",
559+
"urls": [
560+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/b/bzip2/libbz2-1.0_1.0.8-6_riscv64.deb"
561+
],
562+
"version": "1.0.8-6"
563+
},
564+
{
565+
"arch": "riscv64",
566+
"dependencies": [],
567+
"key": "libcom-err2_1.47.2-3-p-b10_riscv64",
568+
"name": "libcom-err2",
569+
"sha256": "0a46273c5f5d50c15d1a8e7d334634b4d076776fedabfdf7ed61f4aabd7c90ad",
570+
"urls": [
571+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/e/e2fsprogs/libcom-err2_1.47.2-3+b10_riscv64.deb"
572+
],
573+
"version": "1.47.2-3+b10"
574+
},
575+
{
576+
"arch": "riscv64",
577+
"dependencies": [],
578+
"key": "libcrypt1_1-4.4.38-1_riscv64",
579+
"name": "libcrypt1",
580+
"sha256": "85ae0d868b2a27043249ca332dac782a1a67e3171139b0f57d63414eaf4ec887",
581+
"urls": [
582+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/libx/libxcrypt/libcrypt1_4.4.38-1_riscv64.deb"
583+
],
584+
"version": "1:4.4.38-1"
585+
},
586+
{
587+
"arch": "riscv64",
588+
"dependencies": [],
589+
"key": "libdb5.3t64_5.3.28-p-dfsg2-9_riscv64",
590+
"name": "libdb5.3t64",
591+
"sha256": "3f8a92882a38f877711912c82d6013112b9c086bd83215a3adade0801b36c29c",
592+
"urls": [
593+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/d/db5.3/libdb5.3t64_5.3.28+dfsg2-9_riscv64.deb"
594+
],
595+
"version": "5.3.28+dfsg2-9"
596+
},
597+
{
598+
"arch": "riscv64",
599+
"dependencies": [],
600+
"key": "libexpat1_2.7.1-2_riscv64",
601+
"name": "libexpat1",
602+
"sha256": "73d5d2aae20867ccd38d92e68f04ec63887964d1704836a6e3ee550142218b76",
603+
"urls": [
604+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/e/expat/libexpat1_2.7.1-2_riscv64.deb"
605+
],
606+
"version": "2.7.1-2"
607+
},
608+
{
609+
"arch": "riscv64",
610+
"dependencies": [],
611+
"key": "libc-bin_2.41-12-p-deb13u2_riscv64",
612+
"name": "libc-bin",
613+
"sha256": "4b03a077476ed203f0edd56339a8d2b91a6b12ae1cc801db2ac917ad07b05617",
614+
"urls": [
615+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/g/glibc/libc-bin_2.41-12+deb13u2_riscv64.deb"
616+
],
617+
"version": "2.41-12+deb13u2"
618+
},
619+
{
620+
"arch": "riscv64",
621+
"dependencies": [],
622+
"key": "libffi8_3.4.8-2_riscv64",
623+
"name": "libffi8",
624+
"sha256": "f2dc7319a32fb0af68723f781667aa876efb402301e9cb170d2979d394c11bfb",
625+
"urls": [
626+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/libf/libffi/libffi8_3.4.8-2_riscv64.deb"
627+
],
628+
"version": "3.4.8-2"
629+
},
630+
{
631+
"arch": "riscv64",
632+
"dependencies": [],
633+
"key": "libgssapi-krb5-2_1.21.3-5_riscv64",
634+
"name": "libgssapi-krb5-2",
635+
"sha256": "765528700091f8df82798b53f1b847b277558153291fca1c76957d0fe1fd47b5",
636+
"urls": [
637+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/k/krb5/libgssapi-krb5-2_1.21.3-5_riscv64.deb"
638+
],
639+
"version": "1.21.3-5"
640+
},
641+
{
642+
"arch": "riscv64",
643+
"dependencies": [],
644+
"key": "libk5crypto3_1.21.3-5_riscv64",
645+
"name": "libk5crypto3",
646+
"sha256": "6fb1c371977c93c7221c9a1b37d02a23439d5fb486680c04b6af8cd0727aff55",
647+
"urls": [
648+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/k/krb5/libk5crypto3_1.21.3-5_riscv64.deb"
649+
],
650+
"version": "1.21.3-5"
651+
},
652+
{
653+
"arch": "riscv64",
654+
"dependencies": [],
655+
"key": "libkeyutils1_1.6.3-6_riscv64",
656+
"name": "libkeyutils1",
657+
"sha256": "7ecada902f4f5ca27d3bbf97d3f3bd3974d284fae231257d30c09f92942e702e",
658+
"urls": [
659+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/k/keyutils/libkeyutils1_1.6.3-6_riscv64.deb"
660+
],
661+
"version": "1.6.3-6"
662+
},
663+
{
664+
"arch": "riscv64",
665+
"dependencies": [],
666+
"key": "libkrb5-3_1.21.3-5_riscv64",
667+
"name": "libkrb5-3",
668+
"sha256": "a119e229f8f64c23c14a117859ce37f2c70dda37350b8f9d54f23f9c74172b46",
669+
"urls": [
670+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/k/krb5/libkrb5-3_1.21.3-5_riscv64.deb"
671+
],
672+
"version": "1.21.3-5"
673+
},
674+
{
675+
"arch": "riscv64",
676+
"dependencies": [],
677+
"key": "libkrb5support0_1.21.3-5_riscv64",
678+
"name": "libkrb5support0",
679+
"sha256": "e94a87e5d2e76586a5e177be3ecc688286086c0730e0b6c893d84b7a3d22e153",
680+
"urls": [
681+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/k/krb5/libkrb5support0_1.21.3-5_riscv64.deb"
682+
],
683+
"version": "1.21.3-5"
684+
},
685+
{
686+
"arch": "riscv64",
687+
"dependencies": [],
688+
"key": "liblzma5_5.8.1-1_riscv64",
689+
"name": "liblzma5",
690+
"sha256": "89cd6e23722d4204af9ea11dcce7f3576ef20c5407d03813bcb8907ebb67a28e",
691+
"urls": [
692+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/x/xz-utils/liblzma5_5.8.1-1_riscv64.deb"
693+
],
694+
"version": "5.8.1-1"
695+
},
696+
{
697+
"arch": "riscv64",
698+
"dependencies": [],
699+
"key": "libncursesw6_6.5-p-20250216-2_riscv64",
700+
"name": "libncursesw6",
701+
"sha256": "16debd916a1ecd95f6449d5bb739015dbb0d4c07f5aaa2360f11d1028b182eac",
702+
"urls": [
703+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/n/ncurses/libncursesw6_6.5+20250216-2_riscv64.deb"
704+
],
705+
"version": "6.5+20250216-2"
706+
},
707+
{
708+
"arch": "riscv64",
709+
"dependencies": [],
710+
"key": "libnsl2_1.3.0-3-p-b3_riscv64",
711+
"name": "libnsl2",
712+
"sha256": "aff583a0216645173310b435180ce5acc477641afc65eed50775e5263496ba6c",
713+
"urls": [
714+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/libn/libnsl/libnsl2_1.3.0-3+b3_riscv64.deb"
715+
],
716+
"version": "1.3.0-3+b3"
717+
},
718+
{
719+
"arch": "riscv64",
720+
"dependencies": [],
721+
"key": "libpython3.13-minimal_3.13.5-2_riscv64",
722+
"name": "libpython3.13-minimal",
723+
"sha256": "115d895d104798c3239e8a01835bf55789933a3ecbe99e7613c382f396525cd8",
724+
"urls": [
725+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/p/python3.13/libpython3.13-minimal_3.13.5-2_riscv64.deb"
726+
],
727+
"version": "3.13.5-2"
728+
},
729+
{
730+
"arch": "riscv64",
731+
"dependencies": [],
732+
"key": "libpython3.13-stdlib_3.13.5-2_riscv64",
733+
"name": "libpython3.13-stdlib",
734+
"sha256": "0fe33efc74918199bf461cf7ac11055abc1df219c97ff555cf83503fe8fd56bb",
735+
"urls": [
736+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/p/python3.13/libpython3.13-stdlib_3.13.5-2_riscv64.deb"
737+
],
738+
"version": "3.13.5-2"
739+
},
740+
{
741+
"arch": "riscv64",
742+
"dependencies": [],
743+
"key": "libreadline8t64_8.2-6_riscv64",
744+
"name": "libreadline8t64",
745+
"sha256": "a9a66fa49aed31e4d5ce6ab2fd4999ccc28bb185b58d645539ff6955c279eb47",
746+
"urls": [
747+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/r/readline/libreadline8t64_8.2-6_riscv64.deb"
748+
],
749+
"version": "8.2-6"
750+
},
751+
{
752+
"arch": "riscv64",
753+
"dependencies": [],
754+
"key": "libsqlite3-0_3.46.1-7-p-deb13u1_riscv64",
755+
"name": "libsqlite3-0",
756+
"sha256": "d33c64570eee5bb68cc9d0bbb2e0605a8e21612e709a3bdfce9e7e49a3d9933c",
757+
"urls": [
758+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/s/sqlite3/libsqlite3-0_3.46.1-7+deb13u1_riscv64.deb"
759+
],
760+
"version": "3.46.1-7+deb13u1"
761+
},
762+
{
763+
"arch": "riscv64",
764+
"dependencies": [],
765+
"key": "libtinfo6_6.5-p-20250216-2_riscv64",
766+
"name": "libtinfo6",
767+
"sha256": "9b902c0d5a1561c2e721fb90128281c9957ae6e37817acba2547aba91ff104ea",
768+
"urls": [
769+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/n/ncurses/libtinfo6_6.5+20250216-2_riscv64.deb"
770+
],
771+
"version": "6.5+20250216-2"
772+
},
773+
{
774+
"arch": "riscv64",
775+
"dependencies": [],
776+
"key": "libtirpc3t64_1.3.6-p-ds-1_riscv64",
777+
"name": "libtirpc3t64",
778+
"sha256": "9077c53d0b78b751678dacf9254a16eab35642c943d248c7f2f3b55f04063ec8",
779+
"urls": [
780+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/libt/libtirpc/libtirpc3t64_1.3.6+ds-1_riscv64.deb"
781+
],
782+
"version": "1.3.6+ds-1"
783+
},
784+
{
785+
"arch": "riscv64",
786+
"dependencies": [],
787+
"key": "libuuid1_2.41-5_riscv64",
788+
"name": "libuuid1",
789+
"sha256": "01e0da9223fe9963270227f532f1bb57c01013ede0411710836181ab72192839",
790+
"urls": [
791+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/u/util-linux/libuuid1_2.41-5_riscv64.deb"
792+
],
793+
"version": "2.41-5"
794+
},
795+
{
796+
"arch": "riscv64",
797+
"dependencies": [],
798+
"key": "python3.13-venv_3.13.5-2_riscv64",
799+
"name": "python3.13-venv",
800+
"sha256": "c2dc84d8333672353835e7c5cdab1cc87ff3419bed61951c56d7f19146c39606",
801+
"urls": [
802+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/p/python3.13/python3.13-venv_3.13.5-2_riscv64.deb"
803+
],
804+
"version": "3.13.5-2"
805+
},
806+
{
807+
"arch": "riscv64",
808+
"dependencies": [],
809+
"key": "python3.13-minimal_3.13.5-2_riscv64",
810+
"name": "python3.13-minimal",
811+
"sha256": "c914c9be7ecf47891bf4af0346d5e47c4d050cecc8565a93a2219db7ef816144",
812+
"urls": [
813+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/p/python3.13/python3.13-minimal_3.13.5-2_riscv64.deb"
814+
],
815+
"version": "3.13.5-2"
816+
},
817+
{
818+
"arch": "riscv64",
819+
"dependencies": [],
820+
"key": "zlib1g_1-1.3.dfsg-p-really1.3.1-1-p-b1_riscv64",
821+
"name": "zlib1g",
822+
"sha256": "38c52eef58e5fc9b13d93f8a7d0a0549c32b4f00402a778d39a135254f554314",
823+
"urls": [
824+
"https://snapshot.debian.org/archive/debian/20260401T203133Z/pool/main/z/zlib/zlib1g_1.3.dfsg+really1.3.1-1+b1_riscv64.deb"
825+
],
826+
"version": "1:1.3.dfsg+really1.3.1-1+b1"
552827
}
553828
],
554829
"version": 1

private/repos/deb/trixie_python.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ sources:
1212
archs:
1313
- amd64
1414
- arm64
15+
- riscv64
1516

1617
packages:
1718
- libbz2-1.0

python3/config.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PYTHON_DISTROS = ["debian12", "debian13"]
22
PYTHON_ARCHITECTURES = {
33
"debian12": ["amd64", "arm64"],
4-
"debian13": ["amd64", "arm64"],
4+
"debian13": ["amd64", "arm64", "riscv64"],
55
}
66

77
PYTHON_PACKAGES = {
3.42 KB
Binary file not shown.

0 commit comments

Comments
 (0)