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)