All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] udev: Add 2 patches to support 4.4 kernel
@ 2016-01-19 22:05 Saul Wold
  2016-01-19 23:44 ` Khem Raj
  0 siblings, 1 reply; 3+ messages in thread
From: Saul Wold @ 2016-01-19 22:05 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

These 2 patches are needed to build udev with the 4.4 kernel, the first
mtd-probe adds back a stdint.h header that was removed in the kernel's mtd-user.h
header file.

The second adds a check for a new header and sets a Makefile variable
to determine which header to use for the new kernel vs older kernels.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/recipes-core/udev/udev.inc                    |  5 ++-
 ...-Add-stdint.h-as-it-was-removed-from-mtd-.patch | 26 +++++++++++
 ...c-Makefile.am-Check-for-input.h-and-input.patch | 50 ++++++++++++++++++++++
 3 files changed, 80 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
 create mode 100644 meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch

diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc
index c00ed34..93d7369 100644
--- a/meta/recipes-core/udev/udev.inc
+++ b/meta/recipes-core/udev/udev.inc
@@ -31,7 +31,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
            file://add-install-ptest.patch \
            file://fix_rule-syntax-regex-ptest.patch \
            file://run-ptest \
-           file://init"
+           file://init \
+           file://0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch \
+           file://0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch \
+           "
 
 inherit autotools pkgconfig update-rc.d ptest
 RDEPENDS_${PN}-ptest += "make perl python"
diff --git a/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch b/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
new file mode 100644
index 0000000..439eeac
--- /dev/null
+++ b/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
@@ -0,0 +1,26 @@
+From 2935f9b2dfb92c3ce4376a988cd01b624430905b Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Tue, 19 Jan 2016 09:49:56 -0800
+Subject: [PATCH 1/2] mtd_probe.h: Add stdint.h as it was removed from
+ mtd-user.h in the kernel
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ src/mtd_probe/mtd_probe.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/mtd_probe/mtd_probe.h b/src/mtd_probe/mtd_probe.h
+index 2a37ede..49c1918 100644
+--- a/src/mtd_probe/mtd_probe.h
++++ b/src/mtd_probe/mtd_probe.h
+@@ -18,6 +18,7 @@
+  */
+ 
+ #include <mtd/mtd-user.h>
++#include <stdint.h>
+ 
+ /* Full oob structure as written on the flash */
+ struct sm_oob {
+-- 
+2.5.0
+
diff --git a/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch b/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch
new file mode 100644
index 0000000..285680f
--- /dev/null
+++ b/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch
@@ -0,0 +1,50 @@
+From 63ae7ebb0c6177efed46734061fb59c458a47a26 Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Tue, 19 Jan 2016 09:49:19 -0800
+Subject: [PATCH 2/2] configure.ac/Makefile.am: Check for input.h and
+ input-event-codes.h
+
+Add INPUT_HEADER to know which header file to use because it changed
+in the 4.4 kernel code.
+
+Set INPUT_HEADER with default linux/input.h if it exists and if the
+newer input-events-codes.h exists from 4.4 use it instead.
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ Makefile.am  | 2 +-
+ configure.ac | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 2e32e69..04eb194 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -591,7 +591,7 @@ dist_udevkeymapforcerel_DATA = \
+ 	src/keymap/force-release-maps/samsung-other \
+ 	src/keymap/force-release-maps/common-volume-keys
+ 
+-src/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
++src/keymap/keys.txt: $(INCLUDE_PREFIX)/$(INPUT_HEADER)
+ 	$(AM_V_at)mkdir -p src/keymap
+ 	$(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
+ 
+diff --git a/configure.ac b/configure.ac
+index 0500313..9674620 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -154,8 +154,10 @@ AS_IF([test "x$enable_keymap" = "xyes"], [
+        if test -z "$GPERF"; then
+               AC_MSG_ERROR([gperf is needed])
+        fi
++       
++       AC_CHECK_HEADER([linux/input.h], [AC_SUBST([INPUT_HEADER], [$(echo 'linux/input.h')])], AC_MSG_ERROR([kernel headers not found]))
++       AC_CHECK_HEADER([linux/input-event-codes.h], [AC_SUBST([INPUT_HEADER], [$(echo 'linux/input-event-codes.h')])], [:])
+ 
+-       AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel headers not found]))
+        AC_SUBST([INCLUDE_PREFIX], [$(echo '#include <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/ {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
+ ])
+ AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = "xyes"])
+-- 
+2.5.0
+
-- 
2.5.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] udev: Add 2 patches to support 4.4 kernel
  2016-01-19 22:05 [PATCH] udev: Add 2 patches to support 4.4 kernel Saul Wold
@ 2016-01-19 23:44 ` Khem Raj
  2016-01-20  3:46   ` Saul Wold
  0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2016-01-19 23:44 UTC (permalink / raw)
  To: Saul Wold; +Cc: openembedded-core

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


> On Jan 19, 2016, at 2:05 PM, Saul Wold <sgw@linux.intel.com> wrote:
> 
> These 2 patches are needed to build udev with the 4.4 kernel, the first
> mtd-probe adds back a stdint.h header that was removed in the kernel's mtd-user.h
> header file.
> 
> The second adds a check for a new header and sets a Makefile variable
> to determine which header to use for the new kernel vs older kernels.


Patches are ok. You need to add Upstream-Status to both of them.
> 
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
> meta/recipes-core/udev/udev.inc                    |  5 ++-
> ...-Add-stdint.h-as-it-was-removed-from-mtd-.patch | 26 +++++++++++
> ...c-Makefile.am-Check-for-input.h-and-input.patch | 50 ++++++++++++++++++++++
> 3 files changed, 80 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
> create mode 100644 meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch
> 
> diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc
> index c00ed34..93d7369 100644
> --- a/meta/recipes-core/udev/udev.inc
> +++ b/meta/recipes-core/udev/udev.inc
> @@ -31,7 +31,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
>            file://add-install-ptest.patch \
>            file://fix_rule-syntax-regex-ptest.patch \
>            file://run-ptest \
> -           file://init"
> +           file://init \
> +           file://0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch \
> +           file://0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch \
> +           "
> 
> inherit autotools pkgconfig update-rc.d ptest
> RDEPENDS_${PN}-ptest += "make perl python"
> diff --git a/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch b/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
> new file mode 100644
> index 0000000..439eeac
> --- /dev/null
> +++ b/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
> @@ -0,0 +1,26 @@
> +From 2935f9b2dfb92c3ce4376a988cd01b624430905b Mon Sep 17 00:00:00 2001
> +From: Saul Wold <sgw@linux.intel.com>
> +Date: Tue, 19 Jan 2016 09:49:56 -0800
> +Subject: [PATCH 1/2] mtd_probe.h: Add stdint.h as it was removed from
> + mtd-user.h in the kernel
> +
> +Signed-off-by: Saul Wold <sgw@linux.intel.com>
> +---
> + src/mtd_probe/mtd_probe.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/src/mtd_probe/mtd_probe.h b/src/mtd_probe/mtd_probe.h
> +index 2a37ede..49c1918 100644
> +--- a/src/mtd_probe/mtd_probe.h
> ++++ b/src/mtd_probe/mtd_probe.h
> +@@ -18,6 +18,7 @@
> +  */
> +
> + #include <mtd/mtd-user.h>
> ++#include <stdint.h>
> +
> + /* Full oob structure as written on the flash */
> + struct sm_oob {
> +--
> +2.5.0
> +
> diff --git a/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch b/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch
> new file mode 100644
> index 0000000..285680f
> --- /dev/null
> +++ b/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch
> @@ -0,0 +1,50 @@
> +From 63ae7ebb0c6177efed46734061fb59c458a47a26 Mon Sep 17 00:00:00 2001
> +From: Saul Wold <sgw@linux.intel.com>
> +Date: Tue, 19 Jan 2016 09:49:19 -0800
> +Subject: [PATCH 2/2] configure.ac/Makefile.am: Check for input.h and
> + input-event-codes.h
> +
> +Add INPUT_HEADER to know which header file to use because it changed
> +in the 4.4 kernel code.
> +
> +Set INPUT_HEADER with default linux/input.h if it exists and if the
> +newer input-events-codes.h exists from 4.4 use it instead.
> +
> +Signed-off-by: Saul Wold <sgw@linux.intel.com>
> +---
> + Makefile.am  | 2 +-
> + configure.ac | 4 +++-
> + 2 files changed, 4 insertions(+), 2 deletions(-)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index 2e32e69..04eb194 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -591,7 +591,7 @@ dist_udevkeymapforcerel_DATA = \
> + 	src/keymap/force-release-maps/samsung-other \
> + 	src/keymap/force-release-maps/common-volume-keys
> +
> +-src/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
> ++src/keymap/keys.txt: $(INCLUDE_PREFIX)/$(INPUT_HEADER)
> + 	$(AM_V_at)mkdir -p src/keymap
> + 	$(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
> +
> +diff --git a/configure.ac b/configure.ac
> +index 0500313..9674620 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -154,8 +154,10 @@ AS_IF([test "x$enable_keymap" = "xyes"], [
> +        if test -z "$GPERF"; then
> +               AC_MSG_ERROR([gperf is needed])
> +        fi
> ++
> ++       AC_CHECK_HEADER([linux/input.h], [AC_SUBST([INPUT_HEADER], [$(echo 'linux/input.h')])], AC_MSG_ERROR([kernel headers not found]))
> ++       AC_CHECK_HEADER([linux/input-event-codes.h], [AC_SUBST([INPUT_HEADER], [$(echo 'linux/input-event-codes.h')])], [:])
> +
> +-       AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel headers not found]))
> +        AC_SUBST([INCLUDE_PREFIX], [$(echo '#include <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/ {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
> + ])
> + AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = "xyes"])
> +--
> +2.5.0
> +
> --
> 2.5.0
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] udev: Add 2 patches to support 4.4 kernel
  2016-01-19 23:44 ` Khem Raj
@ 2016-01-20  3:46   ` Saul Wold
  0 siblings, 0 replies; 3+ messages in thread
From: Saul Wold @ 2016-01-20  3:46 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core

On Tue, 2016-01-19 at 15:44 -0800, Khem Raj wrote:
> > On Jan 19, 2016, at 2:05 PM, Saul Wold <sgw@linux.intel.com> wrote:
> > 
> > These 2 patches are needed to build udev with the 4.4 kernel, the
> > first
> > mtd-probe adds back a stdint.h header that was removed in the
> > kernel's mtd-user.h
> > header file.
> > 
> > The second adds a check for a new header and sets a Makefile
> > variable
> > to determine which header to use for the new kernel vs older
> > kernels.
> 
> 
> Patches are ok. You need to add Upstream-Status to both of them.

Dang, to long away from doing core work, new ones coming.

Sau!

> > 
> > Signed-off-by: Saul Wold <sgw@linux.intel.com>
> > ---
> > meta/recipes-core/udev/udev.inc                    |  5 ++-
> > ...-Add-stdint.h-as-it-was-removed-from-mtd-.patch | 26 +++++++++++
> > ...c-Makefile.am-Check-for-input.h-and-input.patch | 50
> > ++++++++++++++++++++++
> > 3 files changed, 80 insertions(+), 1 deletion(-)
> > create mode 100644 meta/recipes-core/udev/udev/0001-mtd_probe.h-
> > Add-stdint.h-as-it-was-removed-from-mtd-.patch
> > create mode 100644 meta/recipes-core/udev/udev/0002-configure.ac-
> > Makefile.am-Check-for-input.h-and-input.patch
> > 
> > diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-
> > core/udev/udev.inc
> > index c00ed34..93d7369 100644
> > --- a/meta/recipes-core/udev/udev.inc
> > +++ b/meta/recipes-core/udev/udev.inc
> > @@ -31,7 +31,10 @@ SRC_URI =
> > "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
> >            file://add-install-ptest.patch \
> >            file://fix_rule-syntax-regex-ptest.patch \
> >            file://run-ptest \
> > -           file://init"
> > +           file://init \
> > +           file://0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-
> > from-mtd-.patch \
> > +           file://0002-configure.ac-Makefile.am-Check-for-input.h-
> > and-input.patch \
> > +           "
> > 
> > inherit autotools pkgconfig update-rc.d ptest
> > RDEPENDS_${PN}-ptest += "make perl python"
> > diff --git a/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-
> > stdint.h-as-it-was-removed-from-mtd-.patch b/meta/recipes-
> > core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-
> > from-mtd-.patch
> > new file mode 100644
> > index 0000000..439eeac
> > --- /dev/null
> > +++ b/meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-
> > it-was-removed-from-mtd-.patch
> > @@ -0,0 +1,26 @@
> > +From 2935f9b2dfb92c3ce4376a988cd01b624430905b Mon Sep 17 00:00:00
> > 2001
> > +From: Saul Wold <sgw@linux.intel.com>
> > +Date: Tue, 19 Jan 2016 09:49:56 -0800
> > +Subject: [PATCH 1/2] mtd_probe.h: Add stdint.h as it was removed
> > from
> > + mtd-user.h in the kernel
> > +
> > +Signed-off-by: Saul Wold <sgw@linux.intel.com>
> > +---
> > + src/mtd_probe/mtd_probe.h | 1 +
> > + 1 file changed, 1 insertion(+)
> > +
> > +diff --git a/src/mtd_probe/mtd_probe.h b/src/mtd_probe/mtd_probe.h
> > +index 2a37ede..49c1918 100644
> > +--- a/src/mtd_probe/mtd_probe.h
> > ++++ b/src/mtd_probe/mtd_probe.h
> > +@@ -18,6 +18,7 @@
> > +  */
> > +
> > + #include <mtd/mtd-user.h>
> > ++#include <stdint.h>
> > +
> > + /* Full oob structure as written on the flash */
> > + struct sm_oob {
> > +--
> > +2.5.0
> > +
> > diff --git a/meta/recipes-core/udev/udev/0002-configure.ac-
> > Makefile.am-Check-for-input.h-and-input.patch b/meta/recipes-
> > core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-
> > input.patch
> > new file mode 100644
> > index 0000000..285680f
> > --- /dev/null
> > +++ b/meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-
> > Check-for-input.h-and-input.patch
> > @@ -0,0 +1,50 @@
> > +From 63ae7ebb0c6177efed46734061fb59c458a47a26 Mon Sep 17 00:00:00
> > 2001
> > +From: Saul Wold <sgw@linux.intel.com>
> > +Date: Tue, 19 Jan 2016 09:49:19 -0800
> > +Subject: [PATCH 2/2] configure.ac/Makefile.am: Check for input.h
> > and
> > + input-event-codes.h
> > +
> > +Add INPUT_HEADER to know which header file to use because it
> > changed
> > +in the 4.4 kernel code.
> > +
> > +Set INPUT_HEADER with default linux/input.h if it exists and if
> > the
> > +newer input-events-codes.h exists from 4.4 use it instead.
> > +
> > +Signed-off-by: Saul Wold <sgw@linux.intel.com>
> > +---
> > + Makefile.am  | 2 +-
> > + configure.ac | 4 +++-
> > + 2 files changed, 4 insertions(+), 2 deletions(-)
> > +
> > +diff --git a/Makefile.am b/Makefile.am
> > +index 2e32e69..04eb194 100644
> > +--- a/Makefile.am
> > ++++ b/Makefile.am
> > +@@ -591,7 +591,7 @@ dist_udevkeymapforcerel_DATA = \
> > + 	src/keymap/force-release-maps/samsung-other \
> > + 	src/keymap/force-release-maps/common-volume-keys
> > +
> > +-src/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
> > ++src/keymap/keys.txt: $(INCLUDE_PREFIX)/$(INPUT_HEADER)
> > + 	$(AM_V_at)mkdir -p src/keymap
> > + 	$(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if
> > ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed
> > 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
> > +
> > +diff --git a/configure.ac b/configure.ac
> > +index 0500313..9674620 100644
> > +--- a/configure.ac
> > ++++ b/configure.ac
> > +@@ -154,8 +154,10 @@ AS_IF([test "x$enable_keymap" = "xyes"], [
> > +        if test -z "$GPERF"; then
> > +               AC_MSG_ERROR([gperf is needed])
> > +        fi
> > ++
> > ++       AC_CHECK_HEADER([linux/input.h], [AC_SUBST([INPUT_HEADER],
> > [$(echo 'linux/input.h')])], AC_MSG_ERROR([kernel headers not
> > found]))
> > ++       AC_CHECK_HEADER([linux/input-event-codes.h],
> > [AC_SUBST([INPUT_HEADER], [$(echo 'linux/input-event-codes.h')])],
> > [:])
> > +
> > +-       AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel
> > headers not found]))
> > +        AC_SUBST([INCLUDE_PREFIX], [$(echo '#include
> > <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/
> > {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
> > + ])
> > + AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" =
> > "xyes"])
> > +--
> > +2.5.0
> > +
> > --
> > 2.5.0
> > 
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-01-20  3:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-19 22:05 [PATCH] udev: Add 2 patches to support 4.4 kernel Saul Wold
2016-01-19 23:44 ` Khem Raj
2016-01-20  3:46   ` Saul Wold

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.