Github messages for voidlinux
 help / color / mirror / Atom feed
From: CameronNemo <CameronNemo@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated]  xbps-triggers: binfmt: use --import
Date: Mon, 02 Nov 2020 18:49:17 +0100	[thread overview]
Message-ID: <20201102174917.860jdf4--Rkm070MABNd_pJCBb3Wm6izPt5fOZS4j84@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-10395@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 503 bytes --]

There is an updated pull request by CameronNemo against master on the void-packages repository

https://github.com/CameronNemo/void-packages binfmt_files
https://github.com/void-linux/void-packages/pull/10395

 xbps-triggers: binfmt: use --import
Allow packages to specify format files to be imported by
the binfmt-support package, rather than specifying the
binfmt values in the package templates themselves.

A patch file from https://github.com/void-linux/void-packages/pull/10395.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-binfmt_files-10395.patch --]
[-- Type: text/x-diff, Size: 14307 bytes --]

From 17034d64bda85c0e94dd008732acf9e00f383793 Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Fri, 19 Apr 2019 20:33:08 -0700
Subject: [PATCH 1/3] xbps-triggers: binfmt: use --import

Allow packages to specify format files to be imported by
the binfmt-support package, rather than specifying the
binfmt values in the package templates themselves.
---
 Manual.md                                      |  9 +++++++--
 common/environment/setup-subpkg/subpkg.sh      |  1 +
 .../04-create-xbps-metadata-scripts.sh         |  4 ++++
 srcpkgs/xbps-triggers/files/binfmts            | 18 +++++++++++++++---
 srcpkgs/xbps-triggers/template                 |  2 +-
 5 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/Manual.md b/Manual.md
index 5b1266ba715..30bec4b1925 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1666,8 +1666,13 @@ executable binary formats, know as binfmts.
 During installation/removal it uses `update-binfmts` from the `binfmt-support` package
 to register/remove entries from the arbitrary executable binary formats database.
 
-To include the trigger use the `binfmts` variable, as the trigger won't do anything unless
-it is defined.
+Include the trigger by specifying the `binfmt_files` variable. This variable
+contains a space separated list of format file, relative to
+`/usr/share/binfmts`. Each format file is passed to `update-binfmts --import`.
+
+The `binfmts` variable is deprecated, but still supported. The variable contains
+a newline separated list of arguments that are passed to
+`update-binfmts --package <pkgname> --install`.
 
 <a id="triggers_dkms"></a>
 #### dkms
diff --git a/common/environment/setup-subpkg/subpkg.sh b/common/environment/setup-subpkg/subpkg.sh
index 0243d240048..0011d7558fb 100644
--- a/common/environment/setup-subpkg/subpkg.sh
+++ b/common/environment/setup-subpkg/subpkg.sh
@@ -40,6 +40,7 @@ unset -v make_dirs
 
 # xbps-triggers: binfmts
 unset -v binfmts
+unset -v binfmt_files
 
 # xbps-triggers: register-shell
 unset -v register_shell
diff --git a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh
index 1300c783b7d..d0cd0d620e5 100644
--- a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh
+++ b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh
@@ -123,6 +123,10 @@ _EOF
 		_add_trigger binfmts
 		echo "export binfmts=\"${binfmts}\"" >> $tmpf
 	fi
+	if [ -n "${binfmt_files}" ]; then
+		_add_trigger binfmts
+		echo "export binfmt_files=\"${binfmt_files}\"" >> $tmpf
+	fi
 	#
 	# Handle GNU Info files.
 	#
diff --git a/srcpkgs/xbps-triggers/files/binfmts b/srcpkgs/xbps-triggers/files/binfmts
index 16919833a80..b9688097f4f 100755
--- a/srcpkgs/xbps-triggers/files/binfmts
+++ b/srcpkgs/xbps-triggers/files/binfmts
@@ -25,19 +25,26 @@ targets)
 	;;
 run)
 	[ -x /usr/bin/update-binfmts ] || exit 0
-	[ -z "${binfmts}" ] && exit 0
+	[ "${binfmts}" ] || [ "${binfmt_files}" ] || exit 0
 
 	case "$TARGET" in
 	post-install)
-		echo "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do
+		printf 'Installing binfmts...\n'
+		printf '%s\n' "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do
 			line=$(echo $line | tr '&' '\' 2> /dev/null)
 			set -- ${line}
 			_bin="$1"; shift; _args="$@"; _bname="$(basename ${_bin})"
 			update-binfmts --package ${PKGNAME} --install ${_bname} ${_bin} ${_args}
 		done
+		for binfmt in ${binfmt_files}; do
+			test -e "$(pwd)/usr/share/binfmts/${binfmt}" || continue
+			update-binfmts --importdir "$(pwd)/usr/share/binfmts" \
+				--import "${binfmt}"
+		done
 		;;
 	pre-remove)
-		echo "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do
+		printf 'Removing binfmts...\n'
+		printf '%s\n' "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do
 			line=$(echo $line | tr '&' '\' 2> /dev/null)
 			set -- ${line}
 			_bin="$1"; shift; _args="$@"; _bname="$(basename ${_bin})"
@@ -45,6 +52,11 @@ run)
 				update-binfmts --package ${PKGNAME} --remove ${_bname} ${_bin}
 			fi
 		done
+		for binfmt in ${binfmt_files}; do
+			test -e "$(pwd)/usr/share/binfmts/${binfmt}" || continue
+			update-binfmts --importdir "$(pwd)/usr/share/binfmts" \
+				--unimport "${binfmt}"
+		done
 		;;
 	*)
 		exit 1
diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template
index 4131b479bef..75010d6bee7 100644
--- a/srcpkgs/xbps-triggers/template
+++ b/srcpkgs/xbps-triggers/template
@@ -1,6 +1,6 @@
 # Template file for 'xbps-triggers'
 pkgname=xbps-triggers
-version=0.117
+version=0.118
 revision=1
 bootstrap=yes
 short_desc="XBPS triggers for Void Linux"

From 00060114571530bbcbbbea472758bab33042e490 Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Fri, 19 Apr 2019 20:35:19 -0700
Subject: [PATCH 2/3] qemu-user-static: use binfmt_files

---
 srcpkgs/qemu-user-static/template             | 91 +++++--------------
 .../qemu/patches/musl-initialize-msghdr.patch | 15 +++
 2 files changed, 37 insertions(+), 69 deletions(-)
 create mode 100644 srcpkgs/qemu/patches/musl-initialize-msghdr.patch

diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
index 236da6cc290..a591378871b 100644
--- a/srcpkgs/qemu-user-static/template
+++ b/srcpkgs/qemu-user-static/template
@@ -1,7 +1,7 @@
 # Template file for 'qemu-user-static'
 pkgname=qemu-user-static
 version=5.1.0
-revision=1
+revision=2
 wrksrc="qemu-${version}"
 hostmakedepends="pkg-config automake python3"
 makedepends="dtc-devel libglib-static pixman-devel libuuid-devel"
@@ -12,73 +12,15 @@ homepage="https://www.qemu.org"
 distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
 checksum=8314b6e5fcc7bf9fa3915d504de6586a69cba30ffa27cbe9ba85d2cb9987fb3a
 
-_fmts="aarch64 alpha arm armeb cris i386 m68k microblaze mips mipsel mips64 mips64el ppc ppc64 ppc64abi32 ppc64le s390x sh4 sh4eb sparc sparc32plus sparc64 x86_64"
-
-_aarch64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7'
-_aarch64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_alpha_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90'
-_alpha_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_arm_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00'
-_arm_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_armeb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28'
-_armeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_cris_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x4c\x00'
-_cris_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_i386_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00'
-_i386_mask='\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_m68k_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04'
-_m68k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_microblaze_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xba\xab'
-_microblaze_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_mips_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'
-_mips_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_mipsel_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'
-_mipsel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_mips64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'
-_mips64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_mips64el_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'
-_mips64el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_ppc_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14'
-_ppc_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_ppc64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15'
-_ppc64_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_ppc64abi32_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15'
-_ppc64abi32_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_s390x_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16'
-_s390x_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_sh4_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00'
-_sh4_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_sh4eb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a'
-_sh4eb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_sparc_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02'
-_sparc_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_sparc32plus_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12'
-_sparc32plus_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_sparc64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b'
-_sparc64_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
-_x86_64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00'
-_x86_64_mask='\xff\xff\xff\xff\xff\xfe\xfe\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
-_ppc64le_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00'
-_ppc64le_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00'
-
-case "$XBPS_TARGET_MACHINE" in
-	x86_64*|i386*) _omit="i386|x86_64" ;;
-	aarch64*) _omit="aarch64" ;;
-	armv*) _omit="arm" ;;
-	mips*) _omit="${XBPS_TARGET_MACHINE%-*}" ;;
-	*) _omit="${XBPS_TARGET_MACHINE%-*}" ;;
-esac
-
-for _fmt in $_fmts; do
-	eval "case $_fmt in $_omit) magic= ;; *) magic=\"\$_${_fmt}_magic\" mask=\"\$_${_fmt}_mask\" ;; esac"
-	if [ "$magic" ]; then
-		binfmts+="/usr/bin/qemu-$_fmt-static --magic $magic --mask $mask --offset 0 --credential yes
-"
-	fi
+# Copied from ${wrksrc}/scripts/qemu-binfmt-conf.sh
+_binfmt_archs="i386 i486 alpha arm armeb sparc32plus ppc ppc64 ppc64le m68k
+ mips mipsel mipsn32 mipsn32el mips64 mips64el sh4 sh4eb s390x aarch64
+ aarch64_be hppa riscv32 riscv64 xtensa xtensaeb microblaze microblazeel or1k
+ x86_64"
+for a in ${_binfmt_archs}; do
+	binfmt_files="${binfmt_files:-}${binfmt_files:+ }qemu-${a}"
 done
 
-binfmts="${binfmts%?}"
-
 post_extract() {
 	sed -i 's/__u64/unsigned long/' linux-user/host/aarch64/hostdep.h
 }
@@ -97,12 +39,23 @@ do_build() {
 
 do_install() {
 	make DESTDIR=${DESTDIR} install
+	# Install binfmt configurations
+	vmkdir usr/share/binfmts
+	HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" ./scripts/qemu-binfmt-conf.sh \
+		--debian --qemu-path /usr/bin --qemu-suffix -static \
+		--exportdir "${DESTDIR}/usr/share/binfmts"
 	# Remove unneeded stuff.
-	rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
+	rm -rf -- "${DESTDIR}/etc" "${DESTDIR}/usr/libexec"
+	for d in doc locale man qemu; do
+		rm -rf -- "${DESTDIR}/usr/share/${d}"
+	done
 	for f in nbd io img; do
-		rm -f ${DESTDIR}/usr/bin/qemu-${f}
+		rm -f -- "${DESTDIR}/usr/bin/qemu-${f}"
 	done
+}
+
+post_install() {
 	for f in ${DESTDIR}/usr/bin/*; do
-		mv ${f} ${f}-static
+		mv "${f}" "${f}-static"
 	done
 }
diff --git a/srcpkgs/qemu/patches/musl-initialize-msghdr.patch b/srcpkgs/qemu/patches/musl-initialize-msghdr.patch
new file mode 100644
index 00000000000..c195f0c0b1f
--- /dev/null
+++ b/srcpkgs/qemu/patches/musl-initialize-msghdr.patch
@@ -0,0 +1,15 @@
+Source: https://github.com/void-linux/void-packages/issues/23557
+
+diff --git linux-user/syscall.c linux-user/syscall.c
+index 945fc25..8d8b68a 100644
+--- linux-user/syscall.c
++++ linux-user/syscall.c
+@@ -3071,7 +3071,7 @@ static abi_long do_sendrecvmsg_locked(int fd, struct target_msghdr *msgp,
+                                       int flags, int send)
+ {
+     abi_long ret, len;
+-    struct msghdr msg;
++    struct msghdr msg = {0};
+     abi_ulong count;
+     struct iovec *vec;
+     abi_ulong target_vec;

From a7b7b6089cb540f40ba60379d2d3a1d071b07d9c Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Sun, 19 Apr 2020 00:25:06 -0700
Subject: [PATCH 3/3] wine: use binfmt_files

---
 srcpkgs/wine/files/binfmts/wine | 3 +++
 srcpkgs/wine/template           | 5 +++--
 2 files changed, 6 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/wine/files/binfmts/wine

diff --git a/srcpkgs/wine/files/binfmts/wine b/srcpkgs/wine/files/binfmts/wine
new file mode 100644
index 00000000000..cb52a076334
--- /dev/null
+++ b/srcpkgs/wine/files/binfmts/wine
@@ -0,0 +1,3 @@
+package wine
+interpreter /usr/bin/wine
+magic MZ
diff --git a/srcpkgs/wine/template b/srcpkgs/wine/template
index 0b5ebe5a3e4..328657d549b 100644
--- a/srcpkgs/wine/template
+++ b/srcpkgs/wine/template
@@ -1,7 +1,7 @@
 # Template file for 'wine'
 pkgname=wine
 version=5.20
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--bindir=/usr/libexec/wine"
 short_desc="Run Microsoft Windows applications"
@@ -89,7 +89,7 @@ wine-devel_package() {
 
 wine-common_package() {
 	short_desc+=" - common files"
-	binfmts="/usr/bin/wine --magic MZ"
+	binfmt_files="wine"
 	pkg_install() {
 		vmove usr/share
 		vmove etc/fonts
@@ -97,6 +97,7 @@ wine-common_package() {
 		do
 			vmove usr/bin/${file}
 		done
+		vinstall "${FILESDIR}/binfmts/wine" 0644 usr/share/binfmts
 	}
 }
 

  parent reply	other threads:[~2020-11-02 17:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-10395@inbox.vuxu.org>
2020-03-08  0:09 ` CameronNemo
2020-04-19  7:26 ` [PR PATCH] [Updated] " CameronNemo
2020-07-10  0:17 ` fosslinux
2020-07-22 13:08 ` [PR REVIEW] " sgn
2020-09-21  0:12 ` [PR PATCH] [Updated] " CameronNemo
2020-09-21  0:13 ` [PR REVIEW] " CameronNemo
2020-09-21  1:06 ` CameronNemo
2020-09-21  1:07 ` CameronNemo
2020-11-01  1:40 ` ericonr
2020-11-01 19:11 ` [PR PATCH] [Updated] " CameronNemo
2020-11-01 19:11 ` CameronNemo
2020-11-02  4:08 ` ericonr
2020-11-02 17:49 ` CameronNemo [this message]
2021-01-13 18:22 ` [PR REVIEW] " ericonr
2021-02-11 21:39 ` ericonr
2021-04-27 22:44 ` [PR PATCH] [Updated] " CameronNemo
2021-04-27 22:44 ` [PR REVIEW] " CameronNemo
2021-04-27 23:08 ` CameronNemo
2021-04-27 23:13 ` ericonr
2021-05-10 17:21 ` [PR PATCH] [Updated] " CameronNemo
2021-05-10 17:21 ` [PR REVIEW] " CameronNemo
2022-04-15  0:51 ` github-actions
2022-04-29  2:13 ` [PR PATCH] [Closed]: " github-actions
2022-09-30  3:12 ` CameronNemo

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=20201102174917.860jdf4--Rkm070MABNd_pJCBb3Wm6izPt5fOZS4j84@z \
    --to=cameronnemo@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).