From patchwork Fri Nov 15 16:40:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 3930 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 15 Nov 2024 17:40:36 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f61.google.com (mail-qv1-f61.google.com [209.85.219.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 4AFGeYLA009000 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 15 Nov 2024 17:40:35 +0100 Received: by mail-qv1-f61.google.com with SMTP id 6a1803df08f44-6d3eee29e6asf21161666d6.3 for ; Fri, 15 Nov 2024 08:40:35 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1731688829; cv=pass; d=google.com; s=arc-20240605; b=Plmw4S+n3VuvU1djOrmMBabXqss0FIr5fa9IdiaQja0P4woZP27XyQvWOzn8KQml9D Y/2je/1VGEn3XRW/IW8ohfImp5mXjKae5fH1g4dXMPTHp6x2fIZgXsCBlRZ9vl2r01Z4 M+mnnUrZ6jei/0gGCeTnQijR3BoyIpNT1nCUQefvkFI8olPGCLsdSvuiIRceiQKMMatP xCKAUKKUmNMWZW+2g9PUN3vIuhwclgxsSmPVIC61ssxVf+PbwQtiZiVL4gp42ZeSGDWp GYTvtScWRSyuENklgv/+xw2Hr6smkIvoZjFXOfVWY1v5ERBDHq2BPBnv137Ei/9XPsWc U5EQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:autocrypt:cc :content-language:subject:to:from:user-agent:date:message-id :dkim-signature; bh=0tzhmkhnJUMyRo+1/L5wITPRH5dVzsrYLeff3DdDwVE=; fh=4gXZAhrBLzb2SJcmqZbP7u25Mxwh+ZYXMmWQhaYBukI=; b=FoAnxOVAl3FjmTQejlnBixIAw92GHSG97AIsAsMOIYtKciGXRvlvAcunRIiF+G8roc YwqFyXRmBLCSSNX1gsBmKgl2D9BIJsUt3vbegLU7mjInR9tMmGcEf2ELwzyov9T5c3fn NdWpNdHZbkzTMIbW+XfzlPIOjrVrGGXQdnWAO1v1U5A2mYeEYrxIPugPX73ddBKqjq39 wEFFMa0RS/nAAScejY+TcBGiAD0YQulXHCYjh+pnbdoS3l5CJq/x+8MW8MraI07BAZxX gbPbmVt4nkztpnRtgGmLLQrFfRd4at0kDee7EEaTyRkItuEYUoPLVcxLpDSdPEqq70wT tw1w==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=I6MNJLOI; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f403:2612::62c as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1731688829; x=1732293629; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :autocrypt:cc:content-language:subject:to:from:user-agent:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=0tzhmkhnJUMyRo+1/L5wITPRH5dVzsrYLeff3DdDwVE=; b=n2uYTr0YX6XrijW+b9CkJLrbofBMjik8f/GtWsIMlW13puF+x1nG1k2R7Rq5dXeMKl b0y5tlmBtNKrEtVkuXNcaw+ppMqgfgK6tu+aux8Qqgo4Caxt8W+Iox8ZYTjDaSYznQ4U EsHPMTjcpJZY7kRJGcqjII3c4c+UxrVQ1TSaU0j7YQuJTLHMNxIY+Q8hzduFxI+NxbgH 7UVOlWA8PvOTBSKUHKM92SvDCEiHUbzfTr1MOZJE6Lot+n9HlES7ra/kz6W3++JRQMjY cskqAFMM6JJ6YLmzmcbTFFVCLo6r4+lXrfF0uR1i1AwG3Z/S+VtPkdTllYbtzaY0VkWk 5hGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731688829; x=1732293629; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :autocrypt:cc:content-language:subject:to:from:user-agent:date :message-id:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0tzhmkhnJUMyRo+1/L5wITPRH5dVzsrYLeff3DdDwVE=; b=RjuzwoNMQRmF6Z1dULR0Qq9sPtrOu3kNk7yivlEcLbnmkHbo3eCs5ozrIrZwjzcfbA okvYcSSHxNcB4uQpZ+yn9qQpO+QsAdj37NOlfTuX0l7NM9KAvsbFibOfPowduiH5CiY0 N/nsZ3Eizb7EQmrUdGc4LWryC2MAaLaPWT3Bv19BqQv564Q6gxYLUZBB09rluSRER3Vf XBw1OF87h4E4HowfwDuZK2esQUAoAnqNesu3u+KsoWlOzmtgPb2UWPYEPSLeTK0JeMDp Eeq3M+arXtudFMvfEgV9jhpI6oodJRNC0Zy6Ecdqi8XdofjRMNaHEcNx9vfvnfRo2RvT dieg== X-Forwarded-Encrypted: i=3; AJvYcCWIAEtUy96wvj5aazw46uLq6RhD8+rD80ftB0C+6K28o4bIHBU5zUULU5+5LmdOQJShObwiUxM=@isar-build.org X-Gm-Message-State: AOJu0YyLqA3njJqC3J/FAuVjDjRbIKd6w3hs21vyq3AFZG1W7eh03OfJ ET8x6JUCXmguA782gvUE0ua1mfE/LoPtmvDTw+siVcIanGNpSETL X-Google-Smtp-Source: AGHT+IHuGZjU9dOoWJH8Jx1sxWtHb0ikrUcIyZy+k6/haM4AMwoW/ifr6O9peZTGlzXcVQt/ru3zqg== X-Received: by 2002:ad4:5747:0:b0:6d4:76a:d96c with SMTP id 6a1803df08f44-6d4076adae6mr16247316d6.23.1731688828863; Fri, 15 Nov 2024 08:40:28 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6214:27c5:b0:6cb:7ce9:f52c with SMTP id 6a1803df08f44-6d3e9649db4ls23670266d6.0.-pod-prod-07-us; Fri, 15 Nov 2024 08:40:28 -0800 (PST) X-Received: by 2002:a05:6122:a06:b0:509:2c72:2427 with SMTP id 71dfb90a1353d-51478679caamr3738640e0c.12.1731688827850; Fri, 15 Nov 2024 08:40:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1731688827; cv=pass; d=google.com; s=arc-20240605; b=WblVmSKSAhMSU19RB2OXEGRgQCLNUfKGOjONm0v12jgizuv1HwJimQD0nfWx6wzHGy UbRWoCl+iR+R2nS6Qkwg3fEtt20DSXo4XoFkkmeuiVxpPoktESGOvln4xbxgLlNT8dJh /cEnrNmXqKc5LBl3LX9hSmd97TrTIVKfdfyVBd8/GyDKjpYLiJ3FiHumGTe3fn5zeTSK Nt3AQD079BfGcd/OV1HhDRmyEGvdKhi1+bQSpylH0Dg5MIuKeYENHx20rbze7ype2HHr 47z+HHIgQOzNLgb6XWshMkOfAZk/pbyKw0Sh1OsZGR5PSfU83dzJ1dtLdH3HZDxSWedQ 1k3A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:content-transfer-encoding:autocrypt:cc :content-language:subject:to:from:user-agent:date:message-id :dkim-signature; bh=rieuNRMOBmeqZo/mWVYY1CZz8oT32GK2PhL/tY4n90o=; fh=vRfWXAT/lOaFASPGqEjmlzU54EfqB1WHVLkmvTqA46k=; b=RyCDkHjHbJQANqadr3HyWpXQb9UtxtbDTRJ4Ml+zAG24Av7b3JwXM3MLP45biNGIje FyIJCSNo1WIadrJADJYvEz/rCshFMPJmmTgWTn7ZkFCrTJKvbmg9nLKjoMfrjVpmFlZ8 PZD2otpbgWXCOBUPK/q05XAu8A0Z0AjYn9WPvnD5I+qmZL1vIPsXdt0mQ+4fBcBe8Vui x+19QWpwwG8xPg4n8mAZ3AtOvfMfk+bCOrLvJXpUe8EkiRsCGw9ZPTZTR4/Xur7V+69k CxjYaqsapnYvn4mZDSOY5tQrJV2OPXbZ6jLhg1tPnqhagaXFnRSxKie9T2Yd8BHtkNN+ uWLg==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=I6MNJLOI; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f403:2612::62c as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2062c.outbound.protection.outlook.com. [2a01:111:f403:2612::62c]) by gmr-mx.google.com with ESMTPS id 71dfb90a1353d-51479adc85asi59821e0c.1.2024.11.15.08.40.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Nov 2024 08:40:27 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f403:2612::62c as permitted sender) client-ip=2a01:111:f403:2612::62c; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ESLvi+JOtNyOMA9BlQWbtabC6ZUKzVX1tXda4aGWWuVB+FACZTujkdTkqn+QT3JvdkTHxERWPy4IUazCa2uAFyqau+VculYo62goctmA4w4yETRrqrvXzSteAp0vIFjCs5BE6MQKrEhwDzc6xpocGIAjZXgo+++7BLDwk0ZgsFvYcMyACDghpKDqlKSXQEAwRvsyTpIHly2xGaSotOvMQCmwNU7+tKaTYaOM/ARsE24hO2Ggs2+Wcs3RIBEqLj/rzn++xdz7rUIIQV+AzXN80/4xGNZBfa11VKyxHdM3bVGk0A+7xCPpUkmOzEwT7x4pF4ClVs4b8VdOUZ8WqGE8Vw== 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=rieuNRMOBmeqZo/mWVYY1CZz8oT32GK2PhL/tY4n90o=; b=gyGddobPp+Fk/zeyF6AjIMYNCj+TC2nH6z6Mz1vpWRffysgjeR8cZXaRiOL2vZ9Jc+d8vtRBDJbtZB1bjWJ0t7gYBA+fWCc9N1bgUTcsmwJoS58iyhGOaP9IwI/ORTcaMzV4vF7e86zUMsyHsXgDr9m7HKhE4+fyqiKTX9Q4NeaVljcmhpBWfXW0dQychmO/2PZe02HweNiTOuFHcjU1M1JSwbWp/feUKbxHMcRRXX7/jn7paFi4OB7lQGftLWu0LQDi4h4LG2WMIXren7M4tw0ZNXLOWirMVwt6ERGmNMkDV4mB/GF8EjFg8JcuUlVqDTBLiJRF3V3EmwyltJrz6w== 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 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) by GV1PR10MB8937.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:1d5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.17; Fri, 15 Nov 2024 16:40:25 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8fe1:7e71:cf4a:7408]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8fe1:7e71:cf4a:7408%6]) with mapi id 15.20.8158.013; Fri, 15 Nov 2024 16:40:24 +0000 Message-ID: Date: Fri, 15 Nov 2024 17:40:23 +0100 User-Agent: Mozilla Thunderbird X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH v2] Convert apt source fetcher into native bitbake variant Content-Language: en-US Cc: Uladzimir Bely , "Moessbauer, Felix (T CED SES-DE)" Autocrypt: addr=jan.kiszka@siemens.com; keydata= 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 X-ClientProxiedBy: FR4P281CA0256.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e8::19) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|GV1PR10MB8937:EE_ X-MS-Office365-Filtering-Correlation-Id: 605281b5-7131-417e-649f-08dd05943455 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?P1yCQTGDzP/xWH0+otXMBuEcIDQyYuY?= =?utf-8?q?D/XxrUh+uglaHsc4iL+8SEx7LY/UqnfBeGocAhlkC2aXxshnqvhpfwafVYpHcBwb+?= =?utf-8?q?LjkZLzqQD5SV0mQlgytXyK7baDFLa2abSFAIdA1deqn+jIXB8UvAjz3N8Tj8MT+51?= =?utf-8?q?Fov7z87+/wrGqxGTwFUYxh7gA1fBflya5uB4uyJ6Wza+xLStEuJGzGD3So+hXZI5b?= =?utf-8?q?ononOWJvpKTiRrhfT/yg/+7mg44ItL93fpdOsoxpt2LC9eZ+Hn+oqYYY4IBtLTVgV?= =?utf-8?q?DVyhx/8cHY1idt8UMN9h/seD4Tq9r+qlw89QjNG9COY/mb5M9VB5nJsGtgX8Vre5J?= =?utf-8?q?y0omNjMACXS3dcnPwhv3p/rUOmLF6eErmXi8yYcxNs5wcwZZTkvQP3fCrAWor/Y21?= =?utf-8?q?3cviduWLnLmLcVokjTcisN6N7nv1SoMpyhysRYu4ji2QY20MFP2cAlSKVAHHTdqwa?= =?utf-8?q?wxu4KYUj8tG6CWspC1j6TFckX6lNnjnI5RTySU7VXdyuF8l2fPd7tawX7fOmE33iM?= =?utf-8?q?GgWGenA+69PpxGPtkfHppQzNi2CS7PG6+HM4BvywyTEs4wusm01JUc1Lcw0LFQrZM?= =?utf-8?q?FDaAO1KxoQClYhX37evMeyu9e2wWh4+KZ5aqlQVPNk+WkqHMpKTtgfVgTw3o+OaMD?= =?utf-8?q?uDrsL+2EP1ZRIrI+OnjLWYTIUqDuLWYgyIKv7Lsd8ZS1UPikR+lhg9gV2OngEzjyf?= =?utf-8?q?SFMjmSZLIWA3CtSl/uyz0ETIO/YhXubGEAbZbEfvMrd+IIMmAOKj0Q7M5XERifTJg?= =?utf-8?q?oRo0XReT3ZXTzYeWlWr8lxhaIzbPWSHx2Xi5hD6+8E41iKmVEqLWqPwfuJb1G53sQ?= =?utf-8?q?rzQUitx4yMi6zTuE65iN6vnmCUWlgAYk23xbr0QkSB6qV05v4NRlzbwTCxBIGRqf5?= =?utf-8?q?q+DRvrbU9jzAaKqm0Xv72Te7ENn4Ox1VMVnsO5AHGw61N6WIKJggjyiom2AiyySdJ?= =?utf-8?q?1GEzu1TrBkfGPFn7uLii1hRNgQq/6/IU3eCITzk/kdyjlOjcNdO0ai91ooRrRYiZG?= =?utf-8?q?43Gev3i7LCVbSAemqccI5gDZvT+NVWgw/yTTEhX+OOnjIq6hEOk8qH0Nyxh9T8LKM?= =?utf-8?q?Fg22Q69d/n78Gv3Q1AON/5Vy0CsxX9n8h8lZhXURyaFtS3LZOs5GJtzppXZ3IEkUT?= =?utf-8?q?rfGSHFPCT4o1qHvApDmiFrN/qARRDbPyTlfxc16E4KrWMFTsuz9uUhUCTruu8pqsN?= =?utf-8?q?vmr7/yIl2qvwaX5eNzcL347HSM5jwB/rdmR5b2FWOV+MYGV5+U0nv9ADHGrmBewOQ?= =?utf-8?q?tsM97/v1rgDjK?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?qgqOk49q0LJqpbfi3PsvjQCcoNzz?= =?utf-8?q?eWX/6kS1cbXEYT+XIYgw29eihW1eFN0uoiFyJ8N9fyAwXO3jRys+WJ5kZ6y8JCJ8M?= =?utf-8?q?84Lmv0TGvDaRoN2CDTX1vnoQV5vHwXWcvPZbo5LaTWtV8GLsxBUJSHBBTm1v7KL3b?= =?utf-8?q?xGmalNAbwIPWEh2tR077uagjTDvjnOBA7L4ItmsX9K0PRjglm8YY0tz88sZILAe/I?= =?utf-8?q?ShnqoGZCDAAAxd5vuHBMRyveOLe/w/uWNlY2lMvIbKF4zz3gKGA38U/VjVMeX1VkQ?= =?utf-8?q?IV5giyAkSBJQccSN9O+hCG6MzFOxgwBotrK/kFmBh5nW+JI0dLEzhK04NT1IEaxsD?= =?utf-8?q?zGzLve6FvA6U5xXVjg78euDqOX+9skiUa+IO3j7zIE4zAG9/qytipuox+a7FrvqMK?= =?utf-8?q?9qWE/JAqw24L4ZHEBEeCwGHE2t+3csL2wLVo8gYkA4HuPo2N1pOILpTGHWroKXQ6s?= =?utf-8?q?2dq/jlPTuXnA1PYYd1nS90MyXAiw7qTnLKtEZXPxE62W/BpSBa1UKaprP6uiD6Kse?= =?utf-8?q?OIEEu7Vtqwusgd79Q4zcpK8r/qC2TVphdCKyaP2qN4RboRRcl9oKK0pcJaeB44vTN?= =?utf-8?q?D9WyxOnONTVoGEyutP0iNf1uXADgah7AgNKui0W1L3zVz1U/e1Iuxp+wN3C/o2RiQ?= =?utf-8?q?LU2z3tA29SU9pQVnJAwit1x6SsunO2eBhBsIdc//lExpuIw8aeSV1s4vm+0pB0jkc?= =?utf-8?q?EuAp6EWUvoY/wXY5q2lPGF130CfPyEzqe91aOJXnuuJ+99IoQTiw22sb9CPy3HHgF?= =?utf-8?q?MaNItM91upaKBjNG6xw+pg7gkMz50R4r0dNU3lx5ShriKvu1593mRHRZH6f+XJB4b?= =?utf-8?q?tCBGWjR8Fa6laqicyHKrGLgrCScoT+VAaUgmpNCBjfE/dg9BX//ObfmEBg6fLd/MA?= =?utf-8?q?npkCHu5Me24rbAJwHGB3cvzTzRfTcjPzJvz7suG0UxRSTIxe0ikqB5xAz83JZHUlj?= =?utf-8?q?uDFq3/icdtIEftHbIFOCT4LdAPKXZJ6Vv69WyzbpKuccbsZrD6lWZMcwUfKl7kGZR?= =?utf-8?q?b/6EgfTRfrZ451q5gj8j0o4wkaj38b5tiLRusKmDHUYmUBsk7cl+kSnc2hzZfMu2H?= =?utf-8?q?/KRKh7MAZTfdeD9SesIfpiS4lHRE5utYU5kq+2PgwmYwIlNIlOTcqVO6JWbdJylQy?= =?utf-8?q?qxhStz5Nz7DwQ1AuFSzItVsBPwcG5QS9pjFsJ+M/3J3s8Hw7P91H8CIWBEnChZs5Q?= =?utf-8?q?u8XWma5fLFs9OLRMyItnU9zed1wLs3cG8xRPf43kS8rSzYC4FlrjHJd9JMAKPs90z?= =?utf-8?q?XkxpzHaLTBLIomVOLVlbGUdWmKEPZ+urVZaA6rn/j/5ZUKl/+mugA0h1Yn1UjMQm2?= =?utf-8?q?PAwCbePp3S6ib7oem4j93b0o6exiFsguoyQqZF/3817tqJx9CmsJb3JNNUFPGC72I?= =?utf-8?q?NebQfgIJ/4Kmvj64buS/A4tdqQ1WivKMLGf7zgSdkiLFA8KBcttb3i6+y8ERBXx7X?= =?utf-8?q?xYQjX3Of1BS1FTj0HmPYh6JtBKSG4KEJzE5S3gcZZyhqs/Xg5JeZ+L0/mdL9w+5sG?= =?utf-8?q?B/yvftPgIhqT?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 605281b5-7131-417e-649f-08dd05943455 X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2024 16:40:24.9005 (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: vFZEWtDeXzW6/1FfU+dXCVj+jo6poZhnQYSI0bG/YiMbcil8PBH5I/efoUsViS4StmRVAzHKfx9BNv7G65/MeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB8937 X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=I6MNJLOI; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f403:2612::62c as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Jan Kiszka There is no major functional difference, but we no longer have to manipulate SRC_URI by registering an official fetcher for apt://. As the fetching no longer takes place in separate tasks, do_fetch and do_unpack need to gain the extra flags that were so far assigned to apt_fetch and apt_unpack. That happens conditionally, i.e. only if SRC_URI actually contains an apt URL. One difference to the original version is the possibility - even if practically of minor relevance - to unpack multiple apt sources into S. The old version contained a loop but was directing dpkg-source to a pre-existing dir which would have failed on the second iteration. The new version now folds the results together after each step. Another minor difference is that unversioned fetches put their results into the same subfolder in DL_DIR, also when specifying a distro codename. Only versioned fetches get dedicated folders (and .done stamps). There is no progress report realized because dpkg-source unfortunately does not provide information upfront to make this predictable, thus expressible in form of percentage. Signed-off-by: Jan Kiszka --- Changes in v2: - rebased, including the removal of isar-apt sources in apt_unpack I'm carefully optimistic that this change also resolves the previously seen issue in CI. meta/classes/dpkg-base.bbclass | 104 ++++----------------------------- meta/lib/aptsrc_fetcher.py | 93 +++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 93 deletions(-) create mode 100644 meta/lib/aptsrc_fetcher.py diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index b4ea8e17..c02c07a8 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -79,110 +79,28 @@ do_adjust_git[lockfiles] += "${DL_DIR}/git/isar.lock" inherit patch addtask patch after do_adjust_git -SRC_APT ?= "" - -# filter out all "apt://" URIs out of SRC_URI and stick them into SRC_APT python() { - src_uri = (d.getVar('SRC_URI', False) or "").split() + from bb.fetch2 import methods - prefix = "apt://" - src_apt = [] - for u in src_uri: - if u.startswith(prefix): - src_apt.append(u[len(prefix) :]) - d.setVar('SRC_URI:remove', u) + # apt-src fetcher + import aptsrc_fetcher + methods.append(aptsrc_fetcher.AptSrc()) - d.prependVar('SRC_APT', ' '.join(src_apt)) + src_uri = (d.getVar('SRC_URI', False) or "").split() + for u in src_uri: + if u.startswith("apt://"): + d.appendVarFlag('do_fetch', 'depends', d.getVar('SCHROOT_DEP')) - if len(d.getVar('SRC_APT').strip()) > 0: - bb.build.addtask('apt_unpack', 'do_patch', '', d) - bb.build.addtask('cleanall_apt', 'do_cleanall', '', d) + d.appendVarFlag('do_unpack', 'cleandirs', d.getVar('S')) + d.setVarFlag('do_unpack', 'network', d.getVar('TASK_USE_SUDO')) + break # container docker fetcher import container_fetcher - from bb.fetch2 import methods methods.append(container_fetcher.Container()) } -do_apt_fetch() { - E="${@ isar_export_proxies(d)}" - schroot_create_configs - - session_id=$(schroot -q -b -c ${SBUILD_CHROOT}) - echo "Started session: ${session_id}" - - schroot_cleanup() { - schroot -q -f -e -c ${session_id} > /dev/null 2>&1 - schroot_delete_configs - } - trap 'exit 1' INT HUP QUIT TERM ALRM USR1 - trap 'schroot_cleanup' EXIT - - schroot -r -c ${session_id} -d / -u root -- \ - rm /etc/apt/sources.list.d/isar-apt.list /etc/apt/preferences.d/isar-apt - schroot -r -c ${session_id} -d / -- \ - sh -c ' - set -e - for uri in $2; do - mkdir -p /downloads/deb-src/"$1"/${uri} - cd /downloads/deb-src/"$1"/${uri} - apt-get -y --download-only --only-source source ${uri} - done' \ - my_script "${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" "${SRC_APT}" - - schroot -e -c ${session_id} - schroot_delete_configs -} - -addtask apt_fetch -do_apt_fetch[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" -do_apt_fetch[network] = "${TASK_USE_NETWORK_AND_SUDO}" - -# Add dependency from the correct schroot: host or target -do_apt_fetch[depends] += "${SCHROOT_DEP}" - -do_apt_unpack() { - rm -rf ${S} - schroot_create_configs - - session_id=$(schroot -q -b -c ${SBUILD_CHROOT}) - echo "Started session: ${session_id}" - - schroot_cleanup() { - schroot -q -f -e -c ${session_id} > /dev/null 2>&1 - schroot_delete_configs - } - trap 'exit 1' INT HUP QUIT TERM ALRM USR1 - trap 'schroot_cleanup' EXIT - - schroot -r -c ${session_id} -d / -u root -- \ - rm /etc/apt/sources.list.d/isar-apt.list /etc/apt/preferences.d/isar-apt - schroot -r -c ${session_id} -d / -- \ - sh -c ' - set -e - for uri in $2; do - dscfile="$(apt-get -y -qq --print-uris --only-source source $uri | cut -d " " -f2 | grep -E "*.dsc")" - cd ${PP} - cp /downloads/deb-src/"${1}"/${uri}/* ${PP} - dpkg-source -x "${dscfile}" "${PPS}" - done' \ - my_script "${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" "${SRC_APT}" - - schroot -e -c ${session_id} - schroot_delete_configs -} -do_apt_unpack[network] = "${TASK_USE_SUDO}" - -addtask apt_unpack after do_apt_fetch - -do_cleanall_apt[nostamp] = "1" -do_cleanall_apt() { - for uri in "${SRC_APT}"; do - rm -rf "${DEBSRCDIR}/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}/$uri" - done -} - def get_package_srcdir(d): s = os.path.abspath(d.getVar("S")) workdir = os.path.abspath(d.getVar("WORKDIR")) diff --git a/meta/lib/aptsrc_fetcher.py b/meta/lib/aptsrc_fetcher.py new file mode 100644 index 00000000..ee726202 --- /dev/null +++ b/meta/lib/aptsrc_fetcher.py @@ -0,0 +1,93 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2024 +# +# SPDX-License-Identifier: MIT + +from bb.fetch2 import FetchError +from bb.fetch2 import FetchMethod +from bb.fetch2 import logger +from bb.fetch2 import runfetchcmd + +class AptSrc(FetchMethod): + def supports(self, ud, d): + return ud.type in ['apt'] + + def urldata_init(self, ud, d): + ud.src_package = ud.url[len('apt://'):] + ud.host = ud.host.replace('=', '_') + + base_distro = d.getVar('BASE_DISTRO') + + # For these distros we know that the same version means the same + # source package, also across distro releases. + distro_suffix = '' if base_distro in ['debian', 'ubuntu'] else \ + '-' + d.getVar('BASE_DISTRO_CODENAME') + + ud.localfile='deb-src/' + base_distro + distro_suffix + '/' + ud.host + + def download(self, ud, d): + bb.utils.exec_flat_python_func('isar_export_proxies', d) + bb.build.exec_func('schroot_create_configs', d) + + sbuild_chroot = d.getVar('SBUILD_CHROOT') + session_id = runfetchcmd(f'schroot -q -b -c {sbuild_chroot}', d).strip() + logger.info(f'Started session: {session_id}') + + repo_isar_dir = d.getVar('REPO_ISAR_DIR') + lockfile = bb.utils.lockfile(f'{repo_isar_dir}/isar.lock') + + try: + runfetchcmd(f''' + set -e + schroot -r -c {session_id} -d / -u root -- \ + rm /etc/apt/sources.list.d/isar-apt.list /etc/apt/preferences.d/isar-apt + schroot -r -c {session_id} -d / -- \ + sh -c ' + set -e + mkdir -p /downloads/{ud.localfile} + cd /downloads/{ud.localfile} + apt-get -y --download-only --only-source source {ud.src_package} + ' + ''', d) + except (OSError, FetchError): + raise + finally: + bb.utils.unlockfile(lockfile) + runfetchcmd(f'schroot -q -f -e -c {session_id}', d) + bb.build.exec_func('schroot_delete_configs', d) + + def unpack(self, ud, rootdir, d): + bb.build.exec_func('schroot_create_configs', d) + + sbuild_chroot = d.getVar('SBUILD_CHROOT') + session_id = runfetchcmd(f'schroot -q -b -c {sbuild_chroot}', d).strip() + logger.info(f'Started session: {session_id}') + + pp = d.getVar('PP') + pps = d.getVar('PPS') + try: + runfetchcmd(f''' + set -e + schroot -r -c {session_id} -d / -u root -- \ + rm /etc/apt/sources.list.d/isar-apt.list /etc/apt/preferences.d/isar-apt + schroot -r -c {session_id} -d / -- \ + sh -c ' + set -e + dscfile=$(apt-get -y -qq --print-uris --only-source source {ud.src_package} | \ + cut -d " " -f2 | grep -E "\.dsc") + cp /downloads/{ud.localfile}/* {pp} + cd {pp} + mv -f {pps} {pps}.prev + dpkg-source -x "$dscfile" {pps} + find {pps}.prev -mindepth 1 -maxdepth 1 -exec mv {{}} {pps}/ \; + rmdir {pps}.prev + ' + ''', d) + except (OSError, FetchError): + raise + finally: + runfetchcmd(f'schroot -q -f -e -c {session_id}', d) + bb.build.exec_func('schroot_delete_configs', d) + + def clean(self, ud, d): + bb.utils.remove(ud.localpath, recurse=True)