From: Anton Mikanovich <amikan@ilbers.de>
To: isar-users@googlegroups.com
Cc: Anton Mikanovich <amikan@ilbers.de>
Subject: [PATCH v3 6/6] meta: Remove buildchroot
Date: Mon, 13 Feb 2023 09:40:34 +0200 [thread overview]
Message-ID: <20230213074034.3949-7-amikan@ilbers.de> (raw)
In-Reply-To: <20230213074034.3949-1-amikan@ilbers.de>
Buildchroot is not used anywhere so remove it.
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
meta-isar/conf/local.conf.sample | 2 +-
meta/classes/buildchroot.bbclass | 71 ------------------
meta/classes/image.bbclass | 15 ----
meta/classes/isar-events.bbclass | 1 -
meta/conf/bitbake.conf | 3 -
.../buildchroot/buildchroot-host.bb | 13 ----
.../buildchroot/buildchroot-target.bb | 10 ---
.../buildchroot/buildchroot.inc | 73 -------------------
.../buildchroot/files/build.sh | 17 -----
.../buildchroot/files/common.sh | 32 --------
.../buildchroot/files/configscript.sh | 15 ----
.../buildchroot/files/deps.sh | 47 ------------
12 files changed, 1 insertion(+), 298 deletions(-)
delete mode 100644 meta/classes/buildchroot.bbclass
delete mode 100644 meta/recipes-devtools/buildchroot/buildchroot-host.bb
delete mode 100644 meta/recipes-devtools/buildchroot/buildchroot-target.bb
delete mode 100644 meta/recipes-devtools/buildchroot/buildchroot.inc
delete mode 100644 meta/recipes-devtools/buildchroot/files/build.sh
delete mode 100644 meta/recipes-devtools/buildchroot/files/common.sh
delete mode 100644 meta/recipes-devtools/buildchroot/files/configscript.sh
delete mode 100644 meta/recipes-devtools/buildchroot/files/deps.sh
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 7e0184e..1c8e156 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -24,7 +24,7 @@ MACHINE ??= "qemuarm"
# Isar Configuration Selection
#
# You need to select a specific distribution configuration which will used for both:
-# generation of buildchroot environment and target root filesystem.
+# generation of schroot environment and target root filesystem.
#
# This sets the default distribution configuration:
DISTRO ??= "debian-bullseye"
diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
deleted file mode 100644
index 5abd533..0000000
--- a/meta/classes/buildchroot.bbclass
+++ /dev/null
@@ -1,71 +0,0 @@
-# This software is a part of ISAR.
-# Copyright (C) 2018 Siemens AG
-#
-# SPDX-License-Identifier: MIT
-
-ISAR_CROSS_COMPILE ??= "0"
-
-# Choose the correct buildchroot: host or target
-python __anonymous() {
- mode = d.getVar('ISAR_CROSS_COMPILE', True)
- distro_arch = d.getVar('DISTRO_ARCH')
- if mode == "0" or d.getVar('HOST_ARCH') == distro_arch:
- dep = "buildchroot-target:do_build"
- rootfs = d.getVar('BUILDCHROOT_TARGET_DIR', False)
- else:
- dep = "buildchroot-host:do_build"
- rootfs = d.getVar('BUILDCHROOT_HOST_DIR', False)
-
- d.setVar('BUILDCHROOT_DEP', dep)
- d.setVar('BUILDCHROOT_DIR', rootfs)
-}
-
-MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
-
-buildchroot_do_mounts() {
- if [ "${USE_CCACHE}" = "1" ]; then
- mkdir -p ${CCACHE_DIR}/debug
- fi
-
- sudo -s <<'EOSUDO'
- ( flock 9
- set -e
-
- mountpoint -q '${BUILDCHROOT_DIR}/isar-apt' ||
- mount --bind '${REPO_ISAR_DIR}/${DISTRO}' '${BUILDCHROOT_DIR}/isar-apt'
- mountpoint -q '${BUILDCHROOT_DIR}/downloads' ||
- mount --bind '${DL_DIR}' '${BUILDCHROOT_DIR}/downloads'
- if [ "${USE_CCACHE}" = "1" ]; then
- mkdir -p '${BUILDCHROOT_DIR}/ccache'
- mountpoint -q '${BUILDCHROOT_DIR}/ccache' ||
- mount --bind '${CCACHE_DIR}' '${BUILDCHROOT_DIR}/ccache'
- fi
- mountpoint -q '${BUILDCHROOT_DIR}/dev' ||
- ( mount -o bind,private /dev '${BUILDCHROOT_DIR}/dev' &&
- mount -t tmpfs none '${BUILDCHROOT_DIR}/dev/shm' &&
- mount --bind /dev/pts '${BUILDCHROOT_DIR}/dev/pts' )
- mountpoint -q '${BUILDCHROOT_DIR}/proc' ||
- mount -t proc none '${BUILDCHROOT_DIR}/proc'
- mountpoint -q '${BUILDCHROOT_DIR}/sys' ||
- mount --rbind /sys '${BUILDCHROOT_DIR}/sys'
- mount --make-rslave '${BUILDCHROOT_DIR}/sys'
-
- # Mount base-apt if 'ISAR_USE_CACHED_BASE_REPO' is set
- if [ "${@repr(bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')))}" = 'True' ]
- then
- mkdir -p '${BUILDCHROOT_DIR}/base-apt'
- mountpoint -q '${BUILDCHROOT_DIR}/base-apt' || \
- mount --bind '${REPO_BASE_DIR}' '${BUILDCHROOT_DIR}/base-apt'
- fi
-
- # Refresh or remove /etc/resolv.conf at this chance
- if [ "${@repr(bb.utils.to_boolean(d.getVar('BB_NO_NETWORK')))}" = 'True' ]
- then
- rm -rf '${BUILDCHROOT_DIR}/etc/resolv.conf'
- else
- cp -L /etc/resolv.conf '${BUILDCHROOT_DIR}/etc'
- fi
-
- ) 9>'${MOUNT_LOCKFILE}'
-EOSUDO
-}
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 34b1d61..9b05713 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -32,11 +32,6 @@ PP_DEPLOY = "${PP}/deploy"
PP_ROOTFS = "${PP}/rootfs"
PP_WORK = "${PP}/work"
-BUILDROOT = "${BUILDCHROOT_DIR}${PP}"
-BUILDROOT_DEPLOY = "${BUILDCHROOT_DIR}${PP_DEPLOY}"
-BUILDROOT_ROOTFS = "${BUILDCHROOT_DIR}${PP_ROOTFS}"
-BUILDROOT_WORK = "${BUILDCHROOT_DIR}${PP_WORK}"
-
python(){
if (d.getVar('IMAGE_TRANSIENT_PACKAGES')):
bb.warn("IMAGE_TRANSIENT_PACKAGES is set and no longer supported")
@@ -69,16 +64,6 @@ DEPENDS += "${IMAGE_INSTALL}"
ISAR_RELEASE_CMD_DEFAULT = "git -C ${LAYERDIR_core} describe --tags --dirty --match 'v[0-9].[0-9]*'"
ISAR_RELEASE_CMD ?= "${ISAR_RELEASE_CMD_DEFAULT}"
-image_do_mounts() {
- sudo flock ${MOUNT_LOCKFILE} -c ' \
- mkdir -p "${BUILDROOT_DEPLOY}" "${BUILDROOT_ROOTFS}" "${BUILDROOT_WORK}"
- mount --bind "${DEPLOY_DIR_IMAGE}" "${BUILDROOT_DEPLOY}"
- mount --bind "${IMAGE_ROOTFS}" "${BUILDROOT_ROOTFS}"
- mount --bind "${WORKDIR}" "${BUILDROOT_WORK}"
- '
- buildchroot_do_mounts
-}
-
ROOTFSDIR = "${IMAGE_ROOTFS}"
ROOTFS_FEATURES += "clean-package-cache clean-pycache generate-manifest export-dpkg-status clean-log-files clean-debconf-cache"
ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${IMAGE_INSTALL}"
diff --git a/meta/classes/isar-events.bbclass b/meta/classes/isar-events.bbclass
index f52b234..7b960f3 100644
--- a/meta/classes/isar-events.bbclass
+++ b/meta/classes/isar-events.bbclass
@@ -9,7 +9,6 @@ addhandler build_started
python build_started() {
bb.utils.remove(d.getVar('TMPDIR') + "/work/*/*/*/temp/once.*")
bb.utils.remove(d.getVar('TMPDIR') + "/work/*/*/*/rootfs.mount")
- bb.utils.remove(d.getVar('TMPDIR') + "/deploy/buildchroot-*/*.mount")
}
build_started[eventmask] = "bb.event.BuildStarted"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 522241a..e96a796 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -50,14 +50,11 @@ GITPKGV = "${@bb.fetch2.get_srcrev(d, 'gitpkgv_revision')}"
WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}"
GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}"
DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap"
-DEPLOY_DIR_BUILDCHROOT = "${DEPLOY_DIR}/buildchroot"
DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
DL_DIR ?= "${TOPDIR}/downloads"
SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${DISTRO}-${DISTRO_ARCH}"
-BUILDCHROOT_HOST_DIR = "${DEPLOY_DIR_BUILDCHROOT}-host/${HOST_DISTRO}-${HOST_ARCH}_${DISTRO}-${DISTRO_ARCH}"
-BUILDCHROOT_TARGET_DIR = "${DEPLOY_DIR_BUILDCHROOT}-target/${DISTRO}-${DISTRO_ARCH}"
SCHROOT_HOST_DIR = "${DEPLOY_DIR}/schroot-host/${HOST_DISTRO}-${HOST_ARCH}_${DISTRO}-${DISTRO_ARCH}"
SCHROOT_TARGET_DIR = "${DEPLOY_DIR}/schroot-target/${DISTRO}-${DISTRO_ARCH}"
SDKCHROOT_DIR = "${DEPLOY_DIR_SDKCHROOT}/${BPN}-${DISTRO}-${MACHINE}"
diff --git a/meta/recipes-devtools/buildchroot/buildchroot-host.bb b/meta/recipes-devtools/buildchroot/buildchroot-host.bb
deleted file mode 100644
index e5ce248..0000000
--- a/meta/recipes-devtools/buildchroot/buildchroot-host.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-# Root filesystem for packages building
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2018 ilbers GmbH
-
-DESCRIPTION = "Isar development filesystem for host"
-
-BUILDCHROOT_VARIANT = "host"
-
-require buildchroot.inc
-ROOTFS_ARCH = "${HOST_ARCH}"
-ROOTFS_DISTRO = "${HOST_DISTRO}"
-ROOTFS_BASE_DISTRO = "${HOST_BASE_DISTRO}"
diff --git a/meta/recipes-devtools/buildchroot/buildchroot-target.bb b/meta/recipes-devtools/buildchroot/buildchroot-target.bb
deleted file mode 100644
index 6613de6..0000000
--- a/meta/recipes-devtools/buildchroot/buildchroot-target.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-# Root filesystem for packages building
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2018 ilbers GmbH
-
-DESCRIPTION = "Isar development filesystem for target"
-
-BUILDCHROOT_VARIANT = "target"
-
-require buildchroot.inc
diff --git a/meta/recipes-devtools/buildchroot/buildchroot.inc b/meta/recipes-devtools/buildchroot/buildchroot.inc
deleted file mode 100644
index f74896f..0000000
--- a/meta/recipes-devtools/buildchroot/buildchroot.inc
+++ /dev/null
@@ -1,73 +0,0 @@
-# Common part for build chroot filesystem.
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2018 ilbers GmbH
-
-LICENSE = "gpl-2.0"
-LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe"
-
-FILESPATH:prepend := "${THISDIR}/files:"
-SRC_URI = "file://configscript.sh \
- file://build.sh \
- file://common.sh \
- file://deps.sh"
-PV = "1.0"
-
-inherit rootfs
-
-BUILDCHROOT_DIR = "${WORKDIR}/rootfs"
-ROOTFSDIR = "${BUILDCHROOT_DIR}"
-ROOTFS_PACKAGES = "${BUILDCHROOT_PREINSTALL}"
-ROOTFS_CLEAN_FILES = ""
-ROOTFS_MANIFEST_DEPLOY_DIR = "${DEPLOY_DIR_BUILDCHROOT}"
-ROOTFS_DPKGSTATUS_DEPLOY_DIR = "${DEPLOY_DIR_BUILDCHROOT}"
-ROOTFS_FEATURES += "generate-manifest export-dpkg-status"
-
-BUILDCHROOT_PREINSTALL ?= " \
- dpkg \
- locales \
- apt \
- equivs \
- adduser"
-
-rootfs_do_mounts:append() {
- sudo -s <<'EOSUDO'
- set -e
- mkdir -p '${BUILDCHROOT_DIR}/downloads'
- mountpoint -q '${BUILDCHROOT_DIR}/downloads' || \
- mount --bind '${DL_DIR}' '${BUILDCHROOT_DIR}/downloads'
-EOSUDO
-}
-
-ROOTFS_POSTPROCESS_COMMAND =+ "buildchroot_install_files"
-buildchroot_install_files() {
- sudo mkdir -p "${BUILDCHROOT_DIR}/home/builder"
- # Install package builder script
- sudo chmod -R a+rw "${BUILDCHROOT_DIR}/home/builder"
- sudo install -m 755 -d ${BUILDCHROOT_DIR}/isar
- sudo install -m 755 ${WORKDIR}/build.sh ${BUILDCHROOT_DIR}/isar/
- sudo install -m 755 ${WORKDIR}/common.sh ${BUILDCHROOT_DIR}/isar/
- sudo install -m 755 ${WORKDIR}/deps.sh ${BUILDCHROOT_DIR}/isar/
-
- sudo ln -sf /downloads/git "${BUILDCHROOT_DIR}/home/.git-downloads"
-
- # Configure root filesystem
- sudo install -m 755 ${WORKDIR}/configscript.sh ${BUILDCHROOT_DIR}
- USER_ID=$(id -u)
- GROUP_ID=$(id -g)
- sudo chroot ${BUILDCHROOT_DIR} /configscript.sh $USER_ID $GROUP_ID
-
-}
-
-DEPLOY_BUILDCHROOT = "${@d.getVar('BUILDCHROOT_' + d.getVar('BUILDCHROOT_VARIANT').upper() + '_DIR')}"
-
-do_buildchroot_deploy[dirs] = "${DEPLOY_DIR_BUILDCHROOT}-${BUILDCHROOT_VARIANT}"
-do_buildchroot_deploy() {
- ln -Tfsr "${ROOTFSDIR}" "${DEPLOY_BUILDCHROOT}"
-}
-addtask buildchroot_deploy before do_build after do_rootfs
-
-CLEANFUNCS = "clean_deploy"
-clean_deploy() {
- rm -f "${DEPLOY_BUILDCHROOT}"
-}
diff --git a/meta/recipes-devtools/buildchroot/files/build.sh b/meta/recipes-devtools/buildchroot/files/build.sh
deleted file mode 100644
index d4709cf..0000000
--- a/meta/recipes-devtools/buildchroot/files/build.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2017 ilbers GmbH
-# Copyright (c) 2018 Siemens AG
-
-source /isar/common.sh
-
-# If autotools files have been created, update their timestamp to
-# prevent them from being regenerated
-for i in configure aclocal.m4 Makefile.am Makefile.in; do
- if [ -f "${i}" ]; then
- touch "${i}"
- fi
-done
-
-${GBP_PREFIX}dpkg-buildpackage -a$target_arch --source-option=-I
diff --git a/meta/recipes-devtools/buildchroot/files/common.sh b/meta/recipes-devtools/buildchroot/files/common.sh
deleted file mode 100644
index 73226d8..0000000
--- a/meta/recipes-devtools/buildchroot/files/common.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2017 ilbers GmbH
-# Copyright (c) 2018 Siemens AG
-
-set -e
-printenv | grep -q BB_VERBOSE_LOGS && set -x
-
-# assert we are either "root:root" or "builder:<gid of builder>"
-if ([ "$(id -un)" != "builder" ] || [ "$(id -g)" != "$(id -g builder)" ]) &&
- ([ "$(id -un)" != "root" ] || [ "$(id -gn)" != "root" ]); then
- echo "This script can only be run as root:root or builder:<gid of builder>!" >&2
- echo "(Currently running as $(id -un)($(id -u)):$(id -gn)($(id -g)))" >&2
- exit 1
-fi
-
-# Create human-readable names
-target_arch=$2
-
-set_arch="--host-arch $target_arch"
-
-# Go to build directory
-cd "$1"
-
-# To avoid Perl locale warnings:
-export LC_ALL=C
-export LANG=C
-export LANGUAGE=C
-
-# allow for changes to the PATH variable
-export PATH=$PATH_PREPEND:$PATH
diff --git a/meta/recipes-devtools/buildchroot/files/configscript.sh b/meta/recipes-devtools/buildchroot/files/configscript.sh
deleted file mode 100644
index c4d8cf8..0000000
--- a/meta/recipes-devtools/buildchroot/files/configscript.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2018 ilbers GmbH
-
-set -e
-
-debconf-set-selections <<END
-locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8
-locales locales/default_environment_locale select en_US.UTF-8
-END
-
-grep -q "builder:x:$2" /etc/group || groupadd -f --system builder -o --gid $2
-grep -q "builder:x:$1" /etc/passwd || useradd --system -o --uid $1 --gid builder --no-create-home --home /home/builder --no-user-group --comment "Isar buildchroot build user" builder
-chown -R builder:builder /home/builder
diff --git a/meta/recipes-devtools/buildchroot/files/deps.sh b/meta/recipes-devtools/buildchroot/files/deps.sh
deleted file mode 100644
index ccfc460..0000000
--- a/meta/recipes-devtools/buildchroot/files/deps.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-#
-# This software is a part of ISAR.
-# Copyright (C) 2015-2017 ilbers GmbH
-# Copyright (c) 2018 Siemens AG
-
-source /isar/common.sh
-
-# Install command to be used by mk-build-deps
-# Notes:
-# 1) everything before the -y switch is unchanged from the defaults
-# 2) we add -y to go non-interactive
-# 3) downgrades shall be allowed in case a package recipe was changed
-install_cmd="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends \
- -y --allow-downgrades $3"
-
-if [ "$3" != "--download-only" ]; then
- # Make sure that we have latest isar-apt content.
- # Options meaning:
- # Dir::Etc::SourceList - specifies which source to be used
- # Dir::Etc::SourceParts - disables looking for the other sources
- # APT::Get::List-Cleanup - do not erase obsolete packages list for
- # upstream in '/var/lib/apt/lists'
- apt-get update \
- -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \
- -o Dir::Etc::SourceParts="-" \
- -o APT::Get::List-Cleanup="0"
-fi
-
-control_file=$(pwd)/debian/control
-cd ..
-
-# Install all build deps
-if [ "$3" = "--download-only" ]; then
- # this will not return 0 even when it worked
- mk-build-deps $set_arch -t "${install_cmd}" -i -r $control_file &> \
- mk-build-deps.output || true
- cat mk-build-deps.output
- # we assume success when we find this
- grep "mk-build-deps: Unable to install all build-dep packages" mk-build-deps.output
- rm -f mk-build-deps.output
-else
- mk-build-deps $set_arch -t "${install_cmd}" -i -r $control_file
-
- # Upgrade any already installed packages in case we are partially rebuilding
- apt-get upgrade -y --allow-downgrades
-fi
--
2.34.1
prev parent reply other threads:[~2023-02-13 7:40 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-13 7:40 [PATCH v3 0/6] Imager schroot migration Anton Mikanovich
2023-02-13 7:40 ` [PATCH v3 1/6] isar-apt: Move cleanup to postprocessing Anton Mikanovich
2023-02-13 7:40 ` [PATCH v3 2/6] imager: Migrate from buildchroot to schroot Anton Mikanovich
2023-02-13 7:40 ` [PATCH v3 3/6] imager: Move image types " Anton Mikanovich
2023-02-13 7:40 ` [PATCH v3 4/6] imager: Split imager deps between image types Anton Mikanovich
2023-02-13 7:40 ` [PATCH v3 5/6] CI: Fix used chroot recipe name Anton Mikanovich
2023-02-14 9:28 ` Schmidt, Adriaan
2023-02-14 10:30 ` Anton Mikanovich
2023-02-13 7:40 ` Anton Mikanovich [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230213074034.3949-7-amikan@ilbers.de \
--to=amikan@ilbers.de \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox