From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7169469243442855936 X-Received: by 2002:a05:600c:3590:b0:3d0:1489:78c4 with SMTP id p16-20020a05600c359000b003d0148978c4mr15304570wmq.167.1669362125338; Thu, 24 Nov 2022 23:42:05 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a7b:ce11:0:b0:3c6:efd6:9cd8 with SMTP id m17-20020a7bce11000000b003c6efd69cd8ls2179034wmc.0.-pod-control-gmail; Thu, 24 Nov 2022 23:42:04 -0800 (PST) X-Google-Smtp-Source: AA0mqf5lOqAI5CZjx06AI/vQHWp1ANAjGX45RLECc6ipuCr0CJ5G/7l9naP3smjvx+oQFku80fSU X-Received: by 2002:a05:600c:4113:b0:3cf:a3e0:73e4 with SMTP id j19-20020a05600c411300b003cfa3e073e4mr13166741wmi.21.1669362123931; Thu, 24 Nov 2022 23:42:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669362123; cv=pass; d=google.com; s=arc-20160816; b=HvMersn3QI2zLb3MwTDaDqKyrJ8yq4B+yIyh1lXG5jLD/JcyDOVrWQLFXBEl0v9Qxd ubSVqGCSXwQ81Vt5qFFab4vQRv0jLBSWx5ZmiDvwxtSLPbe/OhltjDKoJ1FCuuN5r/3B cWwA412MKBdiO6LTqBogDtt5/20Rtx8dR0aRUZtFnpDNGn1CjE+x7KZERrxrlpx8gleK QK1t3gzE9oVARbyIXQFvElGTqkt2ktair2rrekVHvhpFtynZ80i2h4/oHszIRk4nLr/J j/pXoVPjjl+QZIDjVwZg7vRveZ48BG86AxKifwLq9E+cjQZrp92KtNHu/9BGsfNujZ71 8WTA== 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=KVjCMPfw0K+7BJ+1ZVdGbP9xR8KttD1DncLhef2RRL8=; b=xNz6ZkxIGXBkIdGUPKZ1GnQvEV91GA9lWxrKDGhpCkZlU5J6iwOOFUq2o6hbGEHZqw fiaarGeQbTqCf0uoYadn6PBixUNbb/FqlVZw/Z73cn7Q3CYkDGh9ZovHmZztBqinUhaW U1y3KtI30snr30uc7c+1V9rq9iS4g/v8m2hfWb/8sYpT4fKy9SMGZqbWjXr+WX3zszqm cvW42LtJamcq6hYmWgOUVUndsegsuxPNB4SCtIxHg5yXl4RO65yjd59PPOUioKYvNPKS WTWMx6y/WELo+AlsCumNzZdRlYpFLOmLS/r2xBhW586YT+Q4GVKdbQjEwMKiDsD9OO6d zYbA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=ueQku+kg; 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.13.84 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 EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130084.outbound.protection.outlook.com. [40.107.13.84]) by gmr-mx.google.com with ESMTPS id 188-20020a1c19c5000000b003cfc33e8333si441006wmz.4.2022.11.24.23.42.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 24 Nov 2022 23:42:03 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 40.107.13.84 as permitted sender) client-ip=40.107.13.84; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=ueQku+kg; 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.13.84 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=jikSJvthzbpD+wAIbqR9Wf5r5Ib5ld10ZX0sFtnKXYpqd6rWGjqWgyq97CxCPaxR9IUhaS4vmLLrS4ejEJ7flxgsH0w3GycF9z8ZulrgPNlk81e6GiXOqRRHpd2fodzTtvkCGbu+7L9Hz31jZVpofiUerlx7vkKMybYC3RWcbQ8/rpECmrVQ5rkeEh0JzvNwlx3a/vXA5BH/sxrY4n3nQ7EB2VHMjCRQNUuODVIkfkjlPeN6zsHwTJxzmjJ4WKH4PM4yql0JzngAXQwfYCEjCyfiLN/EvF3skx+l2nL3WYlXdYXT4fBvtwPegizrLTqsX3bYS6vp8TKGmoCh9aN1Fg== 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=KVjCMPfw0K+7BJ+1ZVdGbP9xR8KttD1DncLhef2RRL8=; b=OvDQCRDd3SVsefkGGQ0q1EHGRJ0QvBKNUVYU46i3Rk8I9rQeYsF9hxtXoxLm3yhgVn9Rs3thoFMXJjoCqRwQBa9MerU38X3X3ULW3aPTv5JzUYaIp48qS6YKvJ8JNLVpMH5aYmhW93p1+M9FfwxbVgE0zNm6NX/1jqlA5edFSbcCmtCFP57v3t9tA4LOcZL4ceTeGqToh7zmnWAn3beVVCUOKmqrzi8lW0ThrWTuyECzGoVkX03ZWNZKURFNYJoUKXinEjyqBKIeydQ28sgk+RD2k4N/f1bfBT7li3eqaX9KHME6NQ4GkOh+fYiS28d+wPr1pTEWcBUlE/jXjg2x8A== 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=KVjCMPfw0K+7BJ+1ZVdGbP9xR8KttD1DncLhef2RRL8=; b=ueQku+kgs4fQaKW+AySGpaVZ1M7eziBao8qFsPQuOCieXKhtRjJFncf19IEIv9hrmHzeU73W1rh5iPzaFPZ7JP55vPITohifl8DZyvompoyAeKTolJwKxPrYpFPb7K91MUonQi4+evsG5sNSWWNYoy+M2Ug8DDEYZnYG80piz4TSc+dfvIgdvNtFqXFDea0Kgfv6oAsu4vBRprb/cw23VrbdSSO1NziwR7WFujCFU1Nsa9cjso7bYlBk3Pw7FXw/Iez4smDpR1xHCacB0n6fJ7mK6nM4TE6d+SSkRG9YsexXVvG7aABcj6mpCqlmkQURKnxLrE0dzpQ8FjhboMgsiQ== 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 GV2PR10MB7509.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:d8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.20; Fri, 25 Nov 2022 07:42:02 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::2957:50e8:8ce6:124a]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::2957:50e8:8ce6:124a%9]) with mapi id 15.20.5857.020; Fri, 25 Nov 2022 07:42:02 +0000 Message-ID: Date: Fri, 25 Nov 2022 08:42:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [PATCH v3 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: <20221125064253.21907-1-ubely@ilbers.de> <20221125064253.21907-2-ubely@ilbers.de> From: Jan Kiszka In-Reply-To: <20221125064253.21907-2-ubely@ilbers.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0143.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::16) 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_|GV2PR10MB7509:EE_ X-MS-Office365-Filtering-Correlation-Id: d6fddb8a-be49-4f67-0d40-08daceb88ac9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iSm5u5/R8PdlmI7GeLI05GB6ekle/bYK5vLzAuNruSDeCDvzMIU/gmBoN+sRju5eqlK6p1TVuHjtx+ur2LICq5Ck7j0qCeAKy36XuXkNhGW3XIx0Uou8eV0rn/egxCOCUQ2YasBi8uI9io4qb/YDAANZrXg9xiVu0XKP4FAMCBq5jqwnLr/FtRj8HS4lrvdP6gOokvWsMia4IykAUQCSARg/HRE+/84mad6VIuruizMFZEM6if+K6DuNEK3P00TTc/zPpn1RCHHbG3MwvORqIdkiq9OeW+VROGUPa9MI9haHhNRZvVK8cLInPu/2upPLoNfwdnF+dN7w+cgb1cwRU/ChiLztRfPJcdz7vwx2kR+uFKLqg4kldYVI1b6tfEp3i7lwilJoKOdLtbnQIxSruREtMFCcuuhxnWKN9hTPqZENr7DRqLD43B/n6E5pKQj47uxq8vznJf0hyBve3OswO8usTW4tuff+H1mljj8K5Phw47Au0GNvil8ukgUOp/w16jtWPnIMGvrI3B59Iu/oSSAR+s1MbzLZH4k2B9vvKPCdPvMckZb8oQRZT/IprMAY8SXC72LtQFIXUk4lSJ2CMRWakH60Y10jWRg+FQKmQMJChA8Hjg/5c01mxkXhmHQ4UNHkPalCd+pbH5DuLRYiffM7YOXFg4YbPOe5oYJfSWpRAKcAaNcpdTCmp4k0WQ+VBmH4lan6LQ0tS+yk1iGkRt2WZfeO2BHeUyXzrO3IOSU= 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)(346002)(376002)(396003)(366004)(136003)(39860400002)(451199015)(2906002)(31686004)(36756003)(41300700001)(83380400001)(66946007)(66476007)(66556008)(316002)(44832011)(8936002)(8676002)(5660300002)(86362001)(478600001)(26005)(6512007)(6506007)(53546011)(31696002)(38100700002)(186003)(2616005)(6486002)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MVR4b1Y3clM0RzZOQkprbURqcm1mOS9TcVVyNFpFb0hWUkNPUXg0NkQ5QlFZ?= =?utf-8?B?UndaNXNiL2ZkZzZleUFEc1VUdHMrTzZxRm9aR3BrVXdRZU5MaWh6c2RwTk9X?= =?utf-8?B?eEhUZnpkdlBpUGRIMlNFQjFJQU5CWmtMZlllMzFpcWVtd0JINmdiYjVBaHlh?= =?utf-8?B?ckU2QnBXRTROSVZ3RmswREY3L09KYk53U3JEb1ArUVlVK05wQURBRU5sOWR1?= =?utf-8?B?MjlodmoxU3lFTm4wclY3V1k1V1Z3L25OcExKS0pzVkszTDF5M1htWGFON1FJ?= =?utf-8?B?SWpxRVlJR041WS9JdVl6bG0zSUFqWUJsM0FFNkJDczZrWGc0Zmt6bjVxejgz?= =?utf-8?B?YU15MmVRMGsyMWxxaitWV0twby9UTWNzTzVQeXVBVjMvQmxhU2hRLzRzVmc5?= =?utf-8?B?TnplS2ozWHdsWVA4Y1Z2MG9UTjlyNlpGMVVPOFZld2hDM0J5S2ErZHplT1BI?= =?utf-8?B?ODFTSzJ2Uks3SjFqcE0zbUo0Rmtad0U5V0RSN2xMNnhQVmNvM3piNXcyUnN0?= =?utf-8?B?a2E4aiswYm12OGZrY2p6WXlwbEpIcmtsYTJRbnlUaUlKa2svUkpleGdxL3Nn?= =?utf-8?B?VmxSRUpxbW1SYzBXQzNGWHp0TGxzdU12bWdsZHNJRjNHYW04UmtCQTF1Zm9R?= =?utf-8?B?aDJRdjBzcUhKbFIwdzdNczYzaTJjNTJlSWI3Yi9NckpGSk5vOU5MMUl5SzNw?= =?utf-8?B?MGVkNnEvcnpNN0RoNDJsMmVENURJZEtzQjhlVVlLN2hVOVpwRlBESDRMaEZR?= =?utf-8?B?VEV1TVNPQTh6YzM3dDg4T3M4aDRZTENDNW1BK21WQjV2dXVraWZreHg0R1Fv?= =?utf-8?B?aUw0TWs0N0dxTFVJT29YNWZ2TVFiN3JoUFVYTG5kRGVjY01ZUHllZjgwcXNi?= =?utf-8?B?THpIYmNmRWduNXk3NTIwZHoxWGNTU3ZET2xKL0RhWEMveWpjZlFPL1FXc0hP?= =?utf-8?B?RWdjNE5lV2RXUU1ZdDM5cTl4MnBmU2J2YXdBOWZHaEJwTUsrTWkwcXdEK1FP?= =?utf-8?B?OG1mM0hLQ08vUVhmdVRCYWtsakU4WG91Qjl0MmlOdEJlQngvNXJvV3UyZmts?= =?utf-8?B?OTQxSTFYZFpKZ25RRU16d3lZT0NmeS9oOUpnbWVPUlRSQ2htWVJCY09BU0ZH?= =?utf-8?B?Uk94OUgzVjgyL0tiOVZFMTh0Z3dNUDJPcWk2ODFSMXROTTRwZEdlYm1BcUts?= =?utf-8?B?L2k4aWZIVXZXVTh2blloK2wvUlZ2VkdaVFV1c0o4bGFzazdRQktjcndiNXM3?= =?utf-8?B?LzFJd2xHSlowcUhMSmFvYnQ3cmEzVmhselQ0TE1kamVnM1Y1MGVJbncyeWlH?= =?utf-8?B?MktVSUQrQzFJbW1XdiswUytsQ2F2dTdSSnpKYXNhNDhvbi9HUEZ2SHFMcW5s?= =?utf-8?B?NkVtY0F2MnlLM2hUM3dJVENWT0JYb2dmUHpHd2lJYytKYm5hcVdpUGF0MGZa?= =?utf-8?B?c1NWQnBSNGFsNkFndkhvSnZLQTZRQ1gwYTdYQ1FSNVhPZVBwbHBFViswVVdq?= =?utf-8?B?RUNIUE4rNlMzRGM4enB0UERyNFBaK085T0pOeU9XV1BJdFhTQ1AxR0RHekR2?= =?utf-8?B?QmwwWDlSdmo2UkJtNm1NVURJZDQ2Mm9Va3NRaytncVZ2QkxRTnc1emVJUEhv?= =?utf-8?B?Mml2ditUemExMXFibWpackNkcmVzZzBVbDJSdW5JMkh4VWF2UmtsVHhCRTVI?= =?utf-8?B?VFVreHJMVzltMkcxZWphbDZPQVBQMlFCNUxmaWpQUXlQeUQzK3BJd2k1S25K?= =?utf-8?B?N0ZvWStLcGR1Q0JwalpWK3lBL3dKM2RuQVlKMDNGM05zcTFUbXpjeUZWcUdl?= =?utf-8?B?SnQ2Nk1rTkoydXVNaEZBeU9CSmtMbUladnhBR0tHOW1oalQ3M2ZqSitkNGt1?= =?utf-8?B?eS9oaFdYRXFjU2svaVQyMnJiQXovbHRtVHdQSEIwOWIyZ01jREs3QWpORENT?= =?utf-8?B?TW54V3RFQm9EaHN4OTJxeVZ0Ykp4YnYzYTZwVGVqUkN4L1E4WkdsZ1VYUm5E?= =?utf-8?B?aUlrM1Fhdi9DSmR3bk1ESkRFZ3I4YjYvWDdjNTE1REpMZmsvRXFCbnJkVzhm?= =?utf-8?B?c002bVV0K0VXOGJtaW1iRGhpRytNSGJra1pNQng3bU1HOUJVUEFmL3pzMHhV?= =?utf-8?B?L3p2dGpzTll5RktheHJXd1F2WDd4YVlYblUwZUgrV1FWRmZZaTI2NTRmN3Q1?= =?utf-8?B?NlE9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6fddb8a-be49-4f67-0d40-08daceb88ac9 X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2022 07:42:02.4863 (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: NO+1rIUTx7Zg37fLv9AOWQilGUFkRPmsyPCWlbXKpWvOETuLBCnRwlev7xXxaUdq9QrPBr/9w1gu8QGXc+gjVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR10MB7509 X-TUID: vpm9lAxLlwJ3 On 25.11.22 07:42, 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 BASE_HOST_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..66d965c9 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" > > +BASE_HOST_DISTRO = "debian" Better prefix it with HOST, to be consistent: HOST_BASE_DISTRO > + > 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..7bd81dd6 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" > > +BASE_HOST_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..75da79a1 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" > > +BASE_HOST_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..d7a13f4b 100644 > --- a/meta/conf/distro/debian-common.conf > +++ b/meta/conf/distro/debian-common.conf > @@ -5,6 +5,8 @@ > > BASE_DISTRO = "debian" > > +BASE_HOST_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..2ee0d4cc 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('BASE_HOST_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" > 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" Won't this cause duplicate lines (with complaints of apt) in case of BOOTSTRAP_BASE_DISTRO == BASE_DISTRO? > + 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..e928cd52 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}"/"${BASE_HOST_DISTRO}" \ > + "${REPO_BASE_DB_DIR}"/"${BASE_HOST_DISTRO}" \ > + "${BASE_DISTRO_CODENAME}" \ > + "${WORKDIR}/distributions.in" \ > + "${KEYFILES}" > + populate_base_apt "${HOST_DISTRO}" "${BASE_HOST_DISTRO}" > + repo_sanity_test "${REPO_BASE_DIR}"/"${BASE_HOST_DISTRO}" \ > + "${REPO_BASE_DB_DIR}"/"${BASE_HOST_DISTRO}" > + fi > } > > python do_cache() { Looks promising! Jan -- Siemens AG, Technology Competence Center Embedded Linux