From patchwork Wed Nov 6 00:50: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: 1353 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 C9D4814ED3F5C for ; Wed, 6 Nov 2019 00:51:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on apollo X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1, 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 [88.198.91.70]) by apollo.archlinux.org (Postfix) with ESMTPS for ; Wed, 6 Nov 2019 00:51:15 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id E0ADF16668969B; Wed, 6 Nov 2019 00:51:11 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [5.9.250.164]) (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 A91C8166689694; Wed, 6 Nov 2019 00:51:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1573001471; bh=GQZHmf9GeYSMWBFfKdhx9k8ruU/fJKUy1NvoCD2PYnk=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc; b=mFVS0kRjDqp0xu87sBrNh8V48ap0HO0zE0KLLRNL+pcFg05S+XShOmEocvmCCgQoR L8Kup7bX7+nbquFNXzcT2L4KjvncQedK2y+38rdUbhWG8zKuw8/U1Vz3HbXb9Uorbb 4PlWK6ClVSsG4zFHdpb5+BHOvWf9ngo0+FzL4NSjJMkAesmtOwa8mGTy4IB3M6akU8 q63oOt1aHDSqU3G5GJQc1EFORh12bJVWLUsckNFOb/JcVOojKeipsqliA9cxHXe3RM 11sLraloQS/fklzh/tyH+NpKotcXPwq0MKqzvFyL9b1B0aMT6CHVJUUVMGajeIdrq3 HH8Ini6OxOXoF/nIwjtAbVGx7H0SU28mDE3RQ+juMDHYmy5EqIkgWhgVAbLDickTog tlq0zSroI1Qqd1GMkvkL/o9AVGX7UFvi+hWxiSc5NEJjQvgKxwgA9X9pSCqVFshOEB FmoJhfFFujmQUje/DgEblzVTr5F4/SXO9jONoKD+jzinGr+ah36xr98gCrT2eJ4jtN KCBk4S8So8OrkyvSuAZTA9jaVKZhpoC70+oJku/G/TGGhoDoI+c4f7d8SqXdwyN/+2 fT2ztC2KPM7w9VHl6tTopMBW8J0BR5FtjUBXndHcASBgEvVppX0J1swht57JiQ1+7U cMXHuqKrp/HCXE+V4KXcGpSE= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 9816120769; Wed, 6 Nov 2019 00:51:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1573001471; bh=GQZHmf9GeYSMWBFfKdhx9k8ruU/fJKUy1NvoCD2PYnk=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc; b=TzDmhMhKUxcOsbQShuNQ4Iiy5I0GoGVBCQUA+xOfmU07MYwn6dwFEJulMYMBcI/XZ fYs+cSAwCAkdck37pP+SRv693WDkqX0oukxb3fP3UdbK+KKRYi4jyF9eHuVaKCmMEi liEjEMQf+kFLEdJnkdSdwIqmQAupXAV8KUcuD9stfOdWki0L9V61JP9ihmCmxoip0W uIl5UH0edl4GTTeh4I+42ZkAW6jTzNppDR75kwbIRp6EugNWz6qfI6+8nw4pkiOA/U yP+Wh/ZxYBps6PKDMmFGcEK5pLUU6tQ0TmaO3WifxiISIOh/IiHbrIA4ICygDVyLAP Yqrb1HtaDM7KNMdFcxXm5WPJuWA8N2ey2QbG0HdNQ9BtU6p/Eqjr/TqVosA5XQE9Qb zch/+Fnfg8ciizg556x+M0418LbBFqHVp3NBkE3XbF+rZlediw0LAryEeXwrDuYCC/ 4viX+KcAjEDs0f43+n2JbL7iAmeqeWIabrneYnq62OuZJKwM31sNagjK/AauIkFE8Q whlT63TCSk3YDFI8gg01BQOehgR6dp+4k2ljuH59BBHKC3tDw1iiGVjHksFwZHEL+p St5tHw7e/6emru+jyXxvxwmBIBIGYGqdrpLzhYSLhs8sKrpSDwIOsusVYogH44ZAQj NhM9ED74Ay+4jcbFzu5O1kpo= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 2242F2069D for ; Wed, 6 Nov 2019 00:51:09 +0000 (UTC) Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70]) by luna.archlinux.org (Postfix) with ESMTPS for ; Wed, 6 Nov 2019 00:51:09 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id C13BF16668968C; Wed, 6 Nov 2019 00:51:07 +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 00716166688D33; Wed, 6 Nov 2019 00:51:06 +0000 (UTC) To: arch-projects@archlinux.org Date: Tue, 5 Nov 2019 19:50:44 -0500 Message-Id: <20191106005044.1846454-1-eschwartz@archlinux.org> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [arch-projects] [devtools] [PATCH] arch-nspawn: rely on deduplication to avoid making multiple host_mirror mounts 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" Instead of comparing exact mirror urls to see if they are in host_mirrors in order to "skip" the official mirrors, simply trim the expected .../os/... pattern match. We already filter duplicate cachedirs. Signed-off-by: Eli Schwartz --- I wasn't sure of the precise utility of this, but in addition to being a bit simpler, it seems to work around the case of https://github.com/archlinux/devtools/issues/14 (Even though I don't really understand why anyone is using '$repo/os/$arch' for their own Server urls.) arch-nspawn.in | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/arch-nspawn.in b/arch-nspawn.in index 7aa6fd6..198d227 100644 --- a/arch-nspawn.in +++ b/arch-nspawn.in @@ -75,15 +75,13 @@ done while read -r line; do mapfile -t lines < <($pacconf_cmd --config "${pac_conf:-$working_dir/etc/pacman.conf}" \ - --repo $line Server | sed -r 's#(.*/)[^/]+/os/.+#\1$repo/os/$arch#') - if [[ ${lines[0]} != ${host_mirrors[0]} ]]; then - for line in "${lines[@]}"; do - if [[ $line = file://* ]]; then - line=${line#file://} - in_array "$line" "${cache_dirs[@]}" || cache_dirs+=("$line") - fi - done - fi + --repo $line Server | sed -r 's#(.*/)[^/]+/os/.+#\1#') + for line in "${lines[@]}"; do + if [[ $line = file://* ]]; then + line=${line#file://} + in_array "$line" "${cache_dirs[@]}" || cache_dirs+=("$line") + fi + done done < <($pacconf_cmd --config "${pac_conf:-$working_dir/etc/pacman.conf}" --repo-list) mount_args+=("--bind=${cache_dirs[0]//:/\\:}")