From patchwork Mon Jul 6 13:06:08 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Beno=C3=AEt_Th=C3=A9baudeau?= X-Patchwork-Id: 491594 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 97261140DBC for ; Mon, 6 Jul 2015 23:06:32 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id A904133293; Mon, 6 Jul 2015 13:06:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rSg6mFESKTym; Mon, 6 Jul 2015 13:06:29 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 31E6D333A7; Mon, 6 Jul 2015 13:06:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id E34301C1093 for ; Mon, 6 Jul 2015 13:06:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E0E1095458 for ; Mon, 6 Jul 2015 13:06:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e-O4EVeucpUK for ; Mon, 6 Jul 2015 13:06:26 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from authsmtp.register.it (authsmtp89.register.it [195.110.122.174]) by hemlock.osuosl.org (Postfix) with ESMTP id 119FF9545F for ; Mon, 6 Jul 2015 13:06:25 +0000 (UTC) Received: from rad-ubuntu.home ([2.0.194.20]) by paganini32 with id p16L1q00a0SsJR60116Phj; Mon, 06 Jul 2015 15:06:24 +0200 X-Rid: benoit@wsystem.com@2.0.194.20 From: =?UTF-8?q?Beno=C3=AEt=20Th=C3=A9baudeau?= To: buildroot@buildroot.org Date: Mon, 6 Jul 2015 15:06:08 +0200 Message-Id: <1436187968-84565-1-git-send-email-benoit@wsystem.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Cc: =?UTF-8?q?Beno=C3=AEt=20Th=C3=A9baudeau?= Subject: [Buildroot] [PATCH v2] openssl: always build apps X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Now that building the openssl binary without MMU is supported, the only reason left for not building apps if the openssl binary is disabled is to save build time. Moreover, the commit 720893b62510438237b9923d744dd079ddb4f67d "openssl: disable apps for NOMMU", which added this behavior, had a side effect: the scripts from apps (CA.pl, CA.sh and tsget) and the default configuration file (openssl.cnf) were no longer installed, which is not advertized by the BR2_PACKAGE_OPENSSL_BIN option. CA.pl and CA.sh use the openssl binary, so not installing them without the latter makes sense. But tsget does not use the openssl binary, and openssl.cnf can be used by libcrypto, so it is preferable to handle BR2_PACKAGE_OPENSSL_BIN like before the commit mentioned above, i.e. to always build and install apps and to just remove the openssl binary afterwards if needed. This is what the current commit does, but installing only the helper scripts having their dependencies (perl or the openssl binary) satisfied. The help text is updated accordingly. Signed-off-by: Benoît Thébaudeau --- Changes v1 -> v2: - Install helper scripts according to perl/binary dependencies. - Update the help text (fixing a typo by the way). --- package/openssl/Config.in | 7 +++++-- package/openssl/openssl.mk | 23 +++++++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/package/openssl/Config.in b/package/openssl/Config.in index d147c07..0785253 100644 --- a/package/openssl/Config.in +++ b/package/openssl/Config.in @@ -9,14 +9,17 @@ config BR2_PACKAGE_OPENSSL http://www.openssl.org/ + Note: Some helper scripts need perl. + if BR2_PACKAGE_OPENSSL config BR2_PACKAGE_OPENSSL_BIN bool "openssl binary" depends on !BR2_STATIC_LIBS help - Install the openssl binary to the target file system. This is a - command line tool for doing various crypthographic stuff. + Install the openssl binary and the associated helper scripts to the + target file system. This is a command line tool for doing various + cryptographic stuff. comment "openssl binary needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk index 34a9830..4068cf1 100644 --- a/package/openssl/openssl.mk +++ b/package/openssl/openssl.mk @@ -14,14 +14,6 @@ HOST_OPENSSL_DEPENDENCIES = host-zlib OPENSSL_TARGET_ARCH = generic32 OPENSSL_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_PACKAGE_OPENSSL_BIN),) -define OPENSSL_DISABLE_APPS - $(SED) '/^build_apps/! s/build_apps//' $(@D)/Makefile.org - $(SED) '/^DIRS=/ s/apps//' $(@D)/Makefile.org -endef -OPENSSL_PRE_CONFIGURE_HOOKS += OPENSSL_DISABLE_APPS -endif - ifeq ($(BR2_USE_MMU),) OPENSSL_CFLAGS += -DHAVE_FORK=0 endif @@ -140,6 +132,21 @@ endef OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_INSTALL_FIXUPS_SHARED endif +ifeq ($(BR2_PACKAGE_PERL),) +define OPENSSL_REMOVE_PERL_SCRIPTS + $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.pl,tsget} +endef +OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_PERL_SCRIPTS +endif + +ifeq ($(BR2_PACKAGE_OPENSSL_BIN),) +define OPENSSL_REMOVE_BIN + $(RM) -f $(TARGET_DIR)/usr/bin/openssl + $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*} +endef +OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_BIN +endif + ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) define OPENSSL_REMOVE_OPENSSL_ENGINES rm -rf $(TARGET_DIR)/usr/lib/engines