From patchwork Mon Jan 27 14:29:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Meyers X-Patchwork-Id: 56154 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7F55C02194 for ; Mon, 27 Jan 2025 14:29:10 +0000 (UTC) Received: from mail-io1-f66.google.com (mail-io1-f66.google.com [209.85.166.66]) by mx.groups.io with SMTP id smtpd.web10.52712.1737988145023473132 for ; Mon, 27 Jan 2025 06:29:05 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=da9DCpbl; spf=pass (domain: gmail.com, ip: 209.85.166.66, mailfrom: eric.meyers15310@gmail.com) Received: by mail-io1-f66.google.com with SMTP id ca18e2360f4ac-844d7f81dd1so127306439f.2 for ; Mon, 27 Jan 2025 06:29:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737988144; x=1738592944; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DSCB9eh+bU/55xqpfWTqLMsxHgl/mB40gfwKsi24peM=; b=da9DCpblO0fIxhuKmQu18XVZNMb6lvqAWuRUB/CEb7QlD+F1umEhMY5ytkYxQqh97S 8TNaTVhFIpu6L0Ri8URxoFnrJcvcnTQ4Dk8W8ekdSu96XKq3n+YFA1kGO3BkYxSjwPkj V+X3hKQshRG3Heoz583dyAyUKbaYmjAIl91VBjrNtbrXaK5Ec1IxkUkD/4gDcQFhs11W L89LTfOKQx+kUUVlvzFne1sPAXh7GsCynfSlWs19T0wReCTbX+99OXrB3WNq/bRaVgW8 OZcnyrjc4xmYunq3j3s8d3v4FPX9ZBB9T572tBSf+7Avj8O0YpN8fw8WT7I+9nnKZzKG fH0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737988144; x=1738592944; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DSCB9eh+bU/55xqpfWTqLMsxHgl/mB40gfwKsi24peM=; b=hoR2b715Jrgcpg3sO8hO532SkJntHNCB3zw4Us8lfPNQcWhg99IKnPELrWmmNKjreF YMThdfnnStWm1QMREJZ1+1bKqdLsFAOEzo/tOxcR429OwRQGbUeF05W+1HQC3swsZ9Ky C5nbXBw++KtdySGE/jufft65Fc4mV1RSKcMm3yyNAIm95nf6D6LAINKBotSfnAqYzXWa dsO06+fi4km3+R9BdnHDX23qt+6OzLu08RzS7CYBs5Hei8QemCXq7DzKDHF7KpNeU1P9 R7PKzO3Ld5O0OwinLRNixF0pWhj1teIgLQHd5AuAShPOeuba4FgsgvMldwkm4R7vl3S+ yK3g== X-Gm-Message-State: AOJu0YzVBpZRNC+aIjtJspm6DaQtgELqVHwXjqW0P3jgB+JZpyS+5FBh tGqD4oatTXBchwIYyCAkLOMsQSNZwCeGt1KRd30x8OJ9N4SRusHBacKxQPg9dK4= X-Gm-Gg: ASbGnct136Hc3fnTF6tv5P5Qu4BvwP3YLNGN1sQ1UqccR+9oGipK2s3+idKK04ESKrT xQPmMfVdhvxpfk2qcrL+bm+ygf0fP0BG+AY9ZFPu/XR26WKl3oZBVcyAeJn5vUS7GgAwDmmy388 ma5mRr370Iy5QrA6Yw1IZCg32YgAVfESVsCGQxtkI+KHEc/E0/SkqmZqZo1FBxpDa64QANoQITU Nc85/C/hV9PkYt3w3nA153YeNVCxrwT1kl2zKxzT6RitBk7BheoKRviNwQfSvR9H5bA1iZzPr1F u5DZdkWvUBhf80xWua9saqgzvsKJtQf/bjM0AbvLrWeM5jsz8SmrcHi1fMqVmuzSJ10x4/X30A6 d8YbCgpxkUbTy X-Google-Smtp-Source: AGHT+IGk/DraOOg8WGOYGJJE5+ZZ6l41sXnxZOk12QZYXXobrRp1cpI+09U4nVLTj7y0G9RM3zKBww== X-Received: by 2002:a05:6e02:248d:b0:3ce:5a7c:6b5d with SMTP id e9e14a558f8ab-3cf743aba4amr368375315ab.2.1737988144017; Mon, 27 Jan 2025 06:29:04 -0800 (PST) Received: from 95d5ae3229ef.yourbase.domain.local (c-73-168-239-54.hsd1.il.comcast.net. [73.168.239.54]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3cfc744be43sm26228645ab.33.2025.01.27.06.29.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 06:29:03 -0800 (PST) From: eric.meyers15310@gmail.com X-Google-Original-From: eric.meyers@arthrex.com To: bitbake-devel@lists.openembedded.org Cc: Eric Meyers , Geoff Parker Subject: [PATCH 1/3] fetch2/npm: Add basic auth credential support for npm fetcher Date: Mon, 27 Jan 2025 14:29:16 +0000 Message-Id: <20250127142918.163-2-eric.meyers@arthrex.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250127142918.163-1-eric.meyers@arthrex.com> References: <20250127142918.163-1-eric.meyers@arthrex.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 27 Jan 2025 14:29:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/17097 From: Eric Meyers Signed-off-by: Eric Meyers Cc: Geoff Parker --- lib/bb/fetch2/npm.py | 64 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/npm.py b/lib/bb/fetch2/npm.py index ac76d64cd..4bf59dd1e 100644 --- a/lib/bb/fetch2/npm.py +++ b/lib/bb/fetch2/npm.py @@ -21,6 +21,15 @@ Supported SRC_URI options are: - destsuffix Specifies the directory to use to unpack the package (default: npm). + +- namespace + The npm namespace name (without the preceding "@"). + +- username + Specifies the basic auth username to use when accessing the npm registry. + +- password + Specifies the basic auth password (or API key) to use when accessing the npm registry. """ import base64 @@ -82,6 +91,33 @@ def npm_unpack(tarball, destdir, d): runfetchcmd(cmd, d, workdir=destdir) runfetchcmd("chmod -R +X '%s'" % (destdir), d, quiet=True, workdir=destdir) +def create_npmrc_file(registry, namespace=None, username=None, password=None): + """Creates a npmrc file with authentication credentials populated based on provided username and password""" + + # Create a temporary file we can store the npm authentication within + npmrc_file = tempfile.NamedTemporaryFile(mode="w", buffering=1).name + + # Convert "username:password" string into base64 auth string + base64_auth_string = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('utf-8') + + # Remove protocol from registry URL + registry = registry.replace('https://', '').replace('http://', '') + + # Create the npmrc file with the authentication parameters + npm_auth_string = f"//{registry}/:_auth=\"{base64_auth_string}\"" + + with open(npmrc_file, 'w') as file: + file.write(npm_auth_string) + file.write("\n") + + # Add namespace registry string if namespace is provided + if namespace: + npm_registry_string = f"@{namespace}:registry=https://{registry}" + file.write(npm_registry_string) + file.write("\n") + + return npmrc_file + class NpmEnvironment(object): """ Using a npm config file seems more reliable than using cli arguments. @@ -142,6 +178,9 @@ class Npm(FetchMethod): ud.package = None ud.version = None ud.registry = None + ud.username = None + ud.password = None + ud.namespace = None # Get the 'package' parameter if "package" in ud.parm: @@ -154,6 +193,16 @@ class Npm(FetchMethod): if "version" in ud.parm: ud.version = ud.parm.get("version") + if "username" in ud.parm: + ud.username = ud.parm.get("username") + + if "password" in ud.parm: + ud.password = ud.parm.get("password") + + if "namespace" in ud.parm: + ud.namespace = ud.parm.get("namespace") + ud.package = f"@{ud.namespace}/{ud.package}" + if not ud.version: raise MissingParameterError("Parameter 'version' required", ud.url) @@ -189,7 +238,16 @@ class Npm(FetchMethod): args.append(("registry", ud.registry)) pkgver = shlex.quote(ud.package + "@" + ud.version) cmd = ud.basecmd + " view %s" % pkgver - env = NpmEnvironment(d) + + # Create an npmrc file if a username and password was supplied to the npm SRC_URI + npmrc_file = None + if (ud.username is not None and ud.password is not None): + try: + npmrc_file = create_npmrc_file(ud.registry, ud.namespace, ud.username, ud.password) + except Exception as e: + bb.warn(f"Error creating npmrc file: {e}") + + env = NpmEnvironment(d, [], npmrc=npmrc_file) check_network_access(d, cmd, ud.registry) view_string = env.run(cmd, args=args) @@ -224,6 +282,10 @@ class Npm(FetchMethod): uri = URI(tarball_url) uri.params["downloadfilename"] = ud.localfile + if (ud.username is not None and ud.password is not None): + uri.params["user"] = ud.username + uri.params["pswd"] = ud.password + integrity = view.get("dist", {}).get("integrity") shasum = view.get("dist", {}).get("shasum") From patchwork Mon Jan 27 14:29:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Meyers X-Patchwork-Id: 56153 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D02EFC02191 for ; Mon, 27 Jan 2025 14:29:10 +0000 (UTC) Received: from mail-il1-f193.google.com (mail-il1-f193.google.com [209.85.166.193]) by mx.groups.io with SMTP id smtpd.web10.52715.1737988149264715500 for ; Mon, 27 Jan 2025 06:29:09 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Ii9W0z+G; spf=pass (domain: gmail.com, ip: 209.85.166.193, mailfrom: eric.meyers15310@gmail.com) Received: by mail-il1-f193.google.com with SMTP id e9e14a558f8ab-3a81324bbdcso35900205ab.1 for ; Mon, 27 Jan 2025 06:29:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737988148; x=1738592948; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+lQEjHnKcawcBkbZEcyosDWvcnaRA08qu8LCtoqulvo=; b=Ii9W0z+Gz+noDupuq3IRJpqeNZ+NhpRfZ00Yy/E/fZa/P4XJDorSDzBHcGyMZEcWJ9 gmv/zPuqThyx51/FbDeZ1fy1xvdTz299ynu7WDDsGyBky2OHvT2nbjTRMlkKBtEEcyCx T2kOpy2V9/RmPeyqkHkOPXpqK/ejQiLhmZmhlXV/IZvRZKnbd2v+pvXdHMjwzogVOhup kSD/4rHkCUb4YVLLtTYmAW5dwFi4KabswX6Rfg3RBZG3r0bOaS3iM06h559n1qT8wruo tqqpn89D5/nDp+ySx9cy0dcpdOSROgXelYNkPFRydhVRngZ5IVMSbh+iVo7M8EP0ulsi oVRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737988148; x=1738592948; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+lQEjHnKcawcBkbZEcyosDWvcnaRA08qu8LCtoqulvo=; b=S9r5gBh2+0b1PUzfqTKpFaEKp+HDQTmPCNsme4bAybV54zwE6wGwhTgxXcXzE0tq35 5RqgZu9LOnJi4pStBfjc4ucHnnjDm0Cu3xW8Khrq+0glIrYx+KfF+b8CjIAH0/Sok0Hn U587UPxiVH+Enlb4dO2hrIKZw4xR1QlGGg2dlubUwlXIhUk1msduwrA1egRkKL4RBER7 DBfLo3BKMaIccZYO1XCXeY8Jk0aRj/FcTG6Cj3rmb/xxYF7hWDnkHLcH78JnlT6ri5U4 mKQFV2g5DgvGGV7EtOXmyKl46yr4jAuM2MV+n1bVj3Yhp1m3jeX16oGzNIDbILhbreO0 R/NQ== X-Gm-Message-State: AOJu0YzQwEu3EXU5VJLdrIWUIOzhHXdd6UAV+leNvWKjBDHldVXD7ZZB Zba8ntjoCpXF9tp8ZT6ctvSJ+yWoMAKgkKYB9MzYyTs2zPmGFEgBqo/TawTuAnU= X-Gm-Gg: ASbGncvt501pt/Cf5zbfWxaSNY6rjbCESVC1d2n+qdOOVK5x4+y/xAodM4JWYAYAs5E m13n7wAfbjxqwwZxShWrvSrOvWVuCEJKQHu+KjNxLPRU2PgDpkxhqWSeBrBhr2ATa4guBR9BiHs BCb45ktpP1l9oQn2HxfMRY/O5fnjpCNGvhmo11fDWNsVw3Dz/CQEkhoesK+MOUqZV7nzqMxhxig NCQ/1hYhBTKVxIGy7s28cTolSyaSkVoRMPqNCO8gFWC76r5n7CKt20D1pJarN8cC8Killdc1iiv fG+Y/XrGzWm7Khz/AAJ4XA06LWC0i5o9rOf96/92pLXRLUzGDxQiDJ3yS+5nMyw4xDBshMlK5Fx Vv9mi4ekAW377 X-Google-Smtp-Source: AGHT+IEf0GAEPNpMJAIG9YvTZ5djBAR/IcWas2spAEg1qNiiCaWmNpG71wDGxvEPebLoZg+XAZtbog== X-Received: by 2002:a05:6e02:1f84:b0:3cf:b26f:ff7c with SMTP id e9e14a558f8ab-3cfb2700234mr213758755ab.5.1737988148239; Mon, 27 Jan 2025 06:29:08 -0800 (PST) Received: from 95d5ae3229ef.yourbase.domain.local (c-73-168-239-54.hsd1.il.comcast.net. [73.168.239.54]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3cfc744be43sm26228645ab.33.2025.01.27.06.29.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 06:29:07 -0800 (PST) From: eric.meyers15310@gmail.com X-Google-Original-From: eric.meyers@arthrex.com To: bitbake-devel@lists.openembedded.org Cc: Eric Meyers , Geoff Parker Subject: [PATCH 2/3] fetch2/npmsw: Add basic auth credential support for npmsw fetcher Date: Mon, 27 Jan 2025 14:29:17 +0000 Message-Id: <20250127142918.163-3-eric.meyers@arthrex.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250127142918.163-1-eric.meyers@arthrex.com> References: <20250127142918.163-1-eric.meyers@arthrex.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 27 Jan 2025 14:29:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/17098 From: Eric Meyers Signed-off-by: Eric Meyers Cc: Geoff Parker --- lib/bb/fetch2/npmsw.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/lib/bb/fetch2/npmsw.py b/lib/bb/fetch2/npmsw.py index 2f9599ee9..1c894c561 100644 --- a/lib/bb/fetch2/npmsw.py +++ b/lib/bb/fetch2/npmsw.py @@ -15,12 +15,24 @@ Supported SRC_URI options are: - destsuffix Specifies the directory to use to unpack the dependencies (default: ${S}). + +- username + Specifies the basic auth username to use when accessing an npm registry specified in the shrinkwrap. + +- password + Specifies the basic auth password (or API key) to use when accessing the npm registry specified in the shrinkwrap. + +- basic_auth_registry + Specifies the registry within the npm shrinkwrap to use basic authentication with. + NOTE: This parameter is optional - if nothing is passed in but a username/password IS supplied, then + fetcher will assume to use basic auth credentials for all registries within the shrinkwrap file. """ import json import os import re import bb +import urllib.parse from bb.fetch2 import Fetch from bb.fetch2 import FetchMethod from bb.fetch2 import ParameterError @@ -67,10 +79,26 @@ class NpmShrinkWrap(FetchMethod): def urldata_init(self, ud, d): """Init npmsw specific variables within url data""" + ud.shrinkwrap_file = None + ud.dev = None + ud.deps = None + ud.basic_auth_registry = None + ud.username = None + ud.password = None # Get the 'shrinkwrap' parameter ud.shrinkwrap_file = re.sub(r"^npmsw://", "", ud.url.split(";")[0]) + if "basic_auth_registry" in ud.parm: + ud.basic_auth_registry = ud.parm.get("basic_auth_registry") + + if "username" in ud.parm: + ud.username = ud.parm.get("username") + + if "password" in ud.parm: + ud.password = ud.parm.get("password") + + # Get the 'dev' parameter ud.dev = bb.utils.to_boolean(ud.parm.get("dev"), False) @@ -107,6 +135,14 @@ class NpmShrinkWrap(FetchMethod): checksum_name, checksum_expected = npm_integrity(integrity) uri.params[checksum_name] = checksum_expected + # Check if the registry we are using matches the registry passed in + # that the user wants to use for basic authentication + if ud.basic_auth_registry is not None: + use_basic_auth = urllib.parse.urlparse(resolved).hostname in ud.basic_auth_registry + if (ud.username is not None and ud.password is not None and use_basic_auth): + uri.params["user"] = ud.username + uri.params["pswd"] = ud.password + url = str(uri) localpath = os.path.join(d.getVar("DL_DIR"), localfile) From patchwork Mon Jan 27 14:29:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Meyers X-Patchwork-Id: 56152 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C81B4C0218A for ; Mon, 27 Jan 2025 14:29:10 +0000 (UTC) Received: from mail-il1-f196.google.com (mail-il1-f196.google.com [209.85.166.196]) by mx.groups.io with SMTP id smtpd.web10.52717.1737988150248951988 for ; Mon, 27 Jan 2025 06:29:10 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=SleFsTy4; spf=pass (domain: gmail.com, ip: 209.85.166.196, mailfrom: eric.meyers15310@gmail.com) Received: by mail-il1-f196.google.com with SMTP id e9e14a558f8ab-3a7dd54af4bso10116255ab.2 for ; Mon, 27 Jan 2025 06:29:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737988149; x=1738592949; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nY0hUfztbJOdUnYWzzkrp8Gia/c0LVtFRjuMdv+qgQE=; b=SleFsTy48fxFii5TVnO7s7VN9X4qVYbJom6hFJLojFZhhWy2Hscb67M6irU5vZqWwh 75Bb1XqSyKV4z/YQqthewzqDd2xwMMjE5oYwpjcYCAEWgH5FD3VKCmd9z/eBo4JcVJmC emXa0WZT3Ev1IRM6rg3nsgkWpp33a8JHlgu9BGm1hgTKG4aNF3R6k/Va0pdlyjX9RV63 LLfHBlN8tNwmseSlYM8+TJKehfC9PcaqrVFIXkKEH9iqK1ePIJJwnmNyP6JLHeTAhvMc v8z2li7yaxvIizmWgIKvJgpCwo44+E5lHYLtz/EJWFGcF00Zd/A8G1JHVsZppkx1jz1+ rmXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737988149; x=1738592949; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nY0hUfztbJOdUnYWzzkrp8Gia/c0LVtFRjuMdv+qgQE=; b=cF1Jbjd/QxQG2U0LBCRx1PgN1qikxqXOQt0MSlnBzl7qM3V9h2Egp3f6drunYmNAQg JMsrsh/R8uOhn5u36ulIxHMqREWCtqELZeTgSq5miokxhzIbxvycrL+tvdMUi1nY793E FL8ChAYpzQMUOJS0O4f6s7sP6rysCzW+xPJnfKEgDB4s+cBwnIkKaZWzjjICxBOVZr/5 NsqNnx8kZGZ2EEIvO32zNO/qHoIsSBm2GubPdBaQD2H4uWCdRHll/zdJp3YkeVOu9Q0q 1+aAup92Ocwa/SVIiBjUF1XYaG1Qk+d1dmJY17qV7rCFLdWiiIsnIk/4YORfKRVoJr/A aU5Q== X-Gm-Message-State: AOJu0YyuvVwJNCEz5oj9YxTDdVvyxzPRc+JvwYx5FSyweQ4JGsZVRNvT QHnFgibeanAcuByYtRSPbErUjsOAQsf4lAem+RoAANiL/WUHyz4LHMwTiNeTWP8= X-Gm-Gg: ASbGncvirqKTpMjUy3EtkI2vEN1n89JKQjrnaqI1qhuvs1xDn3vXFgBed3mSEQIbK0W iSuInSUbsdA360PRxkbTZb4o48nSdf1d7DYlpBWThO79U3R9wSlch1BOnkaE0A1PMVckcBDttSp c5zZ+Gb+XqVZwOaVg07E38cOB20YwzayBoST5PQaAx29igZ9SY834G7iXfuAqXAYbIIGa5V5noE dIyixcRrTti2H9dfFwU5sSWhFzn2dZ8nZZf8jfWtDRgLVccJOtQnIigX9JZZPPNguSO2vnpX51e 9l/Z9EfDCgqWAQ5KjcH9Zb8IBKe1gS2hiqPPREppT4ZUBzgZ7Sw99f96Iv+T3CPp72JO7HxsA/+ Q9Q== X-Google-Smtp-Source: AGHT+IFW3sJW2HhCyfxF0bC9QfyBOErESs+YkPbYzF2sh/+Qh46fh3W+2hKXOVfaB9l3NbKz0+R/6Q== X-Received: by 2002:a05:6e02:1f85:b0:3cf:b08e:7e91 with SMTP id e9e14a558f8ab-3cfb08e7f5bmr184182345ab.13.1737988149124; Mon, 27 Jan 2025 06:29:09 -0800 (PST) Received: from 95d5ae3229ef.yourbase.domain.local (c-73-168-239-54.hsd1.il.comcast.net. [73.168.239.54]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3cfc744be43sm26228645ab.33.2025.01.27.06.29.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 06:29:08 -0800 (PST) From: eric.meyers15310@gmail.com X-Google-Original-From: eric.meyers@arthrex.com To: bitbake-devel@lists.openembedded.org Cc: Eric Meyers , Geoff Parker Subject: [PATCH 3/3] tests/fetch: Switch to working npm registry for registry_alternate test Date: Mon, 27 Jan 2025 14:29:18 +0000 Message-Id: <20250127142918.163-4-eric.meyers@arthrex.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250127142918.163-1-eric.meyers@arthrex.com> References: <20250127142918.163-1-eric.meyers@arthrex.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 27 Jan 2025 14:29:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/bitbake-devel/message/17099 From: Eric Meyers Signed-off-by: Eric Meyers Cc: Geoff Parker --- lib/bb/tests/fetch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py index d64717011..42caad655 100644 --- a/lib/bb/tests/fetch.py +++ b/lib/bb/tests/fetch.py @@ -2772,7 +2772,7 @@ class NPMTest(FetcherTest): @skipIfNoNpm() @skipIfNoNetwork() def test_npm_registry_alternate(self): - urls = ['npm://skimdb.npmjs.com;package=@savoirfairelinux/node-server-example;version=1.0.0'] + urls = ['npm://registry.yarnpkg.com;package=@savoirfairelinux/node-server-example;version=1.0.0'] fetcher = bb.fetch.Fetch(urls, self.d) fetcher.download() fetcher.unpack(self.unpackdir)