All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Korsgaard <peter@korsgaard.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 02/16] package/python-pyqt: remove package
Date: Wed,  6 Feb 2019 15:10:44 +0100	[thread overview]
Message-ID: <20190206141058.24155-2-peter@korsgaard.com> (raw)
In-Reply-To: <20190206141058.24155-1-peter@korsgaard.com>

The python-pyqt package uses the obsolete qt4 package, which we are about to
remove, so remove python-pyqt as well.

CC: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 Config.in.legacy                                   |   7 ++
 DEVELOPERS                                         |   1 -
 package/Config.in                                  |   1 -
 .../python-pyqt/0001-configure-skip-qtdetail.patch |  29 ------
 package/python-pyqt/0002-configure-set-qws.patch   |  43 --------
 package/python-pyqt/0003-sip-add_qws.patch         |  44 --------
 ...004-sip-QtGuit-hide-qfont-cachestatistics.patch |  18 ----
 package/python-pyqt/0005-sip-fix_qws_handle.patch  |  24 -----
 package/python-pyqt/Config.in                      |  21 ----
 package/python-pyqt/python-pyqt.hash               |   5 -
 package/python-pyqt/python-pyqt.mk                 | 113 ---------------------
 11 files changed, 7 insertions(+), 299 deletions(-)
 delete mode 100644 package/python-pyqt/0001-configure-skip-qtdetail.patch
 delete mode 100644 package/python-pyqt/0002-configure-set-qws.patch
 delete mode 100644 package/python-pyqt/0003-sip-add_qws.patch
 delete mode 100644 package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch
 delete mode 100644 package/python-pyqt/0005-sip-fix_qws_handle.patch
 delete mode 100644 package/python-pyqt/Config.in
 delete mode 100644 package/python-pyqt/python-pyqt.hash
 delete mode 100644 package/python-pyqt/python-pyqt.mk

diff --git a/Config.in.legacy b/Config.in.legacy
index c84a9239a7..5a330cada9 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@ endif
 
 comment "Legacy options removed in 2019.02"
 
+config BR2_PACKAGE_PYTHON_PYQT
+	bool "python-pyqt package removed"
+	select BR2_LEGACY
+	help
+	  The python-pyqt package was removed. Consider python-pyqt5
+	  instead.
+
 config BR2_PACKAGE_GNURADIO_QTGUI
 	bool "gnuradio gr-qtgui option removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 1f3cc6a888..7ba6377db6 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -940,7 +940,6 @@ F:	package/gr-osmosdr/
 F:	package/libusbgx/
 F:	package/python-cheetah/
 F:	package/python-markdown/
-F:	package/python-pyqt/
 F:	package/python-remi/
 F:	package/python-sip/
 
diff --git a/package/Config.in b/package/Config.in
index ebba7b4df2..9907221b68 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -989,7 +989,6 @@ menu "External python modules"
 	source "package/python-pyparted/Config.in"
 	source "package/python-pypcap/Config.in"
 	source "package/python-pyqrcode/Config.in"
-	source "package/python-pyqt/Config.in"
 	source "package/python-pyqt5/Config.in"
 	source "package/python-pyratemp/Config.in"
 	source "package/python-pyro/Config.in"
diff --git a/package/python-pyqt/0001-configure-skip-qtdetail.patch b/package/python-pyqt/0001-configure-skip-qtdetail.patch
deleted file mode 100644
index 08e99d026c..0000000000
--- a/package/python-pyqt/0001-configure-skip-qtdetail.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Do not run qtdetail
-
-qtdetail is a tool that generates qtdetail.out. Since this program is
-cross-compiled, it's not possible to run it on the host.
-
-Consequently, python-pyqt.mk generates the qtdetail.out file before
-calling configure-ng.py.
-
-Therefore, this patch makes sure that the pre-generated qtdetail.out
-file is kept, and that qtdetail is not executed.
-
-Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
-Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
----
-Index: PyQt-x11-gpl-4.11.3/configure-ng.py
-===================================================================
---- PyQt-x11-gpl-4.11.3.orig/configure-ng.py
-+++ PyQt-x11-gpl-4.11.3/configure-ng.py
-@@ -672,10 +672,6 @@ int main(int argc, char **argv)
-         if cmd is None:
-             error("Failed to determine the detail of your Qt installation. Try again using the --verbose flag to see more detail about the problem.")
- 
--        # Create the output file, first making sure it doesn't exist.
--        remove_file(out_file)
--        run_command(cmd, verbose)
--
-         if not os.access(out_file, os.F_OK):
-             error("%s failed to create %s. Make sure your Qt installation is correct." % (cmd, out_file))
- 
diff --git a/package/python-pyqt/0002-configure-set-qws.patch b/package/python-pyqt/0002-configure-set-qws.patch
deleted file mode 100644
index 33a5648bee..0000000000
--- a/package/python-pyqt/0002-configure-set-qws.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Add support for several Qt flavors
-
-Qt has two flavors: X11 and embedded (QWS). QWS has some limitations
-compared to X11. This patch adds an option to select which version to
-use.
-
-Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
----
-Index: PyQt-x11-gpl-4.11.3/configure-ng.py
-===================================================================
---- PyQt-x11-gpl-4.11.3.orig/configure-ng.py
-+++ PyQt-x11-gpl-4.11.3/configure-ng.py
-@@ -960,6 +960,9 @@ int main(int argc, char **argv)
-         if opts.vendlibdir is not None:
-             self.vend_lib_dir = opts.vendlibdir
- 
-+        if opts.qtflavor is not None:
-+            self.qt_flavor = opts.qtflavor
-+
-         # Handle any conflicts.
-         if self.qt_shared:
-             if len(self.static_plugins) != 0:
-@@ -1177,6 +1180,11 @@ def create_optparser(target_config):
-             dest="notools",
-             help="disable the building of pyuic5, pyrcc5 and pylupdate5 "
-                     "[default: enabled]")
-+    g.add_option("--qt-flavor", dest='qtflavor', type='string',
-+            default="WS_X11", metavar='QTFLAVOR', action='store',
-+            help="select Qt flavor beetween WS_X11 and WS_QWS "
-+                    "only available on Linux)"
-+                    "[default: WS_X11]")
-     p.add_option_group(g)
- 
-     # Vendor ID.
-@@ -2088,7 +2096,7 @@ def get_sip_flags(target_config):
-     elif target_config.py_platform == 'darwin':
-         plattag = 'WS_MACX'
-     else:
--        plattag = 'WS_X11'
-+        plattag = target_config.qt_flavor
- 
-     sip_flags.append('-t')
-     sip_flags.append(plattag)
diff --git a/package/python-pyqt/0003-sip-add_qws.patch b/package/python-pyqt/0003-sip-add_qws.patch
deleted file mode 100644
index 1ff706f624..0000000000
--- a/package/python-pyqt/0003-sip-add_qws.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Add WS_QWS in the Platforms variable and to define some types
-
-Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
-Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
----
-Index: PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip
-===================================================================
---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/QtCoremod.sip
-+++ PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip
-@@ -29,7 +29,7 @@
- 
- %Timeline {Qt_4_1_0 Qt_4_1_1 Qt_4_1_2 Qt_4_1_3 Qt_4_2_0 Qt_4_2_1 Qt_4_2_2 Qt_4_2_3 Qt_4_3_0 Qt_4_3_1 Qt_4_3_2 Qt_4_3_3 Qt_4_3_4 Qt_4_4_0 Qt_4_4_1 Qt_4_4_2 Qt_4_5_0 Qt_4_5_1 Qt_4_5_2 Qt_4_5_3 Qt_4_6_0 Qt_4_6_1 Qt_4_6_2 Qt_4_6_3 Qt_4_7_0 Qt_4_7_1 Qt_4_7_2 Qt_4_7_3 Qt_4_7_4 Qt_4_8_0 Qt_4_8_1 Qt_4_8_2 Qt_4_8_3 Qt_4_8_4 Qt_4_8_5 Qt_4_8_6 Qt_5_0_0}
- 
--%Platforms {WS_X11 WS_WIN WS_MACX}
-+%Platforms {WS_X11 WS_QWS WS_WIN WS_MACX}
- 
- %Feature PyQt_Accessibility
- %Feature PyQt_SessionManager
-Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip
-===================================================================
---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qprocess.sip
-+++ PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip
-@@ -28,7 +28,7 @@
- %If (WS_WIN)
- typedef void *Q_PID;
- %End
--%If (WS_X11 || WS_MACX)
-+%If (WS_X11 || WS_QWS || WS_MACX)
- typedef qint64 Q_PID;
- %End
- 
-Index: PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip
-===================================================================
---- PyQt-x11-gpl-4.11.3.orig/sip/QtGui/qwindowdefs.sip
-+++ PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip
-@@ -27,7 +27,7 @@
- 
- typedef QList<QWidget*> QWidgetList;
- %If (- Qt_5_0_0)
--%If (WS_X11)
-+%If (WS_X11 || WS_QWS)
- // X11 specific definitions.
- typedef unsigned long WId;
- %End
diff --git a/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch b/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch
deleted file mode 100644
index c07bea777f..0000000000
--- a/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Hide QFont::cacheStatistics which isn't available in QWS
-
-Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
----
-
-diff -ur PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip pyqt-4.9.6/sip/QtGui/qfont.sip
---- PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip	2012-12-08 13:51:38.000000000 +0400
-+++ pyqt-4.9.6/sip/QtGui/qfont.sip	2013-05-22 14:06:38.335000022 +0400
-@@ -185,7 +185,9 @@
- %End
-     static void initialize();
-     static void cleanup();
-+%If (!WS_QWS)
-     static void cacheStatistics();
-+%End
-     QString defaultFamily() const;
-     QString lastResortFamily() const;
-     QString lastResortFont() const;
diff --git a/package/python-pyqt/0005-sip-fix_qws_handle.patch b/package/python-pyqt/0005-sip-fix_qws_handle.patch
deleted file mode 100644
index 80623d112a..0000000000
--- a/package/python-pyqt/0005-sip-fix_qws_handle.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix build issue in QWS flavor
-
-Change HANDLE to void* to get rid of :
-buildroot/output/build/python-pyqt-4.11.3/QtCore/sipQtCoreQThread.cpp:318:50:
-error: invalid conversion from 'Qt::HANDLE {aka void*}' to 'long
-unsigned int' [-fpermissive] error during compilation.
-
-Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
-Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
----
-Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip
-===================================================================
---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qnamespace.sip
-+++ PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip
-@@ -1673,6 +1673,9 @@ namespace Qt
- %If (WS_X11)
-     typedef unsigned long HANDLE;
- %End
-+%If (WS_QWS)
-+    typedef void* HANDLE;
-+%End
- %End
- %If (PyQt_Deprecated_5_0)
-     typedef Qt::WindowFlags WFlags;
diff --git a/package/python-pyqt/Config.in b/package/python-pyqt/Config.in
deleted file mode 100644
index 6934a4c4ab..0000000000
--- a/package/python-pyqt/Config.in
+++ /dev/null
@@ -1,21 +0,0 @@
-comment "python-pyqt needs Qt4"
-	depends on !BR2_PACKAGE_QT
-
-config BR2_PACKAGE_PYTHON_PYQT
-	bool "python-pyqt"
-	depends on BR2_PACKAGE_QT
-	select BR2_PACKAGE_PYTHON_SIP
-	help
-	  PyQt4 for Qt Embedded 4 bindings.
-
-	  http://www.riverbankcomputing.com/software/pyqt/
-
-if BR2_PACKAGE_PYTHON_PYQT
-
-config BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT
-	bool
-	default y if BR2_arm || BR2_armeb
-	default y if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb
-	default y if (BR2_mipsel || BR2_mips) && BR2_PACKAGE_QT_EMBEDDED
-
-endif
diff --git a/package/python-pyqt/python-pyqt.hash b/package/python-pyqt/python-pyqt.hash
deleted file mode 100644
index 1709b66ab8..0000000000
--- a/package/python-pyqt/python-pyqt.hash
+++ /dev/null
@@ -1,5 +0,0 @@
-# From http://http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/
-md5 997c3e443165a89a559e0d96b061bf70 PyQt-x11-gpl-4.11.3.tar.gz
-
-# Locally calculated:
-sha256 853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686 PyQt-x11-gpl-4.11.3.tar.gz
diff --git a/package/python-pyqt/python-pyqt.mk b/package/python-pyqt/python-pyqt.mk
deleted file mode 100644
index e8ae641662..0000000000
--- a/package/python-pyqt/python-pyqt.mk
+++ /dev/null
@@ -1,113 +0,0 @@
-################################################################################
-#
-# python-pyqt
-#
-################################################################################
-
-PYTHON_PYQT_VERSION = 4.11.3
-PYTHON_PYQT_SOURCE = PyQt-x11-gpl-$(PYTHON_PYQT_VERSION).tar.gz
-PYTHON_PYQT_SITE = http://downloads.sourceforge.net/project/pyqt/PyQt4/PyQt-$(PYTHON_PYQT_VERSION)
-PYTHON_PYQT_LICENSE = GPL-2.0 or GPL-3.0
-PYTHON_PYQT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3
-
-PYTHON_PYQT_DEPENDENCIES = python-sip host-python-sip qt
-
-ifeq ($(BR2_PACKAGE_PYTHON),y)
-PYTHON_PYQT_PYTHON_DIR = python$(PYTHON_VERSION_MAJOR)
-PYTHON_PYQT_RM_PORT_BASE = port_v3
-else ifeq ($(BR2_PACKAGE_PYTHON3),y)
-PYTHON_PYQT_PYTHON_DIR = python$(PYTHON3_VERSION_MAJOR)
-PYTHON_PYQT_RM_PORT_BASE = port_v2
-endif
-
-ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y)
-PYTHON_PYQT_QTFLAVOR = WS_QWS
-else
-PYTHON_PYQT_QTFLAVOR = WS_X11
-endif
-
-PYTHON_PYQT_QTDETAIL_LICENSE = Open Source
-
-ifeq ($(BR2_PACKAGE_QT_SHARED),y)
-PYTHON_PYQT_QTDETAIL_TYPE = shared
-endif
-
-# Turn off features that aren't available in QWS and current qt
-# configuration.
-PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES = \
-	PyQt_Accessibility PyQt_SessionManager \
-	PyQt_Shortcut PyQt_RawFont
-
-ifeq ($(BR2_PACKAGE_QT_OPENSSL),)
-PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_OpenSSL
-endif
-
-# Yes, this looks a bit weird: when OpenGL ES is available, we have to
-# disable the feature that consists in not having OpenGL ES support.
-ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y)
-PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_NoOpenGLES
-endif
-
-# PyQt_qreal_double must be disabled on a number of architectures that
-# use float for qreal.
-ifeq ($(BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT),y)
-PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_qreal_double
-endif
-
-define PYTHON_PYQT_QTDETAIL
-	echo $(1) >> $(2)/qtdetail.out
-endef
-
-# Since we can't run generate qtdetail.out by running qtdetail on target device
-# we must generate the configuration.
-define PYTHON_PYQT_GENERATE_QTDETAIL
-	$(RM) -f $(1)/qtdetail.out
-	$(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_LICENSE),$(1))
-	$(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_TYPE),$(1))
-	$(foreach f,$(PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES),
-		$(call PYTHON_PYQT_QTDETAIL,$(f),$(1)) \
-	)
-endef
-
-PYTHON_PYQT_CONF_OPTS = \
-	--bindir $(TARGET_DIR)/usr/bin \
-	--destdir $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages \
-	--qmake $(HOST_DIR)/bin/qmake \
-	--sysroot $(STAGING_DIR)/usr \
-	-w --confirm-license \
-	--no-designer-plugin \
-	--no-docstrings \
-	--no-sip-files \
-	--qt-flavor=$(PYTHON_PYQT_QTFLAVOR)
-
-# The VendorID related information is only needed for Python 2.x, not
-# Python 3.x.
-ifeq ($(BR2_PACKAGE_PYTHON),y)
-PYTHON_PYQT_CONF_OPTS += \
-	--vendorid-incdir $(STAGING_DIR)/usr/include/$(PYTHON_PYQT_PYTHON_DIR) \
-	--vendorid-libdir $(STAGING_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/config
-endif
-
-define PYTHON_PYQT_CONFIGURE_CMDS
-	$(call PYTHON_PYQT_GENERATE_QTDETAIL,$(@D))
-	(cd $(@D); \
-		$(TARGET_MAKE_ENV) \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(HOST_DIR)/bin/python configure-ng.py \
-			$(PYTHON_PYQT_CONF_OPTS) \
-	)
-endef
-
-define PYTHON_PYQT_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
-endef
-
-# __init__.py is needed to import PyQt4
-# __init__.pyc is needed if BR2_PACKAGE_PYTHON_PYC_ONLY is set
-define PYTHON_PYQT_INSTALL_TARGET_CMDS
-	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install
-	touch $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/__init__.py
-	$(RM) -rf $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/uic/$(PYTHON_PYQT_RM_PORT_BASE)
-endef
-
-$(eval $(generic-package))
-- 
2.11.0

  reply	other threads:[~2019-02-06 14:10 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-06 14:10 [Buildroot] [PATCH 01/16] package/gnuradio: remove qtgui option Peter Korsgaard
2019-02-06 14:10 ` Peter Korsgaard [this message]
2019-02-06 14:10 ` [Buildroot] [PATCH 03/16] package/python-sip: remove qt4 support Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 04/16] package/sdl: remove qtopia video driver option Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 05/16] package/amd-catalyst: remove control center option Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 06/16] package/opencv: remove qt backend option Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 07/16] package/opencv3: " Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 08/16] package/poppler: remove qt option Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 09/16] package/pinentry: remove qt4 option Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 10/16] package/qtuio: remove package Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 11/16] package/libmediaart: remove qt4 support Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 12/16] package/qextserialport: " Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 13/16] package/gjson: " Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 14/16] package/quazip: " Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 15/16] package/qwt: " Peter Korsgaard
2019-02-06 14:10 ` [Buildroot] [PATCH 16/16] package/qt: remove package Peter Korsgaard
2019-02-06 14:39 ` [Buildroot] [PATCH 01/16] package/gnuradio: remove qtgui option Gwenhael Goavec-Merou
2019-02-06 14:52   ` Thomas Petazzoni
2019-02-06 14:54     ` Arnout Vandecappelle

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=20190206141058.24155-2-peter@korsgaard.com \
    --to=peter@korsgaard.com \
    --cc=buildroot@busybox.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.