From: Roy Li <[email protected]>

1. enable crypto based on PACKAGECONFIG openssl
2. port check-openssl.diff from debian to fix configuration failure when
enable crypto

Signed-off-by: Roy Li <[email protected]>
---
 .../tcpdump/tcpdump-4.3.0/check-openssl.diff       |   84 ++++++++++++++++++++
 .../recipes-support/tcpdump/tcpdump_4.3.0.bb       |    6 +-
 2 files changed, 89 insertions(+), 1 deletion(-)
 create mode 100644 
meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/check-openssl.diff

diff --git 
a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/check-openssl.diff 
b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/check-openssl.diff
new file mode 100644
index 0000000..8fc3d6f
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/check-openssl.diff
@@ -0,0 +1,84 @@
+fix-check-openssl
+
+Upstream-Status: Inappropriate [configuration]
+
+patch is from 
http://ftp.de.debian.org/debian/pool/main/t/tcpdump/tcpdump_4.3.0-1.debian.tar.gz
+
+Signed-off-by: Roy Li <[email protected]>
+---
+ configure.in |   59 ++--------------------------------------------------------
+ 1 file changed, 2 insertions(+), 57 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 9600d6a..eace9ed 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1028,63 +1028,8 @@ AC_ARG_WITH(crypto,
+       AC_MSG_RESULT([yes, if available])
+ ])
+ if test "$want_libcrypto" != "no"; then
+-      ac_cv_ssleay_path=no
+-      incdir=no
+-      if test "x$crypto_dir" = x; then
+-              #
+-              # Location not specified; check the default locations.
+-              #
+-              AC_MSG_CHECKING(where SSLeay is located)
+-              dirs="/usr /usr/local /usr/local/ssl /usr/pkg"
+-              if test "x${host_alias}" != x; then
+-                      dirs="/usr/${host_alias} $dirs"
+-              fi
+-              for dir in $dirs; do
+-                      AC_LBL_SSLEAY($dir)
+-
+-                      if test "$ac_cv_ssleay_path" != "no" -a "$incdir" != 
"no"; then
+-                              break;
+-                      else
+-                              ac_cv_ssleay_path=no
+-                              incdir=no
+-                      fi
+-              done
+-              if test "$ac_cv_ssleay_path" != no; then
+-                      AC_MSG_RESULT($ac_cv_ssleay_path)
+-              fi
+-      else
+-              AC_MSG_CHECKING(for SSLeay in $crypto_dir)
+-              AC_LBL_SSLEAY($crypto_dir)
+-              if test "$ac_cv_ssleay_path" != no; then
+-                      AC_MSG_RESULT(found)
+-              fi
+-      fi
+-      if test "$ac_cv_ssleay_path" != no; then
+-              V_INCLS="$V_INCLS $incdir"
+-              if test "$dir" != "/usr"; then
+-                      LDFLAGS="-L$dir/lib $LDFLAGS"
+-              fi
+-              if test -f $ac_cv_ssleay_path/lib/libRSAglue.a; then
+-                      LIBS="$LIBS -lRSAglue"
+-              fi
+-              if test -f $ac_cv_ssleay_path/lib/librsaref.a; then
+-                      LIBS="$LIBS -lrsaref"
+-              fi
+-              AC_CHECK_LIB(crypto, DES_cbc_encrypt)
+-
+-              savedcppflags="$CPPFLAGS"
+-              CPPFLAGS="$CPPFLAGS $V_INCLS"
+-              AC_CHECK_HEADERS(openssl/evp.h)
+-              CPPFLAGS="$savedcppflags"
+-      else
+-              #
+-              # Not found.  Did the user explicitly ask for it?
+-              #
+-              AC_MSG_RESULT(not found)
+-              if test "$want_libcrypto" = yes; then
+-                      AC_MSG_ERROR(SSLeay not found)
+-              fi
+-      fi
++      AC_CHECK_LIB(crypto, DES_cbc_encrypt)
++      AC_CHECK_HEADERS(openssl/evp.h)
+ fi
+ 
+ dnl
+-- 
+1.7.10.4
+
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb 
b/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb
index 1da8194..b7eee60 100644
--- a/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb
+++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb
@@ -11,6 +11,7 @@ SRC_URI = " \
     file://0001-minimal-IEEE802.15.4-allowed.patch \
     file://ipv6-cross.patch \
     file://configure.patch \
+    file://check-openssl.diff \
 "
 SRC_URI[md5sum] = "a3fe4d30ac85ff5467c889ff46b7e1e8"
 SRC_URI[sha256sum] = 
"efd08b610210d39977ec3175fa82dad9fbd33587930081be2a905a712dba4286"
@@ -18,9 +19,12 @@ SRC_URI[sha256sum] = 
"efd08b610210d39977ec3175fa82dad9fbd33587930081be2a905a712d
 inherit autotools
 CACHED_CONFIGUREVARS = "ac_cv_linux_vers=${ac_cv_linux_vers=2}"
 
-EXTRA_OECONF = "--without-crypto --disable-rpath \
+EXTRA_OECONF = "--disable-rpath \
         ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6', 
'--disable-ipv6', d)}"
 
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl 
--without-crypto, openssl"
+
 EXTRA_AUTORECONF += " -I m4"
 
 do_configure_prepend() {
-- 
1.7.10.4

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to