From: Michael Tremer <git@ipfire.org>
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 3.x development tree branch, master, updated. aaa616e7d52510873d87917acb54efd1af556992
Date: Sun, 21 Oct 2018 21:58:34 +0100 [thread overview]
Message-ID: <20181021205834.C01841081BB0@git01.ipfire.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 20960 bytes --]
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".
The branch, master has been updated
via aaa616e7d52510873d87917acb54efd1af556992 (commit)
via 1b7991e266ede7463292a5fdc8d658f7bf6e47a2 (commit)
via a47a5c0a2585f676a12fc620140852f7f510dbc6 (commit)
via b1bbfcfe5473d335266dc6e503d81a9603ca32b9 (commit)
via 9d4faef8d3a3680b7e45ad47db68310811086e26 (commit)
from aa279d21426a907aaa229d13f00b43bbd75ff5f0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit aaa616e7d52510873d87917acb54efd1af556992
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Sun Oct 21 21:35:34 2018 +0200
systemd: Update to version 239
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
commit 1b7991e266ede7463292a5fdc8d658f7bf6e47a2
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Sun Oct 21 21:35:33 2018 +0200
meson: New package
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
commit a47a5c0a2585f676a12fc620140852f7f510dbc6
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Sun Oct 21 21:35:32 2018 +0200
ninja: New package
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
commit b1bbfcfe5473d335266dc6e503d81a9603ca32b9
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Sun Oct 21 21:35:31 2018 +0200
python-lxml: Update to 4.2.5
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
commit 9d4faef8d3a3680b7e45ad47db68310811086e26
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Sun Oct 21 21:35:30 2018 +0200
python-setuputils: Update to 40.4.3
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
meson/meson.nm | 52 ++++++++++
ninja/ninja.nm | 69 ++++++++++++++
python-lxml/python-lxml.nm | 7 +-
python-setuptools/python-setuptools.nm | 6 +-
...etect-whether-struct-statx-is-defined-in-.patch | 105 +++++++++++++++++++++
.../0002-meson-rename-Ddebug-to-Ddebug-extra.patch | 43 +++++++++
...Fix-line_begins-to-accept-word-matching-f.patch | 48 ++++++++++
.../patches/systemd-231-ipfire-disable-tests.patch | 58 ------------
systemd/systemd.nm | 65 +++++++------
9 files changed, 361 insertions(+), 92 deletions(-)
create mode 100644 meson/meson.nm
create mode 100644 ninja/ninja.nm
create mode 100644 systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
create mode 100644 systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch
create mode 100644 systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch
delete mode 100644 systemd/patches/systemd-231-ipfire-disable-tests.patch
Difference in files:
diff --git a/meson/meson.nm b/meson/meson.nm
new file mode 100644
index 000000000..208966a79
--- /dev/null
+++ b/meson/meson.nm
@@ -0,0 +1,52 @@
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info(a)ipfire.org> #
+###############################################################################
+
+name = meson
+version = 0.48.1
+release = 1
+arch = noarch
+
+groups = Applications/System
+url = http://mesonbuild.com/
+license = ASL 2.0
+summary = High productivity build system
+
+description
+ Meson is a build system designed to optimize programmer
+ productivity. It aims to do this by providing simple, out-of-the-box
+ support for modern software development tools and practices, such as
+ unit tests, coverage reports, Valgrind, CCache and the like.
+end
+
+source_dl = https://github.com/mesonbuild/meson/archive/%{version}/
+
+build
+ requires
+ bison
+ boost-devel
+ flex
+ gcc-c++
+ gettext
+ ninja-build >= 1.5
+ python3-devel >= 3.5
+ python3-setuptools
+ end
+
+ build
+ %{python3} setup.py build
+ end
+
+ install
+ %{python3} setup.py install -O1 --skip-build --root %{BUILDROOT}
+ end
+end
+
+packages
+ package %{name}
+ requires
+ python3-setuptools
+ end
+ end
+end
diff --git a/ninja/ninja.nm b/ninja/ninja.nm
new file mode 100644
index 000000000..e0793d8a0
--- /dev/null
+++ b/ninja/ninja.nm
@@ -0,0 +1,69 @@
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info(a)ipfire.org> #
+###############################################################################
+
+name = ninja
+version = 1.8.2
+release = 1
+
+groups = Applications/System
+url = http://martine.github.com/ninja/
+license = ASL 2.0
+summary = A small build system with a focus on speed
+
+description
+ Ninja is a small build system with a focus on speed. It differs from other
+ build systems in two major respects: it is designed to have its input files
+ generated by a higher-level build system, and it is designed to run builds as
+ fast as possible.
+end
+
+source_dl = https://github.com/martine/ninja/archive/v%{version}/
+
+build
+ requires
+ asciidoc
+ python3-devel
+ end
+
+ build
+ # Configure and bootstrap the build environment.
+ %{python3} configure.py --bootstrap --verbose
+
+ # Build ninja.
+ ./ninja -v all
+
+ # Build manual.
+ ./ninja -v manual
+ end
+
+ check
+ # Run testsuite - filter SubprocessTest
+ ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
+ end
+
+ install
+ # Install ninja.
+ install -Dpm0755 ninja -t %{BUILDROOT}%{bindir}/
+
+ # Create compatibliy symlink.
+ ln -s ninja %{BUILDROOT}%{bindir}/ninja-build
+
+ # Install bash-comletion.
+ install -Dpm0644 misc/bash-completion %{BUILDROOT}%{datadir}/bash-completion/completions/ninja
+
+ # Install ninja syntax highlighting for vim.
+ install -Dpm0644 misc/ninja.vim %{BUILDROOT}%{datadir}/vim/vimfiles/syntax/ninja.vim
+ end
+end
+
+packages
+ package %{name}
+ provides += ninja-build
+ end
+
+ package %{name}-debuginfo
+ template DEBUGINFO
+ end
+end
diff --git a/python-lxml/python-lxml.nm b/python-lxml/python-lxml.nm
index 82c07c57a..94938c027 100644
--- a/python-lxml/python-lxml.nm
+++ b/python-lxml/python-lxml.nm
@@ -4,7 +4,7 @@
###############################################################################
name = python-lxml
-version = 3.4.4
+version = 4.2.5
release = 1
thisapp = lxml-%{version}
@@ -43,11 +43,6 @@ build
# Run tests.
%{python3} test.py -p -v
-
- # Launch more tests.
- export PYTHONPATH=src
- %{python3} selftest.py
- %{python3} selftest2.py
end
install
diff --git a/python-setuptools/python-setuptools.nm b/python-setuptools/python-setuptools.nm
index 8f1823aea..ffef974cf 100644
--- a/python-setuptools/python-setuptools.nm
+++ b/python-setuptools/python-setuptools.nm
@@ -4,7 +4,7 @@
###############################################################################
name = python-setuptools
-version = 28.2.0
+version = 40.4.3
release = 1
arch = noarch
thisapp = setuptools-%{version}
@@ -21,6 +21,8 @@ description
especially ones that have dependencies on other packages.
end
+source_dl = https://github.com/pypa/setuptools/archive/v%{version}.tar.gz#/
+
build
requires
pakfire-builder >= 0.9.23-2
@@ -36,9 +38,11 @@ build
build
pushd %{DIR_APP3}
+ %{python3} bootstrap.py
CFLAGS="%{CFLAGS}" %{python3} setup.py build
popd
+ %{python} bootstrap.py
CFLAGS="%{CFLAGS}" %{python} setup.py build
end
diff --git a/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
new file mode 100644
index 000000000..5a2cf2372
--- /dev/null
+++ b/systemd/patches/0001-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
@@ -0,0 +1,105 @@
+From 75720bff62a84896e9a0654afc7cf9408cf89a38 Mon Sep 17 00:00:00 2001
+From: Filipe Brandenburger <filbranden(a)google.com>
+Date: Sun, 15 Jul 2018 22:43:35 -0700
+Subject: [PATCH] build-sys: Detect whether struct statx is defined in
+ sys/stat.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a
+definition for struct statx, in which case include file linux/stat.h should be
+avoided, in order to prevent a duplicate definition.
+
+ In file included from ../src/basic/missing.h:18,
+ from ../src/basic/util.h:28,
+ from ../src/basic/hashmap.h:10,
+ from ../src/shared/bus-util.h:12,
+ from ../src/libsystemd/sd-bus/bus-creds.c:11:
+ /usr/include/linux/stat.h:99:8: error: redefinition of ‘struct statx’
+ struct statx {
+ ^~~~~
+ In file included from /usr/include/sys/stat.h:446,
+ from ../src/basic/util.h:19,
+ from ../src/basic/hashmap.h:10,
+ from ../src/shared/bus-util.h:12,
+ from ../src/libsystemd/sd-bus/bus-creds.c:11:
+ /usr/include/bits/statx.h:36:8: note: originally defined here
+ struct statx
+ ^~~~~
+
+Extend our meson.build to look for struct statx when only sys/stat.h is
+included and, in that case, do not include linux/stat.h anymore.
+
+Tested that systemd builds correctly when using a glibc version that includes a
+definition for struct statx.
+
+glibc Fedora RPM update:
+https://src.fedoraproject.org/rpms/glibc/c/28cb5d31fc1e5887912283c889689c47076278ae
+
+glibc upstream commit:
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb3190ef6706cb299488fcd
+---
+ meson.build | 5 +++++
+ src/basic/missing.h | 5 ++++-
+ src/basic/xattr-util.c | 1 -
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index dd904c7148..68423bdfa5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -425,6 +425,7 @@ decl_headers = '''
+ #include <sys/stat.h>
+ '''
+ # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
++# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
+
+ foreach decl : ['char16_t',
+ 'char32_t',
+@@ -439,6 +440,10 @@ foreach decl : ['char16_t',
+ conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
+ endforeach
+
++conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
++#include <sys/stat.h>
++''', args : '-D_GNU_SOURCE') > 0)
++
+ foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
+ ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
+ ['IFLA_VRF_TABLE', 'linux/if_link.h'],
+diff --git a/src/basic/missing.h b/src/basic/missing.h
+index 71a07d0574..14ad3d4914 100644
+--- a/src/basic/missing.h
++++ b/src/basic/missing.h
+@@ -15,7 +15,6 @@
+ #include <linux/neighbour.h>
+ #include <linux/oom.h>
+ #include <linux/rtnetlink.h>
+-#include <linux/stat.h>
+ #include <net/ethernet.h>
+ #include <stdlib.h>
+ #include <sys/resource.h>
+@@ -25,6 +24,10 @@
+ #include <uchar.h>
+ #include <unistd.h>
+
++#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
++#include <linux/stat.h>
++#endif
++
+ #if HAVE_AUDIT
+ #include <libaudit.h>
+ #endif
+diff --git a/src/basic/xattr-util.c b/src/basic/xattr-util.c
+index c5c55ea846..0ee0979837 100644
+--- a/src/basic/xattr-util.c
++++ b/src/basic/xattr-util.c
+@@ -2,7 +2,6 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <linux/stat.h>
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch b/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch
new file mode 100644
index 000000000..81402af55
--- /dev/null
+++ b/systemd/patches/0002-meson-rename-Ddebug-to-Ddebug-extra.patch
@@ -0,0 +1,43 @@
+From 8f6b442a78d0b485f044742ad90b2e8271b4e68e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek(a)in.waw.pl>
+Date: Sun, 19 Aug 2018 19:11:30 +0200
+Subject: [PATCH] meson: rename -Ddebug to -Ddebug-extra
+
+Meson added -Doptimization and -Ddebug options, which obviously causes
+a conflict with our -Ddebug options. Let's rename it.
+
+Fixes #9883.
+---
+ meson.build | 2 +-
+ meson_options.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index f79ac4b12..2209c935a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -763,7 +763,7 @@ substs.set('DEBUGTTY', get_option('debug-tty'))
+
+ enable_debug_hashmap = false
+ enable_debug_mmap_cache = false
+-foreach name : get_option('debug')
++foreach name : get_option('debug-extra')
+ if name == 'hashmap'
+ enable_debug_hashmap = true
+ elif name == 'mmap-cache'
+diff --git a/meson_options.txt b/meson_options.txt
+index e3140c8c1..7b1f61bf4 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh',
+ description : 'path to debug shell binary')
+ option('debug-tty', type : 'string', value : '/dev/tty9',
+ description : 'specify the tty device for debug shell')
+-option('debug', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
++option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
+ description : 'enable extra debugging')
+ option('memory-accounting-default', type : 'boolean',
+ description : 'enable MemoryAccounting= by default')
+--
+2.14.4
+
diff --git a/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch b/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch
new file mode 100644
index 000000000..1b9df6dfc
--- /dev/null
+++ b/systemd/patches/0003-bus-socket-Fix-line_begins-to-accept-word-matching-f.patch
@@ -0,0 +1,48 @@
+From 3f10c66270b74530339b3f466c43874bb40c210f Mon Sep 17 00:00:00 2001
+From: Filipe Brandenburger <filbranden(a)google.com>
+Date: Tue, 17 Jul 2018 11:32:40 -0700
+Subject: [PATCH] bus-socket: Fix line_begins() to accept word matching full
+ string
+
+The switch to memory_startswith() changed the logic to only look for a space or
+NUL byte after the matched word, but matching the full size should also be
+acceptable.
+
+This changed the behavior of parsing of "AUTH\r\n", where m will be set to 4,
+since even though the word will match, the check for it being followed by ' '
+or NUL will make line_begins() return false.
+
+Tested:
+
+- Using netcat to connect to the private socket directly:
+ $ echo -ne '\0AUTH\r\n' | sudo nc -U /run/systemd/private
+ REJECTED EXTERNAL ANONYMOUS
+
+- Running the Ignition blackbox test:
+ $ sudo sh -c 'PATH=$PWD/bin/amd64:$PATH ./tests.test'
+ PASS
+
+Fixes: d27b725abf64a19a6b2f99332b663f17ad046771
+---
+ src/libsystemd/sd-bus/bus-socket.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
+index be491c957..a785a247c 100644
+--- a/src/libsystemd/sd-bus/bus-socket.c
++++ b/src/libsystemd/sd-bus/bus-socket.c
+@@ -246,10 +246,7 @@ static bool line_begins(const char *s, size_t m, const char *word) {
+ const char *p;
+
+ p = memory_startswith(s, m, word);
+- if (!p)
+- return false;
+-
+- return IN_SET(*p, 0, ' ');
++ return p && (p == (s + m) || *p == ' ');
+ }
+
+ static int verify_anonymous_token(sd_bus *b, const char *p, size_t l) {
+--
+2.14.4
+
diff --git a/systemd/patches/systemd-231-ipfire-disable-tests.patch b/systemd/patches/systemd-231-ipfire-disable-tests.patch
deleted file mode 100644
index cd4bbe928..000000000
--- a/systemd/patches/systemd-231-ipfire-disable-tests.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -Nur a/Makefile.am b/Makefile.am
---- a/Makefile.am 2016-07-25 21:49:47.000000000 +0200
-+++ b/Makefile.am 2016-09-23 08:34:47.924257243 +0200
-@@ -1480,9 +1480,7 @@
- test-job-type \
- test-env-util \
- test-strbuf \
-- test-strv \
- test-path \
-- test-path-util \
- test-strxcpyx \
- test-siphash24 \
- test-unit-name \
-@@ -1541,7 +1539,6 @@
- test-capability \
- test-async \
- test-ratelimit \
-- test-condition \
- test-uid-range \
- test-locale-util \
- test-execute \
-@@ -3586,11 +3583,9 @@
-
- tests += \
- test-dhcp-option \
-- test-dhcp-client \
- test-dhcp-server \
- test-ipv4ll \
- test-ndisc-rs \
-- test-dhcp6-client \
- test-lldp
-
- # ------------------------------------------------------------------------------
-@@ -4298,16 +4293,11 @@
- catalog-remove-hook
-
- tests += \
-- test-journal \
- test-journal-enum \
- test-journal-send \
- test-journal-syslog \
- test-journal-match \
-- test-journal-stream \
- test-journal-init \
-- test-journal-verify \
-- test-journal-interleaving \
-- test-journal-flush \
- test-mmap-cache \
- test-catalog \
- test-audit-type
-@@ -6518,7 +6508,6 @@
- test-libudev-sym.c
-
- tests += \
-- test-libsystemd-sym \
- test-libudev-sym
-
- .PHONY: cppcheck
diff --git a/systemd/systemd.nm b/systemd/systemd.nm
index a95228f15..368ecdf0e 100644
--- a/systemd/systemd.nm
+++ b/systemd/systemd.nm
@@ -4,8 +4,8 @@
###############################################################################
name = systemd
-version = 233
-release = 3
+version = 239
+release = 1
maintainer = Stefan Schantl <stefan.schantl(a)ipfire.org>
groups = System/Base
@@ -35,8 +35,6 @@ build
/usr/bin/tree
/usr/bin/umount
- autoconf
- automake
attr-devel
cryptsetup-luks-devel >= 1.4.2
dbus-devel
@@ -55,9 +53,10 @@ build
libcap-devel
libgcrypt-devel
libmount-devel
- libtool
libuuid-devel
m4
+ meson
+ ninja >= 1.5
pam-devel
pciutils-devel
python3-devel
@@ -70,30 +69,36 @@ build
export LD_LIBRARY_PATH = %{DIR_APP}/.libs
- configure_options += \
- PYTHON=%{python3} \
- --with-sysvinit-path= \
- --with-sysvrcnd-path= \
- --enable-zlib \
- --disable-smack \
- --disable-backlight \
- --disable-firstboot \
- --disable-hibernate \
- --disable-importd \
- --disable-libiptc \
- --disable-machined \
- --disable-networkd \
- --disable-resolved \
- --disable-sysusers \
- --disable-timesyncd \
- --disable-timedated \
- --disable-polkit \
- --disable-static
+ configure_options = \
+ -Dsysvinit-path= \
+ -Dsysvrcnd-path= \
+ -Dzlib=true \
+ -Dsmack=false \
+ -Dbacklight=false \
+ -Dfirstboot=false \
+ -Dhibernate=false \
+ -Dimportd=false \
+ -Dlibiptc=false \
+ -Dmachined=false \
+ -Dnetworkd=false \
+ -Dresolve=false \
+ -Dportabled=false \
+ -Dsysusers=false \
+ -Dtimesyncd=false \
+ -Dtimedated=false \
+ -Dpolkit=false \
+ -Dstatic=false
prepare_cmds
%{create_groups}
+ end
+
+ build
+ # Call meson and pass configure options.
+ meson --buildtype=plain %{configure_options} . build
- ./autogen.sh
+ # Call ninja to start build
+ ninja -v %{PARALLELISMFLAGS} -C build
end
test
@@ -104,10 +109,16 @@ build
systemd-machine-id-setup
# Run the testsuite.
- make check || true
+ ninja test -v %{PARALLELISMFLAGS} -C build || true
end
- install_cmds
+ install
+ # Export destdir.
+ export DESTDIR=%{BUILDROOT}
+
+ # Call ninja to perform installation
+ ninja install -v %{PARALLELISMFLAGS} -C build
+
# Create folder in log to store the journal.
mkdir -pv %{BUILDROOT}/var/log/journal
hooks/post-receive
--
IPFire 3.x development tree
reply other threads:[~2018-10-21 20:58 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20181021205834.C01841081BB0@git01.ipfire.org \
--to=git@ipfire.org \
--cc=ipfire-scm@lists.ipfire.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