From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6995134577528274944 X-Received: by 2002:a05:600c:4f46:: with SMTP id m6mr27652783wmq.68.1628682777687; Wed, 11 Aug 2021 04:52:57 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:6251:: with SMTP id m17ls403722wrv.1.gmail; Wed, 11 Aug 2021 04:52:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwhpOs8WXAXC/YRl2Rjf4Oe5du/Sz68TH/6Ny0C4fSeNLBJOcjrHwOGjp//R7MnxBwUdZgq X-Received: by 2002:a5d:59aa:: with SMTP id p10mr36621270wrr.0.1628682776745; Wed, 11 Aug 2021 04:52:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628682776; cv=none; d=google.com; s=arc-20160816; b=bv546lALgtnQTVyjy0dPmAYeT5wIgYzHdBSidp4ZC50/lzA+mVNwnYlMTKQ7rGI2kn e8SR5sg8gT3NxWZ0Cab9w7sWSeRr4gYNa+76DMlzDZtnGQ4jKypCjz7R/sD58OLu0SsN 0Ljqc9KPx5nx+2oAgYMHnALhihaUVGRVRA5kkua+TA0CwgY5jn/ksbr8u2lLBif+OQel YnEj5BLMzxaeyTHG8rxhhTy+SDNwHa19S7JhcM6EXLboJuPxzna9brBm4SZiqCbl+AE8 7BLiBXOb9zjg7gaCzxou0QLs3/py8bI6PymM+ULLNxMSLtdSgWVbZdZW6V5lpbv7CZp4 ULKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=J9YkRVxx+O7n2ZH5OVK/w+j+Ebb9VLRyePfpjl2dQqY=; b=UTuToxBgsFfOdbC2Y+gNY8kJSjBRV/4hZ3YN7p7yh0RFYnnUH254Q9zRBlfvmt3bye ybTL66Blo39mrXeuMMqJx9Ll40fW2VhtG2wjR6fB4a+8RyeqZZj/xA5xP9Ql6EkmfqNm oUrLpsI/347f7IVgYPfDIsKeRK7SKM5HaqSqJYgq5K2p9I89rKdPZiUIGEdGzcAUhVEj dGMhUbVvG7s8pwcqavb9J8BsWsKYpxlStvk7obgjCNd0zBbY93/7EaSHUcp0IprSztIm ePoCW/RDXsSzR+RpWAKhIfh9KkLjpc3D6bXhy3XLlGnWRTg7fJjHOF/0uALx/c9lCftl vm8Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id m33si984864wms.0.2021.08.11.04.52.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Aug 2021 04:52:56 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 17BBquV3011505 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 11 Aug 2021 13:52:56 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.5.58]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 17BBquY2015183; Wed, 11 Aug 2021 13:52:56 +0200 Date: Wed, 11 Aug 2021 13:52:55 +0200 From: Henning Schild To: Jan Kiszka Cc: isar-users Subject: Re: [PATCH] isar-bootstrap: Remove obsolete and incorrect skipping of rebuild Message-ID: <20210811135255.174166a6@md1za8fc.ad001.siemens.net> In-Reply-To: References: X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: CA2YSfbhd4YV Am Wed, 11 Aug 2021 13:34:44 +0200 schrieb Jan Kiszka : > From: Jan Kiszka > > This check dates back to the time isar-bootstrap could have run > multiple times for the same distro-arch and was lock-protected to > avoid this. Long history, locks were removed in 1cae951259b3. > > Now this check only prevented proper rebuilding when apt sources or > preferences changed. > > Signed-off-by: Jan Kiszka > --- > .../isar-bootstrap/isar-bootstrap.inc | 202 > +++++++++--------- 1 file changed, 100 insertions(+), 102 deletions(-) > > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index > 0edefc5..b858c8c 100644 --- > a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -256,125 > +256,123 @@ isar_bootstrap() { fi > E="${@ isar_export_proxies(d)}" > export IS_HOST debootstrap_args E > - if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then Let me guess, you removed that line and the closing "fi", and the rest is git showing a pretty messy diff on the indentation that came with things? I am almost tempted to ask for two patches ... one that does "whitespace only" and the other one doing the real work. Because the diff presented here can not be reviewed. Henning > - sudo rm -rf --one-file-system "${ROOTFSDIR}" > - if [ "${IS_HOST}" ];then > - deb_dl_dir_import "${ROOTFSDIR}" "${HOST_DISTRO}" > + > + sudo rm -rf --one-file-system "${ROOTFSDIR}" > + if [ "${IS_HOST}" ];then > + deb_dl_dir_import "${ROOTFSDIR}" "${HOST_DISTRO}" > + else > + deb_dl_dir_import "${ROOTFSDIR}" "${DISTRO}" > + fi > + > + sudo -E -s <<'EOSUDO' > + set -e > + if [ ${IS_HOST} ]; then > + ${DEBOOTSTRAP} $debootstrap_args \ > + ${@get_distro_components_argument(d, > True)} \ > + "${@get_distro_suite(d, True)}" \ > + "${ROOTFSDIR}" \ > + "${@get_distro_source(d, True)}" \ > + ${DISTRO_DEBOOTSTRAP_SCRIPT} > else > - deb_dl_dir_import "${ROOTFSDIR}" "${DISTRO}" > + ${DEBOOTSTRAP} $debootstrap_args \ > + --arch="${DISTRO_ARCH}" \ > + ${@get_distro_components_argument(d, > False)} \ > + "${@get_distro_suite(d, False)}" \ > + "${ROOTFSDIR}" \ > + "${@get_distro_source(d, False)}" \ > + ${DISTRO_DEBOOTSTRAP_SCRIPT} > fi > > - sudo -E -s <<'EOSUDO' > - set -e > - if [ ${IS_HOST} ]; then > - ${DEBOOTSTRAP} $debootstrap_args \ > - ${@get_distro_components_argument(d, > True)} \ > - "${@get_distro_suite(d, True)}" \ > - "${ROOTFSDIR}" \ > - "${@get_distro_source(d, True)}" \ > - ${DISTRO_DEBOOTSTRAP_SCRIPT} > - else > - ${DEBOOTSTRAP} $debootstrap_args \ > - --arch="${DISTRO_ARCH}" \ > - ${@get_distro_components_argument(d, > False)} \ > - "${@get_distro_suite(d, False)}" \ > - "${ROOTFSDIR}" \ > - "${@get_distro_source(d, False)}" \ > - ${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/${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" > + echo "deb-src ${line}" >> > "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list" > - # 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/${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" > - echo "deb-src ${line}" >> > "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list" - > - mkdir -p ${ROOTFSDIR}/base-apt > - mount --bind ${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/"* > - mkdir -p "${ROOTFSDIR}/etc/apt/apt.conf.d" > - install -v -m644 "${WORKDIR}/isar-apt.conf" \ > - > "${ROOTFSDIR}/etc/apt/apt.conf.d/50isar.conf" > - if [ "${@get_distro_needs_gpg_support(d)}" = "gnupg" ]; > then > - MY_GPGHOME="$(chroot "${ROOTFSDIR}" mktemp -d > /tmp/gpghomeXXXXXXXXXX)" > - echo "Created temporary directory ${MY_GPGHOME} for > gpg-agent" > - export GNUPGHOME="${MY_GPGHOME}" > - chroot "${ROOTFSDIR}" gpg-agent --daemon > - APT_KEY_APPEND="--homedir ${MY_GPGHOME}" > - fi > - find ${APT_KEYS_DIR}/ -type f | while read keyfile > - do > - kfn="$(basename $keyfile)" > - cp $keyfile "${ROOTFSDIR}/tmp/$kfn" > - chroot "${ROOTFSDIR}" /usr/bin/apt-key \ > - --keyring ${THIRD_PARTY_APT_KEYRING} > ${APT_KEY_APPEND} add "/tmp/$kfn" > - rm "${ROOTFSDIR}/tmp/$kfn" > - done > - if [ -d "${MY_GPGHOME}" ]; then > - echo "Killing gpg-agent for ${MY_GPGHOME}" > - chroot "${ROOTFSDIR}" gpgconf --kill gpg-agent && > /bin/rm -rf "${MY_GPGHOME}" > - fi > + mkdir -p ${ROOTFSDIR}/base-apt > + mount --bind ${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/"* > + mkdir -p "${ROOTFSDIR}/etc/apt/apt.conf.d" > + install -v -m644 "${WORKDIR}/isar-apt.conf" \ > + > "${ROOTFSDIR}/etc/apt/apt.conf.d/50isar.conf" > + if [ "${@get_distro_needs_gpg_support(d)}" = "gnupg" ]; then > + MY_GPGHOME="$(chroot "${ROOTFSDIR}" mktemp -d > /tmp/gpghomeXXXXXXXXXX)" > + echo "Created temporary directory ${MY_GPGHOME} for > gpg-agent" > + export GNUPGHOME="${MY_GPGHOME}" > + chroot "${ROOTFSDIR}" gpg-agent --daemon > + APT_KEY_APPEND="--homedir ${MY_GPGHOME}" > + fi > + find ${APT_KEYS_DIR}/ -type f | while read keyfile > + do > + kfn="$(basename $keyfile)" > + cp $keyfile "${ROOTFSDIR}/tmp/$kfn" > + chroot "${ROOTFSDIR}" /usr/bin/apt-key \ > + --keyring ${THIRD_PARTY_APT_KEYRING} > ${APT_KEY_APPEND} add "/tmp/$kfn" > + rm "${ROOTFSDIR}/tmp/$kfn" > + done > + if [ -d "${MY_GPGHOME}" ]; then > + echo "Killing gpg-agent for ${MY_GPGHOME}" > + chroot "${ROOTFSDIR}" gpgconf --kill gpg-agent && > /bin/rm -rf "${MY_GPGHOME}" > + fi > > - if [ "${@get_distro_suite(d, True)}" = "stretch" ] && [ > "${@get_host_release().split('.')[0]}" -lt "4" ]; then > - install -v -m644 "${WORKDIR}/isar-apt-fallback.conf" > \ > - > "${ROOTFSDIR}/etc/apt/apt.conf.d/55isar-fallback.conf" > - fi > + if [ "${@get_distro_suite(d, True)}" = "stretch" ] && [ > "${@get_host_release().split('.')[0]}" -lt "4" ]; then > + install -v -m644 "${WORKDIR}/isar-apt-fallback.conf" \ > + > "${ROOTFSDIR}/etc/apt/apt.conf.d/55isar-fallback.conf" > + fi > > - # Set locale > - install -v -m644 "${WORKDIR}/locale" > "${ROOTFSDIR}/etc/locale" > + # 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 > + sed -i '/en_US.UTF-8 UTF-8/s/^#//g' > "${ROOTFSDIR}/etc/locale.gen" > + chroot "${ROOTFSDIR}" /usr/sbin/locale-gen > > - # setup chroot > - install -v -m755 "${WORKDIR}/chroot-setup.sh" > "${ROOTFSDIR}/chroot-setup.sh" > - "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}" > + # setup chroot > + install -v -m755 "${WORKDIR}/chroot-setup.sh" > "${ROOTFSDIR}/chroot-setup.sh" > + "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}" > > - # update APT > - mount --rbind /dev ${ROOTFSDIR}/dev > - mount --make-rslave ${ROOTFSDIR}/dev > - mount -t proc none ${ROOTFSDIR}/proc > - mount --rbind /sys ${ROOTFSDIR}/sys > - mount --make-rslave ${ROOTFSDIR}/sys > + # update APT > + mount --rbind /dev ${ROOTFSDIR}/dev > + mount --make-rslave ${ROOTFSDIR}/dev > + mount -t proc none ${ROOTFSDIR}/proc > + mount --rbind /sys ${ROOTFSDIR}/sys > + mount --make-rslave ${ROOTFSDIR}/sys > > - export DEBIAN_FRONTEND=noninteractive > + export DEBIAN_FRONTEND=noninteractive > > - if [ ${IS_HOST} ]; then > - chroot "${ROOTFSDIR}" /usr/bin/dpkg > --add-architecture ${DISTRO_ARCH} > - fi > + if [ ${IS_HOST} ]; 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 > + 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 > - chroot "${ROOTFSDIR}" /usr/bin/apt-get install -y -f > - chroot "${ROOTFSDIR}" /usr/bin/apt-get dist-upgrade -y \ > - -o Debug::pkgProblemResolver=yes > + chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y > + chroot "${ROOTFSDIR}" /usr/bin/apt-get install -y -f > + chroot "${ROOTFSDIR}" /usr/bin/apt-get dist-upgrade -y \ > + -o Debug::pkgProblemResolver=yes > > - umount -l "${ROOTFSDIR}/dev" > - umount -l "${ROOTFSDIR}/proc" > - umount -l "${ROOTFSDIR}/sys" > - umount -l "${ROOTFSDIR}/base-apt" || true > + umount -l "${ROOTFSDIR}/dev" > + umount -l "${ROOTFSDIR}/proc" > + umount -l "${ROOTFSDIR}/sys" > + umount -l "${ROOTFSDIR}/base-apt" || true > > - # Finalize debootstrap by setting the link in deploy > - ln -Tfsr "${ROOTFSDIR}" "${DEPLOY_ISAR_BOOTSTRAP}" > + # Finalize debootstrap by setting the link in deploy > + ln -Tfsr "${ROOTFSDIR}" "${DEPLOY_ISAR_BOOTSTRAP}" > EOSUDO > - fi > if [ "${IS_HOST}" ];then > deb_dl_dir_export "${ROOTFSDIR}" "${HOST_DISTRO}" > else