From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6880878174534631424 X-Received: by 2002:a5d:5044:: with SMTP id h4mr39367041wrt.149.1608134012480; Wed, 16 Dec 2020 07:53:32 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:eb0e:: with SMTP id s14ls11425130wrn.2.gmail; Wed, 16 Dec 2020 07:53:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJwrwvJzMSaqLNQZFlaiRFeiXRMvFYmT9lKJ6MGUZE2UJ+bI4nJqAmbPGaw2gHq5lwqfnAt7 X-Received: by 2002:a05:6000:124e:: with SMTP id j14mr33115189wrx.310.1608134011575; Wed, 16 Dec 2020 07:53:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608134011; cv=none; d=google.com; s=arc-20160816; b=AHUUrV2S6AWr1b+fL2DwgaydsGKLQQc0onrHKFhB8xOQRu6Pk0ce2guLibFKBhn3aL 472ulP6zP8rdRx0XnZ99XKjTXaI5pvfEnXsmlAT7jfN7bKZP0ZdrLvhlyzDN6jSBst7M WbQjJB8MKs38aCiiUSRrRx9Vpfgd+Q7J4DWwdeBKXZJ0zrVZhUOHZD5zViSdZlVRoj8R QHQLSl2EbMPrpPkq3Dxnsp/TFl62YD0zaWY/XPkE57/kKZmKkfJLl+PX4zfsq0LMb0R1 HHvizKPVkehgGZTaMyhalx+N7ifU5JKY+JXItE7IEjobNYXZ5doKxDQx11b408Px1AVU 5weg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=k/mJKxECter8Clj5OYZ09NrBbp5BR01bu+VNo+6pVqs=; b=NQ76SfEivG6QGpZhwSzz6IdODIMTifPu1S7Iw4DD4bum7VSAb0hlXpybr1jCbTtLtA hVugRiltsa1rNfRYlOnMFejxqecIvgK1JPmHs4/5LyQvip310i6GEAYLy91Kf1vN59GW L8XDPCt0VLyIH/8KN6LBNS55HdW0kDF+1UO+pVge7RWv2mB4SG0/xRYJHeLu2Yr7Okxs r/O2IWGeePbwXS543548vDXkvEDQdvxWn+TzHkhx2mgyGjJTlkkXRmwpFgaEVfgEXtZ/ 7sOzmF5UnyItlTQR9jcTUOiOwMJbbyyY8hPJpIzjB7OFClziNcMDqHY1JX1wCOdLgYe7 njAg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 85.214.156.166 is neither permitted nor denied by best guess record for domain of ibr@radix50.net) smtp.mailfrom=ibr@radix50.net Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id x12si228454wmk.1.2020.12.16.07.53.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 16 Dec 2020 07:53:31 -0800 (PST) Received-SPF: neutral (google.com: 85.214.156.166 is neither permitted nor denied by best guess record for domain of ibr@radix50.net) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 85.214.156.166 is neither permitted nor denied by best guess record for domain of ibr@radix50.net) smtp.mailfrom=ibr@radix50.net Received: from yssyq.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 0BGFrU1V022103 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 16 Dec 2020 16:53:30 +0100 Received: from yssyq.m.ilbers.de (localhost [127.0.0.1]) by yssyq.m.ilbers.de (8.15.2/8.15.2/Debian-14~deb10u1) with ESMTPS id 0BGFrUmn028391 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Wed, 16 Dec 2020 16:53:30 +0100 Received: (from ibr@localhost) by yssyq.m.ilbers.de (8.15.2/8.15.2/Submit) id 0BGFrUCo028390 for isar-users@googlegroups.com; Wed, 16 Dec 2020 16:53:30 +0100 From: Baurzhan Ismagulov To: isar-users@googlegroups.com Subject: [PATCH v1] isar-bootstrap: Run gpg-agent before starting apt-key Date: Wed, 16 Dec 2020 16:53:30 +0100 Message-Id: <20201216155330.28348-1-ibr@radix50.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <72ce3a90-0772-c8a4-f233-1b887c636a9d@siemens.com> References: <72ce3a90-0772-c8a4-f233-1b887c636a9d@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: F96rPGpCm/bx From: Yuri Adamov Building rpi-stretch natively (under qemu) sometimes fails with: gpg: can't connect to the agent: IPC connect call failed gpg starts gpg-agent and times out after 5 s. This value is hard-coded. Besides, leaving running gpg-agent processes is not clean and prevents unmounting of filesystems. This patch starts and stops the agent manually. Signed-off-by: Yuri Adamov --- Notes: * Submitting WIP for preview, as cleaning up will require testing time. * Remove sleeping. * Remove -9 in kill. * Maybe check if starting the agent is necessary. * Remove OVERRIDES_append and get_distro_needs_gpg_support() if unused. .../recipes-core/isar-bootstrap/isar-bootstrap.inc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index 4925a45d..74569e5d 100644 --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -24,7 +24,7 @@ DISTRO_BOOTSTRAP_KEYFILES = "" THIRD_PARTY_APT_KEYFILES = "" DEPLOY_ISAR_BOOTSTRAP ?= "" DISTRO_BOOTSTRAP_BASE_PACKAGES = "locales" -DISTRO_BOOTSTRAP_BASE_PACKAGES_append_gnupg = ",gnupg" +DISTRO_BOOTSTRAP_BASE_PACKAGES_append = ",gnupg" DISTRO_BOOTSTRAP_BASE_PACKAGES_append_https-support = "${@https_support(d)}" inherit deb-dl-dir @@ -307,14 +307,24 @@ isar_bootstrap() { mkdir -p "${ROOTFSDIR}/etc/apt/apt.conf.d" install -v -m644 "${WORKDIR}/isar-apt.conf" \ "${ROOTFSDIR}/etc/apt/apt.conf.d/50isar.conf" + MY_GPGHOME=$(chroot "${ROOTFSDIR}" mktemp -d /tmp/gpghomeXXXXXXXXXX) + echo "Created temporary directory ${MY_GPGHOME} for gpg-agent" + chroot "${ROOTFSDIR}" gpg-agent --homedir "${MY_GPGHOME}" --daemon find ${APT_KEYS_DIR}/ -type f | while read keyfile do kfn="$(basename $keyfile)" cp $keyfile "${ROOTFSDIR}/tmp/$kfn" chroot "${ROOTFSDIR}" /usr/bin/apt-key \ - --keyring ${THIRD_PARTY_APT_KEYRING} add "/tmp/$kfn" + --keyring ${THIRD_PARTY_APT_KEYRING} \ + --homedir ${MY_GPGHOME} add "/tmp/$kfn" rm "${ROOTFSDIR}/tmp/$kfn" done + sleep 4 + GPG_AGENT_PID=$(ps -aux | grep "gpg-agent.*${MY_GPGHOME}" | grep -v grep | awk '{print $2}') + echo "Killing gpg-agent with pid $GPG_AGENT_PID" + /bin/kill -9 ${GPG_AGENT_PID} + sleep 4 + chroot "${ROOTFSDIR}" /bin/rm -rf "${MY_GPGHOME}" if [ "${@get_distro_suite(d, True)}" = "stretch" ] && [ "${@get_host_release().split('.')[0]}" -lt "4" ]; then install -v -m644 "${WORKDIR}/isar-apt-fallback.conf" \ -- 2.20.1