From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7319406651323187200 X-Received: by 2002:a17:90b:1d90:b0:28b:ee54:1051 with SMTP id pf16-20020a17090b1d9000b0028bee541051mr2896429pjb.81.1705393349876; Tue, 16 Jan 2024 00:22:29 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:90a:a405:b0:28d:d28:3dd1 with SMTP id y5-20020a17090aa40500b0028d0d283dd1ls2670822pjp.2.-pod-prod-09-us; Tue, 16 Jan 2024 00:22:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IGyj0eLBxcVTDs1T7lDlBCp+yhuJEeHskesMDshwxpDkZcxIA1xOAST22f/86c4G98esQ+3 X-Received: by 2002:a17:90a:898b:b0:28d:2b9d:e273 with SMTP id v11-20020a17090a898b00b0028d2b9de273mr3446744pjn.74.1705393348531; Tue, 16 Jan 2024 00:22:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705393348; cv=pass; d=google.com; s=arc-20160816; b=OO/akyU4iBEcsFHTpo5h9USYfSh/XNU1FJ+IFAV82R2k9uUyNXM5JjTui7PPnisJ0O Fjn6+P8G7y0AkWP0dSWu6lq90Jk7fd3yAXPt6Yb50aV9j1BEjEqjIXv9oWquIL1rDI8E 5HVuWqNAgUo0SQHe/dSDyVV+ZQuSD2PXC0OphmtKBI49p+PKQvJ/G6Ufl6H5XbgweQjs OFHDmc3oSaMWGCCxAFMTSfm49Lh05CK5Zsm/IUErdI1nDeqzHnBO3C0LJQyU4xQLzbK+ znnqDiWv5gApT57ce0jPYBTR8HedMou4WuV2BMVxlBTyj0Cpncy/ETvrjkjUmSm+nLM3 Bo5w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:cc:to:content-language :subject:from:user-agent:date:message-id:dkim-signature; bh=l9x+HVSucyhe7aAIkHyi0hX9TjIkytwv83NcVySPzoU=; fh=ZarmHTTFmyhIxiexnxKnhCKvSDwk3HqhxhHvjEwQ0ZQ=; b=VjyyQJ95aVYyxI/OSb94624cohA77TwmsZ4hVSBLf25lObzgHruMA9kW9FR7KLe0xu lW6QX5Vt6dZuGKaQEPcgnZ7qPSKjLG4ovbc5y2IO93gSVndDtqKAG+MqXG5ci5c/x7L3 QjoeOxdw65tMQ4H8nPEw8CvYKYnZyiBTYgSxymvP+p1YS0vWGT1Hxx+ecunD+MbTt+mm WIPqTvCjuSk+wz58PdwjfVgtLiWYlDiOsD+lpH4zxDw/ZjBQlEXTlk+JXQKlMDSKJynf 31gTNeNQjGDj6yxrYL0nP2JctHnT4Xs5fWKUI0Xi8AdaVl7twm8FbEhyQdmagCEwXApS g9Vg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=OL5f5p+g; 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:f400:fe1e::626 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0626.outbound.protection.outlook.com. [2a01:111:f400:fe1e::626]) by gmr-mx.google.com with ESMTPS id a19-20020a17090a8c1300b0028dbfcf7e91si729789pjo.0.2024.01.16.00.22.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Jan 2024 00:22:28 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f400:fe1e::626 as permitted sender) client-ip=2a01:111:f400:fe1e::626; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=OL5f5p+g; 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:f400:fe1e::626 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=heMIODzBx/5CzgGFhsD7r+HkAcASVO7p2CcCgsfgJfq06hL8USGvjEze0QC8PTvZ6Z4P4QAODgJE/3bPK2UVpjMPeya8eo8+AOHQc8Kxvp5fgckWgTpzsX9D9i7PN6M2SkviJqjGofXfp9aYRhOb7LbsM/8D5C4pJRP4ruoieR6bgau2sx8R7Mb9CodfWciyMsUnJkMEZ6pZZCYfvcRXGojCjjNafsuRAaZt1RWCKvPQC3ky8k0NoappH0E1DZ882TZr1Rs/t2RkqSI2lGzGs7Maay4ioM1gLFwlQ3SP4vVj9Kgsn7R5SYoYvTLb0p63n5/GIA/b4/7HUtUzDVYIZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=l9x+HVSucyhe7aAIkHyi0hX9TjIkytwv83NcVySPzoU=; b=UTXZ/gpQ2tFzsrbV+k40HCK6i3g1K1K1gBECFVV82IF6K6u1ESLvJqpAB8IG/f4ZYeYqo+8qfua11JnbqEh8w7nmg880AO/V1XCMMlrpHcyJfPVnWQ7Xy1o9Jcm4pS+YdOfEApiyXlq7AIR7jdk6fUyqpLUugtOCBqXacI0a0wK2gTp3GNEg2j2LtDgPJpucNFifw9H2DpvFiEUJQtiWF+7nd7x42ye1rpT0Pcv3LMjGNUnNnzzcPk0slqxyMNc7q5Shim5DEsMX1Gu5N9iSlZob2mMGWu/rGFxmuTY4i5vpyMGuQNwX07iZ4F+aripoFsbUPM4YrDsBdEOZ0l+fkw== 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=l9x+HVSucyhe7aAIkHyi0hX9TjIkytwv83NcVySPzoU=; b=OL5f5p+gmP4tgJYdsy3oJDbswgm5uaeDOA3N8KM8ZJQcUrsJRaNGZ7pQd5UO0QWzoKYk9olC8bzBUinFZvF4YbB1sSVAiY5nnsVB7g/DOyeCxrbJkxK5ZseaQVxfaQWzsZiHG4iL9s3FtIQY3+9RTvRGX5zbNf9a6Lpf6sfWLmAdzQReZCGROhAraIR1RIFLLPJs9xs2sq3SBpExoltqudZaWxZe7+00zSuTRUObzJRSWrBK31rGntOAxEl4VWefjlaLA+R9C9eDu+tZ4NntolHBY2up8MWeuJ37QEk49C/MxPVsURpQguOckadSU1AGiWS/CKqr9Q07+7+UdR3tpA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) by AS2PR10MB6664.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:55f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.19; Tue, 16 Jan 2024 08:22:25 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8d16:7fbb:4964:94fe]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::8d16:7fbb:4964:94fe%3]) with mapi id 15.20.7181.026; Tue, 16 Jan 2024 08:22:24 +0000 Message-ID: Date: Tue, 16 Jan 2024 09:22:22 +0100 User-Agent: Mozilla Thunderbird From: Jan Kiszka Subject: [PATCH v5] dpkg: Restore support for replacing pre-installed packages in sbuild-chroot Content-Language: en-US To: isar-users Cc: "A, Srinuvasan" , Uladzimir Bely Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0170.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:99::19) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) Return-Path: jan.kiszka@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|AS2PR10MB6664:EE_ X-MS-Office365-Filtering-Correlation-Id: a205fd37-7bf7-42c8-b47f-08dc166c44d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Z/QXp2XtSs7BUE4CFfZoins3X/ldefoFqiG2+eBi0lUizGQEz2FNd3/y/s28uW4+HT1E/BWphU3q+1hC7M8SrR/Jf3zBsIso6qe1G5pExHJMYa+HJ40kr9yTukbUcD93OLkdkjjiDBTKbuDkun36GZSJVSZp+zAjbtChjPQVbhr4CaXWubVCn2L6Z1St3Fr+VL9+mC45NePXdVheuD1RGouwWShZlfY0rZs+691tecAK4wNtcegpILgvGtjvzHpErp4F7zusYnyIHzI9p//8pRNIK3qrqP5/U5kYAc9zmeZnZnt4sPP+fiiUr0voJJYcIxnnzx7CmKbGQPa3TjyrF3v7mIRRIS02hqlSCZSDmh1mQhKNrBW20ZJpJ6nwyrPhCzk9cBr61hWvollUYZi01cnF3P4B61BNAMH6xTSwgSDx5aVFgmSC5ux3Exovg+3P9YxX+UmJvrtqJPYvZ+nmh25rfxSFqjcKF4pWXYyM7OBsa1+kxu0QZbyRXrj7TDBvGTtUda3mc+P/snRLr5UBNnJ7fwrwte1rQFLJ+Mi3XWX6iMFlaCeIKyY5AWv79bNinlba+akDbzSZC5VfOm2UN+CdO7v/nQzNVrjxYH0S7H44qGjfb4a9fjQ6FG/l+fw5SUx+z/TOdGphM0YOsxipaOjOA8FkccSl1NUyzvxkqrw= 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:(13230031)(346002)(366004)(39860400002)(136003)(396003)(376002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(31686004)(86362001)(8936002)(6512007)(82960400001)(26005)(478600001)(6506007)(66946007)(6916009)(66556008)(8676002)(66476007)(316002)(31696002)(83380400001)(6486002)(2616005)(54906003)(44832011)(2906002)(4326008)(36756003)(41300700001)(38100700002)(5660300002)(43740500002)(45980500001)(360504008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cldYa2tLSTA4TkE4RDZJMklkQmJ3RmJzdU9WeU9yQ2dwSHRtZEtTRmMvdTJi?= =?utf-8?B?WGcrbHZNM3pQNTNTc2lycFRsN3VjTjc3ZVVpOTljRTF1em1xOGhFQXBnNHdL?= =?utf-8?B?bHJjbGVTbDR6QjEyVlhEZTZBTkoreWJrQStoR2E5NnhKUUhtT1IwbVIyemVq?= =?utf-8?B?ZVEzcFlCTVdtMWhJRkRKR2cwZWZWcU9TdU52dlRQRXdMOVRkUUtQQ1JFbG4v?= =?utf-8?B?OUhQWGhkZVZtaVZDQUYycVZYTDM3djBmbEE3ZjUrbGg2V2VUZ2crQzBEZE5K?= =?utf-8?B?RU1pZ3dGQWxEY2Z4c0FtMVVteVlvaXVVZEgrdUNtaXdCRStCTUhrelFEU2hi?= =?utf-8?B?N2VoQld6VnRnUVZPYUpSRWxqWURDRXREUW56WE5GZnlsWVVJY0s5YWMrOEpq?= =?utf-8?B?Nmk4NndhT2lqZEZVMUtGS0RJNk1LTi9VSHRpMTMwbFJoRDd5bURweVM4clBC?= =?utf-8?B?a2h1UHFYczBiOGdEWERob0ZuRStTbERxQ21Sc3I0dUZRanUvdmFjMWp6c1JE?= =?utf-8?B?TGFkU0VobzNFOHVUUVdQMXVlOTZDQ2NIT1Q5UG9vNUM1M0VLczZhRXV5MWFx?= =?utf-8?B?VjhwUmZsMWx5QnR0RUt0L2lwMVFYMGtNc3Q4UnkyWTBLV29WNlFVb0RrVTdY?= =?utf-8?B?U0lvN3RYd1NwcEs5K1VGcU41SFRSUmRFRHNVY2ljcnlIdWt2em9lcWhuR216?= =?utf-8?B?d3RwZVJiRDhoZmJOWktZd0VXNnQraDNNQ29OQzMzY2JPOEVXMjBJVnFoUm1j?= =?utf-8?B?eHhDaVV0dUJjRit5SEk3Z094cTViL2xWcWxOVU9ZUExYdzJkdGVjWDBRZjBN?= =?utf-8?B?Q0ExUHUxbnJ3TGoxMU4xU0hZNjl1Q3FLWFVUZDFDSEN0L2dhMzZpbUt3bHlR?= =?utf-8?B?YXhyWWhzZjJGbzN4cXg3alJvNjlXaVc3Qm5ZbWlYUHBEWHRBaHdyZWZDcXlX?= =?utf-8?B?QlJWVlAvMTV5OHZJOWFXMDZsSWVmUnJSQnVSVHhXZm5USE92aTMvZWhvckZl?= =?utf-8?B?K1pvSTc2NUZUeFZLaHJTZFc2SXIwTC9LT3dYaEpYWnlLa0hxMWtJUWJIaWN2?= =?utf-8?B?Q2RmeFYzU0lXNFpHS0J4dUtrNVpxYktQUlliT0xaRE1pNlByUDM0eW9lVWVh?= =?utf-8?B?RXBYZWRUU1lrSXpJSmk0UE5YejNnaU5sR1dGT3NmNmx2VjhyYTZUQUVrbWJt?= =?utf-8?B?UVBrSi9ySjlHdkhMRmxPV0pTZHhYbU54Q0JtOW5Od1pubkdhWnZRcXBTUWhi?= =?utf-8?B?NWVuUndkS3RySkZ6TXo0NE9RL2xLSjg3UklhS0dDaU1UalNJTHU3K1N4c2pJ?= =?utf-8?B?OTBLNUM4dXBRNEdPNiswOFg0WmxTVXZnWlhwd0NXUzJSWkl4eVRUcm9WS3ow?= =?utf-8?B?UTQ5RlozZ0lJRnU2SWhyMzFmdE0zQ1NHaTZORkFsY3BtOTFYK2d0NE9pNkpM?= =?utf-8?B?ckNhY0NVODVpNzAzQ0xtOS9va2QvMWZvbnp4U3Q1UHl1RDhIV3VFaVh6ZkU1?= =?utf-8?B?OG5JM2E4eGwrblA4SVY4RC92c2F4ZjVVanJDUWFGZDFBMGp5N2hnd3ZXTWdH?= =?utf-8?B?ZExFOUZtRVEvM2dDUXVvS2tTTUl0TlIrbnRabXVWanMzckMvQ2hSSlJyV210?= =?utf-8?B?ZFhpVFp2YUExMG5pSU82bjZjbGF3cXRMRkJ3VW5wMFpPWFdBYks4OTJXTms2?= =?utf-8?B?aTB2Mi9wVGoybS9mZjFUbDMvdTNrcEtDcFVPbHczUTVzSnVLa1FwUmxpSnNL?= =?utf-8?B?TWNZWndqU2xjZERYaHU1aW5NYXdjS0FobW1BR09jVVRHT3JWc3JoZkFYQUZx?= =?utf-8?B?VnNubHVZaCs4eWlNSzBFOUovb0J3MXhTT3JYTi93V3RWcGxqQlorMnlSSDI5?= =?utf-8?B?SEM1aHl0VXpySk1CTUNRUUNacDBUcmNyV3dSUVorK3UvdzV2Qm1qc0REelQ4?= =?utf-8?B?SlRBd1JkTVdEMFFaUk1DV0dHU2tMSmpuZFhEVjZQVGFtaU92WnBnK2F0all6?= =?utf-8?B?NUlhUVRRTnlWYW5vaExlU2xPZUpGeUJ5dm9KYzRNQmZYV3l4cXE0TlgwM3VR?= =?utf-8?B?R1ppVVdzWDdsZ3VCZ3NlWnoxb1dIdnNrVFpnbENXdDJFa3EyUU82eFpJT2lS?= =?utf-8?B?R0VQYTVWWmFiUmc0ck0zdkRyZnJZVEg2WjFycG9RcTdLWUx6czd2ak4xN3Vn?= =?utf-8?B?aUE9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: a205fd37-7bf7-42c8-b47f-08dc166c44d6 X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2024 08:22:24.8205 (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: oK2qhwpKOFcZ2WIvwv+1HhhOEcfbm9ooPpKK5QL3Lfg30NjJ47TT5is/SXmvF9fniYNZcvP04EbGryzGAV8aLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR10MB6664 X-TUID: klRgRzV2F2mK From: Jan Kiszka During the migration to sbuild, support for using self-built packages in the build environment was lost if those were already part of the sbuild-chroot. This restores it by adding --apt-distupgrade to the sbuild call. But that is not enough because sbuild will only upgrade packages from already configured sources, not those specified via --extra-repository. We therefore have to switch back to configuring isar-apt during sbuild-chroot creation. As rootfs_configure_isar_apt configures the isar repo under /isar-apt, we bind-mount the one in /home/builder/${PN} to that folder. Another difference is that we now need to run apt-get update explicitly, but only for isar-apt. And because the sbuild-chroots are now left behind with isar-apt configured, the configuration in imager_run can be removed (credits to Srinuvasan Arjunan). Signed-off-by: Jan Kiszka --- Changes in v5: - also use dpkg_schroot_create_configs for apt_fetch and apt_unpack (while I wasn't able to reproduce the issue, I think this should resolve the CI problems) meta/classes/dpkg-base.bbclass | 66 ++++++++++--------- meta/classes/dpkg.bbclass | 5 +- meta/classes/image-tools-extension.bbclass | 13 ---- .../sbuild-chroot/sbuild-chroot.inc | 2 - 4 files changed, 38 insertions(+), 48 deletions(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 7b054d3f..32494636 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -19,8 +19,6 @@ DEPENDS:append:riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_C DEB_BUILD_PROFILES ?= "" DEB_BUILD_OPTIONS ?= "" -ISAR_APT_REPO ?= "deb [trusted=yes] file:///home/builder/${PN}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} ${DEBDISTRONAME} main" - python do_adjust_git() { import subprocess @@ -105,9 +103,34 @@ python() { bb.build.addtask('cleanall_apt', 'do_cleanall', '', d) } +dpkg_schroot_create_configs() { + schroot_create_configs + sudo -s <<'EOSUDO' + sbuild_fstab="${SBUILD_CONF_DIR}/fstab" + fstab_isarapt="${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} /isar-apt none rw,bind 0 0" + grep -qxF "${fstab_isarapt}" ${sbuild_fstab} || echo "${fstab_isarapt}" >> ${sbuild_fstab} +EOSUDO +} + +# If Isar recipes depend on each other, they typically need the package +# deployed to isar-apt +addtask local_isarapt +do_local_isarapt[depends] += "isar-apt:do_cache_config" +do_local_isarapt[deptask] = "do_deploy_deb" +do_local_isarapt[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" +do_local_isarapt() { + # Make a local copy of isar-apt repo that is not affected by other parallel builds + rm -rf "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/*" + mkdir -p "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}" + cp -Rf "${REPO_ISAR_DIR}/${DISTRO}/dists" "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}/" + if [ -d "${REPO_ISAR_DIR}/${DISTRO}/pool" ]; then + cp -Rlf "${REPO_ISAR_DIR}/${DISTRO}/pool" "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}/" + fi +} + do_apt_fetch() { E="${@ isar_export_proxies(d)}" - schroot_create_configs + dpkg_schroot_create_configs schroot_cleanup() { schroot_delete_configs @@ -122,7 +145,7 @@ do_apt_fetch() { schroot_delete_configs } -addtask apt_fetch +addtask apt_fetch after do_local_isarapt do_apt_fetch[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" do_apt_fetch[network] = "${TASK_USE_NETWORK_AND_SUDO}" @@ -131,7 +154,7 @@ do_apt_fetch[depends] += "${SCHROOT_DEP}" do_apt_unpack() { rm -rf ${S} - schroot_create_configs + dpkg_schroot_create_configs schroot_cleanup() { schroot_delete_configs @@ -184,21 +207,6 @@ do_prepare_build() { } addtask prepare_build after do_patch do_transform_template before do_dpkg_build -# If Isar recipes depend on each other, they typically need the package -# deployed to isar-apt -do_local_isarapt[depends] += "isar-apt:do_cache_config" -do_local_isarapt[deptask] = "do_deploy_deb" -do_local_isarapt[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" -do_local_isarapt() { - # Make a local copy of isar-apt repo that is not affected by other parallel builds - rm -rf "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/*" - mkdir -p "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}" - cp -Rf "${REPO_ISAR_DIR}/${DISTRO}/dists" "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}/" - if [ -d "${REPO_ISAR_DIR}/${DISTRO}/pool" ]; then - cp -Rlf "${REPO_ISAR_DIR}/${DISTRO}/pool" "${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO}/" - fi -} -addtask local_isarapt before do_dpkg_build # Placeholder for actual dpkg_runbuild() implementation dpkg_runbuild() { @@ -222,7 +230,7 @@ def isar_export_build_settings(d): os.environ['DEB_BUILD_PROFILES'] = isar_deb_build_profiles(d) python do_dpkg_build() { - bb.build.exec_func('schroot_create_configs', d) + bb.build.exec_func('dpkg_schroot_create_configs', d) try: bb.build.exec_func("dpkg_runbuild", d) finally: @@ -230,7 +238,7 @@ python do_dpkg_build() { } do_dpkg_build[network] = "${TASK_USE_NETWORK_AND_SUDO}" -addtask dpkg_build +addtask dpkg_build after do_local_isarapt SSTATETASKS += "do_dpkg_build" SSTATECREATEFUNCS += "dpkg_build_sstate_prepare" @@ -288,7 +296,7 @@ do_deploy_deb[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" do_deploy_deb[dirs] = "${S}" python do_devshell() { - bb.build.exec_func('schroot_create_configs', d) + bb.build.exec_func('dpkg_schroot_create_configs', d) isar_export_proxies(d) isar_export_ccache(d) @@ -297,11 +305,9 @@ python do_devshell() { bb.build.exec_func('schroot_configure_ccache', d) schroot = d.getVar('SBUILD_CHROOT') - isar_apt = d.getVar('ISAR_APT_REPO') pkg_arch = d.getVar('PACKAGE_ARCH') build_arch = d.getVar('BUILD_ARCH') pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS')) - debdistroname = d.getVar('DEBDISTRONAME') install_deps = ":" if d.getVar('BB_CURRENTTASK') == "devshell_nodeps" else f"mk-build-deps -i \ --host-arch {pkg_arch} --build-arch {build_arch} \ @@ -310,15 +316,13 @@ python do_devshell() { termcmd = "schroot -d / -c {0} -u root -- sh -c ' \ cd {1}; \ - echo {2} > /etc/apt/sources.list.d/isar_apt.list; \ - echo \"Package: *\nPin: release n={3}\nPin-Priority: 1000\" > /etc/apt/preferences.d/isar-apt; \ - echo \"APT::Get::allow-downgrades 1;\" > /etc/apt/apt.conf.d/50isar-apt; \ - apt-get -y -q update; \ - {4}; \ + apt-get -y -q update -o Dir::Etc::SourceList=\"sources.list.d/isar-apt.list\" -o Dir::Etc::SourceParts=\"-\" -o APT::Get::List-Cleanup=\"0\"; \ + apt-get -y upgrade; \ + {2}; \ export PATH=$PATH_PREPEND:$PATH; \ $SHELL -i \ '" - oe_terminal(termcmd.format(schroot, pp_pps, isar_apt, debdistroname, install_deps), "Isar devshell", d) + oe_terminal(termcmd.format(schroot, pp_pps, install_deps), "Isar devshell", d) bb.build.exec_func('schroot_delete_configs', d) } diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index c699a84d..d1666f78 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -110,16 +110,17 @@ dpkg_runbuild() { DEB_SOURCE_NAME=$(dpkg-parsechangelog --show-field Source --file ${WORKDIR}/${PPS}/debian/changelog) DSC_FILE=$(find ${WORKDIR} -name "${DEB_SOURCE_NAME}*.dsc" -maxdepth 1 -print) - sbuild -A -n -c ${SBUILD_CHROOT} --extra-repository="${ISAR_APT_REPO}" \ + sbuild -A -n -c ${SBUILD_CHROOT} \ --host=${PACKAGE_ARCH} --build=${BUILD_ARCH} ${profiles} \ --no-run-lintian --no-run-piuparts --no-run-autopkgtest --resolve-alternatives \ --bd-uninstallable-explainer=apt \ - --no-apt-update \ + --no-apt-update --apt-distupgrade \ --chroot-setup-commands="echo \"Package: *\nPin: release n=${DEBDISTRONAME}\nPin-Priority: 1000\" > /etc/apt/preferences.d/isar-apt" \ --chroot-setup-commands="echo \"APT::Get::allow-downgrades 1;\" > /etc/apt/apt.conf.d/50isar-apt" \ --chroot-setup-commands="rm -f /var/log/dpkg.log" \ --chroot-setup-commands="mkdir -p ${deb_dir}" \ --chroot-setup-commands="ln -sf ${ext_deb_dir}/*.deb -t ${deb_dir}/" \ + --chroot-setup-commands="apt-get update -o Dir::Etc::SourceList=\"sources.list.d/isar-apt.list\" -o Dir::Etc::SourceParts=\"-\" -o APT::Get::List-Cleanup=\"0\"" \ --finished-build-commands="rm -f ${deb_dir}/sbuild-build-depends-main-dummy_*.deb" \ --finished-build-commands="[ -z \"\$(find ${deb_dir} -maxdepth 1 -name '*.deb' -print -quit)\" ] || cp ${CP_FLAGS} ${deb_dir}/*.deb -t ${ext_deb_dir}/" \ --finished-build-commands="cp /var/log/dpkg.log ${ext_root}/dpkg_partial.log" \ diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass index 58799fcf..46bdf78b 100644 --- a/meta/classes/image-tools-extension.bbclass +++ b/meta/classes/image-tools-extension.bbclass @@ -44,19 +44,6 @@ imager_run() { distro="${HOST_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" fi - # prepare isar-apt - schroot -r -c ${session_id} -d / -u root -- sh -c " \ - mkdir -p '/etc/apt/sources.list.d' - echo 'deb [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' > \ - '/etc/apt/sources.list.d/isar-apt.list' - - mkdir -p '/etc/apt/preferences.d' - cat << EOF > '/etc/apt/preferences.d/isar-apt' -Package: * -Pin: release n=${DEBDISTRONAME} -Pin-Priority: 1000 -EOF" - E="${@ isar_export_proxies(d)}" deb_dl_dir_import ${schroot_dir} ${distro} schroot -r -c ${session_id} -d / -u root -- sh -c " \ diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index 39ced80b..2f07de82 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -56,8 +56,6 @@ SBUILD_CHROOT_DIR = "${WORKDIR}/rootfs" ROOTFSDIR = "${SBUILD_CHROOT_DIR}" ROOTFS_PACKAGES = "${SBUILD_CHROOT_PREINSTALL}" -# We don't need /etc/apt/sources.list.d/isar-apt.list' while it's handled by sbuild -ROOTFS_CONFIGURE_COMMAND:remove = "rootfs_configure_isar_apt" ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_isar_apt" # Do not cleanup base-apt -- 2.35.3