* [RFC PATCH] grub-efi: Do not use help2man
@ 2012-07-02 20:09 Darren Hart
2012-07-02 20:31 ` Richard Purdie
2012-07-02 23:42 ` Khem Raj
0 siblings, 2 replies; 7+ messages in thread
From: Darren Hart @ 2012-07-02 20:09 UTC (permalink / raw)
To: openembedded-core; +Cc: Paul Eggleton, Darren Hart
Fixes [YOCTO #2527]
Modify configure.ac and the generated configure script to avoid using
help2man during the compilation process. For grub-efi we are only
deploying the EFI payload and are not installing grub on the target
root filesystem. Therefor, we do not need the man pages.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Paul Eggleton <paul.eggleton@linux.intel.com>
CC: Radu Moisan <radu.moisan@intel.com>
---
.../grub/files/grub-1.99-disable-help2man.patch | 231 ++++++++++++++++++++
meta/recipes-bsp/grub/grub-efi-native_1.99.bb | 3 +-
2 files changed, 233 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch
diff --git a/meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch b/meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch
new file mode 100644
index 0000000..b007cae
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch
@@ -0,0 +1,231 @@
+Upstream-Status: Inappropriate (Bitbake build environment)
+
+We do not need the man pages when building just the EFI payload for the target,
+all the tools are built for the host. This does not trigger GRUB's built-in
+cross-compilation check, so force it. After the change to configure.ac,
+autogen.sh was run in devshell and the resulting configure was used to generate
+the configure diff. The configure diff was included to avoid having to add
+autogen.sh to a do_configure_prepend() routine which would slow down the build
+unnecessarily.
+
+Signed-off-by: Darren Hart <dvhart@linux.intel.com>
+
+Index: grub-1.99/configure.ac
+===================================================================
+--- grub-1.99.orig/configure.ac
++++ grub-1.99/configure.ac
+@@ -275,11 +275,12 @@ if test x$grub_cv_apple_cc = xyes ; then
+ HOST_CFLAGS="$HOST_CFLAGS -fnested-functions"
+ fi
+
+-if test "x$cross_compiling" = xyes; then
+- AC_MSG_WARN([cannot generate manual pages while cross compiling])
+-else
+- AC_PATH_PROG(HELP2MAN, help2man)
+-fi
++# Force behaving as though we are cross-compiling with respect to HELP2MAN
++#if test "x$cross_compiling" = xyes; then
++AC_MSG_WARN([cannot generate manual pages while cross compiling])
++#else
++# AC_PATH_PROG(HELP2MAN, help2man)
++#fi
+
+ # Check for functions and headers.
+ AC_CHECK_FUNCS(posix_memalign memalign asprintf vasprintf getextmntent)
+Index: grub-1.99/configure
+===================================================================
+--- grub-1.99.orig/configure
++++ grub-1.99/configure
+@@ -1172,7 +1172,6 @@ GL_COND_LIBTOOL_FALSE
+ GL_COND_LIBTOOL_TRUE
+ BUILD_CC
+ LIBUTIL
+-HELP2MAN
+ POSUB
+ LTLIBINTL
+ LIBINTL
+@@ -1204,6 +1203,7 @@ LEXLIB
+ am__fastdepCC_FALSE
+ am__fastdepCC_TRUE
+ CCDEPMODE
++am__nodep
+ AMDEPBACKSLASH
+ AMDEP_FALSE
+ AMDEP_TRUE
+@@ -3011,7 +3011,6 @@ _ACEOF
+ # Let the site file select an alternate cache file if it wants to.
+ # Prefer an explicitly selected file to automatically selected ones.
+ ac_site_file1=NONE
+-ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+@@ -3019,14 +3018,8 @@ if test -n "$CONFIG_SITE"; then
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+-elif test "x$prefix" != xNONE; then
+- ac_site_file1=$prefix/share/config.site
+- ac_site_file2=$prefix/etc/config.site
+-else
+- ac_site_file1=$ac_default_prefix/share/config.site
+- ac_site_file2=$ac_default_prefix/etc/config.site
+ fi
+-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
++for ac_site_file in $ac_site_file1
+ do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+@@ -3313,8 +3306,9 @@ case $target_os in *\ *) target_os=`echo
+ # The aliases save the names the user supplied, while $host etc.
+ # will get canonicalized.
+ test -n "$target_alias" &&
+- test "$program_prefix$program_suffix$program_transform_name" = \
+- NONENONEs,x,x, &&
++ test "$target_alias" != "$host_alias" &&
++ test "$program_prefix$program_suffix$program_transform_name" = \
++ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
+
+ am__api_version='1.11'
+@@ -3786,11 +3780,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}ma
+
+ # We need awk for the "check" target. The system "awk" is bad on
+ # some platforms.
+-# Always define AMTAR for backward compatibility.
+-
+-AMTAR=${AMTAR-"${am_missing_run}tar"}
++# Always define AMTAR for backward compatibility. Yes, it's still used
++# in the wild :-( We should find a proper way to deprecate it ...
++AMTAR='$${TAR-tar}'
+
+-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
++am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+@@ -4256,6 +4250,7 @@ fi
+ if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
++ am__nodep='_no'
+ fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+@@ -5069,6 +5064,7 @@ else
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
++ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+@@ -5128,7 +5124,7 @@ else
+ break
+ fi
+ ;;
+- msvisualcpp | msvcmsys)
++ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+@@ -6044,6 +6040,7 @@ else
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
++ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+@@ -6103,7 +6100,7 @@ else
+ break
+ fi
+ ;;
+- msvisualcpp | msvcmsys)
++ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+@@ -6848,6 +6845,7 @@ else
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
++ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+@@ -6905,7 +6903,7 @@ else
+ break
+ fi
+ ;;
+- msvisualcpp | msvcmsys)
++ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+@@ -9529,51 +9527,13 @@ if test x$grub_cv_apple_cc = xyes ; then
+ HOST_CFLAGS="$HOST_CFLAGS -fnested-functions"
+ fi
+
+-if test "x$cross_compiling" = xyes; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot generate manual pages while cross compiling" >&5
++# Force behaving as though we are cross-compiling with respect to HELP2MAN
++#if test "x$cross_compiling" = xyes; then
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot generate manual pages while cross compiling" >&5
+ $as_echo "$as_me: WARNING: cannot generate manual pages while cross compiling" >&2;}
+-else
+- # Extract the first word of "help2man", so it can be a program name with args.
+-set dummy help2man; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_path_HELP2MAN+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- case $HELP2MAN in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_HELP2MAN="$HELP2MAN" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_path_HELP2MAN="$as_dir/$ac_word$ac_exec_ext"
+- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+- done
+-IFS=$as_save_IFS
+-
+- ;;
+-esac
+-fi
+-HELP2MAN=$ac_cv_path_HELP2MAN
+-if test -n "$HELP2MAN"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HELP2MAN" >&5
+-$as_echo "$HELP2MAN" >&6; }
+-else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-
+-
+-fi
++#else
++# AC_PATH_PROG(HELP2MAN, help2man)
++#fi
+
+ # Check for functions and headers.
+ for ac_func in posix_memalign memalign asprintf vasprintf getextmntent
+@@ -20309,6 +20269,7 @@ $as_echo_n "checking whether \`$CC' gene
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
++void g (int);
+ void f (int (*p) (void));
+ void g (int i)
+ {
diff --git a/meta/recipes-bsp/grub/grub-efi-native_1.99.bb b/meta/recipes-bsp/grub/grub-efi-native_1.99.bb
index 20dcdb9..1083d4c 100644
--- a/meta/recipes-bsp/grub/grub-efi-native_1.99.bb
+++ b/meta/recipes-bsp/grub/grub-efi-native_1.99.bb
@@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
# FIXME: We should be able to optionally drop freetype as a dependency
DEPENDS = "help2man-native autogen-native"
RDEPENDS_${PN} = "diffutils freetype"
-PR = "r9"
+PR = "r10"
# Native packages do not normally rebuild when the target changes.
# Ensure this is built once per HOST-TARGET pair.
@@ -29,6 +29,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
file://grub-1.99-gcc-4.7.0-uninitialized-var-errors.patch \
file://grub-1.99-gcc-4.7.0-strict-aliasing-errors.patch \
file://grub-1.99-fix-enable_execute_stack-check.patch \
+ file://grub-1.99-disable-help2man.patch \
"
SRC_URI[md5sum] = "ca9f2a2d571b57fc5c53212d1d22e2b5"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [RFC PATCH] grub-efi: Do not use help2man
2012-07-02 20:09 [RFC PATCH] grub-efi: Do not use help2man Darren Hart
@ 2012-07-02 20:31 ` Richard Purdie
2012-07-03 1:03 ` Darren Hart
2012-07-02 23:42 ` Khem Raj
1 sibling, 1 reply; 7+ messages in thread
From: Richard Purdie @ 2012-07-02 20:31 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
Cc: Paul Eggleton, Darren Hart
On Mon, 2012-07-02 at 13:09 -0700, Darren Hart wrote:
> Fixes [YOCTO #2527]
>
> Modify configure.ac and the generated configure script to avoid using
> help2man during the compilation process. For grub-efi we are only
> deploying the EFI payload and are not installing grub on the target
> root filesystem. Therefor, we do not need the man pages.
>
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> CC: Paul Eggleton <paul.eggleton@linux.intel.com>
> CC: Radu Moisan <radu.moisan@intel.com>
> ---
> .../grub/files/grub-1.99-disable-help2man.patch | 231 ++++++++++++++++++++
> meta/recipes-bsp/grub/grub-efi-native_1.99.bb | 3 +-
> 2 files changed, 233 insertions(+), 1 deletions(-)
> create mode 100644 meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch
>
> diff --git a/meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch b/meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch
> new file mode 100644
> index 0000000..b007cae
> --- /dev/null
> +++ b/meta/recipes-bsp/grub/files/grub-1.99-disable-help2man.patch
> @@ -0,0 +1,231 @@
> +Upstream-Status: Inappropriate (Bitbake build environment)
> +
> +We do not need the man pages when building just the EFI payload for the target,
> +all the tools are built for the host. This does not trigger GRUB's built-in
> +cross-compilation check, so force it. After the change to configure.ac,
> +autogen.sh was run in devshell and the resulting configure was used to generate
> +the configure diff. The configure diff was included to avoid having to add
> +autogen.sh to a do_configure_prepend() routine which would slow down the build
> +unnecessarily.
> +
> +Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> +
> +Index: grub-1.99/configure.ac
> +===================================================================
> +--- grub-1.99.orig/configure.ac
> ++++ grub-1.99/configure.ac
> +@@ -275,11 +275,12 @@ if test x$grub_cv_apple_cc = xyes ; then
> + HOST_CFLAGS="$HOST_CFLAGS -fnested-functions"
> + fi
> +
> +-if test "x$cross_compiling" = xyes; then
> +- AC_MSG_WARN([cannot generate manual pages while cross compiling])
> +-else
> +- AC_PATH_PROG(HELP2MAN, help2man)
> +-fi
> ++# Force behaving as though we are cross-compiling with respect to HELP2MAN
> ++#if test "x$cross_compiling" = xyes; then
> ++AC_MSG_WARN([cannot generate manual pages while cross compiling])
> ++#else
> ++# AC_PATH_PROG(HELP2MAN, help2man)
> ++#fi
> +
> + # Check for functions and headers.
> + AC_CHECK_FUNCS(posix_memalign memalign asprintf vasprintf getextmntent)
> +Index: grub-1.99/configure
> +===================================================================
> +--- grub-1.99.orig/configure
> ++++ grub-1.99/configure
Isn't configure regenerated so we don't need this second bit patching
configure, just configure.ac?
Cheers,
Richard
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH] grub-efi: Do not use help2man
2012-07-02 20:09 [RFC PATCH] grub-efi: Do not use help2man Darren Hart
2012-07-02 20:31 ` Richard Purdie
@ 2012-07-02 23:42 ` Khem Raj
2012-07-03 0:54 ` Darren Hart
1 sibling, 1 reply; 7+ messages in thread
From: Khem Raj @ 2012-07-02 23:42 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
Cc: Paul Eggleton, Darren Hart
On Mon, Jul 2, 2012 at 1:09 PM, Darren Hart <dvhart@linux.intel.com> wrote:
> Fixes [YOCTO #2527]
>
> Modify configure.ac and the generated configure script to avoid using
> help2man during the compilation process. For grub-efi we are only
> deploying the EFI payload and are not installing grub on the target
> root filesystem. Therefor, we do not need the man pages.
>
what if you do export HELP2MAN='true' in say do_configure ?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH] grub-efi: Do not use help2man
2012-07-02 23:42 ` Khem Raj
@ 2012-07-03 0:54 ` Darren Hart
2012-07-03 4:28 ` Khem Raj
0 siblings, 1 reply; 7+ messages in thread
From: Darren Hart @ 2012-07-03 0:54 UTC (permalink / raw)
To: Khem Raj; +Cc: Paul Eggleton, Patches and discussions about the oe-core layer
On 07/02/2012 04:42 PM, Khem Raj wrote:
> On Mon, Jul 2, 2012 at 1:09 PM, Darren Hart <dvhart@linux.intel.com> wrote:
>> Fixes [YOCTO #2527]
>>
>> Modify configure.ac and the generated configure script to avoid using
>> help2man during the compilation process. For grub-efi we are only
>> deploying the EFI payload and are not installing grub on the target
>> root filesystem. Therefor, we do not need the man pages.
>>
>
> what if you do export HELP2MAN='true' in say do_configure ?
>
I added HELP2MAN='true' to EXTRA_OECONF and it failed in the same way.
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH] grub-efi: Do not use help2man
2012-07-02 20:31 ` Richard Purdie
@ 2012-07-03 1:03 ` Darren Hart
0 siblings, 0 replies; 7+ messages in thread
From: Darren Hart @ 2012-07-03 1:03 UTC (permalink / raw)
To: Richard Purdie
Cc: Paul Eggleton, Patches and discussions about the oe-core layer
On 07/02/2012 01:31 PM, Richard Purdie wrote:
> On Mon, 2012-07-02 at 13:09 -0700, Darren Hart wrote:
>> +Index: grub-1.99/configure
>> +===================================================================
>> +--- grub-1.99.orig/configure
>> ++++ grub-1.99/configure
>
> Isn't configure regenerated so we don't need this second bit patching
> configure, just configure.ac?
It wasn't in my tests. I tried again in master with:
$ bitbake grub-efi-i586 native -c cleanall
$ bitbake grub-efi-i586 native -d devshell
performs fetch, unpack, patch
# edited configure.ac and left configure alone
$ bitbake grub-efi-i586 native
Fails in the same way and configure does not reflect the changes from
configure.ac. This is what I would expect as ./autogen.sh should
typically only be run when building from the RCS sources and not release
tarballs.
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH] grub-efi: Do not use help2man
2012-07-03 0:54 ` Darren Hart
@ 2012-07-03 4:28 ` Khem Raj
2012-07-03 19:03 ` Darren Hart
0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2012-07-03 4:28 UTC (permalink / raw)
To: Darren Hart
Cc: Paul Eggleton, Patches and discussions about the oe-core layer
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 7/2/2012 5:54 PM, Darren Hart wrote:
> I added HELP2MAN='true' to EXTRA_OECONF and it failed in the same
> way.
hmmm export it I dont know passing in extra_oeconf will work
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/ydOwACgkQuwUzVZGdMxTWUACeNygHXozkGDFmDD45sOWV27nB
GZ8An1O/8t0oslk+tvkVn4cPK6qAe4B/
=Byze
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC PATCH] grub-efi: Do not use help2man
2012-07-03 4:28 ` Khem Raj
@ 2012-07-03 19:03 ` Darren Hart
0 siblings, 0 replies; 7+ messages in thread
From: Darren Hart @ 2012-07-03 19:03 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer; +Cc: Paul Eggleton
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 07/02/2012 09:28 PM, Khem Raj wrote:
> On 7/2/2012 5:54 PM, Darren Hart wrote:
>> I added HELP2MAN='true' to EXTRA_OECONF and it failed in the
>> same way.
>
>
> hmmm export it I dont know passing in extra_oeconf will work
OK, I wasn't sure how to gurantee an environment export to
autotools_do_configure from the grub-efi recipe, so as a test I just
added the assignment to the top of autotools_do_configure() directly:
export HELP2MAN='true'
Building grub-efi-i586-native fails in the same way.
I didn't see anything in the configure script that suggested to be
that I could override this with an env variable - did you spot
something I missed?
- --
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJP80H6AAoJEKbMaAwKp364nVEH/Rf6E/ePZgjPuRWzxTC5IMG0
4Xwf/rzBJXwkdnRbcWoGY63x7jUN8jCgLhYEPmFDQerB6nMstCrWp4gcc/4AADdK
SGcPFT7XKa+cOA95uAFRj96SAM6S63IojFQh0Oi98xJB6Hqc3iOIrmCwmCsDn9lM
ts5DDSCN5x5GAS6XJL0B63shcft9eeaeaQzx/nnZPQbRnGxZRazbTWIDnaPI6gqI
Cs7Jz6BwV5eczk4iSzNtjAjnGWeTvou3bp//rni+qMcKgttuj6nKMEc60IAQC/h3
WXsdsODq+ZHRJQRFYzdVOMXtBg6fiSZa4nV1hy7ppeBzEVh7JgfP/Ou3OZT+NMQ=
=ywCB
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-07-03 19:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-02 20:09 [RFC PATCH] grub-efi: Do not use help2man Darren Hart
2012-07-02 20:31 ` Richard Purdie
2012-07-03 1:03 ` Darren Hart
2012-07-02 23:42 ` Khem Raj
2012-07-03 0:54 ` Darren Hart
2012-07-03 4:28 ` Khem Raj
2012-07-03 19:03 ` Darren Hart
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.