All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH/next 1/3] package/perl-crypt-openssl-guess: new package
@ 2018-08-19 18:15 Bernd Kuhls
  2018-08-19 18:15 ` [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15 Bernd Kuhls
  2018-08-19 18:15 ` [Buildroot] [PATCH/next 3/3] package/perl-crypt-openssl-rsa: bump version to 0.30 Bernd Kuhls
  0 siblings, 2 replies; 7+ messages in thread
From: Bernd Kuhls @ 2018-08-19 18:15 UTC (permalink / raw)
  To: buildroot

Needed for upcoming version bumps of perl-crypt-openssl-random and
perl-crypt-openssl-rsa.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 DEVELOPERS                                          |  1 +
 package/Config.in                                   |  1 +
 package/perl-crypt-openssl-guess/Config.in          |  6 ++++++
 .../perl-crypt-openssl-guess.hash                   |  6 ++++++
 .../perl-crypt-openssl-guess.mk                     | 13 +++++++++++++
 5 files changed, 27 insertions(+)
 create mode 100644 package/perl-crypt-openssl-guess/Config.in
 create mode 100644 package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash
 create mode 100644 package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index d1bfc98360..f65c688c21 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -330,6 +330,7 @@ F:	package/libyuv/
 F:	package/mesa3d/
 F:	package/minidlna/
 F:	package/mjpg-streamer/
+F:	package/perl-crypt-openssl-guess/
 F:	package/perl-crypt-openssl-random/
 F:	package/perl-crypt-openssl-rsa/
 F:	package/perl-digest-sha1/
diff --git a/package/Config.in b/package/Config.in
index 9b6e5b0250..6ca3259918 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -671,6 +671,7 @@ menu "Perl libraries/modules"
 	source "package/perl-convert-asn1/Config.in"
 	source "package/perl-crypt-blowfish/Config.in"
 	source "package/perl-crypt-cbc/Config.in"
+	source "package/perl-crypt-openssl-guess/Config.in"
 	source "package/perl-crypt-openssl-random/Config.in"
 	source "package/perl-crypt-openssl-rsa/Config.in"
 	source "package/perl-data-optlist/Config.in"
diff --git a/package/perl-crypt-openssl-guess/Config.in b/package/perl-crypt-openssl-guess/Config.in
new file mode 100644
index 0000000000..6527609d37
--- /dev/null
+++ b/package/perl-crypt-openssl-guess/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PERL_CRYPT_OPENSSL_GUESS
+	bool "perl-crypt-openssl-guess"
+	help
+	  Guess OpenSSL include path
+
+	  https://metacpan.org/pod/Crypt::OpenSSL::Guess
diff --git a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash
new file mode 100644
index 0000000000..327b06900a
--- /dev/null
+++ b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash
@@ -0,0 +1,6 @@
+# retrieved by scancpan from http://cpan.metacpan.org/
+md5    e768fe2c07826b0ac9ea604c79f93032 Crypt-OpenSSL-Guess-0.11.tar.gz
+sha256 aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167 Crypt-OpenSSL-Guess-0.11.tar.gz
+
+# computed by scancpan
+sha256 5c739f181ce7aa31d739277996ff230067dad39332e5597c0dffd36e5d784072 LICENSE
diff --git a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk
new file mode 100644
index 0000000000..7a1a82014c
--- /dev/null
+++ b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# perl-crypt-openssl-guess
+#
+################################################################################
+
+PERL_CRYPT_OPENSSL_GUESS_VERSION = 0.11
+PERL_CRYPT_OPENSSL_GUESS_SOURCE = Crypt-OpenSSL-Guess-$(PERL_CRYPT_OPENSSL_GUESS_VERSION).tar.gz
+PERL_CRYPT_OPENSSL_GUESS_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AK/AKIYM
+PERL_CRYPT_OPENSSL_GUESS_LICENSE = Artistic or GPL-1.0+
+PERL_CRYPT_OPENSSL_GUESS_LICENSE_FILES = LICENSE
+
+$(eval $(perl-package))
-- 
2.18.0

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

* [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15
  2018-08-19 18:15 [Buildroot] [PATCH/next 1/3] package/perl-crypt-openssl-guess: new package Bernd Kuhls
@ 2018-08-19 18:15 ` Bernd Kuhls
  2018-08-19 21:15   ` Thomas Petazzoni
  2018-08-19 18:15 ` [Buildroot] [PATCH/next 3/3] package/perl-crypt-openssl-rsa: bump version to 0.30 Bernd Kuhls
  1 sibling, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2018-08-19 18:15 UTC (permalink / raw)
  To: buildroot

Changelog:
https://metacpan.org/changes/distribution/Crypt-OpenSSL-Random

Added new build dependency to perl-crypt-openssl-guess and force it to
search for openssl in STAGING_DIR. Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/perl-crypt-openssl-random/Config.in            |  1 +
 .../perl-crypt-openssl-random.hash                     |  7 +++++--
 .../perl-crypt-openssl-random.mk                       | 10 ++++++++--
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/package/perl-crypt-openssl-random/Config.in b/package/perl-crypt-openssl-random/Config.in
index 2ceb78dfd6..de474c13d5 100644
--- a/package/perl-crypt-openssl-random/Config.in
+++ b/package/perl-crypt-openssl-random/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM
 	bool "perl-crypt-openssl-random"
 	depends on !BR2_STATIC_LIBS
 	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_PERL_CRYPT_OPENSSL_GUESS
 	help
 	  OpenSSL/LibreSSL pseudo-random number generator access
 
diff --git a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash
index caacdc9015..57677e3445 100644
--- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash
+++ b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash
@@ -1,3 +1,6 @@
 # retrieved by scancpan from http://cpan.metacpan.org/
-md5    5d71337503e0356ce1ce1481504e5885 Crypt-OpenSSL-Random-0.11.tar.gz
-sha256 bb8c81c6a39b9b13a22d818ee9a746242f136f0fadceb6b9776ae615e7524c7a Crypt-OpenSSL-Random-0.11.tar.gz
+md5    bcde8d5a822c91376deda3c4f0c75fbe Crypt-OpenSSL-Random-0.15.tar.gz
+sha256 f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4 Crypt-OpenSSL-Random-0.15.tar.gz
+
+# computed by scancpan
+sha256 fdaba2134145d3e252c5930180b2bcb13b5367ad5a8713d6868f014cd25c496f LICENSE
diff --git a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk
index de029e9af0..775a0ab2c5 100644
--- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk
+++ b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk
@@ -4,11 +4,17 @@
 #
 ################################################################################
 
-PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.11
+PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.15
 PERL_CRYPT_OPENSSL_RANDOM_SOURCE = Crypt-OpenSSL-Random-$(PERL_CRYPT_OPENSSL_RANDOM_VERSION).tar.gz
 PERL_CRYPT_OPENSSL_RANDOM_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN
-PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = openssl
+PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = \
+	perl-crypt-openssl-guess \
+	openssl
 PERL_CRYPT_OPENSSL_RANDOM_LICENSE = Artistic or GPL-1.0+
 PERL_CRYPT_OPENSSL_RANDOM_LICENSE_FILES = LICENSE
 
+# Try as hard as possible to remedy to the brain-damage their build-system
+# suffers from: don't search for openssl, they pick the host-system one.
+PERL_CRYPT_OPENSSL_RANDOM_CONF_ENV = OPENSSL_PREFIX=$(STAGING_DIR)/usr
+
 $(eval $(perl-package))
-- 
2.18.0

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

* [Buildroot] [PATCH/next 3/3] package/perl-crypt-openssl-rsa: bump version to 0.30
  2018-08-19 18:15 [Buildroot] [PATCH/next 1/3] package/perl-crypt-openssl-guess: new package Bernd Kuhls
  2018-08-19 18:15 ` [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15 Bernd Kuhls
@ 2018-08-19 18:15 ` Bernd Kuhls
  1 sibling, 0 replies; 7+ messages in thread
From: Bernd Kuhls @ 2018-08-19 18:15 UTC (permalink / raw)
  To: buildroot

Changelog:
https://metacpan.org/changes/distribution/Crypt-OpenSSL-RSA

Added new build dependency to perl-crypt-openssl-guess and force it to
search for openssl in STAGING_DIR. Added license hash. Updated _SITE
according to scancpan.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/perl-crypt-openssl-rsa/Config.in             |  1 +
 .../perl-crypt-openssl-rsa.hash                      |  7 +++++--
 .../perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk | 12 +++++++++---
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/package/perl-crypt-openssl-rsa/Config.in b/package/perl-crypt-openssl-rsa/Config.in
index 1fa1fd9881..4d33284f0a 100644
--- a/package/perl-crypt-openssl-rsa/Config.in
+++ b/package/perl-crypt-openssl-rsa/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PERL_CRYPT_OPENSSL_RSA
 	bool "perl-crypt-openssl-rsa"
 	depends on !BR2_STATIC_LIBS
+	select BR2_PACKAGE_PERL_CRYPT_OPENSSL_GUESS
 	select BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM
 	help
 	  RSA encoding and decoding, using the openSSL libraries
diff --git a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash
index 6e060ce672..0d101d7bb8 100644
--- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash
+++ b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash
@@ -1,3 +1,6 @@
 # retrieved by scancpan from http://cpan.metacpan.org/
-md5    86217a5036fc63779c30420b5fd84129 Crypt-OpenSSL-RSA-0.28.tar.gz
-sha256 5357f977464bb3a8184cf2d3341851a10d5515b4b2b0dfb88bf78995c0ded7be Crypt-OpenSSL-RSA-0.28.tar.gz
+md5    10bca2fc6d0ba1aa329f227424ae87d5 Crypt-OpenSSL-RSA-0.30.tar.gz
+sha256 23e13531397af102db4fd24bcf70137add7c85c23cca697c43aa71c2959a29ac Crypt-OpenSSL-RSA-0.30.tar.gz
+
+# computed by scancpan
+sha256 8a693ad3f52daeeb5ac5deceb1e1109c9c87095ed5ba6506d6d5c106e4066f5a LICENSE
diff --git a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk
index b853d9953e..118ee66a5e 100644
--- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk
+++ b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk
@@ -4,11 +4,17 @@
 #
 ################################################################################
 
-PERL_CRYPT_OPENSSL_RSA_VERSION = 0.28
+PERL_CRYPT_OPENSSL_RSA_VERSION = 0.30
 PERL_CRYPT_OPENSSL_RSA_SOURCE = Crypt-OpenSSL-RSA-$(PERL_CRYPT_OPENSSL_RSA_VERSION).tar.gz
-PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PERLER
-PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = perl-crypt-openssl-random
+PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR
+PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = \
+	perl-crypt-openssl-guess \
+	perl-crypt-openssl-random
 PERL_CRYPT_OPENSSL_RSA_LICENSE = Artistic or GPL-1.0+
 PERL_CRYPT_OPENSSL_RSA_LICENSE_FILES = LICENSE
 
+# Try as hard as possible to remedy to the brain-damage their build-system
+# suffers from: don't search for openssl, they pick the host-system one.
+PERL_CRYPT_OPENSSL_RSA_CONF_ENV = OPENSSL_PREFIX=$(STAGING_DIR)/usr
+
 $(eval $(perl-package))
-- 
2.18.0

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

* [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15
  2018-08-19 18:15 ` [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15 Bernd Kuhls
@ 2018-08-19 21:15   ` Thomas Petazzoni
  2018-08-19 21:25     ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2018-08-19 21:15 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 19 Aug 2018 20:15:57 +0200, Bernd Kuhls wrote:

> -PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.11
> +PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.15
>  PERL_CRYPT_OPENSSL_RANDOM_SOURCE = Crypt-OpenSSL-Random-$(PERL_CRYPT_OPENSSL_RANDOM_VERSION).tar.gz
>  PERL_CRYPT_OPENSSL_RANDOM_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN
> -PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = openssl
> +PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = \
> +	perl-crypt-openssl-guess \
> +	openssl
>  PERL_CRYPT_OPENSSL_RANDOM_LICENSE = Artistic or GPL-1.0+
>  PERL_CRYPT_OPENSSL_RANDOM_LICENSE_FILES = LICENSE
>  
> +# Try as hard as possible to remedy to the brain-damage their build-system
> +# suffers from: don't search for openssl, they pick the host-system one.
> +PERL_CRYPT_OPENSSL_RANDOM_CONF_ENV = OPENSSL_PREFIX=$(STAGING_DIR)/usr

So, there's a new dependency on a module that helps guessing the path
to OpenSSL library/headers, but you nonetheless have to force where
they are located ? Seems strange :-)

Perhaps those Perl people should learn about pkg-config rather than:

    my @guesses = (
        '/home/linuxbrew/.linuxbrew/opt/openssl/bin/openssl' => '/home/linuxbrew/.linuxbrew/opt/openssl', # LinuxBrew openssl
        '/usr/local/opt/openssl/bin/openssl' => '/usr/local/opt/openssl', # OSX homebrew openssl
        '/usr/local/bin/openssl'         => '/usr/local', # OSX homebrew openssl
        '/opt/local/bin/openssl'         => '/opt/local', # Macports openssl
        '/usr/bin/openssl'               => '/usr',
        '/usr/sbin/openssl'              => '/usr',
        '/opt/ssl/bin/openssl'           => '/opt/ssl',
        '/opt/ssl/sbin/openssl'          => '/opt/ssl',
        '/usr/local/ssl/bin/openssl'     => '/usr/local/ssl',
        '/usr/local/openssl/bin/openssl' => '/usr/local/openssl',
        '/apps/openssl/std/bin/openssl'  => '/apps/openssl/std',
        '/usr/sfw/bin/openssl'           => '/usr/sfw', # Open Solaris
        'C:\OpenSSL\bin\openssl.exe'     => 'C:\OpenSSL',
        'C:\OpenSSL-Win32\bin\openssl.exe'        => 'C:\OpenSSL-Win32',
        $Config{prefix} . '\bin\openssl.exe'      => $Config{prefix},           # strawberry perl
        $Config{prefix} . '\..\c\bin\openssl.exe' => $Config{prefix} . '\..\c', # strawberry perl
        '/sslexe/openssl.exe'            => '/sslroot',  # VMS, openssl.org
        '/ssl$exe/openssl.exe'           => '/ssl$root', # VMS, HP install
    );

but oh well...

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15
  2018-08-19 21:15   ` Thomas Petazzoni
@ 2018-08-19 21:25     ` Thomas Petazzoni
  2018-08-21 21:00       ` Bernd Kuhls
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2018-08-19 21:25 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 19 Aug 2018 23:15:57 +0200, Thomas Petazzoni wrote:

> So, there's a new dependency on a module that helps guessing the path
> to OpenSSL library/headers, but you nonetheless have to force where
> they are located ? Seems strange :-)

In fact, more serious question: figuring out the path to OpenSSL
libs/headers is something that is needed at build time. But you're
adding perl-crypt-openssl-guess as a target package. I don't understand
how it makes sense. Could you clarify ?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15
  2018-08-19 21:25     ` Thomas Petazzoni
@ 2018-08-21 21:00       ` Bernd Kuhls
  2018-08-21 21:43         ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2018-08-21 21:00 UTC (permalink / raw)
  To: buildroot

Am Sun, 19 Aug 2018 23:25:23 +0200 schrieb Thomas Petazzoni:

> In fact, more serious question: figuring out the path to OpenSSL
> libs/headers is something that is needed at build time. But you're
> adding perl-crypt-openssl-guess as a target package. I don't understand
> how it makes sense. Could you clarify ?

Hi Thomas,

I did not forget about answering your question, was just busy with the 
security bump for libX11 ;)

In fact you were right about that only the host package is needed.
I guess during the build tests I mixed up the target and host versions, 
first I used the target package, which caused an error in the other 
packages, then I tried the host package, which was broken as well (but I 
kept its files in the host install of perl), then switched back to the 
target package, still broken, and at last I added the "OPENSSL_PREFIX=" 
hack to the target package which, together with the still installed host 
files, produced working builds of perl-crypt-openssl-{random, rsa}. But I 
did not notice that really the host files were, together with the hack, 
were responsible for the sucessful build.

Sorry for the confusion ;)

Regards, Bernd

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

* [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15
  2018-08-21 21:00       ` Bernd Kuhls
@ 2018-08-21 21:43         ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2018-08-21 21:43 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 21 Aug 2018 23:00:13 +0200, Bernd Kuhls wrote:

> I did not forget about answering your question, was just busy with the 
> security bump for libX11 ;)

Hehe, OK :-)

> In fact you were right about that only the host package is needed.
> I guess during the build tests I mixed up the target and host versions, 
> first I used the target package, which caused an error in the other 
> packages, then I tried the host package, which was broken as well (but I 
> kept its files in the host install of perl), then switched back to the 
> target package, still broken, and at last I added the "OPENSSL_PREFIX=" 
> hack to the target package which, together with the still installed host 
> files, produced working builds of perl-crypt-openssl-{random, rsa}. But I 
> did not notice that really the host files were, together with the hack, 
> were responsible for the sucessful build.

OK, thanks for the additional explanation, makes sense. I'll give it a
test build.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2018-08-21 21:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-19 18:15 [Buildroot] [PATCH/next 1/3] package/perl-crypt-openssl-guess: new package Bernd Kuhls
2018-08-19 18:15 ` [Buildroot] [PATCH/next 2/3] package/perl-crypt-openssl-random: bump version to 0.15 Bernd Kuhls
2018-08-19 21:15   ` Thomas Petazzoni
2018-08-19 21:25     ` Thomas Petazzoni
2018-08-21 21:00       ` Bernd Kuhls
2018-08-21 21:43         ` Thomas Petazzoni
2018-08-19 18:15 ` [Buildroot] [PATCH/next 3/3] package/perl-crypt-openssl-rsa: bump version to 0.30 Bernd Kuhls

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.