Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Fix and adjust ukify packaging
@ 2025-12-17  9:34 Koen Kooi
  2025-12-17  9:34 ` [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python Koen Kooi
  2025-12-17  9:34 ` [PATCH v2 2/2] systemd: package 'ukify' seperately Koen Kooi
  0 siblings, 2 replies; 8+ messages in thread
From: Koen Kooi @ 2025-12-17  9:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: Koen Kooi

This packages up 'ukify' from systemd to be used as an, optional,
stand-alone tool to generate and inspect Unified Kernel Images (UKIs) on
the target. The original plan was to add this to sytemd-boot, as
systemd-boot-native already handles 'ukify', but the recent systemd
upgrade snuck in 'ukify' under the radar. So package it up properly from
inside the systemd recipe.

Changes since v1:
 * Adjusted pyzstd patch to not specify an upper limit to the setuptools
   version, as suggested by Alexander Kanavin.

Koen Kooi (2):
  python3-pyzstd: import 0.17.0 from meta-python
  systemd: package 'ukify' seperately

 meta/recipes-core/systemd/systemd_258.1.bb    | 19 +++++++++++++
 ...emove-setuptools-version-limit-of-74.patch | 27 +++++++++++++++++++
 .../python/python3-pyzstd_0.17.0.bb           | 19 +++++++++++++
 3 files changed, 65 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
 create mode 100644 meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb

-- 
2.34.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python
  2025-12-17  9:34 [PATCH v2 0/2] Fix and adjust ukify packaging Koen Kooi
@ 2025-12-17  9:34 ` Koen Kooi
  2025-12-17 14:47   ` [OE-core] " Mathieu Dubois-Briand
  2025-12-17  9:34 ` [PATCH v2 2/2] systemd: package 'ukify' seperately Koen Kooi
  1 sibling, 1 reply; 8+ messages in thread
From: Koen Kooi @ 2025-12-17  9:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: Koen Kooi

From the upstream website:
	Pyzstd module provides classes and functions for compressing and
	decompressing data, using Facebook's Zstandard (or zstd as short name)
	algorithm.

This recipe is being moved over for systemd 258.x, the 'ukify' tool
depends on this.

Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
---

Changes since v1:
 * Adjusted pyzstd patch to not specify an upper limit to the setuptools
   version, as suggested by Alexander Kanavin.

 ...emove-setuptools-version-limit-of-74.patch | 27 +++++++++++++++++++
 .../python/python3-pyzstd_0.17.0.bb           | 19 +++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
 create mode 100644 meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb

diff --git a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
new file mode 100644
index 0000000000..f2910322ff
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
@@ -0,0 +1,27 @@
+From bc9b975c9f41e43481a2eb0623b4180926baecec Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Apr 2025 14:38:31 -0700
+Subject: [PATCH] Remove setuptools version limit of '74'
+
+Upstream sticks to 0.74 since setuptools have dropped msvc9compiler
+support beyond that which is needed for python 3.9 on windows. We
+do not have this problem on Linux
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index dd885e4..5d4d511 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ # setuptools 64+ support --build-option
+ # setuptools 74+ drops distutils.msvc9compiler required for Python 3.9 under Windows
+-requires = ["setuptools>=64,<74"]
++requires = ["setuptools>=64"]
+ backend-path = ["build_script"]
+ build-backend = "pyzstd_pep517"
diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
new file mode 100644
index 0000000000..0ed6cd47c7
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Pyzstd module provides classes and functions for compressing and \
+decompressing data, using Facebook’s Zstandard (or zstd as short name) algorithm."
+HOMEPAGE = "https://github.com/animalize/pyzstd"
+SECTION = "devel/python"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aedb5a2679cd1552fb61c181ef974b9e"
+
+PYPI_PACKAGE = "pyzstd"
+
+SRC_URI += "file://0001-Remove-setuptools-version-limit-of-74.patch"
+SRC_URI[sha256sum] = "d84271f8baa66c419204c1dd115a4dec8b266f8a2921da21b81764fa208c1db6"
+
+inherit pypi python_setuptools_build_meta ptest-python-pytest
+
+# clang-16 with -flto segfaults on arm, therefore ignore flto for now
+do_configure:append:arm:toolchain-clang() {
+    sed -i -e "s|'-flto'|''|" ${S}/setup.py
+}
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/2] systemd: package 'ukify' seperately
  2025-12-17  9:34 [PATCH v2 0/2] Fix and adjust ukify packaging Koen Kooi
  2025-12-17  9:34 ` [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python Koen Kooi
@ 2025-12-17  9:34 ` Koen Kooi
  1 sibling, 0 replies; 8+ messages in thread
From: Koen Kooi @ 2025-12-17  9:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: Koen Kooi

The upgrade to 258.x started shipping 'ukify' by default, but didn't
adjust the runtime dependencies. Add the python modules 'ukify' imports
and split out the package to avoid dragging in gigabytes of python just
plain systemd.

Succesfully tested at runtime on:
* RB1-core-kit, using u-boot EFI mode + systemd-boot
* RB3gen2-core-kit, using Qualcomm UEFI + systemd-boot
* Rubikpi3, using Qualcomm UEFI and type 2 boot
* Beagleboneblack using u-boot UFI mode + systemd-boot

Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
---
 meta/recipes-core/systemd/systemd_258.1.bb | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/meta/recipes-core/systemd/systemd_258.1.bb b/meta/recipes-core/systemd/systemd_258.1.bb
index dcbd4d92f3..70414b03a4 100644
--- a/meta/recipes-core/systemd/systemd_258.1.bb
+++ b/meta/recipes-core/systemd/systemd_258.1.bb
@@ -408,6 +408,7 @@ PACKAGE_BEFORE_PN += "\
     ${PN}-networkd \
     ${PN}-rpm-macros \
     ${PN}-udev-rules \
+    ${PN}-ukify \
     ${PN}-vconsole-setup \
     ${PN}-zsh-completion \
     libsystemd-shared \
@@ -630,6 +631,24 @@ FILES:${PN}-udev-rules = "\
                         ${nonarch_libdir}/udev/rules.d/99-systemd.rules \
 "
 
+SUMMARY:${PN}-ukify = "Create and inspect Unified Kernel Images (UKIs)"
+DESCRIPTION:${PN}-ukify = "ukify is a tool whose primary purpose is to combine components (usually a kernel, an initrd, and a UEFI boot stub) to create a Unified Kernel Image (UKI) — a PE binary that can be executed by the firmware to start the embedded linux kernel."
+FILES:${PN}-ukify = "${bindir}/ukify"
+RDEPENDS:${PN}-ukify = " \
+                        python3-compression \
+                        python3-core \
+                        python3-crypt \
+                        python3-datetime \
+                        python3-io \
+                        python3-json \
+                        python3-netclient \
+                        python3-pefile \
+                        python3-pprint \
+                        python3-pydoc \
+                        python3-pyzstd \
+                        python3-shell \
+                       "
+
 CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \
 	${sysconfdir}/systemd/journald.conf \
 	${sysconfdir}/systemd/logind.conf \
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python
  2025-12-17  9:34 ` [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python Koen Kooi
@ 2025-12-17 14:47   ` Mathieu Dubois-Briand
  2025-12-17 15:09     ` Koen Kooi
  0 siblings, 1 reply; 8+ messages in thread
From: Mathieu Dubois-Briand @ 2025-12-17 14:47 UTC (permalink / raw)
  To: koen.kooi, openembedded-core

On Wed Dec 17, 2025 at 10:34 AM CET, Koen Kooi via lists.openembedded.org wrote:
> From the upstream website:
> 	Pyzstd module provides classes and functions for compressing and
> 	decompressing data, using Facebook's Zstandard (or zstd as short name)
> 	algorithm.
>
> This recipe is being moved over for systemd 258.x, the 'ukify' tool
> depends on this.
>
> Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
> ---

Hi Koen,

Thanks for your patch.

It look like this is failing on the autobuilder in various
configurations, probably only with poky-altcfg:

ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: Fatal QA errors were found, failing task.
...
ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: QA Issue: supports ptests but is not included in oe-core's ptest-packagelists.inc [missing-ptest]

https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2848
https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/2837
https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/2894
https://autobuilder.yoctoproject.org/valkyrie/#/builders/74/builds/2848
https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/2829

Can you have a look at this issue?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python
  2025-12-17 14:47   ` [OE-core] " Mathieu Dubois-Briand
@ 2025-12-17 15:09     ` Koen Kooi
  2025-12-17 15:49       ` Mathieu Dubois-Briand
  0 siblings, 1 reply; 8+ messages in thread
From: Koen Kooi @ 2025-12-17 15:09 UTC (permalink / raw)
  To: Mathieu Dubois-Briand; +Cc: openembedded-core



> Op 17 dec 2025, om 15:47 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
> 
> On Wed Dec 17, 2025 at 10:34 AM CET, Koen Kooi via lists.openembedded.org wrote:
>> From the upstream website:
>> Pyzstd module provides classes and functions for compressing and
>> decompressing data, using Facebook's Zstandard (or zstd as short name)
>> algorithm.
>> 
>> This recipe is being moved over for systemd 258.x, the 'ukify' tool
>> depends on this.
>> 
>> Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
>> ---
> 
> Hi Koen,
> 
> Thanks for your patch.
> 
> It look like this is failing on the autobuilder in various
> configurations, probably only with poky-altcfg:
> 
> ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: Fatal QA errors were found, failing task.
> ...
> ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: QA Issue: supports ptests but is not included in oe-core's ptest-packagelists.inc [missing-ptest]
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2848
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/2837
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/2894
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/74/builds/2848
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/2829
> 
> Can you have a look at this issue?

Sure, but I have no way of testing that patch :) V3 is on its way.

regards,

Koen

> 
> Thanks,
> Mathieu
> 
> -- 
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python
  2025-12-17 15:09     ` Koen Kooi
@ 2025-12-17 15:49       ` Mathieu Dubois-Briand
  2025-12-18 12:14         ` Koen Kooi
  0 siblings, 1 reply; 8+ messages in thread
From: Mathieu Dubois-Briand @ 2025-12-17 15:49 UTC (permalink / raw)
  To: Koen Kooi; +Cc: openembedded-core

On Wed Dec 17, 2025 at 4:09 PM CET, Koen Kooi wrote:
>
>
>> Op 17 dec 2025, om 15:47 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
>> 
>> On Wed Dec 17, 2025 at 10:34 AM CET, Koen Kooi via lists.openembedded.org wrote:
>>> From the upstream website:
>>> Pyzstd module provides classes and functions for compressing and
>>> decompressing data, using Facebook's Zstandard (or zstd as short name)
>>> algorithm.
>>> 
>>> This recipe is being moved over for systemd 258.x, the 'ukify' tool
>>> depends on this.
>>> 
>>> Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
>>> ---
>> 
>> Hi Koen,
>> 
>> Thanks for your patch.
>> 
>> It look like this is failing on the autobuilder in various
>> configurations, probably only with poky-altcfg:
>> 
>> ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: Fatal QA errors were found, failing task.
>> ...
>> ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: QA Issue: supports ptests but is not included in oe-core's ptest-packagelists.inc [missing-ptest]
>> 
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2848
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/2837
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/2894
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/74/builds/2848
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/2829
>> 
>> Can you have a look at this issue?
>
> Sure, but I have no way of testing that patch :) V3 is on its way.
>

This is a build-time issue, so I suspect you should be able to reproduce
it with:
DISTRO=poky-altcfg bitbake python3-pyzstd

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python
  2025-12-17 15:49       ` Mathieu Dubois-Briand
@ 2025-12-18 12:14         ` Koen Kooi
  2025-12-18 14:32           ` Richard Purdie
  0 siblings, 1 reply; 8+ messages in thread
From: Koen Kooi @ 2025-12-18 12:14 UTC (permalink / raw)
  To: Mathieu Dubois-Briand; +Cc: openembedded-core



> Op 17 dec 2025, om 16:49 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
> 
> On Wed Dec 17, 2025 at 4:09 PM CET, Koen Kooi wrote:
>> 
>> 
>>> Op 17 dec 2025, om 15:47 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
>>> 
>>> On Wed Dec 17, 2025 at 10:34 AM CET, Koen Kooi via lists.openembedded.org wrote:
>>>> From the upstream website:
>>>> Pyzstd module provides classes and functions for compressing and
>>>> decompressing data, using Facebook's Zstandard (or zstd as short name)
>>>> algorithm.
>>>> 
>>>> This recipe is being moved over for systemd 258.x, the 'ukify' tool
>>>> depends on this.
>>>> 
>>>> Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
>>>> ---
>>> 
>>> Hi Koen,
>>> 
>>> Thanks for your patch.
>>> 
>>> It look like this is failing on the autobuilder in various
>>> configurations, probably only with poky-altcfg:
>>> 
>>> ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: Fatal QA errors were found, failing task.
>>> ...
>>> ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: QA Issue: supports ptests but is not included in oe-core's ptest-packagelists.inc [missing-ptest]
>>> 
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2848
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/2837
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/2894
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/74/builds/2848
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/2829
>>> 
>>> Can you have a look at this issue?
>> 
>> Sure, but I have no way of testing that patch :) V3 is on its way.
>> 
> 
> This is a build-time issue, so I suspect you should be able to reproduce
> it with:
> DISTRO=poky-altcfg bitbake python3-pyzstd

builder@8458df25789f:/work/build$ DISTRO=poky-altcfg bitbake python3-pyzstd
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    DISTRO 'poky-altcfg' not found. Please set a valid DISTRO in your local.conf




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python
  2025-12-18 12:14         ` Koen Kooi
@ 2025-12-18 14:32           ` Richard Purdie
  0 siblings, 0 replies; 8+ messages in thread
From: Richard Purdie @ 2025-12-18 14:32 UTC (permalink / raw)
  To: koen.kooi, Mathieu Dubois-Briand; +Cc: openembedded-core

On Thu, 2025-12-18 at 13:14 +0100, Koen Kooi via lists.openembedded.org wrote:
> 
> 
> > Op 17 dec 2025, om 16:49 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
> > 
> > On Wed Dec 17, 2025 at 4:09 PM CET, Koen Kooi wrote:
> > > 
> > > 
> > > > Op 17 dec 2025, om 15:47 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
> > > > 
> > > > On Wed Dec 17, 2025 at 10:34 AM CET, Koen Kooi via lists.openembedded.org wrote:
> > > > > From the upstream website:
> > > > > Pyzstd module provides classes and functions for compressing and
> > > > > decompressing data, using Facebook's Zstandard (or zstd as short name)
> > > > > algorithm.
> > > > > 
> > > > > This recipe is being moved over for systemd 258.x, the 'ukify' tool
> > > > > depends on this.
> > > > > 
> > > > > Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
> > > > > ---
> > > > 
> > > > Hi Koen,
> > > > 
> > > > Thanks for your patch.
> > > > 
> > > > It look like this is failing on the autobuilder in various
> > > > configurations, probably only with poky-altcfg:
> > > > 
> > > > ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: Fatal QA errors were found, failing task.
> > > > ...
> > > > ERROR: python3-pyzstd-0.17.0-r0 do_package_qa: QA Issue: supports ptests but is not included in oe-core's ptest-packagelists.inc [missing-ptest]
> > > > 
> > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2848
> > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/2837
> > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/2894
> > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/74/builds/2848
> > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/2829
> > > > 
> > > > Can you have a look at this issue?
> > > 
> > > Sure, but I have no way of testing that patch :) V3 is on its way.
> > > 
> > 
> > This is a build-time issue, so I suspect you should be able to reproduce
> > it with:
> > DISTRO=poky-altcfg bitbake python3-pyzstd
> 
> builder@8458df25789f:/work/build$ DISTRO=poky-altcfg bitbake python3-pyzstd
> ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
>     Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
>     Following is the list of potential problems / advisories:
> 
>     DISTRO 'poky-altcfg' not found. Please set a valid DISTRO in your local.conf

Ok, very good. Perhaps you could test with:

DISTRO_FEATURES += "ptest"

or maybe with :append instead of += , depending on your setup, which
should reproduce the original issue.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-12-18 14:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-17  9:34 [PATCH v2 0/2] Fix and adjust ukify packaging Koen Kooi
2025-12-17  9:34 ` [PATCH v2 1/2] python3-pyzstd: import 0.17.0 from meta-python Koen Kooi
2025-12-17 14:47   ` [OE-core] " Mathieu Dubois-Briand
2025-12-17 15:09     ` Koen Kooi
2025-12-17 15:49       ` Mathieu Dubois-Briand
2025-12-18 12:14         ` Koen Kooi
2025-12-18 14:32           ` Richard Purdie
2025-12-17  9:34 ` [PATCH v2 2/2] systemd: package 'ukify' seperately Koen Kooi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox