From patchwork Thu Jun 20 10:09:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gert Doering X-Patchwork-Id: 760 Return-Path: Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director11.mail.ord1d.rsapps.net ([172.30.191.6]) by backend30.mail.ord1d.rsapps.net with LMTP id 2MvJBUzoC12HdwAAIUCqbw for ; Thu, 20 Jun 2019 16:10:52 -0400 Received: from proxy15.mail.ord1d.rsapps.net ([172.30.191.6]) by director11.mail.ord1d.rsapps.net with LMTP id wMWhBUzoC10ZBAAAvGGmqA ; Thu, 20 Jun 2019 16:10:52 -0400 Received: from smtp2.gate.ord1d ([172.30.191.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by proxy15.mail.ord1d.rsapps.net with LMTP id 8GFdBUzoC12tTgAAAY1PeQ ; Thu, 20 Jun 2019 16:10:52 -0400 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.105.38.7] Authentication-Results: smtp2.gate.ord1d.rsapps.net; iprev=pass policy.iprev="216.105.38.7"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dmarc=none (p=nil; dis=none) header.from=greenie.muc.de X-Suspicious-Flag: YES X-Classification-ID: 7fe4cc72-9397-11e9-b540-5254004a0287-1-1 Received: from [216.105.38.7] ([216.105.38.7:55602] helo=lists.sourceforge.net) by smtp2.gate.ord1d.rsapps.net (envelope-from ) (ecelerity 4.2.38.62370 r(:)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id DB/1A-09307-B48EB0D5; Thu, 20 Jun 2019 16:10:51 -0400 Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1he3NY-0000A3-DG; Thu, 20 Jun 2019 20:09:52 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1he3NU-00009d-Q6 for openvpn-devel@lists.sourceforge.net; Thu, 20 Jun 2019 20:09:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id: Date:Subject:To:From:Sender:Reply-To:Cc:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=KV0/+egau0bHTzA9rDH2ccU6nHWUCLVZhwKpLl9foKY=; b=Y8Nq+n3zXoXBds7q6Z3eVYKh4/ CrbGcJ3yDhfg89GQHsB5+cZlXPZCzzk3ZaO+uzbKq4am+Kiht5c+17XNoP8KdN8eHBx0B1ID5p4bs HBo/IWrjCnMKf7aWN8h6faTnH6nPqmgJelthEesuKzDPTSGrhTg/XnyzHtmF/mtj/qFM=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:To:From: Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=KV0/+egau0bHTzA9rDH2ccU6nHWUCLVZhwKpLl9foKY=; b=W hBNcQUQR2sYYRz4a6d28ebMn4tOgslPs0Wa2lYfijIMK9xSJN2ZqMQJccuppCYFFsCZpXu3hGbA5s xMwZ6YQqK8XAW/AJ0b3ROWSvX3rbzHompPnCPdgwcmVru4oPAe2kI8kAWp1SRK7nnZSKeWM4l44Qb pudlCszzgywNSPL0=; Received: from chekov.greenie.muc.de ([193.149.48.178]) by sfi-mx-3.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) id 1he3NS-006syM-SL for openvpn-devel@lists.sourceforge.net; Thu, 20 Jun 2019 20:09:49 +0000 Received: from chekov.greenie.muc.de (localhost [127.0.0.1]) by chekov.greenie.muc.de (8.15.2/8.15.2) with ESMTPS id x5KK9ZFs038082 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 20 Jun 2019 22:09:36 +0200 (CEST) (envelope-from gert@chekov.greenie.muc.de) Received: (from gert@localhost) by chekov.greenie.muc.de (8.15.2/8.15.2/Submit) id x5KK9Zvf038081 for openvpn-devel@lists.sourceforge.net; Thu, 20 Jun 2019 22:09:35 +0200 (CEST) (envelope-from gert) From: Gert Doering To: openvpn-devel@lists.sourceforge.net Date: Thu, 20 Jun 2019 22:09:35 +0200 Message-Id: <20190620200935.38042-1-gert@greenie.muc.de> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: version.sh] 0.0 SPF_NONE SPF: sender does not publish an SPF Record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-Headers-End: 1he3NS-006syM-SL Subject: [Openvpn-devel] [PATCH] Remove cmocka submodule, rely on system-wide installation instead. X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox We used to ship git submodule instructions to build a local copy of cmocka in vendor/cmocka/ and use that (if cmake is installed) to build unit tests. With the network test driver this turns out to be a LD_LIBRARY_PATH vs. SUDO complication which is really outweighing the benefit of a local build today - so, use the system-wide installation if available (querying pgk-config). Do not build unit-tests otherwise. Signed-off-by: Gert Doering --- .gitmodules | 4 ---- INSTALL | 14 ++++++++++++++ Makefile.am | 2 +- configure.ac | 29 +++++++++++++---------------- vendor/Makefile.am | 22 ---------------------- vendor/cmocka | 1 - 6 files changed, 28 insertions(+), 44 deletions(-) delete mode 100644 .gitmodules delete mode 100644 vendor/Makefile.am delete mode 160000 vendor/cmocka diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index c1ff36e1..00000000 --- a/.gitmodules +++ /dev/null @@ -1,4 +0,0 @@ -[submodule "vendor/cmocka"] - path = vendor/cmocka - url = https://git.cryptomilk.org/projects/cmocka.git - branch = master diff --git a/INSTALL b/INSTALL index 0ba3bba6..50123e05 100644 --- a/INSTALL +++ b/INSTALL @@ -156,6 +156,20 @@ Test SSL/TLS negotiations (runs for 2 minutes): For more thorough client-server tests you can configure your own, private test environment. See tests/t_client.rc-sample for details. +To do the C unit tests, you need to have the "cmocka" test framework +installed on your system. More recent distributions already ship this +as part of their packages/ports. If your system does not have it, +you can install cmocka with these commands: + + $ git clone https://git.cryptomilk.org/projects/cmocka.git + $ cd cmocka + $ mkdir build + $ cd build + $ cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Debug .. + $ make + $ sudo make install + + ************************************************************************* OPTIONS for ./configure: diff --git a/Makefile.am b/Makefile.am index a4dbb34b..439120e4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -53,7 +53,7 @@ BUILT_SOURCES = \ config-version.h endif -SUBDIRS = build distro include src sample doc vendor tests +SUBDIRS = build distro include src sample doc tests dist_doc_DATA = \ README \ diff --git a/configure.ac b/configure.ac index 8c95e310..342db42c 100644 --- a/configure.ac +++ b/configure.ac @@ -1361,28 +1361,26 @@ AC_SUBST([sampledir]) AC_SUBST([systemdunitdir]) AC_SUBST([tmpfilesdir]) -TEST_LDFLAGS="${OPTIONAL_CRYPTO_LIBS} ${OPTIONAL_PKCS11_HELPER_LIBS} -lcmocka -L\$(top_builddir)/vendor/dist/lib -Wl,-rpath,\$(top_builddir)/vendor/dist/lib" -TEST_CFLAGS="${OPTIONAL_CRYPTO_CFLAGS} ${OPTIONAL_PKCS11_HELPER_CFLAGS} -I\$(top_srcdir)/include -I\$(top_builddir)/vendor/dist/include" +TEST_LDFLAGS="${OPTIONAL_CRYPTO_LIBS} ${OPTIONAL_PKCS11_HELPER_LIBS} -lcmocka" +TEST_CFLAGS="${OPTIONAL_CRYPTO_CFLAGS} ${OPTIONAL_PKCS11_HELPER_CFLAGS} -I\$(top_srcdir)/include" AC_SUBST([TEST_LDFLAGS]) AC_SUBST([TEST_CFLAGS]) -# Check if cmake is available and cmocka git submodule is initialized, -# needed for unit testing -AC_CHECK_PROGS([CMAKE], [cmake]) -if test -n "${CMAKE}"; then - if test -f "${srcdir}/vendor/cmocka/CMakeLists.txt"; then - AM_CONDITIONAL([CMOCKA_INITIALIZED], [true]) - else - AM_CONDITIONAL([CMOCKA_INITIALIZED], [false]) - AC_MSG_RESULT([!! WARNING !! The cmoka git submodule has not been initialized or updated. Unit testing cannot be performed.]) - fi +# Check if cmocka is available - needed for unit testing +PKG_CHECK_MODULES( + [CMOCKA], [cmocka], + [have_cmocka="yes"], + [] +) + +if test -n "${have_cmocka}"; then + AM_CONDITIONAL([CMOCKA_INITIALIZED], [true]) else - AC_MSG_RESULT([!! WARNING !! CMake is NOT available. Unit testing cannot be performed.]) - AM_CONDITIONAL([CMOCKA_INITIALIZED], [false]) + AM_CONDITIONAL([CMOCKA_INITIALIZED], [false]) + AC_MSG_RESULT([!! WARNING !! cmocka not found in PATH. Unit testing will not be performed.]) fi - AC_CONFIG_FILES([ version.sh Makefile @@ -1410,7 +1408,6 @@ AC_CONFIG_FILES([ tests/unit_tests/openvpn/Makefile tests/unit_tests/plugins/Makefile tests/unit_tests/plugins/auth-pam/Makefile - vendor/Makefile sample/Makefile ]) AC_CONFIG_FILES([tests/t_client.sh], [chmod +x tests/t_client.sh]) diff --git a/vendor/Makefile.am b/vendor/Makefile.am deleted file mode 100644 index 46072c3c..00000000 --- a/vendor/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -cmockasrc = $(srcdir)/cmocka -# Not just '$(builddir)/cmocka', because cmocka requires an out-of-source build -cmockabuild = $(builddir)/cmocka_build -cmockadist = $(builddir)/dist - -MAINTAINERCLEANFILES = \ - $(srcdir)/Makefile.in \ - "$(cmockabuild)" \ - "$(cmockadist)" - -libcmocka: -if CMOCKA_INITIALIZED - mkdir -p $(cmockabuild) $(cmockadist) - ## Compensate for the cd in the paths - (cd $(cmockabuild) && cmake -DCMAKE_INSTALL_PREFIX=../$(cmockadist) ../$(cmockasrc) && make && make install) -endif - -check: libcmocka - -clean: - rm -rf $(cmockabuild) - rm -rf $(cmockainstall) diff --git a/vendor/cmocka b/vendor/cmocka deleted file mode 160000 index b2732b52..00000000 --- a/vendor/cmocka +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b2732b52202ae48f866a024c633466efdbb8e85a