From patchwork Tue Mar 12 22:20:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 1055779 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MUmzcEmw"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44Jq1Y4z2gz9s47 for ; Wed, 13 Mar 2019 09:11:13 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id E79492F22C; Tue, 12 Mar 2019 22:11:11 +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 XSVQCivvEAF6; Tue, 12 Mar 2019 22:11:07 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 60DA324B3A; Tue, 12 Mar 2019 22:11:07 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id CB79B1BF403 for ; Tue, 12 Mar 2019 22:11:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id C76BB84E4E for ; Tue, 12 Mar 2019 22:11:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5F41LJZczg4S for ; Tue, 12 Mar 2019 22:11:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) by whitealder.osuosl.org (Postfix) with ESMTPS id 4920384540 for ; Tue, 12 Mar 2019 22:11:03 +0000 (UTC) Received: by mail-lj1-f194.google.com with SMTP id q128so3699699ljb.11 for ; Tue, 12 Mar 2019 15:11:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Vc+/6pRQsd2iiVMgzmP8p4Lixk1JHPp3ioi4wEzOHko=; b=MUmzcEmw1wUZWo+IZBrcTGeQ9KG9D7DkaXJsGvzFjel2IEyQkOfGjt/P2g9isD4i1B 6tn68gu/R8QgDtvsHNNkbCMiZkN5Ea+Y+JUTbyMjra/SEoEGfFAF7MPMF6IdG1NlJ/Te DcqrjcvawME6rHriKFqlDXl0GEX3WXyKixFi/U8ZoVE0SMEhJEVMhm9WCLkxn+1BFjCv PDGhnUniOmCGUes1sP76gGdZr6JhI66rR8+7YzgPUheyU+NbrA0QGzinx/GE4XeFBzMs JS4wMcId2NivYNFxmkBalBk0BK2S+H6HrjrJisgMSVlUXwsB7yA3PfzvLue5Y1a/CQm9 BgJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Vc+/6pRQsd2iiVMgzmP8p4Lixk1JHPp3ioi4wEzOHko=; b=CkRxmg6B5/D24rAVuAm73+WfBXtiKxLWhX9Iw7z3laQKyFozXo2as4UxxhEctZj018 gLaxcnYQ0rgj9a/dQm0FjYHeVn5/odFIYVZjpAo1wFnJubHhadxbYsFJRrknxMaXRmv0 AD/yB5d0loaQcovnNbYPYl0/jjhWCZSLtOfFb7Sl5lMF0WoCvqZ581IfUGmRu8AvX30g iHss4dI7s18G7BcyHSkXdW/jZBMm/guDG4dHYK1QEfByeROYr0Z8QmIQuZGPnQJ9T9H3 MZCxN6IsJksVsbNunj5QX7tabrbt4rgUBoLUD6doF31VOK1P0EgOEljmvAac++feGHxm v5EA== X-Gm-Message-State: APjAAAVwAQUasJkmcS7bID3Ca1TxBHMxtsDL5eOpgpKKGi2ckKN912v9 u6sTJtCId2xUHG2sa4rnfktHf4N1 X-Google-Smtp-Source: APXvYqxAKOhF5r6l9sb8VDv7NYFq7FD+wINpMU38fhK77Tjs9bWxcyfOgOlYHaB1AYVib2xCcD0rwQ== X-Received: by 2002:a2e:9ad1:: with SMTP id p17mr21594017ljj.30.1552428661159; Tue, 12 Mar 2019 15:11:01 -0700 (PDT) Received: from vkochan-ThinkPad-T470p.lan ([93.75.250.209]) by smtp.gmail.com with ESMTPSA id p22sm954480lfh.93.2019.03.12.15.10.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Mar 2019 15:11:00 -0700 (PDT) From: Vadim Kochan To: buildroot@buildroot.org Date: Wed, 13 Mar 2019 00:20:35 +0200 Message-Id: <20190312222035.16834-1-vadim4j@gmail.com> X-Mailer: git-send-email 2.14.1 Subject: [Buildroot] [PATCH 1/1] package/ecryptfs-utils: Add support without gettext X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vadim Kochan , "Yann E . MORIN" , Marcin Bis MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Add custom ecryptfs-common script which provides gettext wrapper as function which checks at runtime if there is gettext tool, if no - the "echo" will be used instead. Each script which uses gettext is patched with including this ecryptfs-common script. The patch for ecryptfs-utils only inserts hard-coded (w/o using @prefix@/lib/@PACKAGE@ variables) path to the ecryptfs-common, it is very small and trivial, it allows to easy support new bumped version. gettext package is now selected automatically only if NLS is enabled. Signed-off-by: Vadim Kochan --- ...cho-instead-of-gettext-if-it-does-not-exi.patch | 117 +++++++++++++++++++++ package/ecryptfs-utils/Config.in | 2 +- package/ecryptfs-utils/ecryptfs-common | 33 ++++++ package/ecryptfs-utils/ecryptfs-utils.mk | 6 ++ 4 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 package/ecryptfs-utils/0003-utils-Use-echo-instead-of-gettext-if-it-does-not-exi.patch create mode 100755 package/ecryptfs-utils/ecryptfs-common diff --git a/package/ecryptfs-utils/0003-utils-Use-echo-instead-of-gettext-if-it-does-not-exi.patch b/package/ecryptfs-utils/0003-utils-Use-echo-instead-of-gettext-if-it-does-not-exi.patch new file mode 100644 index 0000000000..1e3318ab22 --- /dev/null +++ b/package/ecryptfs-utils/0003-utils-Use-echo-instead-of-gettext-if-it-does-not-exi.patch @@ -0,0 +1,117 @@ +From 55755006370fb12167dcadeb084b6645712197a9 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Tue, 12 Mar 2019 02:15:33 +0200 +Subject: [PATCH] utils: Use "echo" instead of gettext if it does not exist + +There might be a case when gettext does not exist on the system, +so use just "echo" instead. Added gettext wrapper which imitates +gettext behaviour, wrapper is used only if gettext is not found +by "which". ecryptfs-common is included by each script which uses +gettext tool. + +Signed-off-by: Vadim Kochan +--- + src/utils/ecryptfs-migrate-home | 2 ++ + src/utils/ecryptfs-mount-private | 2 ++ + src/utils/ecryptfs-rewrite-file | 2 ++ + src/utils/ecryptfs-setup-private | 3 +++ + src/utils/ecryptfs-setup-swap | 2 ++ + src/utils/ecryptfs-umount-private | 2 ++ + src/utils/ecryptfs-verify | 2 ++ + 7 files changed, 15 insertions(+) + +diff --git a/src/utils/ecryptfs-migrate-home b/src/utils/ecryptfs-migrate-home +index b810146..4fa4d86 100755 +--- a/src/utils/ecryptfs-migrate-home ++++ b/src/utils/ecryptfs-migrate-home +@@ -24,6 +24,8 @@ + + set -e + ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + PRIVATE_DIR="Private" + + usage() { +diff --git a/src/utils/ecryptfs-mount-private b/src/utils/ecryptfs-mount-private +index c32708f..a6df39f 100755 +--- a/src/utils/ecryptfs-mount-private ++++ b/src/utils/ecryptfs-mount-private +@@ -12,6 +12,8 @@ + # * inserts the mount passphrase into the keyring + # * and mounts a user's encrypted private folder + ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + PRIVATE_DIR="Private" + WRAPPING_PASS="LOGIN" + PW_ATTEMPTS=3 +diff --git a/src/utils/ecryptfs-rewrite-file b/src/utils/ecryptfs-rewrite-file +index c4f67f5..146e385 100755 +--- a/src/utils/ecryptfs-rewrite-file ++++ b/src/utils/ecryptfs-rewrite-file +@@ -17,6 +17,8 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see . + ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + TEXTDOMAIN="ecryptfs-utils" + + error() { +diff --git a/src/utils/ecryptfs-setup-private b/src/utils/ecryptfs-setup-private +index e90d1d0..ca08656 100755 +--- a/src/utils/ecryptfs-setup-private ++++ b/src/utils/ecryptfs-setup-private +@@ -6,6 +6,9 @@ + # Ported for use on Ubuntu by Dustin Kirkland + # Copyright (C) 2008 Canonical Ltd. + # Copyright (C) 2007-2008 International Business Machines ++ ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + PRIVATE_DIR="Private" + WRAPPING_PASS="LOGIN" + ECRYPTFS_DIR="/home/.ecryptfs" +diff --git a/src/utils/ecryptfs-setup-swap b/src/utils/ecryptfs-setup-swap +index 41cf18a..157b0c5 100755 +--- a/src/utils/ecryptfs-setup-swap ++++ b/src/utils/ecryptfs-setup-swap +@@ -19,6 +19,8 @@ + # The cryptswap setup used here follows a guide published at: + # * http://ubuntumagnet.com/2007/11/creating-encrypted-swap-file-ubuntu-using-cryptsetup + ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + TEXTDOMAIN="ecryptfs-utils" + + error() { +diff --git a/src/utils/ecryptfs-umount-private b/src/utils/ecryptfs-umount-private +index 27edeaa..4ac0ced 100755 +--- a/src/utils/ecryptfs-umount-private ++++ b/src/utils/ecryptfs-umount-private +@@ -5,6 +5,8 @@ + # Original by Michael Halcrow, IBM + # Extracted to a stand-alone script by Dustin Kirkland + ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + TEXTDOMAIN="ecryptfs-utils" + + if grep -qs "$HOME/.Private $PWD ecryptfs " /proc/mounts 2>/dev/null; then +diff --git a/src/utils/ecryptfs-verify b/src/utils/ecryptfs-verify +index b55641d..3592d83 100755 +--- a/src/utils/ecryptfs-verify ++++ b/src/utils/ecryptfs-verify +@@ -16,6 +16,8 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see . + ++. /usr/lib/ecryptfs-utils/ecryptfs-common ++ + error() { + echo `gettext "ERROR:"` "$@" 1>&2 + echo `gettext "ERROR:"` "Configuration invalid" 1>&2 +-- +2.14.1 + diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in index 6652d33e0e..1438c1754c 100644 --- a/package/ecryptfs-utils/Config.in +++ b/package/ecryptfs-utils/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_ECRYPTFS_UTILS select BR2_PACKAGE_LIBNSS # runtime dependency only, some scripts are using the # 'gettext' program to get translations - select BR2_PACKAGE_GETTEXT + select BR2_PACKAGE_GETTEXT if BR2_SYSTEM_ENABLE_NLS # runtime dependency only select BR2_PACKAGE_GETENT help diff --git a/package/ecryptfs-utils/ecryptfs-common b/package/ecryptfs-utils/ecryptfs-common new file mode 100755 index 0000000000..8d4050d7f4 --- /dev/null +++ b/package/ecryptfs-utils/ecryptfs-common @@ -0,0 +1,33 @@ +GETTEXT_PROG="" + +# Thanks to "Yann E. MORIN" +# for this gettext replacement function +gettext_echo() { + while [ ${#} -ne 0 ]; do + case "${1}" in + (-h) echo "no help"; exit 0;; + (-V) echo "0.0.0"; exit 0;; + (-d|--domain) shift 2;; + (-d*|--domain=*) shift 1;; + (-e|-E|-n) shift 1;; + (-s) shift 1;; # Ignore? + (*) break;; + esac + done + case ${#} in + (0) ;; + (1) echo "${1}";; # No TEXTDOMAIN? + (*) shift; echo "${@}";; # Ignore TEXTDOMAIN? + esac +} + +gettext() { + if [ -z "${GETTEXT_PROG}" ]; then + GETTEXT_PROG=$(which gettext) + if [ $? != 0 ]; then + GETTEXT_PROG=gettext_echo + fi + fi + + ${GETTEXT_PROG} "$@" +} diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk b/package/ecryptfs-utils/ecryptfs-utils.mk index eb3194b6d0..bf630882c2 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.mk +++ b/package/ecryptfs-utils/ecryptfs-utils.mk @@ -25,4 +25,10 @@ else ECRYPTFS_UTILS_CONF_OPTS += --disable-openssl endif +define ECRYPTFS_UTILS_INSTALL_COMMON_SCRIPT + $(INSTALL) -D -m 0755 $(ECRYPTFS_UTILS_PKGDIR)/ecryptfs-common \ + $(TARGET_DIR)/usr/lib/ecryptfs-utils/ecryptfs-common +endef +ECRYPTFS_UTILS_POST_INSTALL_TARGET_HOOKS += ECRYPTFS_UTILS_INSTALL_COMMON_SCRIPT + $(eval $(autotools-package))