All of 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 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.