From: ahesford <ahesford@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: [PR PATCH] libvirt, libvirt-python3: update to 7.10.0, add modular services
Date: Wed, 01 Dec 2021 17:21:58 +0100 [thread overview]
Message-ID: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-34334@inbox.vuxu.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 938 bytes --]
There is a new pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages libvirt
https://github.com/void-linux/void-packages/pull/34334
libvirt, libvirt-python3: update to 7.10.0, add modular services
For awhile, libvirt has moved away from the monolithic libvirtd in favor of modular `virt${DRIVER}d` daemons that each manage a specific function. This is the default behavior for per-user "session" instances that launch on demand. We still provide a legacy libvirtd service, but let's add services for the modular daemons favored by upstream.
To avoid maintaining a bunch of separate service scripts that all do the same thing, I've used the "generic" trick like the `agetty*` services in `runit-void`.
#### Testing the changes
- I tested the changes in this PR: **semi-briefly**
A patch file from https://github.com/void-linux/void-packages/pull/34334.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-libvirt-34334.patch --]
[-- Type: text/x-diff, Size: 16543 bytes --]
From d41a02d9c2cd2f424c7d4fe6ab373189d67f37d0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 1 Dec 2021 11:03:57 -0500
Subject: [PATCH 1/2] libvirt: update to 7.10.0, add modular services
For awhile, libvirt has moved away from the monolithic libvirtd in favor
of modular virt${DRIVER}d daemons that each manage a specific function.
This is the default behavior for per-user "session" instances that
launch on demand. We still provide a legacy libvirtd service, but let's
add services for the modular daemons favored by upstream.
---
srcpkgs/libvirt/files/libvirt-generic/log/run | 7 ++++++
srcpkgs/libvirt/files/libvirt-generic/run | 10 +++++++++
srcpkgs/libvirt/files/libvirtd/log/run | 3 +--
srcpkgs/libvirt/files/libvirtd/run | 5 +----
srcpkgs/libvirt/files/virtinterfaced/log/run | 1 +
srcpkgs/libvirt/files/virtinterfaced/run | 1 +
srcpkgs/libvirt/files/virtlockd/log/run | 1 +
srcpkgs/libvirt/files/virtlockd/run | 3 +--
srcpkgs/libvirt/files/virtlogd/log/run | 1 +
srcpkgs/libvirt/files/virtlogd/run | 4 +---
srcpkgs/libvirt/files/virtlxcd/log/run | 1 +
srcpkgs/libvirt/files/virtlxcd/run | 1 +
srcpkgs/libvirt/files/virtnetworkd/log/run | 1 +
srcpkgs/libvirt/files/virtnetworkd/run | 1 +
srcpkgs/libvirt/files/virtnodedevd/log/run | 1 +
srcpkgs/libvirt/files/virtnodedevd/run | 1 +
srcpkgs/libvirt/files/virtnwfilterd/log/run | 1 +
srcpkgs/libvirt/files/virtnwfilterd/run | 1 +
srcpkgs/libvirt/files/virtproxyd/log/run | 1 +
srcpkgs/libvirt/files/virtproxyd/run | 1 +
srcpkgs/libvirt/files/virtqemud/log/run | 1 +
srcpkgs/libvirt/files/virtqemud/run | 1 +
srcpkgs/libvirt/files/virtsecretd/log/run | 1 +
srcpkgs/libvirt/files/virtsecretd/run | 1 +
srcpkgs/libvirt/files/virtstoraged/log/run | 1 +
srcpkgs/libvirt/files/virtstoraged/run | 1 +
srcpkgs/libvirt/files/virtvboxd/log/run | 1 +
srcpkgs/libvirt/files/virtvboxd/run | 1 +
srcpkgs/libvirt/files/virtxend/log/run | 1 +
srcpkgs/libvirt/files/virtxend/run | 1 +
srcpkgs/libvirt/template | 22 +++++++++++--------
31 files changed, 58 insertions(+), 20 deletions(-)
create mode 100644 srcpkgs/libvirt/files/libvirt-generic/log/run
create mode 100644 srcpkgs/libvirt/files/libvirt-generic/run
mode change 100755 => 120000 srcpkgs/libvirt/files/libvirtd/log/run
mode change 100644 => 120000 srcpkgs/libvirt/files/libvirtd/run
create mode 120000 srcpkgs/libvirt/files/virtinterfaced/log/run
create mode 120000 srcpkgs/libvirt/files/virtinterfaced/run
create mode 120000 srcpkgs/libvirt/files/virtlockd/log/run
mode change 100644 => 120000 srcpkgs/libvirt/files/virtlockd/run
create mode 120000 srcpkgs/libvirt/files/virtlogd/log/run
mode change 100644 => 120000 srcpkgs/libvirt/files/virtlogd/run
create mode 120000 srcpkgs/libvirt/files/virtlxcd/log/run
create mode 120000 srcpkgs/libvirt/files/virtlxcd/run
create mode 120000 srcpkgs/libvirt/files/virtnetworkd/log/run
create mode 120000 srcpkgs/libvirt/files/virtnetworkd/run
create mode 120000 srcpkgs/libvirt/files/virtnodedevd/log/run
create mode 120000 srcpkgs/libvirt/files/virtnodedevd/run
create mode 120000 srcpkgs/libvirt/files/virtnwfilterd/log/run
create mode 120000 srcpkgs/libvirt/files/virtnwfilterd/run
create mode 120000 srcpkgs/libvirt/files/virtproxyd/log/run
create mode 120000 srcpkgs/libvirt/files/virtproxyd/run
create mode 120000 srcpkgs/libvirt/files/virtqemud/log/run
create mode 120000 srcpkgs/libvirt/files/virtqemud/run
create mode 120000 srcpkgs/libvirt/files/virtsecretd/log/run
create mode 120000 srcpkgs/libvirt/files/virtsecretd/run
create mode 120000 srcpkgs/libvirt/files/virtstoraged/log/run
create mode 120000 srcpkgs/libvirt/files/virtstoraged/run
create mode 120000 srcpkgs/libvirt/files/virtvboxd/log/run
create mode 120000 srcpkgs/libvirt/files/virtvboxd/run
create mode 120000 srcpkgs/libvirt/files/virtxend/log/run
create mode 120000 srcpkgs/libvirt/files/virtxend/run
diff --git a/srcpkgs/libvirt/files/libvirt-generic/log/run b/srcpkgs/libvirt/files/libvirt-generic/log/run
new file mode 100644
index 000000000000..fe803f0a723c
--- /dev/null
+++ b/srcpkgs/libvirt/files/libvirt-generic/log/run
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Take daemon name from parent of the log subservice
+daemon="${PWD%/*}"
+daemon="${daemon##*/}"
+
+exec logger -t "$daemon" -p daemon.info
diff --git a/srcpkgs/libvirt/files/libvirt-generic/run b/srcpkgs/libvirt/files/libvirt-generic/run
new file mode 100644
index 000000000000..93b8a31ae81e
--- /dev/null
+++ b/srcpkgs/libvirt/files/libvirt-generic/run
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+sv check dbus >/dev/null || exit 1
+
+# Take daemon name from service name
+daemon="${PWD##*/}"
+
+[ -f ./conf ] && . ./conf
+
+exec "$daemon" $OPTS 2>&1
diff --git a/srcpkgs/libvirt/files/libvirtd/log/run b/srcpkgs/libvirt/files/libvirtd/log/run
deleted file mode 100755
index a4cd886e5de2..000000000000
--- a/srcpkgs/libvirt/files/libvirtd/log/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec logger -t libvirtd -p daemon.info
diff --git a/srcpkgs/libvirt/files/libvirtd/log/run b/srcpkgs/libvirt/files/libvirtd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/libvirtd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/libvirtd/run b/srcpkgs/libvirt/files/libvirtd/run
deleted file mode 100644
index a224135e5bad..000000000000
--- a/srcpkgs/libvirt/files/libvirtd/run
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-sv check dbus >/dev/null || exit 1
-[ -f ./conf ] && . ./conf
-exec libvirtd $OPTS 2>&1
diff --git a/srcpkgs/libvirt/files/libvirtd/run b/srcpkgs/libvirt/files/libvirtd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/libvirtd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtinterfaced/log/run b/srcpkgs/libvirt/files/virtinterfaced/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtinterfaced/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtinterfaced/run b/srcpkgs/libvirt/files/virtinterfaced/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtinterfaced/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtlockd/log/run b/srcpkgs/libvirt/files/virtlockd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtlockd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtlockd/run b/srcpkgs/libvirt/files/virtlockd/run
deleted file mode 100644
index ae1163c12720..000000000000
--- a/srcpkgs/libvirt/files/virtlockd/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec virtlockd 2>&1
diff --git a/srcpkgs/libvirt/files/virtlockd/run b/srcpkgs/libvirt/files/virtlockd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtlockd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtlogd/log/run b/srcpkgs/libvirt/files/virtlogd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtlogd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtlogd/run b/srcpkgs/libvirt/files/virtlogd/run
deleted file mode 100644
index e27f13f0aef1..000000000000
--- a/srcpkgs/libvirt/files/virtlogd/run
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-sv check dbus >/dev/null || exit 1
-exec virtlogd 2>&1
diff --git a/srcpkgs/libvirt/files/virtlogd/run b/srcpkgs/libvirt/files/virtlogd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtlogd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtlxcd/log/run b/srcpkgs/libvirt/files/virtlxcd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtlxcd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtlxcd/run b/srcpkgs/libvirt/files/virtlxcd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtlxcd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtnetworkd/log/run b/srcpkgs/libvirt/files/virtnetworkd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtnetworkd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtnetworkd/run b/srcpkgs/libvirt/files/virtnetworkd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtnetworkd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtnodedevd/log/run b/srcpkgs/libvirt/files/virtnodedevd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtnodedevd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtnodedevd/run b/srcpkgs/libvirt/files/virtnodedevd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtnodedevd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtnwfilterd/log/run b/srcpkgs/libvirt/files/virtnwfilterd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtnwfilterd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtnwfilterd/run b/srcpkgs/libvirt/files/virtnwfilterd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtnwfilterd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtproxyd/log/run b/srcpkgs/libvirt/files/virtproxyd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtproxyd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtproxyd/run b/srcpkgs/libvirt/files/virtproxyd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtproxyd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtqemud/log/run b/srcpkgs/libvirt/files/virtqemud/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtqemud/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtqemud/run b/srcpkgs/libvirt/files/virtqemud/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtqemud/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtsecretd/log/run b/srcpkgs/libvirt/files/virtsecretd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtsecretd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtsecretd/run b/srcpkgs/libvirt/files/virtsecretd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtsecretd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtstoraged/log/run b/srcpkgs/libvirt/files/virtstoraged/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtstoraged/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtstoraged/run b/srcpkgs/libvirt/files/virtstoraged/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtstoraged/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtvboxd/log/run b/srcpkgs/libvirt/files/virtvboxd/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtvboxd/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtvboxd/run b/srcpkgs/libvirt/files/virtvboxd/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtvboxd/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtxend/log/run b/srcpkgs/libvirt/files/virtxend/log/run
new file mode 120000
index 000000000000..5c7df1c93a45
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtxend/log/run
@@ -0,0 +1 @@
+../../libvirt-generic/log/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/files/virtxend/run b/srcpkgs/libvirt/files/virtxend/run
new file mode 120000
index 000000000000..0a412ef6f00f
--- /dev/null
+++ b/srcpkgs/libvirt/files/virtxend/run
@@ -0,0 +1 @@
+../libvirt-generic/run
\ No newline at end of file
diff --git a/srcpkgs/libvirt/template b/srcpkgs/libvirt/template
index 0ff0509b90f4..7ef4c42b3db2 100644
--- a/srcpkgs/libvirt/template
+++ b/srcpkgs/libvirt/template
@@ -1,6 +1,6 @@
# Template file for 'libvirt'
pkgname=libvirt
-version=7.9.0
+version=7.10.0
revision=1
build_style=meson
configure_args="-Dqemu_user=libvirt -Dqemu_group=libvirt -Drunstatedir=/run
@@ -20,7 +20,7 @@ license="LGPL-2.1-or-later"
homepage="https://libvirt.org"
changelog="https://libvirt.org/news.html"
distfiles="https://libvirt.org/sources/${pkgname}-${version}.tar.xz"
-checksum=829cf2b5f574279c40f0446e1168815d3f36b89710560263ca2ce70256f72e8c
+checksum=cb318014af097327928c6e3d72922e3be02a3e6401247b2aa52d9ab8e0b480f9
# FIX https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701649
system_accounts="libvirt"
@@ -86,18 +86,22 @@ pre_build() {
}
post_install() {
- # runit services
- vsv libvirtd
- vsv virtlockd
- vsv virtlogd
+ local _services _srv
+
+ # runit services; libvirtd is for legacy use
+ _services="libvirt-generic libvirtd virtqemud virtvboxd virtxend
+ virtlxcd virtlockd virtlogd virtproxyd virtinterfaced virtnetworkd
+ virtnodedevd virtnwfilterd virtsecretd virtstoraged"
+ for _srv in $_services; do
+ vsv $_srv
+ done
- rm -rf ${DESTDIR}/etc/sysconfig
# Remove unused stuff.
+ rm -rf ${DESTDIR}/etc/sysconfig
rm -rf ${DESTDIR}/var/log
# workaround for musl not providing an utmpx implementation
- if [ "$XBPS_TARGET_LIBC" = "musl" ];
- then
+ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
echo "remember_owner = 0" >> ${DESTDIR}/etc/libvirt/qemu.conf
fi
}
From d311383e6f90d95b2d9a64661386339126b8bb4e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 1 Dec 2021 11:18:30 -0500
Subject: [PATCH 2/2] libvirt-python3: update to 7.10.0.
---
srcpkgs/libvirt-python3/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/libvirt-python3/template b/srcpkgs/libvirt-python3/template
index 672cca09e742..faa9345aaef4 100644
--- a/srcpkgs/libvirt-python3/template
+++ b/srcpkgs/libvirt-python3/template
@@ -1,6 +1,6 @@
# Template file for 'libvirt-python3'
pkgname=libvirt-python3
-version=7.9.0
+version=7.10.0
revision=1
wrksrc="libvirt-python-${version}"
build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="LGPL-2.1-or-later"
homepage="https://pypi.org/project/libvirt-python/"
distfiles="https://libvirt.org/sources/python/libvirt-python-${version}.tar.gz"
-checksum=8535cffa5fbf05185648f9f57a2f71899c3bc12c897d320351c53725a48e5359
+checksum=267774bbdf99d47515274542880499437dc94ae291771f5663c62020a62da975
do_check() {
PYTHONPATH="$(cd build/lib.* && pwd)" pytest
next reply other threads:[~2021-12-01 16:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-01 16:21 ahesford [this message]
2021-12-01 17:03 ` [PR PATCH] [Updated] " ahesford
2021-12-05 15:03 ` [PR PATCH] [Merged]: " ahesford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-34334@inbox.vuxu.org \
--to=ahesford@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).