All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib
@ 2014-08-24 16:53 Romain Naour
  2014-08-24 16:53 ` [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev Romain Naour
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Romain Naour @ 2014-08-24 16:53 UTC (permalink / raw)
  To: buildroot

Fixes:
http://autobuild.buildroot.net/results/5d4/5d41cec63a15dc5f31460c8cecd6054119ddb1fc/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/efl/libevas-generic-loaders/Config.in                  | 1 +
 package/efl/libevas-generic-loaders/libevas-generic-loaders.mk | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/efl/libevas-generic-loaders/Config.in b/package/efl/libevas-generic-loaders/Config.in
index 30fb88b..3f7581f 100644
--- a/package/efl/libevas-generic-loaders/Config.in
+++ b/package/efl/libevas-generic-loaders/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
 	bool "libevas generic loaders"
 	select BR2_PACKAGE_LIBEINA
+	select BR2_PACKAGE_ZLIB
 	help
 	  These are additional "generic" loaders for Evas that are
 	  stand-alone executables that evas may run from its generic
diff --git a/package/efl/libevas-generic-loaders/libevas-generic-loaders.mk b/package/efl/libevas-generic-loaders/libevas-generic-loaders.mk
index 152a75b..db0ca32 100644
--- a/package/efl/libevas-generic-loaders/libevas-generic-loaders.mk
+++ b/package/efl/libevas-generic-loaders/libevas-generic-loaders.mk
@@ -12,7 +12,7 @@ LIBEVAS_GENERIC_LOADERS_LICENSE_FILES = COPYING
 
 LIBEVAS_GENERIC_LOADERS_INSTALL_STAGING = YES
 
-LIBEVAS_GENERIC_LOADERS_DEPENDENCIES = libeina
+LIBEVAS_GENERIC_LOADERS_DEPENDENCIES = libeina zlib
 
 # For now, we only support the SVG loader
 LIBEVAS_GENERIC_LOADERS_CONF_OPT += \
-- 
1.9.3

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

* [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev
  2014-08-24 16:53 [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Romain Naour
@ 2014-08-24 16:53 ` Romain Naour
  2014-08-25 18:12   ` Thomas Petazzoni
  2014-08-24 16:53 ` [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc Romain Naour
  2014-08-25 18:08 ` [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Thomas Petazzoni
  2 siblings, 1 reply; 10+ messages in thread
From: Romain Naour @ 2014-08-24 16:53 UTC (permalink / raw)
  To: buildroot

libevdev and libinput use the same function name (log_msg).
An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch

diff --git a/package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch b/package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch
new file mode 100644
index 0000000..55604b5
--- /dev/null
+++ b/package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch
@@ -0,0 +1,58 @@
+From 89a3ae2de21e528b8feb80dbea3928d43982d3be Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Thu, 21 Aug 2014 18:18:16 +0200
+Subject: [PATCH 1/1] rename log_msg to libinput_log_msg
+
+This fix conflicts between libevdev and libinput
+
+http://autobuild.buildroot.net/results/c13/c133b7c706ee31302125df8ca94f4d0f0152c6c6/build-end.log
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ src/libinput-private.h | 14 +++++++-------
+ src/libinput.c         |  2 +-
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/libinput-private.h b/src/libinput-private.h
+index f9d2f87..ac1e1c4 100644
+--- a/src/libinput-private.h
++++ b/src/libinput-private.h
+@@ -81,15 +81,15 @@ typedef void (*libinput_source_dispatch_t)(void *data);
+ 
+ struct libinput_source;
+ 
+-#define log_debug(...) log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
+-#define log_info(...) log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
+-#define log_error(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
+-#define log_bug_kernel(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
+-#define log_bug_libinput(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
+-#define log_bug_client(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
++#define log_debug(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
++#define log_info(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
++#define log_error(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
++#define log_bug_kernel(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
++#define log_bug_libinput(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
++#define log_bug_client(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
+ 
+ void
+-log_msg(enum libinput_log_priority priority, const char *format, ...);
++libinput_log_msg(enum libinput_log_priority priority, const char *format, ...);
+ 
+ int
+ libinput_init(struct libinput *libinput,
+diff --git a/src/libinput.c b/src/libinput.c
+index eec9efb..4e3f6fa 100644
+--- a/src/libinput.c
++++ b/src/libinput.c
+@@ -110,7 +110,7 @@ static struct log_data log_data = {
+ };
+ 
+ void
+-log_msg(enum libinput_log_priority priority, const char *format, ...)
++libinput_log_msg(enum libinput_log_priority priority, const char *format, ...)
+ {
+ 	va_list args;
+ 
+-- 
+1.9.3
+
-- 
1.9.3

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

* [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc
  2014-08-24 16:53 [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Romain Naour
  2014-08-24 16:53 ` [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev Romain Naour
@ 2014-08-24 16:53 ` Romain Naour
  2014-08-25 21:03   ` Thomas Petazzoni
  2014-08-25 18:08 ` [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Thomas Petazzoni
  2 siblings, 1 reply; 10+ messages in thread
From: Romain Naour @ 2014-08-24 16:53 UTC (permalink / raw)
  To: buildroot

With uClibc the dynamic linking loader functions needs
to be linked with -ldl

Fixes:
http://autobuild.buildroot.net/results/6af/6af140618b274536238b062635d493709905c8f6/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/libarchive/libarchive.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk
index 8c6951d..ce3355c 100644
--- a/package/libarchive/libarchive.mk
+++ b/package/libarchive/libarchive.mk
@@ -68,4 +68,8 @@ else
 LIBARCHIVE_CONF_OPT += --without-zlib
 endif
 
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+LIBARCHIVE_CONF_ENV += LIBS="-ldl"
+endif
+
 $(eval $(autotools-package))
-- 
1.9.3

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

* [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib
  2014-08-24 16:53 [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Romain Naour
  2014-08-24 16:53 ` [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev Romain Naour
  2014-08-24 16:53 ` [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc Romain Naour
@ 2014-08-25 18:08 ` Thomas Petazzoni
  2 siblings, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2014-08-25 18:08 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sun, 24 Aug 2014 18:53:04 +0200, Romain Naour wrote:
> Fixes:
> http://autobuild.buildroot.net/results/5d4/5d41cec63a15dc5f31460c8cecd6054119ddb1fc/build-end.log
> 
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/efl/libevas-generic-loaders/Config.in                  | 1 +
>  package/efl/libevas-generic-loaders/libevas-generic-loaders.mk | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev
  2014-08-24 16:53 ` [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev Romain Naour
@ 2014-08-25 18:12   ` Thomas Petazzoni
  2014-08-25 21:01     ` Romain Naour
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2014-08-25 18:12 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sun, 24 Aug 2014 18:53:05 +0200, Romain Naour wrote:
> libevdev and libinput use the same function name (log_msg).
> An easy fix is to rename one of the two functions.
> 
> Fixes:
> http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log
> 
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch

Committed, but please submit upstream.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev
  2014-08-25 18:12   ` Thomas Petazzoni
@ 2014-08-25 21:01     ` Romain Naour
  2014-08-26  9:13       ` Vicente Olivert Riera
  0 siblings, 1 reply; 10+ messages in thread
From: Romain Naour @ 2014-08-25 21:01 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 25/08/2014 20:12, Thomas Petazzoni a ?crit :
> Dear Romain Naour,
> 
> On Sun, 24 Aug 2014 18:53:05 +0200, Romain Naour wrote:
>> libevdev and libinput use the same function name (log_msg).
>> An easy fix is to rename one of the two functions.
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log
>>
>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>> ---
>>  ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
>>  1 file changed, 58 insertions(+)
>>  create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch
> 
> Committed, but please submit upstream.
> 

I'll do.

Best regards,
Romain

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

* [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc
  2014-08-24 16:53 ` [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc Romain Naour
@ 2014-08-25 21:03   ` Thomas Petazzoni
  2014-08-28 21:50     ` Romain Naour
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2014-08-25 21:03 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sun, 24 Aug 2014 18:53:06 +0200, Romain Naour wrote:
> With uClibc the dynamic linking loader functions needs
> to be linked with -ldl
> 
> Fixes:
> http://autobuild.buildroot.net/results/6af/6af140618b274536238b062635d493709905c8f6/build-end.log
> 
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/libarchive/libarchive.mk | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk
> index 8c6951d..ce3355c 100644
> --- a/package/libarchive/libarchive.mk
> +++ b/package/libarchive/libarchive.mk
> @@ -68,4 +68,8 @@ else
>  LIBARCHIVE_CONF_OPT += --without-zlib
>  endif
>  
> +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
> +LIBARCHIVE_CONF_ENV += LIBS="-ldl"
> +endif
> +
>  $(eval $(autotools-package))

I don't think this is the right fix, for several reasons:

 *) The problem only occurs due to the fact that bsdcpio and bsdtar are
    by default linked statically. When BR2_PREFER_STATIC_LIB is
    disabled, we should pass --enable-bsdtar=shared and
    --enable-bsdcpio=shared to ensure they are dynamically linked. This
    fixes the problem in the dynamic linking case.

 *) The problem is caused by the dependency of OpenSSL on libdl. So
    there is no need to always link against libdl: it should only be
    done when BR2_PREFER_STATIC_LIB=y and OpenSSL is enabled.

 *) I don't see why the problem would be uClibc specific.

Generally speaking, it's annoying to have to teach all packages
using OpenSSL that they should link against -ldl when doing static
linking. It would be so much better if everyone was using pkg-config...

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev
  2014-08-25 21:01     ` Romain Naour
@ 2014-08-26  9:13       ` Vicente Olivert Riera
  2014-08-28 21:31         ` Romain Naour
  0 siblings, 1 reply; 10+ messages in thread
From: Vicente Olivert Riera @ 2014-08-26  9:13 UTC (permalink / raw)
  To: buildroot

On 08/25/2014 10:01 PM, Romain Naour wrote:
> Hi Thomas,
>
> Le 25/08/2014 20:12, Thomas Petazzoni a ?crit :
>> Dear Romain Naour,
>>
>> On Sun, 24 Aug 2014 18:53:05 +0200, Romain Naour wrote:
>>> libevdev and libinput use the same function name (log_msg).
>>> An easy fix is to rename one of the two functions.
>>>
>>> Fixes:
>>> http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log
>>>
>>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>>> ---
>>>   ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
>>>   1 file changed, 58 insertions(+)
>>>   create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch
>>
>> Committed, but please submit upstream.
>>
>
> I'll do.
>
> Best regards,
> Romain
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>

Some changes to fix this kind of issues have been applied upstream. 
Please have a look to:

https://bugs.freedesktop.org/show_bug.cgi?id=82292

Maybe it's worth to do a version bump and check if that new patch is no 
longer necessary.

-- 
Vincent

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

* [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev
  2014-08-26  9:13       ` Vicente Olivert Riera
@ 2014-08-28 21:31         ` Romain Naour
  0 siblings, 0 replies; 10+ messages in thread
From: Romain Naour @ 2014-08-28 21:31 UTC (permalink / raw)
  To: buildroot

Hi Vicente,

Le 26/08/2014 11:13, Vicente Olivert Riera a ?crit :
> On 08/25/2014 10:01 PM, Romain Naour wrote:
>> Hi Thomas,
>>
>> Le 25/08/2014 20:12, Thomas Petazzoni a ?crit :
>>> Dear Romain Naour,
>>>
>>> On Sun, 24 Aug 2014 18:53:05 +0200, Romain Naour wrote:
>>>> libevdev and libinput use the same function name (log_msg).
>>>> An easy fix is to rename one of the two functions.
>>>>
>>>> Fixes:
>>>> http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log
>>>>
>>>>
>>>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>>>> ---
>>>>   ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58
>>>> ++++++++++++++++++++++
>>>>   1 file changed, 58 insertions(+)
>>>>   create mode 100644
>>>> package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch
>>>
>>> Committed, but please submit upstream.
>>>
>>
>> I'll do.
>>
>> Best regards,
>> Romain
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>>
> 
> Some changes to fix this kind of issues have been applied upstream. Please have
> a look to:
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=82292

Thanks for the link !

I should have looked at the latest commits...

> 
> Maybe it's worth to do a version bump and check if that new patch is no longer
> necessary.
> 

Yes, I reverted my commit and I built libinput-0.3.0 using a backported version
of this patch:
http://lists.freedesktop.org/archives/wayland-devel/2014-August/016599.html

Also, libevdev has renamed the functions log_msg to _libevdev_log_msg.
So, the issue will be fixed without my patch in the next version bump of
libevdev or libinput.

Best regards,
Romain

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

* [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc
  2014-08-25 21:03   ` Thomas Petazzoni
@ 2014-08-28 21:50     ` Romain Naour
  0 siblings, 0 replies; 10+ messages in thread
From: Romain Naour @ 2014-08-28 21:50 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 25/08/2014 23:03, Thomas Petazzoni a ?crit :
> Dear Romain Naour,
> 
> On Sun, 24 Aug 2014 18:53:06 +0200, Romain Naour wrote:
>> With uClibc the dynamic linking loader functions needs
>> to be linked with -ldl
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/6af/6af140618b274536238b062635d493709905c8f6/build-end.log
>>
>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>> ---
>>  package/libarchive/libarchive.mk | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk
>> index 8c6951d..ce3355c 100644
>> --- a/package/libarchive/libarchive.mk
>> +++ b/package/libarchive/libarchive.mk
>> @@ -68,4 +68,8 @@ else
>>  LIBARCHIVE_CONF_OPT += --without-zlib
>>  endif
>>  
>> +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
>> +LIBARCHIVE_CONF_ENV += LIBS="-ldl"
>> +endif
>> +
>>  $(eval $(autotools-package))
> 
> I don't think this is the right fix, for several reasons:
> 
>  *) The problem only occurs due to the fact that bsdcpio and bsdtar are
>     by default linked statically. When BR2_PREFER_STATIC_LIB is
>     disabled, we should pass --enable-bsdtar=shared and
>     --enable-bsdcpio=shared to ensure they are dynamically linked. This
>     fixes the problem in the dynamic linking case.
> 
>  *) The problem is caused by the dependency of OpenSSL on libdl. So
>     there is no need to always link against libdl: it should only be
>     done when BR2_PREFER_STATIC_LIB=y and OpenSSL is enabled.
> 
>  *) I don't see why the problem would be uClibc specific.
> 
> Generally speaking, it's annoying to have to teach all packages
> using OpenSSL that they should link against -ldl when doing static
> linking. It would be so much better if everyone was using pkg-config...
> 

Ok, I misunderstood the problem, thanks for your explanations.
I'll try to fix this issue before the release.

Best regards,
Romain

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

end of thread, other threads:[~2014-08-28 21:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-24 16:53 [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Romain Naour
2014-08-24 16:53 ` [Buildroot] [PATCH 2/3] package/libinput: fix build with libevdev Romain Naour
2014-08-25 18:12   ` Thomas Petazzoni
2014-08-25 21:01     ` Romain Naour
2014-08-26  9:13       ` Vicente Olivert Riera
2014-08-28 21:31         ` Romain Naour
2014-08-24 16:53 ` [Buildroot] [PATCH 3/3] package/libarchive: fix linking issue with uClibc Romain Naour
2014-08-25 21:03   ` Thomas Petazzoni
2014-08-28 21:50     ` Romain Naour
2014-08-25 18:08 ` [Buildroot] [PATCH 1/3] package/libevas-generic-loaders: needs zlib Thomas Petazzoni

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.