Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures
@ 2013-08-07 17:34 Thomas De Schampheleire
  2013-08-07 17:34 ` [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf Thomas De Schampheleire
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Thomas De Schampheleire @ 2013-08-07 17:34 UTC (permalink / raw)
  To: buildroot

strongswan suffers from several autobuild failures. This series addresses
one of them: 'no rule to make target libtls.la'. While looking at it, I also
saw a missing host-pkgconf dependency, although I did not see this in any of
the autobuilds I checked.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 package/strongswan/strongswan-0001-force-tls-when-needed.patch |  72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 package/strongswan/strongswan.mk                               |   9 +++++++++
 2 files changed, 81 insertions(+), 0 deletions(-)

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

* [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf
  2013-08-07 17:34 [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas De Schampheleire
@ 2013-08-07 17:34 ` Thomas De Schampheleire
  2013-08-08  7:03   ` Jérôme Pouiller
  2013-08-07 17:34 ` [Buildroot] [PATCH 2 of 2] strongswan: fix build error 'no rule to make target libtls.la' Thomas De Schampheleire
  2013-08-10 19:28 ` [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas Petazzoni
  2 siblings, 1 reply; 6+ messages in thread
From: Thomas De Schampheleire @ 2013-08-07 17:34 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk
--- a/package/strongswan/strongswan.mk
+++ b/package/strongswan/strongswan.mk
@@ -9,6 +9,7 @@ STRONGSWAN_SOURCE = strongswan-$(STRONGS
 STRONGSWAN_SITE = http://download.strongswan.org
 STRONGSWAN_LICENSE = GPLv2+
 STRONGSWAN_LICENSE_FILES = COPYING LICENSE
+STRONGSWAN_DEPENDENCIES = host-pkgconf
 STRONGSWAN_CONF_OPT +=                                                             \
       --enable-pkcs11=yes                                                          \
       --enable-kernel-netlink=$(if $(BR2_INET_IPV6),yes,no)                        \

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

* [Buildroot] [PATCH 2 of 2] strongswan: fix build error 'no rule to make target libtls.la'
  2013-08-07 17:34 [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas De Schampheleire
  2013-08-07 17:34 ` [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf Thomas De Schampheleire
@ 2013-08-07 17:34 ` Thomas De Schampheleire
  2013-08-08  7:55   ` Jérôme Pouiller
  2013-08-10 19:28 ` [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas Petazzoni
  2 siblings, 1 reply; 6+ messages in thread
From: Thomas De Schampheleire @ 2013-08-07 17:34 UTC (permalink / raw)
  To: buildroot

In some strongswan configurations, an implicit dependency could be missing.
This commit patches strongswan to force this dependency when needed.

Fixes several autobuild failures, like:
http://autobuild.buildroot.net/results/643f5b33973d5b12ffe6d84254bf3be9ed81d0ad/
http://autobuild.buildroot.net/results/24bcdcb83119e416c92458fa9ff2f5269957a743/

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 package/strongswan/strongswan-0001-force-tls-when-needed.patch |  72 +++++++++++
 package/strongswan/strongswan.mk                               |   8 +
 2 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/package/strongswan/strongswan-0001-force-tls-when-needed.patch b/package/strongswan/strongswan-0001-force-tls-when-needed.patch
new file mode 100644
--- /dev/null
+++ b/package/strongswan/strongswan-0001-force-tls-when-needed.patch
@@ -0,0 +1,72 @@
+Force libtls when libpttls is enabled
+
+The libpttls library expects libtls.la to be present:
+libpttls_la_LIBADD = $(top_builddir)/src/libtls/libtls.la
+but there is no expressed dependency between them. Therefore, it is possible to
+create a configuration where libpttls is enabled and libtls is not, causing a
+build failure:
+
+make[4]: *** No rule to make target `../../src/libtls/libtls.la', needed by `libpttls.la'.  Stop.
+
+libpttls is enabled through USE_PTTLS, set when tnc_tnccs == true.
+  tnc_tnccs is true when any of tnc-imc, tnc_imv, tnccs_11, tnccs_dynamic or eap_tnc is true.
+
+libtls is enabled through USE_TLS, set when tls == true.
+  tls is true when any of eap_tls, eap_ttls or eap_peap is true.
+
+This patch forces tls to true, when tnc_tnccs is true, so that the required libtls.la dependency
+is built before it is used by libpttls.
+
+Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
+Upstream-status: will be submitted
+
+diff --git a/configure b/configure
+--- a/configure
++++ b/configure
+@@ -15900,10 +15900,6 @@ if test x$eap_sim = xtrue; then
+ 	simaka=true;
+ fi
+ 
+-if test x$eap_tls = xtrue -o x$eap_ttls = xtrue -o x$eap_peap = xtrue; then
+-	tls=true;
+-fi
+-
+ if test x$eap_radius = xtrue -o x$radattr = xtrue -o x$tnc_pdp = xtrue; then
+ 	radius=true;
+ fi
+@@ -15912,6 +15908,10 @@ if test x$tnc_imc = xtrue -o x$tnc_imv =
+ 	tnc_tnccs=true;
+ fi
+ 
++if test x$eap_tls = xtrue -o x$eap_ttls = xtrue -o x$eap_peap = xtrue -o x$tnc_tnccs = xtrue; then
++	tls=true;
++fi
++
+ if test x$imc_test = xtrue -o x$imv_test = xtrue -o x$imc_scanner = xtrue -o x$imv_scanner = xtrue -o x$imc_os = xtrue -o x$imv_os = xtrue -o x$imc_attestation = xtrue -o x$imv_attestation = xtrue; then
+ 	imcv=true;
+ fi
+diff --git a/configure.in b/configure.in
+--- a/configure.in
++++ b/configure.in
+@@ -313,10 +313,6 @@ if test x$eap_sim = xtrue; then
+ 	simaka=true;
+ fi
+ 
+-if test x$eap_tls = xtrue -o x$eap_ttls = xtrue -o x$eap_peap = xtrue; then
+-	tls=true;
+-fi
+-
+ if test x$eap_radius = xtrue -o x$radattr = xtrue -o x$tnc_pdp = xtrue; then
+ 	radius=true;
+ fi
+@@ -325,6 +321,10 @@ if test x$tnc_imc = xtrue -o x$tnc_imv =
+ 	tnc_tnccs=true;
+ fi
+ 
++if test x$eap_tls = xtrue -o x$eap_ttls = xtrue -o x$eap_peap = xtrue -o x$tnc_tnccs = xtrue; then
++	tls=true;
++fi
++
+ if test x$imc_test = xtrue -o x$imv_test = xtrue -o x$imc_scanner = xtrue -o x$imv_scanner = xtrue -o x$imc_os = xtrue -o x$imv_os = xtrue -o x$imc_attestation = xtrue -o x$imv_attestation = xtrue; then
+ 	imcv=true;
+ fi
diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk
--- a/package/strongswan/strongswan.mk
+++ b/package/strongswan/strongswan.mk
@@ -66,4 +66,12 @@ STRONGSWAN_DEPENDENCIES +=              
       $(if $(BR2_PACKAGE_MYSQL_CLIENT),mysql_client)
 endif
 
+# Strongswan uses AC_LIB_PREFIX, which is relatively new.
+# Avoid make to try reconfiguring due to timestamp changes,
+# after patching configure{,.in}.
+define STRONGSWAN_AVOID_RECONF_HOOK
+	touch $(@D)/aclocal.m4
+endef
+STRONGSWAN_POST_PATCH_HOOKS += STRONGSWAN_AVOID_RECONF_HOOK
+
 $(eval $(autotools-package))

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

* [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf
  2013-08-07 17:34 ` [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf Thomas De Schampheleire
@ 2013-08-08  7:03   ` Jérôme Pouiller
  0 siblings, 0 replies; 6+ messages in thread
From: Jérôme Pouiller @ 2013-08-08  7:03 UTC (permalink / raw)
  To: buildroot

On 2013-08-07 19:34, Thomas De Schampheleire wrote:
> Signed-off-by: Thomas De Schampheleire 
> <thomas.de.schampheleire@gmail.com>
>
> diff --git a/package/strongswan/strongswan.mk 
> b/package/strongswan/strongswan.mk
> --- a/package/strongswan/strongswan.mk
> +++ b/package/strongswan/strongswan.mk
> @@ -9,6 +9,7 @@ STRONGSWAN_SOURCE = strongswan-$(STRONGS
>  STRONGSWAN_SITE = http://download.strongswan.org
>  STRONGSWAN_LICENSE = GPLv2+
>  STRONGSWAN_LICENSE_FILES = COPYING LICENSE
> +STRONGSWAN_DEPENDENCIES = host-pkgconf
>  STRONGSWAN_CONF_OPT +=                                               
>              \
>        --enable-pkcs11=yes                                            
>              \
>        --enable-kernel-netlink=$(if $(BR2_INET_IPV6),yes,no)          
>              \

Tested-by: J?r?me Pouiller <jezz@sysmic.org>

-- 
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr

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

* [Buildroot] [PATCH 2 of 2] strongswan: fix build error 'no rule to make target libtls.la'
  2013-08-07 17:34 ` [Buildroot] [PATCH 2 of 2] strongswan: fix build error 'no rule to make target libtls.la' Thomas De Schampheleire
@ 2013-08-08  7:55   ` Jérôme Pouiller
  0 siblings, 0 replies; 6+ messages in thread
From: Jérôme Pouiller @ 2013-08-08  7:55 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On 2013-08-07 19:34, Thomas De Schampheleire wrote:
> In some strongswan configurations, an implicit dependency could be 
> missing.
> This commit patches strongswan to force this dependency when needed.
>
> Fixes several autobuild failures, like:
> 
> http://autobuild.buildroot.net/results/643f5b33973d5b12ffe6d84254bf3be9ed81d0ad/
> 
> http://autobuild.buildroot.net/results/24bcdcb83119e416c92458fa9ff2f5269957a743/
>
> Signed-off-by: Thomas De Schampheleire 
> <thomas.de.schampheleire@gmail.com>
>
> ---
>  package/strongswan/strongswan-0001-force-tls-when-needed.patch |  72 
> +++++++++++
>  package/strongswan/strongswan.mk                               |   8 
> +
>  2 files changed, 80 insertions(+), 0 deletions(-)
>
> diff --git
> a/package/strongswan/strongswan-0001-force-tls-when-needed.patch
> b/package/strongswan/strongswan-0001-force-tls-when-needed.patch
> new file mode 100644
> --- /dev/null
> +++ b/package/strongswan/strongswan-0001-force-tls-when-needed.patch
> @@ -0,0 +1,72 @@
> +Force libtls when libpttls is enabled
> +
> +The libpttls library expects libtls.la to be present:
> +libpttls_la_LIBADD = $(top_builddir)/src/libtls/libtls.la
> +but there is no expressed dependency between them. Therefore, it is 
> possible to
> +create a configuration where libpttls is enabled and libtls is not, 
> causing a
> +build failure:
> +
> +make[4]: *** No rule to make target `../../src/libtls/libtls.la', 
> needed by `libpttls.la'.  Stop.
> +
> +libpttls is enabled through USE_PTTLS, set when tnc_tnccs == true.
> +  tnc_tnccs is true when any of tnc-imc, tnc_imv, tnccs_11,
> tnccs_dynamic or eap_tnc is true.
> +
> +libtls is enabled through USE_TLS, set when tls == true.
> +  tls is true when any of eap_tls, eap_ttls or eap_peap is true.
> +
> +This patch forces tls to true, when tnc_tnccs is true, so that the 
> required libtls.la dependency
> +is built before it is used by libpttls.
Agreed


[...]
> diff --git a/package/strongswan/strongswan.mk 
> b/package/strongswan/strongswan.mk
> --- a/package/strongswan/strongswan.mk
> +++ b/package/strongswan/strongswan.mk
> @@ -66,4 +66,12 @@ STRONGSWAN_DEPENDENCIES +=
>        $(if $(BR2_PACKAGE_MYSQL_CLIENT),mysql_client)
>  endif
>
> +# Strongswan uses AC_LIB_PREFIX, which is relatively new.
> +# Avoid make to try reconfiguring due to timestamp changes,
> +# after patching configure{,.in}.
> +define STRONGSWAN_AVOID_RECONF_HOOK
> +	touch $(@D)/aclocal.m4
> +endef
> +STRONGSWAN_POST_PATCH_HOOKS += STRONGSWAN_AVOID_RECONF_HOOK
> +
>  $(eval $(autotools-package))
Indeed, strongswan autoreconf does not seems to work. Although, I think 
it can be resolved by adding
lib-prefix.m4 (provided by m4 package) to m4/macro/ and adding 
"m4_include(m4/macros/lib-prefix.m4)"
before AC_LIB_PREFIX.

(I don't understand how it works for upstream)


-- 
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr

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

* [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures
  2013-08-07 17:34 [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas De Schampheleire
  2013-08-07 17:34 ` [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf Thomas De Schampheleire
  2013-08-07 17:34 ` [Buildroot] [PATCH 2 of 2] strongswan: fix build error 'no rule to make target libtls.la' Thomas De Schampheleire
@ 2013-08-10 19:28 ` Thomas Petazzoni
  2 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2013-08-10 19:28 UTC (permalink / raw)
  To: buildroot

Dear Thomas De Schampheleire,

On Wed, 07 Aug 2013 19:34:15 +0200, Thomas De Schampheleire wrote:
> strongswan suffers from several autobuild failures. This series addresses
> one of them: 'no rule to make target libtls.la'. While looking at it, I also
> saw a missing host-pkgconf dependency, although I did not see this in any of
> the autobuilds I checked.
> 
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
> 
> ---
>  package/strongswan/strongswan-0001-force-tls-when-needed.patch |  72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  package/strongswan/strongswan.mk                               |   9 +++++++++
>  2 files changed, 81 insertions(+), 0 deletions(-)

Committed both patches, thanks.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

end of thread, other threads:[~2013-08-10 19:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-07 17:34 [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas De Schampheleire
2013-08-07 17:34 ` [Buildroot] [PATCH 1 of 2] strongswan: needs host-pkgconf Thomas De Schampheleire
2013-08-08  7:03   ` Jérôme Pouiller
2013-08-07 17:34 ` [Buildroot] [PATCH 2 of 2] strongswan: fix build error 'no rule to make target libtls.la' Thomas De Schampheleire
2013-08-08  7:55   ` Jérôme Pouiller
2013-08-10 19:28 ` [Buildroot] [PATCH 0 of 2] strongswan: fix some autobuild failures Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox