From nobody Mon Feb 9 00:42:19 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+58270+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58270+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1588111038; cv=none; d=zohomail.com; s=zohoarc; b=PfdRdhTzrVpiaEBrrIGBMHdJpPimSI8ir2n/izlfU2dp0Aozijh82tuI8BYO80HGBPFvXZRpzd0A/zLSTibnT0Itqso9A7itJZSTxyn5OLEX+AMpiP4I2jh+KEHRWsRG196C6GdDewZ2d+hVDLxAW7cIvyC/MkGIMJCiBCfvjkM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588111038; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=Lxa34A5tKqISd06G1xscYGMl3OnZoPniaL7lvdK3UBg=; b=hMgQCgkRrUhQ+tb4ABra7UWsSHT1DPrg7iIR0GTpjFH9Kt/OPdQoWYHTMiI+aBCwB8UudZXv1POF3l9JUkRW8vXYhMDkiowTbqRQgd0Q/7m9qEomt0IChkgw5vTY6BgYOnmNd+kpoqq4s1o3qrRSfWzHBgF58/s8y2+ubnq7vms= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58270+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1588111038153370.46071060110603; Tue, 28 Apr 2020 14:57:18 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id cNDMYY1788612xJTJ6KscGKW; Tue, 28 Apr 2020 14:57:17 -0700 X-Received: from mga06.intel.com (mga06.intel.com []) by mx.groups.io with SMTP id smtpd.web10.407.1588111036004922289 for ; Tue, 28 Apr 2020 14:57:16 -0700 IronPort-SDR: Yn5RDHniUJmo1n2XL4IWb7AHb/VfQ95nndqrNJGQUnUwxbVgNpReq3Gknu9tDz10dcT3VVuJ14 NSgEPtO/zAlw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Apr 2020 14:57:13 -0700 IronPort-SDR: eBDw0BvN7hJiEYLkR6mk/Tm7WmD31bg+hfwud8C0OTr7GjpjNOgJprNSlhqV3C6KHg3NQiStRh Ms0vdtljdzlQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,328,1583222400"; d="scan'208";a="246642473" X-Received: from aedesimo-desk.amr.corp.intel.com ([10.7.159.171]) by orsmga007.jf.intel.com with ESMTP; 28 Apr 2020 14:57:13 -0700 From: "Ashley E Desimone" To: devel@edk2.groups.io Cc: Nate DeSimone , Puja Pandya , Erik Bjorge , Bret Barkelew , Prince Agyeman Subject: [edk2-devel] [edk2-staging/EdkRepo] [PATCH 4/7] EdkRepo: Add list_available_manifest_repos() Date: Tue, 28 Apr 2020 14:57:07 -0700 Message-Id: <20200428215710.45504-5-ashley.e.desimone@intel.com> In-Reply-To: <20200428215710.45504-1-ashley.e.desimone@intel.com> References: <20200428215710.45504-1-ashley.e.desimone@intel.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: <27952.devel.edk2.groups.io> Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ashley.e.desimone@intel.com X-Gm-Message-State: KmalHvBsIWkSlwS4QITAhBuBx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588111037; bh=CGWDJtKEF2sJNs6Ex3/UoGdoT7gEO4lrfiH+OnB1CHs=; h=Cc:Date:From:Reply-To:Subject:To; b=uCzp1yRm5pd2pmo2OepWB/97tj4gEU14kSvkFyqNvxiXXsPsZz7XIoo1YdPxj9rVkEJ nsvpa64uWvyVrJ6JUMrLXl1IJFQa64lLqWho8+VzviFq8g6njgui9DtKG/4BYj3+Gxf2j iEi++h/SO/Z3egXQB17t3K25h+6S+64XNVA= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add the ability to calculate a list of available manifest repositories from the contents of the edkrepo.cfg and the edkrepo_user.cfg files. Signed-off-by: Ashley E Desimone Cc: Nate DeSimone Cc: Puja Pandya Cc: Erik Bjorge Cc: Bret Barkelew Cc: Prince Agyeman --- .../manifest_repos_maintenance.py | 53 ++++++++++++++----= ---- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/edkrepo/common/workspace_maintenance/manifest_repos_maintenanc= e.py b/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py index 24ad76a..4bded46 100644 --- a/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py +++ b/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py @@ -64,25 +64,10 @@ def pull_all_manifest_repos(edkrepo_cfg, edkrepo_user_c= fg, reset_hard=3DFalse): ''' cfg_man_repos =3D [] user_cfg_man_repos =3D [] - conflicts, duplicates =3D detect_man_repo_conflicts_duplicates(edkrepo= _cfg, edkrepo_user_cfg) - if not conflicts and not duplicates: - cfg_man_repos.extend(edkrepo_cfg.manifest_repo_list) - user_cfg_man_repos.extend(edkrepo_user_cfg.manifest_repo_list) - elif conflicts: - for conflict in conflicts: - # In the case of a conflict do not pull conflicting repo - print(humble.CONFLICT_NO_CLONE.format(conflict)) - cfg_man_repos.extend(edkrepo_cfg.manifest_repo_list) - cfg_man_repos.remove(conflict) - user_cfg_man_repos.extend(edkrepo_user_cfg.manifest_repo_list) - user_cfg_man_repos.remove(conflict) - elif duplicates: - for duplicate in duplicates: - # the duplicate needs to be ignored in on of the repo lists so= it is - # not cloned/pulled twice - cfg_man_repos.extend(edkrepo_cfg.manifest_repo_list) - user_cfg_man_repos.extend(edkrepo_user_cfg.manifest_repo_list) - user_cfg_man_repos.remove(conflict) + conflicts =3D [] + cfg_man_repos, user_cfg_man_repos, conflicts =3D list_available_man_re= pos(edkrepo_cfg, edkrepo_user_cfg) + for conflict in conflicts: + print(humble.CONFLICT_NO_CLONE.format(conflict)) for repo in cfg_man_repos: pull_single_manifest_repo(edkrepo_cfg.get_manifest_repo_url(repo), edkrepo_cfg.get_manifest_repo_branch(rep= o), @@ -120,3 +105,33 @@ def detect_man_repo_conflicts_duplicates(edkrepo_cfg, = edkrepo_user_cfg): else: duplicates.append(repo) return conflicts, duplicates + +def list_available_man_repos(edkrepo_cfg, edkrepo_user_cfg): + ''' + Checks for conflicts/duplicates within all manifest repositories defin= ed in + both the edkrepo.cfg and the edkrepo_user.cfg and resturns a list of a= vailable + manifest_repos for each and a list of conflicting manifest repository = entries. + ''' + cfg_man_repos =3D [] + user_cfg_man_repos =3D [] + conflicts, duplicates =3D detect_man_repo_conflicts_duplicates(edkrepo= _cfg, edkrepo_user_cfg) + if not conflicts and not duplicates: + cfg_man_repos.extend(edkrepo_cfg.manifest_repo_list) + user_cfg_man_repos.extend(edkrepo_user_cfg.manifest_repo_list) + elif conflicts: + for conflict in conflicts: + # In the case of a conflict do not pull conflicting repo + cfg_man_repos.extend(edkrepo_cfg.manifest_repo_list) + cfg_man_repos.remove(conflict) + user_cfg_man_repos.extend(edkrepo_user_cfg.manifest_repo_list) + user_cfg_man_repos.remove(conflict) + elif duplicates: + for duplicate in duplicates: + # the duplicate needs to be ignored in on of the repo lists so= it is + # not cloned/pulled twice + cfg_man_repos.extend(edkrepo_cfg.manifest_repo_list) + user_cfg_man_repos.extend(edkrepo_user_cfg.manifest_repo_list) + user_cfg_man_repos.remove(duplicate) + return cfg_man_repos, user_cfg_man_repos, conflicts + + --=20 2.16.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58270): https://edk2.groups.io/g/devel/message/58270 Mute This Topic: https://groups.io/mt/73340191/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-