From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7169469243442855936 X-Received: by 2002:a05:600c:24e:b0:3c5:f9f1:f956 with SMTP id 14-20020a05600c024e00b003c5f9f1f956mr27858755wmj.50.1669718960314; Tue, 29 Nov 2022 02:49:20 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6000:223:b0:242:2700:8318 with SMTP id l3-20020a056000022300b0024227008318ls479374wrz.0.-pod-prod-gmail; Tue, 29 Nov 2022 02:49:19 -0800 (PST) X-Google-Smtp-Source: AA0mqf53cT0rQVyoQ/DymXG+OiHFIbCuQEfKGTlsQY6OrCD+mD7S4SuYWj99NZNpnhlnGMxXHymw X-Received: by 2002:adf:cf09:0:b0:22e:7630:dfa with SMTP id o9-20020adfcf09000000b0022e76300dfamr26784141wrj.1.1669718959010; Tue, 29 Nov 2022 02:49:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669718959; cv=pass; d=google.com; s=arc-20160816; b=E8tOBo+f6T5BTtidjP6DunHn8F8nFfwFv1S3vmIv1ONTYUpk1AoVMY2xP+doxL9QCl t91R6UzKTjN+rtAySkqypQNZ7j8h6vkjXYe9Ly7WDfTl/iaZ1XMOPFKt3rxuw9nZSold 06SmCexpyF9XWXh838wGkNoNak0Bny7R1TpoF5PZWCTsQAadDuKTzjdw5xVc9uU8hJuT exIDw4UyNvsGMenuaQvrDDW4YaI35eeReQ0SatFfFM5eZB3z8OFsctjcASVUSQukNpXH L9Op//ugYywu/U4zJDiKlHrGQse+yeavyD0wa4SA1fbNp+coTkb5zBeS1CTn/QQm5OXw zI4Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:in-reply-to:from:references :to:content-language:subject:user-agent:date:message-id :dkim-signature; bh=W52wHvrcljKjaEntiQn4gS1sN4Xdx9pbiCZ/eby46+k=; b=F+b7iZ8kbsrpQDBSQ0/nqWytdiWQp2VzOVkSPq/8HicWnWQVK23nWK/rtXIoHBauep axb+L6GAF/0PADwyc5PCGnY3rHftZGGz4rb/fplVVAaGCj+rH5RVPOltXdE4Dv36sybM ZltuX5g9XZ7sDzZTM06o4tGlcHWw20qmRAlXF/vot82U0APgVDTNhRBVBMV4MYvs69q9 aTMKmkjQo1+fnHfTXOkOdqs1G+uW1NBLqneE4OPJc+twv1QUjBs9pMMKCY22aEZIhmDV CxmIzZArmQ0RN6fw64JNeO5xC5dAtFydfiZMyFvESoJlfNpAi2mVf490hbF6p8Y6gOii shBg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=w7t5rI9Z; 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 40.107.6.76 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2076.outbound.protection.outlook.com. [40.107.6.76]) by gmr-mx.google.com with ESMTPS id by15-20020a056000098f00b00236e8baff63si619500wrb.0.2022.11.29.02.49.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Nov 2022 02:49:18 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 40.107.6.76 as permitted sender) client-ip=40.107.6.76; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=w7t5rI9Z; 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 40.107.6.76 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fIilM5+38iZr0ISDTYD/dE2C0KxCr3/iqEDK0gRW15+jzewyIIYy0JSaIQ5+80dnlbU664+GKGRFCRQBeicn+45v+uh7+mwUkJ9Kgzk1lG7ReWQ1/A6B3T965hxi9/jokWs8mtydRvK+3mrGaguxn8WYmKmKA8Ko72WRhIIuONunCnWHQY5db3Y34bMjepEobxNpuLv+i4Qt/7SC3465g9pIvpuFH4pn6xC7VIL8zNTGUgGddAW+rL1vUGJMa4+9TzyVt/u0C6Llf/+NJttA2/KiVzeXJ1DdI0Wg1mbNCGc5G72elUtRUEKXAwG0QkXgFp0k5U7MEEKqa1RtFoajxQ== 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=W52wHvrcljKjaEntiQn4gS1sN4Xdx9pbiCZ/eby46+k=; b=MF7E1W3PnuU+0m0AVxOScPk5+aOIkFCbbMAELZkla0HgudoIt9wEo6Ni2B0QRmezNC9pu5PGBknXE3QW4wwnFiJZriAvzk/uJm2CT4qRkacZWx8JfwINMgkPlLy6jb2HPJGCcaEYrl/5zXzjZL72KJfEUryH7gedDmVFmF94L0snL5blRIKvR0/Hd5USgKtFos37np5D5DIpkdXvirXvkHEMMN+sxKvcN4E3dNROkIqfX2CCWc8a8Cs9NFASG/uyDnb32EQs+hB9pZzqOBBWTuiK/BKf14PhCqakPNSa6fYVrzzzE/gzzXZnHa094MB8YIxG0koc0MdFTRwFp7wL8g== 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=W52wHvrcljKjaEntiQn4gS1sN4Xdx9pbiCZ/eby46+k=; b=w7t5rI9ZZGx2Cmw7719IkukaWgKct2N2GC8Gvf5yedBCd4zOF23DEHMS336UxDHxhf+YB2WF5WSmlLj5pBEVJKrc0qDE4obfaHG3uIFGLIHPYLST/PWSnz/IfEPsB+xifB8rNWo0mzDXUj4SnOzVEkpgA1RMGsfw5KRjg4fMQKQ4/RoYNhgQ4u14AZsVNewBL5Je1/+0CjOtONKGVKQ8SDzyLGYERb+xKyuoVcl+Zk5IkV4d0BLHlAark9n3BTGfvFsQAkXWl8uWBHWpPkk4GnRfpqDUBsQl6NFmqJwvJFWDGutwCyufZguMuVBawzeAAYPliN8crQ1W9e1AfRmJSA== 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 AS8PR10MB6674.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:564::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.22; Tue, 29 Nov 2022 10:49:18 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::2957:50e8:8ce6:124a]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::2957:50e8:8ce6:124a%8]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 10:49:18 +0000 Message-ID: <3638eaa3-18b8-f2f4-ac81-0dd90f930cb1@siemens.com> Date: Tue, 29 Nov 2022 11:49:11 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [PATCH v4 1/3] Populate base-apt from both DISTRO and HOST_DISTRO download dirs Content-Language: en-US To: Uladzimir Bely , isar-users@googlegroups.com References: <20221128110534.31450-1-ubely@ilbers.de> <20221128110534.31450-2-ubely@ilbers.de> From: Jan Kiszka In-Reply-To: <20221128110534.31450-2-ubely@ilbers.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH2PR05CA0052.namprd05.prod.outlook.com (2603:10b6:610:38::29) 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_|AS8PR10MB6674:EE_ X-MS-Office365-Filtering-Correlation-Id: 12d6c794-2414-4825-41ed-08dad1f75d1c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +xt5TLApamXj2/qhAIvzewx/tuC9nmTkW18TSdwTR0xTbOrcoRVWsUSA6qsws0XK6giz1Q1XqN5XTJagQOzaav3xFh40M2Irf3oj+HOD/CrR85NuEjPFCul6MJ7DTnkM36q9dv1kL0eYhv05WupYpD8G0tUIgxB7CXSModxMopQSeK1rpJkG6qUAI5tfSsYmaRpx6V9JVF3q6Fg5mmX70RrLOLPDUmpFYHmR+1YEsF+6ep63PBWioY8NmE73lj81GDMSEHyQ4yvxD4dDu6IQSKUpZaXU5s/5XZVAIRj4Y4D45b5An5GxVds7FemOjzVGd9Y0X/AhDPnvneWAvxPE3C5sm+L9D14AxDiWs0Me8izkHP/AUTtsonr1XUSPoS6NunAKX3IOkkQLXMz3h8Gu9M5ocse7t7soVm4MxOEkWmWE8e3l1onyoOyb3fz4GTIo7OYT/vDhLtYa3RYUSSUT1R9keYtfK/sFekCqDBCrE/7N+RPNUiY7UzDrORR0AEOK7uoBVl8YO6pQFTvmnMJgCXycJioxkrhRfi8JOdJaz8ZsPIml2ch/NsF7LSXWDYL4Usvg7n5h+x7D0SOzNak4mrVERQcg9DzCWQzvynTGI4pu2nelLMocuoOtORnW2xFK2/+ZSETOSNk5aitKvPI+pxgl4P05r/Zq8htGV3cATa4Ah44KOEU1tQNvAinn4TzlGjNLbBjRQZM/9+eSW/YaIcBYIrR8OGBDM7Nxe2vHFPE= 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:(13230022)(4636009)(39860400002)(136003)(346002)(376002)(366004)(396003)(451199015)(41300700001)(31686004)(44832011)(2906002)(36756003)(8676002)(66556008)(66476007)(66946007)(316002)(8936002)(5660300002)(6512007)(478600001)(26005)(6486002)(86362001)(31696002)(53546011)(6506007)(186003)(2616005)(6666004)(83380400001)(38100700002)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1p4Q2d5b2VQQWlFdzJ6amV5KzBqLy9JZXRZKzk4bWZPQmg1MjZBbDZaR2lQ?= =?utf-8?B?dk9SK2x1czgrTTIwTlRmZS93cEkvQTdURHlvTXM2TEJkVExNek5Ma3l0ZXF5?= =?utf-8?B?S1AvOHBkUFUwZ2FCV3Z5UHluSm5KSWd4K0tzT2o3U1BRL2pka1BoLzdHc3FZ?= =?utf-8?B?elNtWEFJMHQwWmdySkhMTVVxeXROaEpkSmRpVVB1M0VXeDQ0U3A2TDRrMlIw?= =?utf-8?B?WTlnZTRiZmtmVVRoSWs5dHhKaDVrcThYWk1Tak1xVi9icDlPM0srNjZQTm5U?= =?utf-8?B?cEh4UGtmb0VMT0tyZk9zVkhmOHJLdUhNOThCc3RUQlo4eUt1U1hVZTZzUDRE?= =?utf-8?B?Vk5wS00rRnBCeVhtOGdGdlFPQ0dxQ0RTNGx6dDRkWWN3SnE1T2QwSDRnZlRU?= =?utf-8?B?ZFBrbUVSemNyZE1WR0lJWlJDU0dRUC9kVHdaWHlRRDZJNUR3L2thWTM3ZW5K?= =?utf-8?B?WExJdWV2cGtFN3lTc0E5bnZ0QjV4Tk42M3pib09FMFRUWUVEY0lPU2RHY0Z4?= =?utf-8?B?SnZZNFpqM3g5c2pOb2h0NnBTQThFdlJLTkdsbjUzazhkQ2xEbmZybDBQazN4?= =?utf-8?B?WXVyaU1YOTRnRFB2RGt5b25YdENLeGVTdkx0dTlIZ0FGT2hWV3NFMGtLUU91?= =?utf-8?B?bDkxNy9KNlZReXM2VEdKZDkyelpIUzZQb2pLbTZGZkxBWkVPNjJ6U0ljSS9o?= =?utf-8?B?eFlBNnJNUy9QOWJLczFUTkVoMEx3MDYxNHpJTXp6ZmNINStzTEU3SmxGNEh6?= =?utf-8?B?MEczc2ZFcWM5Mm1xZ2M4RmxMV0xaVkZoQ1dlRjhJcUpEVG1MaXFtRFM0TFNn?= =?utf-8?B?c0laWEMwK2p0TnVnWFdxSG56Q3FicGV1TG85ZWs2WlNlN003QXpmWkR2cUdO?= =?utf-8?B?Tlc4S25zeXNIa0JObkFCaWRObU5YV2dHZHZ4c2JXcWxTdHFhM0FNM0J5RmpV?= =?utf-8?B?dXdXcDN0MytlWVlYWmRGa1pHY0N5WC9IaWxCaEY3MThBUTFNbmxXdWFnc2Ns?= =?utf-8?B?VHgvcDJ6cWtvRjFOOXhVU25iRW1xejVJbk5wSUIzYmNzMDFnaEhlQitvV1VY?= =?utf-8?B?Vy90dUFUQUs4WlZlb2w0emNmU2YrdGhOYlVkTDBCRXlkZXlrZFZxVG9LVU5K?= =?utf-8?B?WjV1RjNidFRhMnJMbERSU3hRdVVyckMrdUEwZ1BvbXBQVTl5K3hmOTNnU2FS?= =?utf-8?B?YVVMZ1hvNjNGWUp1aVg3eG5lU29yTVFCdGhtOGF6Rnl2WkRzVUpjUWdseE15?= =?utf-8?B?U2pvZjE2VU1xTFBIT1UvUnZnUnhNNTRreEdxQzdnVVcyUEYyTnNJK3BVYmVy?= =?utf-8?B?ejRFdzRCbVo1NjBTeVpaQzdGVGxIV0V5cjJOcVRJek1QZ2ZjWnlGYUR4SE1D?= =?utf-8?B?MXBnVDUreUxMZXU5blhLcVV1U1pvMlN1cTZ2M1J5ZHNrMW80TERPN3QrZVU0?= =?utf-8?B?ZzhGSUJ0TGl3NFZYcnk5QXRsL1dHcDllYytQbXhPVlFPajFxQm1HMS90R0JE?= =?utf-8?B?azBjdDBPdWNRcWpyeTdZM3locjE3V3RCVlpJMVN4YWJ5MkZoZmVBeDgrcXkr?= =?utf-8?B?NHpXcDBZRHVIMk5zNW1RUUd3UXhpNVRIUThlTjdaN0E5TEdwOXNHZTF4RVly?= =?utf-8?B?R0lDZlpVcW1PTTlUaUZtMVppd1pEODRQVlZ5SE5BZHJFeVp1enRwKzBVL01l?= =?utf-8?B?aTZ2SlhjT1YrNlJrNkFpM1VldHRGd0Z3TzdnajAxY1dNZkRpNEhrYldIVlhw?= =?utf-8?B?bkxFMVdIWDEyNXBlY3BhVElNbWNxVmx6a2FnZGQ1MWd5S2NJd1VqdTlOYUll?= =?utf-8?B?WWZNNUN0VGdaZ3dTeWRTWnd6OWc4TDY0VWxVUVlRTkN0THk2NnRuL29LbmVZ?= =?utf-8?B?YWZvb1l3WEcrRnhSTCtWL25QTkl5dSsydW9TdE9OZkxEb2VKWU1pVU5LYTlU?= =?utf-8?B?TVBnSUluSjBUQnpQTlZBSHg0YjhRaFltNDNzcTVkZmdyTG12MmRhVUpONngv?= =?utf-8?B?R1pFd1JRV0E4UUhlOVZSVkhBTmF3dENCenhGR0VlRC9rQkUvMDZQV0FXdVRF?= =?utf-8?B?eVRLQjFNaTlnUHljSGZZRWZJR3V6TXFFNGJyYWRFS2lVNkZZcnlVN21QamNN?= =?utf-8?B?Uk9URFVwRGF5dDJSb1l6K3p5ckRnSFVpVUN1VGZIVGtIVFIzeW5qSEVLNWlW?= =?utf-8?B?emc9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12d6c794-2414-4825-41ed-08dad1f75d1c X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 10:49:17.8887 (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: pv5agiTH23XULXctzUiHD/S73Rlz0PuHtMZdl/2D2J/w/NCu42E47si/fMMAQQHIcTDHZn76nXtpr3jieNQ62w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB6674 X-TUID: I0UiBjYxPLXq On 28.11.22 12:05, Uladzimir Bely wrote: > Downstreams may want to change DISTRO to some custom value. > When cross-building, this leads to downloading packages for host > and target distros to the different download subdirs. > > While base-apt is populated only from DISTRO download subdir, > second cached (ISAR_USE_CACHED_BASE_REPO = "1") build fails due to > missing packages in base-apt. > > The similar issue happens with cross-building raspberry targets > since they use their own mirrors and DISTRO. > > Fix the issue by splitting base-apt by introducing HOST_BASE_DISTRO > variable that is used instead of BASE_DISTRO for caching builds > for host-related components (e.g., isar-bootstrap, buildchroot-host, > sbuild-chroot-host). Target components still use BASE_DISTRO. > > Signed-off-by: Uladzimir Bely > --- > meta-isar/conf/distro/raspbian-stretch.conf | 2 + > meta-isar/conf/distro/raspios-bullseye.conf | 2 + > meta-isar/conf/distro/ubuntu-focal.conf | 2 + > meta/conf/distro/debian-common.conf | 2 + > .../isar-bootstrap/isar-bootstrap.inc | 9 +++- > meta/recipes-devtools/base-apt/base-apt.bb | 47 ++++++++++--------- > 6 files changed, 40 insertions(+), 24 deletions(-) > > diff --git a/meta-isar/conf/distro/raspbian-stretch.conf b/meta-isar/conf/distro/raspbian-stretch.conf > index c8f523b3..1ad0152f 100644 > --- a/meta-isar/conf/distro/raspbian-stretch.conf > +++ b/meta-isar/conf/distro/raspbian-stretch.conf > @@ -6,6 +6,8 @@ > BASE_DISTRO = "raspbian" > BASE_DISTRO_CODENAME = "stretch" > > +HOST_BASE_DISTRO = "debian" > + > HOST_DISTRO ?= "debian-stretch" > HOST_DISTRO_APT_SOURCES ?= "conf/distro/${HOST_DISTRO}.list" > > diff --git a/meta-isar/conf/distro/raspios-bullseye.conf b/meta-isar/conf/distro/raspios-bullseye.conf > index 5e4a09c9..1f65c3cd 100644 > --- a/meta-isar/conf/distro/raspios-bullseye.conf > +++ b/meta-isar/conf/distro/raspios-bullseye.conf > @@ -6,6 +6,8 @@ > BASE_DISTRO = "raspios" > BASE_DISTRO_arm64 = "debian" > > +HOST_BASE_DISTRO ?= "debian" > + > BASE_DISTRO_CODENAME = "bullseye" > HOST_DISTRO ?= "debian-bullseye" > HOST_DISTRO_APT_SOURCES ?= "conf/distro/${HOST_DISTRO}.list" > diff --git a/meta-isar/conf/distro/ubuntu-focal.conf b/meta-isar/conf/distro/ubuntu-focal.conf > index 379b5b30..084f8e3d 100644 > --- a/meta-isar/conf/distro/ubuntu-focal.conf > +++ b/meta-isar/conf/distro/ubuntu-focal.conf > @@ -8,6 +8,8 @@ require conf/distro/debian-common.conf > BASE_DISTRO = "ubuntu" > BASE_DISTRO_CODENAME = "focal" > > +HOST_BASE_DISTRO = "${BASE_DISTRO}" > + > DISTRO_APT_SOURCES_arm64 ?= "conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}-ports.list" > HOST_DISTRO_APT_SOURCES_arm64 ?= "conf/distro/${HOST_DISTRO}.list conf/distro/${HOST_DISTRO}-ports.list" > > diff --git a/meta/conf/distro/debian-common.conf b/meta/conf/distro/debian-common.conf > index c18eebc2..ada7dc6e 100644 > --- a/meta/conf/distro/debian-common.conf > +++ b/meta/conf/distro/debian-common.conf > @@ -5,6 +5,8 @@ > > BASE_DISTRO = "debian" > > +HOST_BASE_DISTRO ?= "${BASE_DISTRO}" > + > HOST_DISTRO_APT_SOURCES ?= "conf/distro/${HOST_DISTRO}.list" > DISTRO_APT_SOURCES ?= "conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}.list" > > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > index f32d192e..14d876aa 100644 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > @@ -29,6 +29,7 @@ DISTRO_BOOTSTRAP_BASE_PACKAGES_append_gnupg = ",gnupg" > DISTRO_BOOTSTRAP_BASE_PACKAGES_append_https-support = "${@https_support(d)}" > DISTRO_VARS_PREFIX ?= "${@'HOST_' if d.getVar('BOOTSTRAP_FOR_HOST') == '1' else ''}" > BOOTSTRAP_DISTRO = "${@d.getVar('HOST_DISTRO' if d.getVar('BOOTSTRAP_FOR_HOST') == '1' else 'DISTRO')}" > +BOOTSTRAP_BASE_DISTRO = "${@d.getVar('HOST_BASE_DISTRO' if d.getVar('BOOTSTRAP_FOR_HOST') == '1' else 'BASE_DISTRO')}" > FILESEXTRAPATHS_append = ":${BBPATH}" > > inherit deb-dl-dir > @@ -111,7 +112,7 @@ def get_apt_source_mirror(d, aptsources_entry_list): > import re > > if bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')): > - premirrors = "\S* file://${REPO_BASE_DIR}/${BASE_DISTRO}\n" > + premirrors = "\S* file://${REPO_BASE_DIR}/${BOOTSTRAP_BASE_DISTRO}\n" > else: > premirrors = d.getVar('DISTRO_APT_PREMIRRORS', True) or "" > mirror_list = [entry.split() > @@ -319,11 +320,15 @@ do_bootstrap() { > "${ROOTFSDIR}/etc/apt/preferences.d/bootstrap" > mkdir -p "${ROOTFSDIR}/etc/apt/sources.list.d" > if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then > - line="file:///base-apt/${BASE_DISTRO} ${BASE_DISTRO_CODENAME} main" > + line="file:///base-apt/${BOOTSTRAP_BASE_DISTRO} ${BASE_DISTRO_CODENAME} main" There is still a conceptual glitch here: BASE_DISTRO_CODENAME may not be the same as "HOST_BASE_DISTRO_CODENAME" - which does not exist. Jan > if [ -z "${BASE_REPO_KEY}" ]; then > line="[trusted=yes] ${line}" > fi > echo "deb ${line}" > "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list" > + line="file:///base-apt/${BASE_DISTRO} ${BASE_DISTRO_CODENAME} main" > + if [ -z "${BASE_REPO_KEY}" ]; then > + line="[trusted=yes] ${line}" > + fi > echo "deb-src ${line}" >> "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list" > > mkdir -p ${ROOTFSDIR}/base-apt > diff --git a/meta/recipes-devtools/base-apt/base-apt.bb b/meta/recipes-devtools/base-apt/base-apt.bb > index 506a28ff..05016d80 100644 > --- a/meta/recipes-devtools/base-apt/base-apt.bb > +++ b/meta/recipes-devtools/base-apt/base-apt.bb > @@ -13,7 +13,10 @@ KEYFILES ?= "" > BASE_REPO_FEATURES ?= "" > > populate_base_apt() { > - find "${DEBDIR}"/"${DISTRO}" -name '*\.deb' | while read package; do > + distro="${1}" > + base_distro="${2}" > + > + find "${DEBDIR}"/"${distro}" -name '*\.deb' | while read package; do > # NOTE: due to packages stored by reprepro are not modified, we can > # use search by filename to check if package is already in repo. In > # addition, md5sums are compared to ensure that the package is the > @@ -22,25 +25,25 @@ populate_base_apt() { > > # Check if this package is already in base-apt > ret=0 > - repo_contains_package "${REPO_BASE_DIR}/${BASE_DISTRO}" "${package}" || > + repo_contains_package "${REPO_BASE_DIR}/${base_distro}" "${package}" || > ret=$? > [ "${ret}" = "0" ] && continue > if [ "${ret}" = "1" ]; then > - repo_del_package "${REPO_BASE_DIR}"/"${BASE_DISTRO}" \ > - "${REPO_BASE_DB_DIR}"/"${BASE_DISTRO}" \ > + repo_del_package "${REPO_BASE_DIR}"/"${base_distro}" \ > + "${REPO_BASE_DB_DIR}"/"${base_distro}" \ > "${BASE_DISTRO_CODENAME}" \ > - "${base_apt_p}" > + "${package}" > fi > > - repo_add_packages "${REPO_BASE_DIR}"/"${BASE_DISTRO}" \ > - "${REPO_BASE_DB_DIR}"/"${BASE_DISTRO}" \ > + repo_add_packages "${REPO_BASE_DIR}"/"${base_distro}" \ > + "${REPO_BASE_DB_DIR}"/"${base_distro}" \ > "${BASE_DISTRO_CODENAME}" \ > "${package}" > done > > - find "${DEBSRCDIR}"/"${DISTRO}" -name '*\.dsc' | while read package; do > - repo_add_srcpackage "${REPO_BASE_DIR}"/"${BASE_DISTRO}" \ > - "${REPO_BASE_DB_DIR}"/"${BASE_DISTRO}" \ > + find "${DEBSRCDIR}"/"${distro}" -name '*\.dsc' | while read package; do > + repo_add_srcpackage "${REPO_BASE_DIR}"/"${base_distro}" \ > + "${REPO_BASE_DB_DIR}"/"${base_distro}" \ > "${BASE_DISTRO_CODENAME}" \ > "${package}" > done > @@ -55,20 +58,20 @@ repo() { > "${BASE_DISTRO_CODENAME}" \ > "${WORKDIR}/distributions.in" \ > "${KEYFILES}" > - > - if [ -d '${BUILDCHROOT_HOST_DIR}/var/cache/apt' ] && > - [ '${DISTRO}' != '${HOST_DISTRO}' ]; then > - # We would need two separate repository paths for that. > - # Otherwise packages (especially the 'all' arch ones) from one > - # distribution can influence the package versions of the other > - # distribution. > - bbfatal "Different host and target distributions are currently not supported." \ > - "Try it without cross-build." > - fi > - > - populate_base_apt > + populate_base_apt "${DISTRO}" "${BASE_DISTRO}" > repo_sanity_test "${REPO_BASE_DIR}"/"${BASE_DISTRO}" \ > "${REPO_BASE_DB_DIR}"/"${BASE_DISTRO}" > + > + if [ '${DISTRO}' != '${HOST_DISTRO}' ]; then > + repo_create "${REPO_BASE_DIR}"/"${HOST_BASE_DISTRO}" \ > + "${REPO_BASE_DB_DIR}"/"${HOST_BASE_DISTRO}" \ > + "${BASE_DISTRO_CODENAME}" \ > + "${WORKDIR}/distributions.in" \ > + "${KEYFILES}" > + populate_base_apt "${HOST_DISTRO}" "${HOST_BASE_DISTRO}" > + repo_sanity_test "${REPO_BASE_DIR}"/"${HOST_BASE_DISTRO}" \ > + "${REPO_BASE_DB_DIR}"/"${HOST_BASE_DISTRO}" > + fi > } > > python do_cache() { -- Siemens AG, Technology Competence Center Embedded Linux