From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6622889622872522752 X-Received: by 2002:a17:906:443:: with SMTP id e3-v6mr75899eja.1.1542165434107; Tue, 13 Nov 2018 19:17:14 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:3484:: with SMTP id g4-v6ls1523983ejb.8.gmail; Tue, 13 Nov 2018 19:17:13 -0800 (PST) X-Google-Smtp-Source: AJdET5fIOd5BMRubJc44kc4Q0jdhVuIYMZlxkLsXTAPlwiC1wmSRDzLIlREy33z6Ms2YHvv8ATkH X-Received: by 2002:a17:906:1c45:: with SMTP id l5-v6mr75527ejg.3.1542165433657; Tue, 13 Nov 2018 19:17:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542165433; cv=none; d=google.com; s=arc-20160816; b=ghSDKe1FlkmULQnTK+PI7+WoBJmGzYpgWqkfUumDLbf4D7Oc11QlAv1m/4Rp2n32wn zKuEr0/P8jWFzdk75NniTSQ/9mcZiYdztNDQ3ws8XWGRJ/wq/8Sx3GVi5FTM0dUwUr1y 15XjlobNwSrm5I/Pse/7za/yOwM4uTlRHT3B1W763cDjoNRwdheEzDe50o1OVeSJKb3O Z3a9n01Qwze+IAu7UzCbYFt/c1iG4ZSwuC4PQqoNxrsPDMjwa5YQ66Bsr+c5bEb1bGtB dtBZhK6ZU+dkfaE2X9Wt3N5ecltfNf3tKvv8FQ1sFF45Y65giQAsnljfAUDWcbLn0FPK Gp2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:organization:from:references:to:subject; bh=BwuuCdNoJBWQe9txl98NWiemA83mrYZImoDJQr+e8QM=; b=wzd4ctI/cINSWq3U5s9oSvkLda1lYz04HJNdFwkNy0nvd4wdjk9j7YIEkW+lnqRaxf i+6i7PdZuqre3s8cstKmG4ZHaD67L3Ow7yoPGFEbwOaIG23KWrZSosS8DmLM6buPAfew qX1eYUk7/bvyzUho/VVPFErhtLqlfbMAAYeUZHhYqZRyeWxpjtle9rTicuiaQMJqmll9 vt65yMMU3zprxa+qhsst5m/cMdKhjE6mzCbUQiG5aTy1Xl/HDJsEX2560JA1vpV4eEAp i6rQQGnFfVipIzpMaCkI3CEfhyFhAABZu31nJarPBXn1kjS5veiB848rQkcpWS5wcmoY NmbQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id m25-v6si572489ejb.1.2018.11.13.19.17.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Nov 2018 19:17:13 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Received: from [192.168.0.18] ([46.39.55.10]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id wAE3HANX029314 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 14 Nov 2018 04:17:12 +0100 Subject: Re: [PATCH] base-apt: Fix distro and codename retrieval To: Jan Kiszka , isar-users References: <09c55855-cf3f-2ef3-ddfa-5dfc2b40e2d4@web.de> From: "Maxim Yu. Osipov" Organization: ilbers GmbH Message-ID: <72bec65a-8c9e-dc02-448a-0a0efb3ef77f@ilbers.de> Date: Wed, 14 Nov 2018 06:17:05 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: <09c55855-cf3f-2ef3-ddfa-5dfc2b40e2d4@web.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: n837Dew4SjUt On 11/12/18 11:34 AM, Jan Kiszka wrote: > From: Jan Kiszka > > So far, the base-apt-helper derived the base distro name and codename > (so far called suite, but it was already the codename) from the DISTRO > variable. That broke downstream layers which defined their own DISTRO. > > A better approach is to let the distro config file define those > parameters so that they can reliably propagate, also via derived > distros, to the helper tasks. Applied to the 'next', Thanks, Maxim. > Fixes: d702b4cceb64 ("base-apt: Add helper class") > Signed-off-by: Jan Kiszka > --- > meta-isar/conf/distro/debian-buster.conf | 2 ++ > meta-isar/conf/distro/debian-common.conf | 2 ++ > meta-isar/conf/distro/debian-jessie.conf | 2 ++ > meta-isar/conf/distro/debian-stretch.conf | 2 ++ > meta-isar/conf/distro/raspbian-jessie.conf | 3 +++ > meta/classes/base-apt-helper.bbclass | 17 +++++++---------- > meta/recipes-core/isar-bootstrap/files/base-apt-sources | 2 +- > meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 4 +++- > meta/recipes-devtools/base-apt/base-apt.bb | 10 +++++----- > meta/recipes-devtools/base-apt/files/distributions.in | 2 +- > 10 files changed, 28 insertions(+), 18 deletions(-) > > diff --git a/meta-isar/conf/distro/debian-buster.conf b/meta-isar/conf/distro/debian-buster.conf > index 61367ef..6b1daa3 100644 > --- a/meta-isar/conf/distro/debian-buster.conf > +++ b/meta-isar/conf/distro/debian-buster.conf > @@ -2,6 +2,8 @@ > > require debian-common.conf > > +BASE_DISTRO_CODENAME = "buster" > + > DISTRO_APT_SOURCES += "conf/distro/debian-buster.list" > DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" > DISTRO_KERNELS ?= "4kc-malta 5kc-malta 686 686-pae amd64 arm64 armmp \ > diff --git a/meta-isar/conf/distro/debian-common.conf b/meta-isar/conf/distro/debian-common.conf > index bb74f1e..5a47483 100644 > --- a/meta-isar/conf/distro/debian-common.conf > +++ b/meta-isar/conf/distro/debian-common.conf > @@ -3,6 +3,8 @@ > # > # SPDX-License-Identifier: MIT > > +BASE_DISTRO = "debian" > + > WIC_IMAGER_INSTALL = "parted \ > gdisk \ > util-linux \ > diff --git a/meta-isar/conf/distro/debian-jessie.conf b/meta-isar/conf/distro/debian-jessie.conf > index cbdf791..5a46afe 100644 > --- a/meta-isar/conf/distro/debian-jessie.conf > +++ b/meta-isar/conf/distro/debian-jessie.conf > @@ -5,6 +5,8 @@ > > require debian-common.conf > > +BASE_DISTRO_CODENAME = "jessie" > + > DISTRO_APT_SOURCES += "conf/distro/debian-jessie.list" > DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" > DISTRO_KERNELS ?= "486 4kc-malta 586 5kc-malta 686-pae amd64 arm64 armmp \ > diff --git a/meta-isar/conf/distro/debian-stretch.conf b/meta-isar/conf/distro/debian-stretch.conf > index b3d2c2d..cc9ca6e 100644 > --- a/meta-isar/conf/distro/debian-stretch.conf > +++ b/meta-isar/conf/distro/debian-stretch.conf > @@ -3,6 +3,8 @@ > > require debian-common.conf > > +BASE_DISTRO_CODENAME = "stretch" > + > DISTRO_APT_SOURCES += "conf/distro/debian-stretch.list" > DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" > DISTRO_KERNELS ?= "4kc-malta 586 5kc-malta 686 686-pae amd64 arm64 armmp \ > diff --git a/meta-isar/conf/distro/raspbian-jessie.conf b/meta-isar/conf/distro/raspbian-jessie.conf > index 72d6067..de8b5a1 100644 > --- a/meta-isar/conf/distro/raspbian-jessie.conf > +++ b/meta-isar/conf/distro/raspbian-jessie.conf > @@ -3,6 +3,9 @@ > # This software is a part of ISAR. > # Copyright (C) 2015-2016 ilbers GmbH > > +BASE_DISTRO = "raspbian" > +BASE_DISTRO_CODENAME = "jessie" > + > DISTRO_APT_SOURCES += "conf/distro/raspbian-jessie.list" > DISTRO_APT_KEYS += "https://archive.raspbian.org/raspbian.public.key;sha256sum=ca59cd4f2bcbc3a1d41ba6815a02a8dc5c175467a59bd87edeac458f4a5345de" > DISTRO_CONFIG_SCRIPT?= "raspbian-configscript.sh" > diff --git a/meta/classes/base-apt-helper.bbclass b/meta/classes/base-apt-helper.bbclass > index eb28f76..ba768da 100644 > --- a/meta/classes/base-apt-helper.bbclass > +++ b/meta/classes/base-apt-helper.bbclass > @@ -1,9 +1,6 @@ > # This software is a part of ISAR. > # Copyright (C) 2018 ilbers GmbH > > -DISTRO_NAME ?= "${@ d.getVar('DISTRO', True).split('-')[0]}" > -DISTRO_SUITE ?= "${@ d.getVar('DISTRO', True).split('-')[1]}" > - > compare_pkg_md5sums() { > pkg1=$1 > pkg2=$2 > @@ -34,23 +31,23 @@ populate_base_apt() { > fi > > # Check if this package is already in base-apt > - isar_package=$(find ${REPO_BASE_DIR}/${DISTRO_NAME} -name $base_name) > + isar_package=$(find ${REPO_BASE_DIR}/${BASE_DISTRO} -name $base_name) > if [ -n "$isar_package" ]; then > compare_pkg_md5sums "$package" "$isar_package" && continue > > # md5sum differs, so remove the package from base-apt > name=$(echo $base_name | cut -d '_' -f 1) > - reprepro -b ${REPO_BASE_DIR}/${DISTRO_NAME} \ > - --dbdir ${REPO_BASE_DB_DIR}/${DISTRO_NAME} \ > + reprepro -b ${REPO_BASE_DIR}/${BASE_DISTRO} \ > + --dbdir ${REPO_BASE_DB_DIR}/${BASE_DISTRO} \ > -C main -A ${DISTRO_ARCH} \ > - remove ${DISTRO_SUITE} \ > + remove ${BASE_DISTRO_CODENAME} \ > $name > fi > > - reprepro -b ${REPO_BASE_DIR}/${DISTRO_NAME} \ > - --dbdir ${REPO_BASE_DB_DIR}/${DISTRO_NAME} \ > + reprepro -b ${REPO_BASE_DIR}/${BASE_DISTRO} \ > + --dbdir ${REPO_BASE_DB_DIR}/${BASE_DISTRO} \ > -C main \ > - includedeb ${DISTRO_SUITE} \ > + includedeb ${BASE_DISTRO_CODENAME} \ > $package > done > } > diff --git a/meta/recipes-core/isar-bootstrap/files/base-apt-sources b/meta/recipes-core/isar-bootstrap/files/base-apt-sources > index e806465..ddc4509 100644 > --- a/meta/recipes-core/isar-bootstrap/files/base-apt-sources > +++ b/meta/recipes-core/isar-bootstrap/files/base-apt-sources > @@ -1 +1 @@ > -deb [trusted=yes] file:///base-apt/debian {DISTRO} main > +deb [trusted=yes] file:///base-apt/{BASE_DISTRO} {BASE_DISTRO_CODENAME} main > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > index cc1791c..ebb88b0 100644 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > @@ -214,7 +214,9 @@ isar_bootstrap() { > "${ROOTFSDIR}/etc/apt/preferences.d/bootstrap" > mkdir -p "${ROOTFSDIR}/etc/apt/sources.list.d" > if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then > - sed -i -e "s#{DISTRO}#"${DISTRO_SUITE}"#g" ${BASEAPTSRCS} > + sed -e "s#{BASE_DISTRO}#"${BASE_DISTRO}"#g" \ > + -e "s#{BASE_DISTRO_CODENAME}#"${BASE_DISTRO_CODENAME}"#g" \ > + -i ${BASEAPTSRCS} > mkdir -p ${ROOTFSDIR}/base-apt > sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt > install -v -m644 "${BASEAPTSRCS}" \ > diff --git a/meta/recipes-devtools/base-apt/base-apt.bb b/meta/recipes-devtools/base-apt/base-apt.bb > index 2370905..d744ed6 100644 > --- a/meta/recipes-devtools/base-apt/base-apt.bb > +++ b/meta/recipes-devtools/base-apt/base-apt.bb > @@ -5,7 +5,7 @@ SRC_URI = "file://distributions.in" > > inherit base-apt-helper > > -CACHE_CONF_DIR = "${REPO_BASE_DIR}/${DISTRO_NAME}/conf" > +CACHE_CONF_DIR = "${REPO_BASE_DIR}/${BASE_DISTRO}/conf" > do_cache_config[dirs] = "${CACHE_CONF_DIR}" > do_cache_config[stamp-extra-info] = "${DISTRO}" > do_cache_config[lockfiles] = "${REPO_BASE_DIR}/isar.lock" > @@ -14,17 +14,17 @@ do_cache_config[lockfiles] = "${REPO_BASE_DIR}/isar.lock" > # generated, this task should do nothing. > do_cache_config() { > if [ ! -e "${CACHE_CONF_DIR}/distributions" ]; then > - sed -e "s#{DISTRO_NAME}#"${DISTRO_SUITE}"#g" \ > + sed -e "s#{CODENAME}#"${BASE_DISTRO_CODENAME}"#g" \ > ${WORKDIR}/distributions.in > ${CACHE_CONF_DIR}/distributions > fi > > - path_cache="${REPO_BASE_DIR}/${DISTRO_NAME}" > - path_databases="${REPO_BASE_DB_DIR}/${DISTRO_NAME}" > + path_cache="${REPO_BASE_DIR}/${BASE_DISTRO}" > + path_databases="${REPO_BASE_DB_DIR}/${BASE_DISTRO}" > > if [ ! -d "${path_databases}" ]; then > reprepro -b ${path_cache} \ > --dbdir ${path_databases} \ > - export ${DISTRO_SUITE} > + export ${BASE_DISTRO_CODENAME} > fi > } > > diff --git a/meta/recipes-devtools/base-apt/files/distributions.in b/meta/recipes-devtools/base-apt/files/distributions.in > index cc82c57..6dcc5a6 100644 > --- a/meta/recipes-devtools/base-apt/files/distributions.in > +++ b/meta/recipes-devtools/base-apt/files/distributions.in > @@ -1,3 +1,3 @@ > -Codename: {DISTRO_NAME} > +Codename: {CODENAME} > Architectures: i386 armhf arm64 amd64 source > Components: main > -- Maxim Osipov ilbers GmbH Maria-Merian-Str. 8 85521 Ottobrunn Germany +49 (151) 6517 6917 mosipov@ilbers.de http://ilbers.de/ Commercial register Munich, HRB 214197 General Manager: Baurzhan Ismagulov