From patchwork Tue Nov 5 23:40:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emil Velikov via arch-projects X-Patchwork-Id: 1347 Return-Path: Delivered-To: patchwork@archlinux.org Received: from apollo.archlinux.org (localhost [127.0.0.1]) by apollo.archlinux.org (Postfix) with ESMTP id C8B4D14ED05AE for ; Tue, 5 Nov 2019 23:41:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on apollo X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1, LOCAL_FAKEBUSINESS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001,T_DMARC_POLICY_NONE=0.01 autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-BL-Results: [127.0.9.2] Received: from orion.archlinux.org (orion.archlinux.org [IPv6:2a01:4f8:160:6087::1]) by apollo.archlinux.org (Postfix) with ESMTPS for ; Tue, 5 Nov 2019 23:41:13 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id DBB1D16662C5E4; Tue, 5 Nov 2019 23:41:10 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [IPv6:2a01:4f8:160:3033::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: luna) by orion.archlinux.org (Postfix) with ESMTPSA id 0C5FC16662C5D6; Tue, 5 Nov 2019 23:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1572997270; bh=NDie9hAHUmdF4Q9xg7bdEPvEY74lw08HBDNSDLGyFhc=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc; b=PimpRKH+VSVgb1p73AAPFheRUAEQDKiN2l5Zd5o8IiGs9l9sU9NdaCGcTDko9P1tL C/wVS6VO05awlAiIESwHQOGm6wDLrXgBvwgmWQTKRkzoZhkwdIYj6tp+ikyir1vMVM nun4SgMp12Z+Mo58ztUZ1r55bwqRWRa8QPC+t8NHRZNLNH7mK/7Rb6FKk0eaXMmZxI N03APrriy3x5P4pBTOD67YpVj1w2leuunLOwYtEBVk6qxVf33ZKTf6y5cPin0dogah Ape5mgb/hGPIZhE5XKv9axw7luSbElIBOA+eTMs+ooJKLImF4wfee5nDUYEP3Dxz5b BdF+0W26ia05+D3jmhKKV4K0RDe3RSNn/YhGAYrNnCyVlqzWfBo3IvTieKfkrCaDXO zLkc/Y4cIK/34MVY5Gb3xmRsTgP6Tiqyf4q1mRlG+MIGwvndwj6CZB+esyxhsTuFg1 hsbuD3km8aYymt8H3zJx8Ow4aVYPzfq/ATDcHNKOjGh90BYQbLhyP3l4U3JuhdvEZu Yj4acvTi/U3046NljzCg8I2s2asu9DTqI0IY+zm/DBhhtfiAiZ7tbFlHaJJhxBwAu4 4AFK5u02webvKXMl2V3Q0E92H/ML7OmPNnUpNA1iKkJ4B1PyMBkQFbCxvdKBibVB5c +aVbr3kWh9YmtKqj5DuqOrzk= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id EFDB120774; Tue, 5 Nov 2019 23:41:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1572997269; bh=NDie9hAHUmdF4Q9xg7bdEPvEY74lw08HBDNSDLGyFhc=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc; b=iwWPq4Uf6YNQTpFIPkV93/uY7wedzZEk7nUe9pDzlU7y7cJ11MG88JbaPMnZPo2Qa bz9SX4FxAiacn9qRjde1sdI/hnCvcVyXnER7o6CrjdzDpxaZeLrLfpLMAkJUPbg5SU sxLgSztHCJJ+PEGE+HbUBk5NTx/2dOG71a2/0tFyOmGQSrTfyYzWQdy9RGLt8c+W3y kWqN7Ef2V6py9VjKN1uL8WSqtICYtZaB4I33kY6yVUE6JdzGbyfVnTNjvNkcA6DTNH 1oQjyOKPydyJI3iGNKcFrspBvEuxJkX8HNxYFDfghZS8f8ndhD5kuXSWwqOXh43fW+ YWJS1xiDKQpDljU86Q3zUMJni1LaPLB8wku82SoEq6G8ZDpiG2VSJXlYBUUL8GP5OS KldYoFYWwDmdM4fov+rLwwuaiudrhl4HrbPsxYhNd1/nLjweTekNrgnKZF1Wd1Y8pJ /ep4AN5UM01LIpK+HFX6OvVVXFmgTI8azfnn2U+Z1yabJT4vxOLLk1WFEw3RkifD+r LNX3OB1WhDSuTu1gLXw/nJ1bMgDz76DRqOT6oHVEwEYI38H1bRdW3zj+E1aOV4zq7W KVMPqHCYYKhTILWe6R3KSpaebbzm1WNEIb3jDmFEglLxxsyfdhG5X+0iJQPB40HDMI pMzGpKuelB7AiM/XaMD9i55A= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 0C57C20769 for ; Tue, 5 Nov 2019 23:41:07 +0000 (UTC) Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70]) by luna.archlinux.org (Postfix) with ESMTPS for ; Tue, 5 Nov 2019 23:41:07 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id C2E4816662C5C4; Tue, 5 Nov 2019 23:41:05 +0000 (UTC) Received: from didactylos.attlocal.net (unknown [IPv6:2600:1700:57f0:ca20:763a:c795:fcf6:91ea]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: eschwartz) by orion.archlinux.org (Postfix) with ESMTPSA id 3AF8416662C5C3; Tue, 5 Nov 2019 23:41:05 +0000 (UTC) To: arch-projects@archlinux.org Date: Tue, 5 Nov 2019 18:40:44 -0500 Message-Id: <20191105234047.1842520-1-eschwartz@archlinux.org> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [arch-projects] [devtools] [PATCH 1/4] arch-nspawn: restore cachedir handling for host_mirrors X-BeenThere: arch-projects@archlinux.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Arch Linux projects development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Eli Schwartz via arch-projects Reply-To: Arch Linux projects development discussion Cc: Eli Schwartz Errors-To: arch-projects-bounces@archlinux.org Sender: "arch-projects" In commit 27ff286ee78eb2faac803e3ef67f3171ddfa0098, we moved from sourcing the primary cachedir via /etc/pacman.conf, to using the pacman.conf in the workdir. One unanticipated side effect of this was breaking the special host mirrors magic we used to turn a host mirror into a cachedir. It was still processed as a server, but we relied on it being in the host's cachedirs in order to be persisted, and this no longer occurred. Solve this by explicitly adding each host mirror root as a cachedir. Signed-off-by: Eli Schwartz --- arch-nspawn.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch-nspawn.in b/arch-nspawn.in index 5817143..90fe967 100644 --- a/arch-nspawn.in +++ b/arch-nspawn.in @@ -99,7 +99,14 @@ build_mount_args() { copy_hostconf () { unshare --fork --pid gpg --homedir "$working_dir"/etc/pacman.d/gnupg/ --no-permission-warning --quiet --batch --import --import-options import-local-sigs "$(pacman-conf GpgDir)"/pubring.gpg >/dev/null 2>&1 pacman-key --gpgdir "$working_dir"/etc/pacman.d/gnupg/ --import-trustdb "$(pacman-conf GpgDir)" >/dev/null 2>&1 + printf 'Server = %s\n' "${host_mirrors[@]}" >"$working_dir/etc/pacman.d/mirrorlist" + for host_mirror in "${host_mirrors[@]}"; do + if [[ $host_mirror == *file://* ]]; then + host_mirror=$(echo "$host_mirror" | sed -r 's#file://(/.*)/\$repo/os/\$arch#\1#g') + in_array "$host_mirror" "${cache_dirs[@]}" || cache_dirs+=("$host_mirror") + fi + done [[ -n $pac_conf ]] && cp "$pac_conf" "$working_dir/etc/pacman.conf" [[ -n $makepkg_conf ]] && cp "$makepkg_conf" "$working_dir/etc/makepkg.conf"