From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 28 Nov 2025 17:05:19 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f60.google.com (mail-wr1-f60.google.com [209.85.221.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5ASG5Hec028096 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 28 Nov 2025 17:05:17 +0100 Received: by mail-wr1-f60.google.com with SMTP id ffacd0b85a97d-42b2ad29140sf1042696f8f.0 for ; Fri, 28 Nov 2025 08:05:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1764345912; cv=pass; d=google.com; s=arc-20240605; b=kEiXT6WbnnZ3B169nGEEmMzP6UvzPgtxeIhAxMXJWYQBt5UlJo+rcnqV/YjMXNEuxK y0C7nRbaSElGU2WlBlgEQ7Ncb6A4kM7HgBCMWKqp6XDk5xaRy8zbHJ7IGA1EpOLqgkNs JKnq15QYIjTGzVKtDtPLPbHrydj4sVhQ1cH5/aMpeDvX8fCK2443e2KGbblkl3hB2BdI rCYS1eQtK65rsO91lT5zU/7JoDFOiKWI9Y4SdUTCuFhYrRcQ1KrGHbV1u1VV8NW73F8Q zb+dYAE7GDm7UPNkoaRn+6svEKsDr1UYfuxbrf6J15WjR+AxnnWoleyV2083ZAc50Ls2 mRaQ== ARC-Message-Signature: i=2; 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:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:dkim-signature; bh=0UX3zKFM4Ovth/LBRRBYmsVCA5YuqP+jO8yjCGSGG5M=; fh=aibcArZ17KbgEmEPBI7tCHUweLZGBbrq2ew8dBBXlpg=; b=WaYm1lnkirVsmEKDUVdkCrVyyh3uMTHjy+f8+0pXQ/aewZKnrd1uqyHrOIpW7NM1lI AVXcjATDxevygGaRVDkmQszz8DEmFzyYs83BCT9DFk9YRsmMVrRJ3hFAN9CoseyGQfxH MrMAs7hRm4s1z6dv/SxZjrMJxn8nEI8Mf3jtQ5mxilsd/AVbt9lPfRzSEFlNCWIFTmjW n/RBJ6WzwM4CyxaU7aiNsTNqxZ9bqbgCmrv/OS/0miXO4gLrhXmCwgWEGgmqDQUYT02i vqITdDacQKyJUoSNlY/I6F7qJPGxXSNPo02wc9sVegEttahlHmmTeddVeBoX7FRkyYSM /ogg==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1764345912; x=1764950712; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:in-reply-to:from:content-language:references:cc :to:subject:user-agent:mime-version:date:message-id:sender:from:to :cc:subject:date:message-id:reply-to; bh=0UX3zKFM4Ovth/LBRRBYmsVCA5YuqP+jO8yjCGSGG5M=; b=L6uoiBYDKCCD2ddZ2tVpmEzsYZORoCwAx00y0Q5zJlwIrOLv7wmAJfFwfVE0smS+H9 09oAhRK1WhFdiV/+szDsg1RHF+LU7tHX+gnw9kanMahmYQP7VqzpDzOQmbD8RANZKK7/ tqZWdm9ikRrayIQgsEUpvLIrjdjBNjLUL+wJ+skjaomXetRoSrw+r1SJGEsOlZklYPe0 aZ/DYRm/TwXSCg0EQWmq4FY8fuJ425AzH2FUFcBu05+82WseaLMhf8DIcY7JX88LU+Sn sE7PmI0sA8AQ+j6z+Ubqnf1c2ixmKkgLqIzgRd5X9YnUYutD4/9qNLDSBk+9UBGFtp0d NGbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764345912; x=1764950712; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:in-reply-to :from:content-language:references:cc:to:subject:user-agent :mime-version:date:message-id:x-beenthere:x-gm-message-state:sender :from:to:cc:subject:date:message-id:reply-to; bh=0UX3zKFM4Ovth/LBRRBYmsVCA5YuqP+jO8yjCGSGG5M=; b=ighkPg1/g+7+zXAtYwnwLn9UFPgAdycWY31TugFqZzbOHpuWUkjs27Luoaw0o+6Tye oN3R2M+dleO+O4U2e3P9Ev+OGF6HT41g4FydhIj3nEijlTcvrbTlzYsOusZoxqwg2Ivi wibdVqdnquc12XAk/mewa6CnpWC3KCogjRljkC5vqHoseveOLOGrRYAjYWBYOxaDGctd CZQfuIr+YzDn0IPF9LXC/xYwfX2u8ojcZX5qP8xb1yi9w71c2ud7xZixHkcYSdKyCavj gWGeDYBAS/9gUfyJaX1iq9shUvbRtq62TWxexEEmoxXjHxrpSfjJeBK9wdfpxv1gs9+/ Regg== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCUtejtWqAh5Zupo45/7ayGRA4/KSJE67ujmB1Snb8k7mP8tuQPxrPgoXaYYiUXNXdG2hlih@ilbers.de X-Gm-Message-State: AOJu0YxkqOMIXjIePmP7ZRv9iWcDxEAVFTTBevuPjJlzZiC8UQEoMQHj XldKGtckOQtA1YJ3CMi9sileQ6vqFFDL/jiuxUxM40yjd+G6fqQ8S+jR X-Google-Smtp-Source: AGHT+IHtWaaxCtcrp70sWtkE799b+3Pve7xz3eYX/HKO+4mhlUJumxjd1HU3g6dadiEM5LtVl/Ex/Q== X-Received: by 2002:a05:6000:26c4:b0:42b:2f79:755e with SMTP id ffacd0b85a97d-42cc1ab8874mr29499939f8f.3.1764345911389; Fri, 28 Nov 2025 08:05:11 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+blv/sVK/MF3w2W+hgJWP+Q7Pez82Ihdt6XdpdpJbCztg==" Received: by 2002:a05:6000:26cc:b0:429:d66b:509e with SMTP id ffacd0b85a97d-42e1b38b93dls1305493f8f.1.-pod-prod-03-eu; Fri, 28 Nov 2025 08:05:08 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWwP74I6HrtGiZtF+AO+fDZ5woONk3sxv1vurlbDp5w+fiTGyeWFfRmEBnbVvX6cA9nKsUOl00gt5Ne@googlegroups.com X-Received: by 2002:a05:6000:1846:b0:42b:3b45:7197 with SMTP id ffacd0b85a97d-42cc1d0c89dmr27347884f8f.42.1764345908468; Fri, 28 Nov 2025 08:05:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1764345908; cv=none; d=google.com; s=arc-20240605; b=hu4h4hOO6w1TJ5EORamrvF1RovP723hMXVQ5E997a6s/sBNIGy6gDdwf9zv0twEai+ 8xK+RxyG/MbMT7KV8Vp0pbCyofv+LDErmlri82/283EEushuks74jNClfvb17sDDtRDb OJ8yxY91pvvdqUEA+Ji+ffLFh86iAvdz3BSQR+Mk+pg59G3HgB681xE8TJHWUEuz+McE UO3UeDIKspXhLFeBDkLipsi4JoU9E+RUJSLnLU9ev/sm8CizPbjowMYuGFMmFRc9vdhC EbcrqtLTX0PjGKbQbRtSft+dl+Dx3frdoeyhgwgB+AGZbeXg4YTxQPBE/B3XF/af1jrK duAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=JGTwMP8LF4PPs4VgrGig/eSEezN5CfBiz+reKs2V/V8=; fh=4noEhkUWEz6gow2gX+5M/UnUxKzqJ2olgreCmE7HBBI=; b=kalnyWgdX5lvp/NQUjvgLY4sZqfCJA5SSmWks5NAG7K4Z0cRf5FANKWr4cNN5bRCJQ YmQmvc4VjBhjuLyzMevgtUvtsq6sJMGt0Hjcv9uwNCo4elYGyXS04Z5zA92LX0bGH2sX dObEeBbqaYlocKxdFVi8pG814HW9JB+nfHdT8LE1w3jmUCXThZQTsoTT0LIR7Mx2l93p sGhK3+BdB1SllGwm/b9HzUQf9KHaqncHZnpqrDN7pif7hY9O8XwyTMF8ZnsipOEVhgWM gHOatFvmpuSTsYJlzya0UU2GZfhJJnhlTXE3Lqq9ECZttuNuC85L7qnbIT0f57LBPU9F OQDw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-42e1ca546f2si65105f8f.8.2025.11.28.08.05.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 28 Nov 2025 08:05:08 -0800 (PST) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from [192.168.178.117] ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 5ASG56lZ028083 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 Nov 2025 17:05:07 +0100 Message-ID: <91801014-97a8-450f-a5cb-b0b1b371d22a@ilbers.de> Date: Fri, 28 Nov 2025 17:05:06 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] bootstrap: remove isar-bootstrap support To: Clara Kowalsky , isar-users@googlegroups.com Cc: jan.kiszka@siemens.com References: <20251111152844.572788-1-clara.kowalsky@siemens.com> Content-Language: en-US From: Zhihang Wei In-Reply-To: <20251111152844.572788-1-clara.kowalsky@siemens.com> Content-Type: text/plain; charset="UTF-8"; format=flowed X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de 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-TUID: JyhMYKN5p4pj Applied to next, thanks. Zhihang On 11/11/25 16:28, 'Clara Kowalsky' via isar-users wrote: > The minimal base system for the initial schroot rootfs at build is > generated by default by isar-mmdebstrap. The old-school alternative > isar-bootstrap is outdated, untested by the isar testsuite and is > therefore removed. > The preferred provider of bootstrap-[host,target] can still be > overwritten. > > Signed-off-by: Clara Kowalsky > --- > RECIPE-API-CHANGELOG.md | 8 + > doc/technical_overview.md | 18 +- > doc/user_manual.md | 11 +- > kas/image/Kconfig | 2 +- > meta-isar/conf/distro/ubuntu-common.inc | 3 - > meta-isar/conf/local.conf.sample | 4 - > meta/classes/image.bbclass | 8 - > meta/conf/bitbake.conf | 1 - > .../isar-bootstrap/isar-bootstrap-host.bb | 19 -- > .../isar-bootstrap/isar-bootstrap-target.bb | 14 - > .../isar-bootstrap/isar-bootstrap.inc | 242 ------------------ > .../files/chroot-setup.sh | 0 > .../files/locale | 0 > .../isar-mmdebstrap/isar-mmdebstrap.inc | 2 - > 14 files changed, 19 insertions(+), 313 deletions(-) > delete mode 100644 meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb > delete mode 100644 meta/recipes-core/isar-bootstrap/isar-bootstrap-target.bb > delete mode 100644 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > rename meta/recipes-core/{isar-bootstrap => isar-mmdebstrap}/files/chroot-setup.sh (100%) > rename meta/recipes-core/{isar-bootstrap => isar-mmdebstrap}/files/locale (100%) > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > index fb177d4e..5237c3a0 100644 > --- a/RECIPE-API-CHANGELOG.md > +++ b/RECIPE-API-CHANGELOG.md > @@ -838,3 +838,11 @@ instead of > ``` > ROOTFS_FEATURE += "no-generate-initrd" > ``` > + > +### Remove isar-bootstrap support > + > +The default bootstrap procedure is performed with isar-mmdebstrap. > +The alternative with isar-bootstrap is outdated and untested. It is therefore > +removed. > +A custom implementation still can be selected by setting > +PREFERRED_PROVIDER_bootstrap-{host,target} in local.conf. > diff --git a/doc/technical_overview.md b/doc/technical_overview.md > index 7d045955..2b01021a 100644 > --- a/doc/technical_overview.md > +++ b/doc/technical_overview.md > @@ -68,7 +68,7 @@ Also called sbuild chroot rootfs, because of the usage by sbuild tool. > One of the key aspect of Debian philosophy claims the fact, that everything in > Debian should be built within Debian environment. To follow this rule, Isar > introduces the new component - schroot rootfs. Schroot rootfs is typical Debian > -filesystem that is created using standard Debian tools: debootstrap/mmdebstrap, apt-get. > +filesystem that is created using standard Debian tools: mmdebstrap, apt-get. > The source of packages can be either official Debian repositories or custom > repositories created by user. It could be one of the following type: > > @@ -80,8 +80,7 @@ repositories created by user. It could be one of the following type: > Schroot rootfs lifecycle can be described as following: > > - Schroot rootfs starts out with a minimal base system that was generated by > - the isar-bootstrap-{host,target}/isar-mmdebstrap-{host,target} recipe that uses > - debootstrap/mmdebstrap respectively and apt-get. > + the isar-mmdebstrap-{host,target} recipe that uses mmdebstrap and apt-get. > > - Common development packages needed for packages building are installed on > top of this rootfs. > @@ -95,7 +94,7 @@ architecture. > Target filesystem lifecycle can be described as following: > > - Target filesystem starts, like the schroot rootfs, with the same minimal > - base system generated by the isar-bootstrap recipe. > + base system generated by the isar-mmdebstrap recipe. > > - According to the list of custom packages in bitbake recipes, the initial > filesystem will be populated by successfully built packages from locally > @@ -107,7 +106,7 @@ Target filesystem lifecycle can be described as following: > > Whole Isar build process can be split into the following steps: > > - - Generation of a minimal base system by isar-bootstrap/isar-mmdebstrap using debootstrap/mmdebstrap and > + - Generation of a minimal base system by isar-mmdebstrap using mmdebstrap and > apt for each configuration requested by the user (Debian distro, machine and > architecture). > > @@ -125,27 +124,26 @@ All these steps are described in details below. > > ## 3.2 Minimal base system > > -A minimal base system is generated by the isar-bootstrap/isar-mmdebstrap recipe found here: > -`meta/recipes-core/isar-bootstrap/isar-bootstrap-[host,target].bb` / > +A minimal base system is generated by the isar-mmdebstrap recipe found here: > `meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-[host,target].bb` > > This recipe implements a few tasks that are executed in this order: > > 1. `do_generate_keyring`: Generates a new gpg keyring from the gpg keys > specified in the `APTKEYFILES` variable. This keyring is later used by > - debootstrap/mmdebstrap and apt to verify the apt repositories. > + mmdebstrap and apt to verify the apt repositories. > > 2. `do_apt_config_prepare`: Generates aggregated apt preferences and source > files based on the `DISTRO_APT_PREFERENCES` and `DISTRO_APT_SOURCES` > variables. That are later deployed to the minimal base system to be used by > `apt` itself. > > -3. `do_bootstrap`: Bootstraps a minimal debian base system using debootstrap/mmdebstrap. > +3. `do_bootstrap`: Bootstraps a minimal debian base system using mmdebstrap. > > ## 3.3 Initial Schroot Rootfs Generation > > As mentioned above, initial schroot rootfs is generated using the minimal base > -system generated by isar-bootstrap. The bitbake recipe which is responsible for > +system generated by isar-mmdebstrap. The bitbake recipe which is responsible for > schroot rootfs can be found here: > `meta/recipes-devtools/sbuild-chroot/sbuild-chroot-{host,target}.bb` > > diff --git a/doc/user_manual.md b/doc/user_manual.md > index ecb1fb2c..09b29477 100644 > --- a/doc/user_manual.md > +++ b/doc/user_manual.md > @@ -66,8 +66,7 @@ The steps below describe how to build the images provided by default. > > ### Install Host Tools > > -The supported host system is >= buster for debootstrap and >= bullseye for > -default mmdebstrap provider. > +The supported host system is >= bullseye for default mmdebstrap provider. > > Building `debian-trixie` requires host system >= bookworm. > > @@ -97,12 +96,6 @@ apt install \ > zstd > ``` > > -If using isar-bootstrap provider, debootstrap should be installed instead of > -mmdebstrap: > -``` > -apt install debootstrap > -``` > - > If your host is bullseye or bookworm, also install the following package. > ``` > apt install python3-distutils > @@ -1245,7 +1238,7 @@ The debug artifacts will be placed in `${CCACHE_DIR}/debug`. > Isar supports caching of bitbake task artifacts using the sstate-cache > feature known from OpenEmbedded. Isar caches > > - * the Debian bootstrap (`isar-bootstrap` recipe) > + * the Debian bootstrap (`isar-mmdebstrap` recipe) > * Debian packages (built with the `dpkg` or `dpkg-raw` classes) > * root file systems (schroot and image rootfs) > > diff --git a/kas/image/Kconfig b/kas/image/Kconfig > index 1e757ae4..9e8d8099 100644 > --- a/kas/image/Kconfig > +++ b/kas/image/Kconfig > @@ -14,7 +14,7 @@ config IMAGE_BASE > bool "Base image" > help > This is the basic Isar image with bare minimum of preinstalled packages. > - It's technically close do the debootstrapped system with packages > + It's technically close do the mmdebstrapped system with packages > required to boot up the system. > > config IMAGE_DEBUG > diff --git a/meta-isar/conf/distro/ubuntu-common.inc b/meta-isar/conf/distro/ubuntu-common.inc > index f1e8a1d6..dbfeed4a 100644 > --- a/meta-isar/conf/distro/ubuntu-common.inc > +++ b/meta-isar/conf/distro/ubuntu-common.inc > @@ -23,9 +23,6 @@ DISTRO_BOOTSTRAP_BASE_PACKAGES:append:jammy = " usrmerge" > # kernel package name is linux-image-generic in Ubuntu > KERNEL_NAME = "generic" > > -# that is what debootstrap_1.0.118ubuntu1 does anyways > -DISTRO_DEBOOTSTRAP_SCRIPT = "/usr/share/debootstrap/scripts/gutsy" > - > DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" > > DISTRO_KERNELS ?= " \ > diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample > index 8f5efd42..53ae8de6 100644 > --- a/meta-isar/conf/local.conf.sample > +++ b/meta-isar/conf/local.conf.sample > @@ -231,7 +231,3 @@ USER_isar[flags] += "clear-text-password" > # To know more details about this variable and how to set the value refer below > # https://reproducible-builds.org/docs/source-date-epoch/ > #SOURCE_DATE_EPOCH = > - > -# Uncomment this to use old isar-bootstrap provider for rootfs prepare > -#PREFERRED_PROVIDER_bootstrap-host ?= "isar-bootstrap-host" > -#PREFERRED_PROVIDER_bootstrap-target ?= "isar-bootstrap-target" > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > index 2438059b..9aa59d77 100644 > --- a/meta/classes/image.bbclass > +++ b/meta/classes/image.bbclass > @@ -419,14 +419,6 @@ do_rootfs_finalize() { > -maxdepth 1 -name 'qemu-*-static' -type f -delete > fi > > - # needed only for debootstrap, mmdebstrap leave a 0000bootstrap.list behind > - if [ -e "${ROOTFSDIR}/etc/apt/sources-list" ] && \ > - [ -d "${ROOTFSDIR}/etc/apt/sources.list.d" ] && \ > - [ -z "$(find ${ROOTFSDIR}/etc/apt/sources.list.d -mindepth 1)" ]; then > - mv "${ROOTFSDIR}/etc/apt/sources-list" \ > - "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list" > - fi > - > if [ -n "${IMAGE_LISTS}" ]; then > find "${ROOTFSDIR}/etc/apt/sources.list.d/" ! -type d -exec rm -f {} \; > for l in ${IMAGE_LISTS}; do > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index a06ef90e..0f84e715 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -95,7 +95,6 @@ PACKAGE_ARCH ?= "${DISTRO_ARCH}" > # Isar apt repository paths > REPO_ISAR_DIR = "${DEPLOY_DIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt" > REPO_ISAR_DB_DIR = "${DEPLOY_DIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/db" > -THIRD_PARTY_APT_KEYRING = "/etc/apt/trusted.gpg.d/third_party.gpg" > > # Base apt repository paths > REPO_BASE_DIR = "${DEPLOY_DIR}/base-apt/${DISTRO}/apt" > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb b/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb > deleted file mode 100644 > index 12798488..00000000 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb > +++ /dev/null > @@ -1,19 +0,0 @@ > -# Minimal host Debian root file system > -# > -# This software is a part of ISAR. > -# Copyright (c) Siemens AG, 2018 > -# > -# SPDX-License-Identifier: MIT > - > -Description = "Minimal host Debian root file system" > - > -DEPLOY_ISAR_BOOTSTRAP = "${DEPLOY_DIR_BOOTSTRAP}/${HOST_DISTRO}-host_${DISTRO}-${DISTRO_ARCH}" > - > -PROVIDES += "bootstrap-host" > - > -BOOTSTRAP_FOR_HOST = "1" > - > -require isar-bootstrap.inc > - > -HOST_DISTRO_BOOTSTRAP_KEYS ?= "" > -DISTRO_BOOTSTRAP_KEYS = "${HOST_DISTRO_BOOTSTRAP_KEYS}" > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap-target.bb b/meta/recipes-core/isar-bootstrap/isar-bootstrap-target.bb > deleted file mode 100644 > index 69e97b33..00000000 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap-target.bb > +++ /dev/null > @@ -1,14 +0,0 @@ > -# Minimal target Debian root file system > -# > -# This software is a part of ISAR. > -# Copyright (c) Siemens AG, 2018 > -# > -# SPDX-License-Identifier: MIT > - > -Description = "Minimal target Debian root file system" > - > -DEPLOY_ISAR_BOOTSTRAP = "${DEPLOY_DIR_BOOTSTRAP}/${DISTRO}-${DISTRO_ARCH}" > - > -PROVIDES += "bootstrap-target" > - > -require isar-bootstrap.inc > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > deleted file mode 100644 > index 08d61a84..00000000 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > +++ /dev/null > @@ -1,242 +0,0 @@ > -# Minimal debian root file system > -# > -# This software is a part of ISAR. > -# Copyright (c) Siemens AG, 2018-2021 > -# > -# SPDX-License-Identifier: MIT > - > -inherit bootstrap > - > -LICENSE = "gpl-2.0" > -LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" > -PV = "1.0" > - > -DEBOOTSTRAP ?= "qemu-debootstrap" > -ROOTFSDIR = "${WORKDIR}/rootfs" > -DISTRO_BOOTSTRAP_BASE_PACKAGES += "locales" > -DISTRO_BOOTSTRAP_BASE_PACKAGES:append:gnupg = " gnupg" > -DISTRO_BOOTSTRAP_BASE_PACKAGES:append:https-support = " ca-certificates" > - > -inherit deb-dl-dir > - > -def get_distro_have_https_source(d): > - return any(source[2].startswith("https://") for source in generate_distro_sources(d)) > - > -def get_distro_needs_https_support(d): > - if get_distro_have_https_source(d): > - return "https-support" > - else: > - return "" > - > -OVERRIDES:append = ":${@get_distro_needs_https_support(d)}" > - > -def get_distro_needs_gpg_support(d): > - if d.getVar("DISTRO_BOOTSTRAP_KEYS") or \ > - d.getVar("THIRD_PARTY_APT_KEYS") or \ > - d.getVar("BASE_REPO_KEY"): > - return "gnupg" > - else: > - return "" > - > -OVERRIDES:append = ":${@get_distro_needs_gpg_support(d)}" > - > -APT_KEYS_DIR = "${WORKDIR}/aptkeys" > -DISTRO_BOOTSTRAP_KEYRING = "${WORKDIR}/distro-keyring.gpg" > - > -do_generate_keyrings[cleandirs] = "${APT_KEYS_DIR}" > -do_generate_keyrings[dirs] = "${DL_DIR}" > -do_generate_keyrings[vardeps] += "DISTRO_BOOTSTRAP_KEYS THIRD_PARTY_APT_KEYS" > -do_generate_keyrings[network] = "${TASK_USE_SUDO}" > -do_generate_keyrings() { > - if [ -n "${@d.getVar("THIRD_PARTY_APT_KEYFILES") or ""}" ]; then > - chmod 777 "${APT_KEYS_DIR}" > - for keyfile in ${@d.getVar("THIRD_PARTY_APT_KEYFILES")}; do > - cp "$keyfile" "${APT_KEYS_DIR}"/"$(basename "$keyfile")" > - done > - fi > - if [ -n "${@d.getVar("DISTRO_BOOTSTRAP_KEYFILES") or ""}" ]; then > - for keyfile in ${@d.getVar("DISTRO_BOOTSTRAP_KEYFILES")}; do > - sudo apt-key --keyring "${DISTRO_BOOTSTRAP_KEYRING}" add $keyfile > - cp "$keyfile" "${APT_KEYS_DIR}"/"$(basename "$keyfile")" > - done > - fi > -} > -addtask generate_keyrings before do_build after do_unpack > - > -def get_host_release(): > - import platform > - rel = platform.release() > - return rel > - > -do_bootstrap[vardeps] += " \ > - DISTRO_APT_PREMIRRORS \ > - ISAR_ENABLE_COMPAT_ARCH \ > - ${DISTRO_VARS_PREFIX}DISTRO_APT_SOURCES \ > - " > -do_bootstrap[dirs] = "${DEPLOY_DIR_BOOTSTRAP}" > -do_bootstrap[depends] = "base-apt:do_cache isar-apt:do_cache_config" > -do_bootstrap[network] = "${TASK_USE_NETWORK_AND_SUDO}" > - > -inherit compat > - > -do_bootstrap[vardeps] += "DISTRO_BOOTSTRAP_BASE_PACKAGES" > -do_bootstrap() { > - if [ "${ISAR_ENABLE_COMPAT_ARCH}" = "1" ]; then > - if [ -z "${COMPAT_DISTRO_ARCH}" ]; then > - bbfatal "${DISTRO_ARCH} does not have a compat arch" > - fi > - fi > - debootstrap_args="--verbose --variant=minbase --include=${@','.join(d.getVar('DISTRO_BOOTSTRAP_BASE_PACKAGES').split())}" > - if [ -f "${DISTRO_BOOTSTRAP_KEYRING}" ]; then > - debootstrap_args="$debootstrap_args --keyring=${DISTRO_BOOTSTRAP_KEYRING}" > - fi > - if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" -a -z "${BASE_REPO_KEY}" ]; then > - debootstrap_args="$debootstrap_args --no-check-gpg" > - fi > - E="${@ isar_export_proxies(d)}" > - export BOOTSTRAP_FOR_HOST debootstrap_args E > - > - sudo rm -rf --one-file-system "${ROOTFSDIR}" > - deb_dl_dir_import "${ROOTFSDIR}" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" > - > - sudo -E -s <<'EOSUDO' > - set -e > - if [ "${BOOTSTRAP_FOR_HOST}" = "0" ]; then > - arch_param="--arch=${DISTRO_ARCH}" > - fi > - ${DEBOOTSTRAP} $debootstrap_args \ > - $arch_param \ > - ${@get_distro_components_argument(d)} \ > - "${@get_distro_suite(d)}" \ > - "${ROOTFSDIR}" \ > - "${@get_distro_source(d)}" \ > - ${DISTRO_DEBOOTSTRAP_SCRIPT} > - > - # Install apt config > - mkdir -p "${ROOTFSDIR}/etc/apt/preferences.d" > - install -v -m644 "${APTPREFS}" \ > - "${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/${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" > - 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 > - mount -o bind,private "${REPO_BASE_DIR}" "${ROOTFSDIR}/base-apt" > - else > - install -v -m644 "${APTSRCS}" \ > - "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list" > - fi > - install -v -m644 "${APTSRCS_INIT}" "${ROOTFSDIR}/etc/apt/sources-list" > - rm -f "${ROOTFSDIR}/etc/apt/sources.list" > - rm -rf "${ROOTFSDIR}/var/lib/apt/lists/"* > - find ${APT_KEYS_DIR}/ -type f | while read keyfile > - do > - MY_GPGHOME="$(chroot "${ROOTFSDIR}" mktemp -d /tmp/gpghomeXXXXXXXXXX)" > - echo "Created temporary directory ${MY_GPGHOME} for gpg-agent" > - export GNUPGHOME="${MY_GPGHOME}" > - APT_KEY_APPEND="--homedir ${MY_GPGHOME}" > - > - kfn="$(basename $keyfile)" > - cp $keyfile "${ROOTFSDIR}/tmp/$kfn" > - chroot "${ROOTFSDIR}" /usr/bin/gpg-agent --daemon -- /usr/bin/apt-key \ > - --keyring ${THIRD_PARTY_APT_KEYRING} ${APT_KEY_APPEND} add "/tmp/$kfn" > - rm "${ROOTFSDIR}/tmp/$kfn" > - > - echo "Removing ${MY_GPGHOME}" > - rm -rf "${ROOTFSDIR}${MY_GPGHOME}" > - done > - > - # Set locale > - install -v -m644 "${WORKDIR}/locale" "${ROOTFSDIR}/etc/locale" > - > - sed -i '/en_US.UTF-8 UTF-8/s/^#//g' "${ROOTFSDIR}/etc/locale.gen" > - chroot "${ROOTFSDIR}" /usr/sbin/locale-gen > - > - # update APT > - mount -o bind,private /dev ${ROOTFSDIR}/dev > - mount -o bind,private /dev/pts "${ROOTFSDIR}/dev/pts" > - mount -t tmpfs none "${ROOTFSDIR}/dev/shm" > - mount -t proc none ${ROOTFSDIR}/proc > - mount -o bind,private /sys "${ROOTFSDIR}/sys" > - mount --make-rslave ${ROOTFSDIR}/sys > - > - export DEBIAN_FRONTEND=noninteractive > - > - if [ "${BOOTSTRAP_FOR_HOST}" = "1" ]; then > - chroot "${ROOTFSDIR}" /usr/bin/dpkg --add-architecture ${DISTRO_ARCH} > - fi > - > - if [ "${ISAR_ENABLE_COMPAT_ARCH}" = "1" ]; then > - chroot "${ROOTFSDIR}" /usr/bin/dpkg --add-architecture ${COMPAT_DISTRO_ARCH} > - fi > - > - chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y \ > - -o APT::Update::Error-Mode=any > - > - chroot "${ROOTFSDIR}" /usr/bin/apt-get install -y dpkg > - > - # prepare setup chroot script > - install -v -m755 "${WORKDIR}/chroot-setup.sh" "${ROOTFSDIR}/chroot-setup.sh" > - > - chroot "${ROOTFSDIR}" /usr/bin/apt-get install -y -f > - chroot "${ROOTFSDIR}" /usr/bin/apt-get dist-upgrade -y \ > - -o Debug::pkgProblemResolver=yes > - > - umount "${ROOTFSDIR}/dev/shm" > - umount "${ROOTFSDIR}/dev/pts" > - umount "${ROOTFSDIR}/dev" > - umount "${ROOTFSDIR}/proc" > - umount "${ROOTFSDIR}/sys" > - mountpoint -q "${ROOTFSDIR}/base-apt" && \ > - umount "${ROOTFSDIR}/base-apt" > - > - # Compress rootfs for compatibility > - lopts="--one-file-system --exclude=var/cache/apt/archives" > - tar --zstd -cf "${WORKDIR}/rootfs.tar.zst" $lopts -C "${ROOTFSDIR}" . > - > - # Finalize debootstrap by setting the link in deploy > - ln -Tfsr "${WORKDIR}/rootfs.tar.zst" "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst" > -EOSUDO > - deb_dl_dir_export "${ROOTFSDIR}" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}" > - > - # Cleanup apt cache > - sudo -Es chroot "${ROOTFSDIR}" /usr/bin/apt-get -y clean > -} > - > -addtask bootstrap before do_build after do_generate_keyrings > - > -SSTATETASKS += "do_bootstrap" > -SSTATECREATEFUNCS += "bootstrap_sstate_prepare" > -SSTATEPOSTINSTFUNCS += "bootstrap_sstate_finalize" > - > -bootstrap_sstate_prepare() { > - # this runs in SSTATE_BUILDDIR, which will be deleted automatically > - sudo cp -a "${WORKDIR}/rootfs.tar.zst" ./bootstrap.tar.zst > - sudo chown $(id -u):$(id -g) bootstrap.tar.zst > -} > - > -bootstrap_sstate_finalize() { > - # this runs in SSTATE_INSTDIR > - # we should restore symlinks after using tar > - if [ -f bootstrap.tar.zst ]; then > - mv bootstrap.tar.zst "${WORKDIR}/rootfs.tar.zst" > - sudo ln -Tfsr "${WORKDIR}/rootfs.tar.zst" \ > - "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst" > - fi > -} > - > -python do_bootstrap_setscene() { > - sstate_setscene(d) > -} > - > -addtask do_bootstrap_setscene > -do_bootstrap_setscene[dirs] = "${DEPLOY_DIR_BOOTSTRAP}" > diff --git a/meta/recipes-core/isar-bootstrap/files/chroot-setup.sh b/meta/recipes-core/isar-mmdebstrap/files/chroot-setup.sh > similarity index 100% > rename from meta/recipes-core/isar-bootstrap/files/chroot-setup.sh > rename to meta/recipes-core/isar-mmdebstrap/files/chroot-setup.sh > diff --git a/meta/recipes-core/isar-bootstrap/files/locale b/meta/recipes-core/isar-mmdebstrap/files/locale > similarity index 100% > rename from meta/recipes-core/isar-bootstrap/files/locale > rename to meta/recipes-core/isar-mmdebstrap/files/locale > diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc > index b2de61ad..6aec067f 100644 > --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc > +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc > @@ -9,8 +9,6 @@ inherit bootstrap > inherit compat > inherit deb-dl-dir > > -FILESEXTRAPATHS:append = ":${LAYERDIR_core}/recipes-core/isar-bootstrap/files" > - > DISTRO_BOOTSTRAP_BASE_PACKAGES += "locales apt" > DISTRO_BOOTSTRAP_BASE_PACKAGES:append:https-support = " ca-certificates" > -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/91801014-97a8-450f-a5cb-b0b1b371d22a%40ilbers.de.