From patchwork Tue May 27 09:59:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Koch X-Patchwork-Id: 63697 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 90D88C54ED1 for ; Tue, 27 May 2025 09:59:28 +0000 (UTC) Received: from DUZPR83CU001.outbound.protection.outlook.com (DUZPR83CU001.outbound.protection.outlook.com [52.101.66.18]) by mx.groups.io with SMTP id smtpd.web10.48335.1748339959711852922 for ; Tue, 27 May 2025 02:59:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@siemens.com header.s=selector2 header.b=FzaJ5L+A; spf=pass (domain: siemens.com, ip: 52.101.66.18, mailfrom: stefan-koch@siemens.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vl3BZ/hj/7F8K1alZwfAm66fazGbRuyTT0PyLYqDZxAtfMjXwfyJ+GKHeujZ9ZYj9gJyZC9xYTtCIGrpSpZEPVMSngWmNKWoTBdnc7K2Ty+hyW2j+7VcZzkS13yLOvglfR5boVarPg56nf0UmqaJmNV6hItmHZN7HbsspYAXuA7FR1SuTSOm/RAmHbQFG4UbE/gazWXIym80ydE1bOCYhbv7nwr7JpGctX7JkKwX90bn+WlDGOW0bp9vTdzJFCJNIBikHjqiJVDYEgOEq8VweTJYrs4KTOKHHaWSybCblD6DAxcxgeivLQizYk9nUf2Y+58ALtzYF/xIFsY+C+nFQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eZ53C8YIJJdrfVZ0RXscNxQ0q9AVVoqchV5NPw7ZpfU=; b=FVNKr89IhniXV9gF2tbJ/lel/Gudos+2TX0PfEWtEfTTEhYrgUFoZdNmQvSMCoJuIA6rM97LOx9CniNwGJQ422qHadledijZkCgtyvci9rcixc2AmRXgRN2+FkXb/yZTu4IDv4EWekeGbsUzF4/0tEg9iRgnYoblOfbPdSutAFrz8fVVrVZhYqID+RlocJf2igoRDqpLoWHtVyU9RTGDHMciFJ7koq0FSWOS2lGiG1x2tJqKL1+OR0Sp3dN3Vaqql9CX//5Kb7+WE2nGYptVQYd0PCIkP008h3F8U/2OzxfAbci9kVwhQD5qxO/nwQEEoA7yG23d7zzPpLRiEUVIKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eZ53C8YIJJdrfVZ0RXscNxQ0q9AVVoqchV5NPw7ZpfU=; b=FzaJ5L+Ada9tHDHpSuzgPiaKW4+n248RDXy7Jrb9Ea/Q2l070gcbdYwifDOML+FZWr9If8HkpBXHASmIrCmH+WfJDDex4lYz6/d8xkKW/8nf78JKBo1GPqI+POeogSCoy4fHCtqVE50Wb5sHR1glcD08XN4R0aZc9Z6EFIxLEMRe/jUoEAlJdAYcYwYmS92pR+ueTi+4nrvFSXAvcfyQ6z9apZ5yfpvhqOjmzIVf5zbQaTsaEth5gDbYJ+efctN3yrXcErQxQ940jqpdOhNdKD9BivtLkVrl2wdRfbnZxijSlFtO2iab16SAlxeH4Aym0b+ON419eQEdtfFbMGBhXw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) by AM7PR10MB3192.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:109::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Tue, 27 May 2025 09:59:09 +0000 Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::71d7:e998:3abf:a1ec]) by AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::71d7:e998:3abf:a1ec%4]) with mapi id 15.20.8769.022; Tue, 27 May 2025 09:59:09 +0000 From: Stefan Koch To: bitbake-devel@lists.openembedded.org CC: docs@lists.yoctoproject.org, stefan-koch@siemens.com, richard.purdie@linuxfoundation.org, liezhi.yang@windriver.com, niqingliang2003@gmail.com, alex.kanavin@gmail.com, quentin.schulz@cherry.de, jan.kiszka@siemens.com Subject: [PATCH v3 1/3] fetch2: Move the `ensure_symlink()` function into the `FetchMethod` class Date: Tue, 27 May 2025 11:59:01 +0200 Message-ID: <20250527095903.2300556-1-stefan-koch@siemens.com> X-Mailer: git-send-email 2.39.5 X-ClientProxiedBy: FR4P281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c8::14) To AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR10MB4959:EE_|AM7PR10MB3192:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ca24cb2-72cb-4090-4113-08dd9d052001 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: MOoGexne1SnywL21HlFsM2llpQ7e3OVYN/Pk/wxvYlSLyQ9WPpqI81mqHWOA1IARs2Y4MPbof0XCz80BXOVvTmFHdMFd82AvG+pwgXqT+aidIsFYIDzCQXBBjOZv2Ko1cGaIGgY+Zxr+PP/EKBJLEzIVmaKV020m2Q+6NRA7VbBv73rmQsBM7dNLMTm9j/EiVIqoY2NuvBvUYxXM6AHqZd2H8mRmM+rte7Ao2eK4GciEIAnw2GiqJLe0Rv/Wp5Y+UuS9xSv2f62AzuEHCyjByzlalEQ0stR5KiUsOK395bZhwgML79WNqz1EmCkMkmbv7vSSMNxEoG/p/ylRQ0M5agbg0/Eo2AQ6SUcm1mMxhEKjU1St40RqJBWniqPKsbsTeGNtsnifrB5Wyb9YdZn+mJqIpMIGqvVXu4+I+mgMvARwp06QmOInpoz9d+fCs/haue3o4c0/pvvR8VtBb6dnd4Uf1g385LJXhmURxm/rq76uunUoUiFss4AWSgeRyMuBGhLmGg5tR2wFiWjI3tCWETCsnd2Si+rZoHc3+5VTPj5JqWnLgVI6k+rLI4UxYdMSE5jvM0/3aPOapSnb1hrJx3NMOPJwot7NnOFmC91juyRG+OWeuEHjNRsS+4njh0fEt8kuxsG8OjilRZ2oKSOBOrOn2I+6nZa5LmQp49EZ/wKsAaoyUrU3ul29Cv8PZO3J/GpBmrNMy6q+g1qoHQupDoqbNPMkUQ2lH8M7s7JMustjOoulhu4AgvfE13S+sU9pzvrCy2GztxA2Q7Tbn9rIT4TUJe6/nASy8PGX/8nA8hIIXeYn7+ahYl1y3qcR7LM30j3sbGDg1zGX9Vp0p9ZwCZ4B0qEeoS+n//uj+sT4LfF1xq3ynI18YpOKjv50+rnCYKNG0tmqHKUYvMPIejdhjD/4Lr01EtdWreH+GhsGrlJn/9luco9XSAo9SoAeVJN3ZRbL4GLpG9YIL7dxZe4xYU46bBG9D+qoSkT4ryrS/FCU0EVgrC8PDN7e6hyG9CDlmq0v8hOvPmJ9Tswjg5yDBNGnTpTcYccNJ4jIBFPKgDDSOnjRNiApd+iM3Izp59nozL0qY/N2mg1Lo/IfkFIlOcI9ELZcDnOHyJNRc55zwccGcktZqMuAPTrn6QZjiIPeOsatXNJRKsBZmIKHZcHP2XQuCWN03CeUAk4kg4MHccDQ0MCq8c6Mfxtt2jU6FPpeSYY02Z6k59GTd7yMBRUlpqT3Papbsh2J4pZnvHfeon/rQOs0WJKwn68GQKFZx3rDc5bf36xkVdeFJ15kovMzN7ONdi0EZzPV6q6Sb2jFvv6aktJROivIc+u+BFu/tG8LSCNWsAzE0VLFAhYR/MGWTumJEcc8WfoXO+Y6Ljwsf+nZ73BJlskA3isS9dOezutPrdI/909b0JPuoI5wCCzl0BRfvbhdD5K/wkwLXpK3J9o= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XYsHsYuNv4X5LULtCUDwerwLElKje94yuzYXCu+xWsE2yRX+c5+39Mjk6BuCduB0l7P3lWKk3z+15ZqD+S03uXB/SMTbQeDMp+BdDktjfWzj1XK1nCzrQ6ohUITbql7wyUsU2eSrJwsGHLXPBhVyCCypB/VNpQA1EqL6DndDvpBUdvQ6uoZu0KKSrJOY6clK57vToLw68z5ojKmwHZ2X1fwovhaIR8b5OTRAeEWE9m+j+WSreAFpSyrETOjf35O5cIrXc2BxqVP9jd+2raDt1WriL+LJquzhUzATxvdZx2b2/ZkAmaZ0oD7uug4lLPuAKZo9ZlODLvsynn55+blqWOTtBCOSxrQs+CQrD3dIg8x+557GceSQLSMLkjaTQov0eoR76E5qAdsVFGhcgQG5wdiQRX2Jg8eYoQzdEmYqHlH0QvIiES7BuW5BcZD4uAxomUY/WSKMqlI5DypxkkkbFcDKrsjTc5hQnSqs1t22909WsDFgy62ihcAj03RFXAUNKFNVU1GtcUDrLz+IiwPeWyAH1ajwNvdVtebwCsHcGnICtEMlVCivBm0CZWLkNRhyXbW07ukiXB60/eVk4J/cfhXzbCGKn4dXszzdlKIx3gdjku2UJ/y5X233GWXjKI+b44KDNIKG+kazjFVw56deFErh6JwlwSKg8ZfhRtOLg6RxPj+pIQGbGaqiDD165V6dzzrP6R94tCam5lme2JoEw0gkvvL/J5cJA1yGpuI6LAjvMZn5vfuKi/s93CRcTqJp0n/A9y3V+heEywsAppJY5O64+OY6T5Csgpye9Xj8H6y1XE9XkHnIjsZV5nBEwWwgeSeA6DwF8Gu6LiaoQUHBTYWsesMvdjM11iOTQhww4a/I1mw94qxrK7b/21XTL05/DBkpAMLp6WG1H2Puuanz23aCJHbOsk1SUeI7cCKh3IYH8mPw7c/WhRBp+6dAWoKW2fE60qt1Xn+i5ztTXc1tkF2FvQGxxG/b/xuRMkvOOcs2MD+1+xg3okWBmAQdhf7AF1pKXXPw+2kRO4RcYYF7+Cmj/mPK+mqqoATHiGkO08e1Wz8dvvUxr/qHzV6V9W70s95EQkZZJvW7SFo7wHTbcw/TIhYKwmxfbfQOYFjpI+dWlgK2WbIXau9ECoUeKwP2kpVWUY5heS291w4Ua1wbsDd4mBqaOgGq19UGT+gCezn9i4z5Nj3gCTbGVpxovRD1FsyF5eU+Bf2RzfP6ApiFgiqAxbIz8mSxlJoPzjzR3YLFns5Xc9soaJnOcAfxePEyM/Vxav1xf2n8GQBpjGTBIa40KAejK90I6LJ2f1lNU849dVIAWSI9SXpHZ9OuvM3j/XpP/qQLEWbVdRDx7UZVEMfm/4xyR4EZtXGd7y4U+wi0IwHaaax2dqNCCdwxglMX+b9/ccGi4+O/ZaA51iNDOj+PGCOnhEovWAszQHdNbCn0Nz1T4Rob2YijjJT+xuQsrhqkMz2e4bRYvEZyCMp+zf/zHHpNTmZ/ONj+QTVTNNCJBgJJJvbWi6iM8beAJgopSscqf9GPSPiuk7Py/iQ7mtFS+T0BkhMsvn6Uur7CKW1GqFJinXEvITaDV5cglbhRwcrqsTkk5UNgab3h20AKww== X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ca24cb2-72cb-4090-4113-08dd9d052001 X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 09:59:09.5573 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fXCFZ75uJUB0PeG1M6I+avCSYwwnj9mCBZdEQ91WuG+BceoahbbE5UeHcoo57vxQfEnRb5H5G0zXYFdfvudwYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR10MB3192 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 ; Tue, 27 May 2025 09:59:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/6941 Signed-off-by: Stefan Koch --- lib/bb/fetch2/__init__.py | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2de4f4f8c..fe6c1cee2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1151,25 +1151,6 @@ def try_mirror_url(fetch, origud, ud, ld, check = False): if ud.lockfile and ud.lockfile != origud.lockfile: bb.utils.unlockfile(lf) - -def ensure_symlink(target, link_name): - if not os.path.exists(link_name): - dirname = os.path.dirname(link_name) - bb.utils.mkdirhier(dirname) - if os.path.islink(link_name): - # Broken symbolic link - os.unlink(link_name) - - # In case this is executing without any file locks held (as is - # the case for file:// URLs), two tasks may end up here at the - # same time, in which case we do not want the second task to - # fail when the link has already been created by the first task. - try: - os.symlink(target, link_name) - except FileExistsError: - pass - - def try_mirrors(fetch, d, origud, mirrors, check = False): """ Try to use a mirrored version of the sources. @@ -1655,6 +1636,23 @@ class FetchMethod(object): """ bb.utils.remove(urldata.localpath) + def ensure_symlink(self, target, link_name): + if not os.path.exists(link_name): + dirname = os.path.dirname(link_name) + bb.utils.mkdirhier(dirname) + if os.path.islink(link_name): + # Broken symbolic link + os.unlink(link_name) + + # In case this is executing without any file locks held (as is + # the case for file:// URLs), two tasks may end up here at the + # same time, in which case we do not want the second task to + # fail when the link has already been created by the first task. + try: + os.symlink(target, link_name) + except FileExistsError: + pass + def try_premirror(self, urldata, d): """ Should premirrors be used? From patchwork Tue May 27 09:59:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Koch X-Patchwork-Id: 63695 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 8B8BDC54ED1 for ; Tue, 27 May 2025 09:59:18 +0000 (UTC) Received: from AS8PR03CU001.outbound.protection.outlook.com (AS8PR03CU001.outbound.protection.outlook.com [52.101.71.31]) by mx.groups.io with SMTP id smtpd.web11.48346.1748339954448454056 for ; Tue, 27 May 2025 02:59:14 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@siemens.com header.s=selector2 header.b=XEQDwRe5; spf=pass (domain: siemens.com, ip: 52.101.71.31, mailfrom: stefan-koch@siemens.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YNVN98joj80LCDj1f0xFdJpExwYKksZ5FNZ9XRbuvqyCRYvO/vfzXKIH8eb5yKylXzuHzm5vUIvpWUSRicuZVEMczY9j2kVCBHFI+gw0ZpZlN6D8Gi9oorypjfeMKAO5C7L00POUvbbRkAj3Bz+xRfve9R+vTwoRbDXtxxQLJbfE8By/8eMITVUllbB3zfYdkfCJDT4DjltyEqf0ESD0fuut9MNa+VLtNQBoLS6FUIsi8F3EbTwYY73SdMjaQLfzA1pvOWYqLzOAjLYAVdrYQh2kb0IGcsdZuVLf57XnaTciNHo/2mJWDevtTAtuTKT/gR0xRaqvNZrjUhq5pi5bMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MSp96LgtxxVk8ZjHjXWIFcqAEsZWhrsZ3Ozav0Nkdug=; b=VGAA68ltaekS/fxSj0jXq4CYL0ZZ73iqQyN37L72S5pMo3SE3rWKxImDQmLX+KKkNZ37Bq5g8egFsHZANcGmYg4DPhiuSEpGvsQhucNq8iExce5StA9qWNxenbPgma0po8V5XK4ycLBkwVafSxRbs57tQdjKB1SSBXK7LaHN459v4zIap3dVseTXHYE7OM6n7vA83exjNtasPHivOR6+n0VKmHcBZLiHyabdgqT7yqhqylfh1UTiu8wNQRevkYYC3RHXD48nmsd9WJumGCoqK7DQYKlod6ZoA0nTy9ZKNDOdlLSG7ly+Gs2F7zgJQswOgH+k0ZopKH1rhqYYhm3k/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MSp96LgtxxVk8ZjHjXWIFcqAEsZWhrsZ3Ozav0Nkdug=; b=XEQDwRe55hdQFQoa0Sq0TCszWxivkTiUqq2hYHExi+fR1fIpppT2Kzq0EPNRa2MepbHAt1ACif+nC44Vk0tWeiRtKUtix01gFszmunGvmB7nTK7Hk3YQyLaj7yKmeSBVa/oFulv1taTDmcy3T+j4JDfnIhMVXpfLpD6x0LeBtMWxTObjKmpNyBjJH6zBvpRjsSgWEH3USluHMaecPoebmkHWzh0z6q1y8cerVhXuoh6rD/xeETrikVeDUrAUqYXpjHOGaXVhEpj3G/9SuMZ3/EPnPjO6GfrrgyUM82VvauA9piuNzI6fqAUpKo7HH4Jo+cgSHrfkxENcaCdChegtqQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) by AS4PR10MB5442.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4bd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Tue, 27 May 2025 09:59:10 +0000 Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::71d7:e998:3abf:a1ec]) by AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::71d7:e998:3abf:a1ec%4]) with mapi id 15.20.8769.022; Tue, 27 May 2025 09:59:10 +0000 From: Stefan Koch To: bitbake-devel@lists.openembedded.org CC: docs@lists.yoctoproject.org, stefan-koch@siemens.com, richard.purdie@linuxfoundation.org, liezhi.yang@windriver.com, niqingliang2003@gmail.com, alex.kanavin@gmail.com, quentin.schulz@cherry.de, jan.kiszka@siemens.com Subject: [PATCH v3 2/3] fetch2: Ensure a valid symlink in `PREMIRRORS` case when using shallow cloning Date: Tue, 27 May 2025 11:59:02 +0200 Message-ID: <20250527095903.2300556-2-stefan-koch@siemens.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250527095903.2300556-1-stefan-koch@siemens.com> References: <20250527095903.2300556-1-stefan-koch@siemens.com> X-ClientProxiedBy: FR4P281CA0412.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d0::20) To AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR10MB4959:EE_|AS4PR10MB5442:EE_ X-MS-Office365-Filtering-Correlation-Id: 279a2508-5b0d-433f-eccb-08dd9d052086 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: /XHXBwWPfVBZKIvM3KJA6XozlHf9+aQPEJMooK5zfnhk3yO6l9p6r+YCHZzxLB/PnmfH5U9Rll1rIM4oOegZi9OvlwytzwoGz8MbpKEibTyDaxrx4PQoqs8dAvdc/1t1GnvOzUQjwJPm7nqgNn69slVCY+srvQ6lSYuHhdDucDj2LjpPIXQWzxAL1fg6YD+OPnZvlo5eQRQhBXcY2t6y3fX9jDVAsGnvwf/jtLXVwnPMVr7tiHejr30eqq+NAqj12m9MLknZpobUfGvW4kmF605QAH0RXGH86i/+OXXy67KoHfxSRcqfXQ3vuC5GIu3xXXPJwUy5X8kLtKxkcjBruFJhDxzn+mZpunctc8RPYhpAdDOkIdoGj9jJ7j41HmQwnhn5ZjOTxFhZ6qwCwg3M3JaewRhkfRhjvpJDWKauOevlHlX3bPcC3tfeHJKbvMzPN8CaAPYITbMaOQ4s71Dj1z9ppdNir9pRT9XqoCiVP1aSx3iAnB/bP//SbqBMxzHVyJg/PlDnZQDrl6E9dYgq5y3wCxqv/2PAMgry17gZOEFXtexPVs4O5D8vUkINxnD9k8dvhd0JdiJMu6SFC8AWfB5wcYgFNPXqjxzl/LwlE6t+A3X1wj+w9PNWhh5WedJWBgLUJ1++MOT5wnshqdJbRd6OQYVwptwpE+eFPi2l/oR/+kofuusOQ+O5IWvtBMOBpvsldDboGsephBltWpOnA7sEqrcqNKCK9p01maGhDKMM3h9yZog19X1Vfn0OXX250KeAh2YfyxHE/AsLxeJKSB5hOQXbnQQTyhvb9pa9hzf08TY6azoOjAq+HsVz7H+b5EdK5mXjQKk6W0YttJUxdsX+mlobRNJHkk0BkOFLXwjs1YVK/sZH10/RessWALkxbUZkrxZkRi496Z8bNsWWZ1gJU01ZrazL0HHPzGaSut9jwNOx841FFCjojzxu7HxkT7BCo5YaJcrZltUge7psfSyKQ/qlGENc/ZMHPO5XBXR87F7Goq3Ie4Ln+Mc91kINjx/Q28gtOrVqx9X5b41XSqwLEQm6S/cj/MNMXyv4qRUb1mUdbLY+E1XM7Sws/H9tgjETBdY10hMiYKh9F5YuTi5LeWEhFip++4mhhn3xQhFFnkscBsKyh/0kuSFMFPWJgAd+Z1UeudSl02MVFyBT9geDrHCNLWzWnVIoeGMOiZwS8sXRWVqWaC/AITmk78rOOqOEchBinLoq+z6gtq5AkvcLfY39SqzYEJzSutg/6geqUpJMrJZwg/IMPKoZR7wphl7HUqO6r07M63/HGxFuj1RYg1eu6Ht6RwFKWZDIbCfC10cozEX2WM/G6priuqEwTMkvgnjQ2EXG7AxJ8ougy0C7hD0ufGCr6LtjNke/ERuTLtdHu46ogHe0EZcnhGc7cJ8L851P7nxRcara6h3TRUi+IrqwwKZnN6oK6EBEkaY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: N/6vGQbXtmS1duPAlEVMdN+DEhm2oIdTDmm97diFpTVIZGtsBuSI2KKaBZ4FNMD0BmEY8VjDAdt9PgRdWMqC1VkCuwEB2xbn8KB5gczlZTobYg39Xo9xuHikvcU+VPpxvDZfp2Hx6RYFHM78EFvOfeyIH54rg1Xun+op4OyaahPUH3Se3fsodjLvtPLZI3iT0gKM6XlITOkg13rFtg/Sb8tAMZiLEOMHJMNRnCfJA1RCTGXp3wtGbg+E9yPpTLrXGvymCBtkL8p/PIjKiKs/8SB/9tsxR+rY/dVhQJ11uknFETikBeta03QcwaMIfs0n8voXFDkKcWOscMP4kezNE/S5Fv8iV9YJ9nGcS2QSxTX4Lgsaxq+YzCTQu56t/6jyDX3UVjKiC+UFt7HdmhObRzRHT634o65UjO4QQq/SHbc34Imz1ukk8Mdb6OoaIq6HJ/0aPo0m1HcEOR28NkThN7SwuY4en3jPPhCOt+b+mn5i5kjDxJ1SS2je9SRPx+VIyA3WKrCVl6u2NQp6M4IZyXYk/vJpPamtL+tIYAeoRMj9R9VA3WWon8WQA0SCdPmYolVtmPbsZ36GKwU5xxMeOc+hFAWiqEOGibnAbCLBet9/Ln9boYi+cECcLw1Fu2eMBznuXOsHZZzECZkdXVNedKpKncWevd8ujL8nmbOGP77uvoW50r6LGWZqARfDBjfJNfTLQy/zrGLBFSKDOmtdt6YUvdNz4ZLnD7VV3lVxPfE28eq7OKA0S/PIz8O6gTp4qmi8c7ExNH/cf5xG9VEflSgONERwy//Mc3NK2oAy3U9iDA/SzZyiJ0Ig+0FGI6jiUSlOJ9ZJ6QJzCp3RmUoBNY6d1IbHdPdbNwZS16y6bPR7sAPIHZqxmFKG6timQSea/LTg3MGjMwngwzHG95bF2o/qzsnzUD64PTh1OToAQlOsDdsk39Q1lat966DoKLSONlsd1M+B/Kxhb9hKHXrXJAw8l5BUzHeenSzvZmpmly49sGvDktHZX4d7tAVKqyNUydF+DeV52oLRKI++lRSJGeAGVO2jfdbh4QTljLt2cPBFLSMW0rBdH2EPCIYPJq7DWhXP1+SeamEQB5x/M0unIG6Q766crDnNRLqtYffS6wAGiIEzIdRQJzFHhc4MUNCShMiTYGnMycqy3cATfkmgGjhNaE5sQZjyaeNVpbiO7KWwtyUzyAC+LY4DUz9R3dSOoR2DUx2snwq3sODNEiLQ2xA7ldVRA0nJ2zrXvg/wGrkFFangQqXpQUXf/mu78bzkaO+KrWlO/dWb71hnkrvzbo801GEC6wQMbRLtzZbVwwHyUx++phpHCE/o0zjCL9hc6JdfrhTczpGjvcNRnf5dO/mw8nBwxKgVsYtAipfbMZAL1Tf3zV9yt/yGsZqy78w7pZeNrZcMM8lqzt7ox0r8bYtMhI873jMHdkaa2MZ7Gjt26XBtB+rxORBSurTWwB94YkdIIKV2zE3GqT3zwBAM7vrxiyXqlmiGnzeU8nOr0tmMUX/CifwBPuv/6DxjKoxHDk32mJGj8qZfVYmRkMNOYB5b5R4JUUnuD1tRVpGRxF2j/NbEK6wZwf2vxveFpR54mCPuZYo2TAX/+KhDBMg3Sg== X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 279a2508-5b0d-433f-eccb-08dd9d052086 X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 09:59:10.4250 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aBHJXZxzIyg+sDz6rmqXtbBkMNFRZDxiREB4JhQ909dYIBIrOEXsSykmIiLqEOEu5W0+/DeX1dV+zqcwe9fk6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5442 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 ; Tue, 27 May 2025 09:59:18 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/6939 - Since `ud.path` contains in that case the `PREMIRRORS` prefix path, this change ensures that a correct symlink is set up. Signed-off-by: Stefan Koch --- lib/bb/fetch2/__init__.py | 10 +++++++++- lib/bb/fetch2/git.py | 7 +++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index fe6c1cee2..dd2dbaabd 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1117,7 +1117,10 @@ def try_mirror_url(fetch, origud, ud, ld, check = False): origud.method.build_mirror_data(origud, ld) return origud.localpath # Otherwise the result is a local file:// and we symlink to it - ensure_symlink(ud.localpath, origud.localpath) + # This may also be a link to a shallow archive + # When using shallow mode, add a symlink to the original fullshallow + # path to ensure a valid symlink even in the `PREMIRRORS` case + origud.method.update_mirror_links(ud, origud) update_stamp(origud, ld) return ud.localpath @@ -1653,6 +1656,11 @@ class FetchMethod(object): except FileExistsError: pass + def update_mirror_links(self, ud, origud): + # For local file:// results, create a symlink to them + # This may also be a link to a shallow archive + self.ensure_symlink(ud.localpath, origud.localpath) + def try_premirror(self, urldata, d): """ Should premirrors be used? diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 784a45bda..55dd084ab 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -348,6 +348,13 @@ class Git(FetchMethod): def tarball_need_update(self, ud): return ud.write_tarballs and not os.path.exists(ud.fullmirror) + def update_mirror_links(self, ud, origud): + super().update_mirror_links(ud, origud) + # When using shallow mode, add a symlink to the original fullshallow + # path to ensure a valid symlink even in the `PREMIRRORS` case + if ud.shallow and not os.path.exists(origud.fullshallow): + self.ensure_symlink(ud.localpath, origud.fullshallow) + def try_premirror(self, ud, d): # If we don't do this, updating an existing checkout with only premirrors # is not possible From patchwork Tue May 27 09:59:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Koch X-Patchwork-Id: 63696 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 7E2FCC5B543 for ; Tue, 27 May 2025 09:59:18 +0000 (UTC) Received: from AS8PR03CU001.outbound.protection.outlook.com (AS8PR03CU001.outbound.protection.outlook.com [52.101.71.31]) by mx.groups.io with SMTP id smtpd.web11.48346.1748339954448454056 for ; Tue, 27 May 2025 02:59:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@siemens.com header.s=selector2 header.b=F7+FQlxd; spf=pass (domain: siemens.com, ip: 52.101.71.31, mailfrom: stefan-koch@siemens.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RBMsXTh/H3zhktFkRxkFp9uD368kT6yLSLmOg1caoDp+e2sLSB5W2ReM0dmCn1a+DwWnjLaE2X0K3sIq8x5Yi97NVkYKBLfL22ZaojlAIjCg9EFDEgC/BD95/CKyyw1JGWUBg1LnfUN0QY8g3ySkdBF+I/Rq8y5mBKOlINDbocYPq+GmVHEr84NkqUGPcWL4Wo6jZ4u6H2TMB6zoEAAeqKduAF/9BIuSyzC5FRsOSfiJ6OLh4aqVDU426ZyQKa+pqtt/8YaS3NBMObtOoLns1VZJGSaWd9cjOd8uoqgQ84hx1otgidakJambPTH9k/vwv0Om/81/nze9Z6+Z7hzCyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XxDHdSdnYuT1DENYZgqgHa5NFqQ0o/F23nheDjqbgHY=; b=v++ZSBQdLE+llx+O5qQFV2Xymyk38GUdp66IxsHOeq1kNL2Gx0pOBWLTOp6cfZQRivCditEgZBtp4yMtKI4RhZl7/V8R58Rn1XIrHNORwRs6qUSIfAzWaXyIxAO51c+RtJrvG7jGRijf/6XgwXcZ4qlFCcwpTRWeGh2wjcPDpLXNqCVSbPoqfSnrI2fn+5POgTvZcxtENTllFXdtZiR1+WBeTYmf3mY6VDthHjolZOmB6WyDwnA/MmNmw+pFYolxdeEAkYI1TjUqQy7hMKQ/BUqg+oivXSqV3qio6rlIqH9q3elcHuI+K7gzStsD825HnPbgk+L6FiOW+Beu/vYQRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XxDHdSdnYuT1DENYZgqgHa5NFqQ0o/F23nheDjqbgHY=; b=F7+FQlxdRBA5ltjUfhNvbrrtqs89vKwb4TGyjWhuKQK6KWB/MlaRjldM4xhAjGxz60fHgZSCAO1TpDCDds88w2sJlGwShB3JOuDu7tiwsPTYHiNYzc1lV842o7hv8F3ZfrzcGXJ4SkQDqPTnjQCMtL/EiMageJHMCIyMrkNBXUFOaXAk1i6VyuZhmgthEOSzT/bWRu+LcY0TfbhDmaEeu3luXq1kqKSyZC+S5fnaiGPd83l2+BVxIvHEkq25mgww8aeDtT6dQqMhWKPnB0iRJUqBZ7eGM0r/XAjIR+8wXou9yjRgGEgLgupX/xrkX9hxrrPGKQsB13XdOim1LxZiCQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) by AS4PR10MB5442.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4bd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Tue, 27 May 2025 09:59:11 +0000 Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::71d7:e998:3abf:a1ec]) by AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::71d7:e998:3abf:a1ec%4]) with mapi id 15.20.8769.022; Tue, 27 May 2025 09:59:11 +0000 From: Stefan Koch To: bitbake-devel@lists.openembedded.org CC: docs@lists.yoctoproject.org, stefan-koch@siemens.com, richard.purdie@linuxfoundation.org, liezhi.yang@windriver.com, niqingliang2003@gmail.com, alex.kanavin@gmail.com, quentin.schulz@cherry.de, jan.kiszka@siemens.com Subject: [PATCH v3 3/3] tests/fetch: Add test case to check shallow cloning using `PREMIRRORS` Date: Tue, 27 May 2025 11:59:03 +0200 Message-ID: <20250527095903.2300556-3-stefan-koch@siemens.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250527095903.2300556-1-stefan-koch@siemens.com> References: <20250527095903.2300556-1-stefan-koch@siemens.com> X-ClientProxiedBy: FR4P281CA0286.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e7::13) To AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR10MB4959:EE_|AS4PR10MB5442:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c58dd7d-38c8-4a2a-e357-08dd9d05211a X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: eFX/Mu7OzzhRitF7rv2FGlthSxrcyGcUlAVmnYLNORTPjueskayZ8F/EgG88RV1a983F9AeHPNBMRGelQBG+cCMpNzPzfrxq35MUZAun8qaTCeoQ3auShM4T0WWsX9HwXPaR9LewXP5PZ/pgV2+t/eqIfm/lQM8dsdaBF7ZwRECFfOEvdyqV036TT2vEMhykHoM16JzlvF1KAWQVCOeyDptDsEo7dxvsYfK5N5gPoNLEc37ihvMddPNA8PaCmP+4zcMNZ2dDui3OpgB2qconea1ma2cbIvDUw38Ydh6+KBDP6S8I5vNLxqLO7OfLHdCnuqDB9bq0Ujdk2G7JA+z8x9K06ld2dRiEXbqeVDQddO4eFJN5n0c44ySIRTD7cGqvlBb64/rvnBfeTrUu4DDriv01GbKgSVEEKzeAunERuAHrv4zDOIx4mX6wmxZi78SSodEdyRs/ujaz86P5+i34a/26rQoAz6SAByiPXNhhET1WtkzOXZ5CUxLGh56mGFEQzvcZnTFghwYXt8gFCXDi386SMsZP7HHxib7iwPIVt5BT1HRT+qsaTpxu9uYgi2RNIZY1puGJpoSUAnz35h5WmozHPBJ7Qo/MS60gYs4zx74HP42MiMEvQY4wxjF0ztCO6Hi2rkvlNAy4gXCLUZiPxxso5tR4osi/gzml6E52lTc0hgbE1wb0KMeAr2ePMb2midmqU4uzEfNkSHotB6jaNXPwgyR1SwSFIYo+uu/05EjUFJmktkIHZ4M+TErbVyP5mYew27ODoV7uMrdjWkbT+w2OwziJH7iC9UZi5xfmaw5O0+TaJ7/XmR897sUO7KB3LywHe9FkQTGUXPn0oEx0nUx4nJnN1WCtU7fOYdBKAJ3mltmbAYXYeicAkjOyl/zeMRhQzVSTB31PFOr+waUGkDrxf8YCbXH3eQnqud+PjNaHSaunE1Go2bxSXUhGYA5nNxCQAV5Z3b/Z7Y0bhb9SJJGsW64df1jyuBLFiUTTvvDkPa4R5K22NLVC/mMEjNe3yFX8QTBb94dlfmEJ5IYQDilVFacLc2ODDW1UKSljIaWaYG91B7K69sTx57W5wmXoWCREaruxU4nYruib2sXd9u9WFxIU2xVVuLn4L2mrEgbyaUzsKWqWCoskc17yt3bOMQi3scldDbEpNp0zpTFhtVfi+LyS5Q4odfuM2uIkW1g/r2h0b29VxFK6D8qC44BFDAzWu4ueLILSkuxRBehSBOZjWRjdvUmInwiXDtxuAJSEd6026J8aByc6ncuTQgWzln3acIxq7yf3O+mVKTQDZDXLnEkAgq1pGUQmq74HzepvgTp+0n7O9AKs3f9JKcRSSTi2DwfMqOI4iCzMMxvhv+PubpOKu4v0IiPgYcIk2swEi1AJ4kDtnAJipu811WQUqLTDm2azQK0Dpu5TRbohdeVPQeUs19k/CuXTdCbDySQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +sQy+dDMgD0v14NzSd37w0esVxpHVDoFIRmmIFQcGmeIo4r7g297mR6GuU+BepAqFqDoDJ4BC+sDXaoPqhYOxijUpRAh2eQpWFksA3vEHQsxq7IG8IsiIqLG+H3ZmMHoMQzqolw3BCeOCZSP0TfiBqR3bSaBg5EDnZWe1y89JTup4beeqo9xPR47cPwtY3kV+IxLLyBv9JrOmK5eigsRLeh4nIxY4jgVTLs4qQzWmsatFJZ6D9bfrpBoOsS7NgObpIHXBoppBHa+p6uxHl0gT+qnzupeELdgPO6srIMCdZeKDquGRf2nMuunZF6ND2cOXZCJv2E7PNYJxLzbTtouWRbCG9FQwWYUepXevhyrj3XruX092u7AxsEY7cu7C4w82MhwSaDawjFxz164XX1pnnXa6fx7mznIrSXbFo7LfyUQGUkzHV4TfEX6y87yTLieqW/VJCLd0ynOd17YrXpZ9CScdHxG3O8dfoKB4gXJ7Znm9YluRTn37vIbhsxDHiPjb2TPSnbnieNnK2vXKNcGE4rHGjvuf2rrIiDe8DTffyF/+6ZRvAz3HMJ3wKrd47wdhfRmErDpk1BMun9Lsc5ESY+OcMmbM0rVSTa6kI3G/KysQhl/bW0oNUgzjE0fLx8oedz10KcHfuKE7+BCR1ORi1MI8BFjGjBVasAP4eUrkX3JRnihJVPsHlk6wTY50jn1EUd+7Vu+9jmNEly1jLI058GCa/04/cfSav68fowgMxoavAv799xDmouJE1CtBefYZ9VJ2scmnEYT4OSGL0et+ctD/GTkaq/zfAh4FlDmywAd+wkWbybvOae4C39jv3HLCEHjtLiRZC908tOHs5q4cJu3CHNKvfxtQns0mDba6sAbXMFTL+aE9nlYeXaUtyd0MM2GE/TTVWjmcip1wMP/XrZBQAg+ptroKD3lAAV5SBjVqU8bdjUxiD6nc7R+fKaFSN6YlQQ7fpDTSx9rQrjTusAFGudNIs1kxcj0r0Tva7rtlmYg0oMpBZYrSxYKL6rbMUZKg/NZN7sIXNe9Jv9U+sSbS9XBrKvkZaMMuYHgn8Vfo5JkwZXDaHnx/BgyPAfkYmavzZHhniZbHMqRytUKJbVmSX5QOS4wzZm1dibC+6wW8q/UF79iELtZLfLFxc2Bn+NBY5tRV92PV4iQEct06uPtw0HluFVY0oRr/5EawY8VeSeCj0joOpLOWLj2dpwhE6jTwIA6F6JJUXaQI5axtexjp6JUDmd+wWAKwk3wHn8HfHOeb9bS74Mpa0yBQiRG84/fPosxbvFgNn4aCA1CilY7NgIpv4a+4wqVvdKcqW5EjEgBkgxMWJWGwXC3rAgECUe9I+Dm7YxG2mqc8GVX/GVNklTLjLRUAaOQ0RJWY0It0cmz7uZLqsy5yxgS+MmFUonLU/MQ7eM52TXpts9xz8dfM/v6q4wwUbE5REsHuyWmpIS7c8mJapll+uuv0sbVGe33vLUJmCIjshbHvUFb68Sl3APweRoY4Y1TGKavE/mEOyKbhrwibu/h2ofpg1YGKaLwGxybBo6O4cdvt6s9hmdwU3MXCqQp2onvfCOsHY8EtAVdbsXgohi3Ob291M7oqLjYIJ8W2T1E/4RlsvFdIg== X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c58dd7d-38c8-4a2a-e357-08dd9d05211a X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 09:59:11.3713 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LH7gNk3XVyKg3FIZuxodQI0xbMCVCTJhGtbr/lEXifRcMtsBjs05XylDDXYsNV1BwPfG+mm1I6QFWO80Xnx5wQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR10MB5442 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 ; Tue, 27 May 2025 09:59:18 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/6940 Signed-off-by: Stefan Koch --- lib/bb/tests/fetch.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py index 3f4233258..077472b8b 100644 --- a/lib/bb/tests/fetch.py +++ b/lib/bb/tests/fetch.py @@ -2237,6 +2237,33 @@ class GitShallowTest(FetcherTest): self.fetch_shallow() self.assertIn("Unable to find revision v0.0 even from upstream", cm.output[0]) + @skipIfNoNetwork() + def test_git_shallow_fetch_premirrors(self): + url = "git://git.openembedded.org/bitbake;branch=master;protocol=https" + + # Create a separate premirror directory within tempdir + premirror = os.path.join(self.tempdir, "premirror") + os.mkdir(premirror) + + # Fetch a non-shallow clone into the premirror subdir + self.d.setVar('BB_GIT_SHALLOW', '0') + self.d.setVar("DL_DIR", premirror) + fetcher, ud = self.fetch(url) + + # Fetch a shallow clone from the premirror subdir with unpacking + # using the original recipe URL and the premirror mapping + self.d.setVar('BB_GIT_SHALLOW', '1') + self.d.setVar("DL_DIR", self.dldir) + self.d.setVar('BB_FETCH_PREMIRRORONLY', '1') + self.d.setVar('BB_NO_NETWORK', '1') + self.d.setVar('BB_GENERATE_MIRROR_TARBALLS', '0') + self.d.setVar("PREMIRRORS", "git://.*/.* git://{0};protocol=file".format(premirror + "/git2/" + ud.host + ud.path.replace("/", "."))) + fetcher = self.fetch_and_unpack(url) + + # Verify that the unpacked sources are shallow clones + self.assertRevCount(1) + assert os.path.exists(os.path.join(self.gitdir, '.git', 'shallow')) + @skipIfNoNetwork() def test_bitbake(self): self.git('remote add --mirror=fetch origin https://github.com/openembedded/bitbake', cwd=self.srcdir)