From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6622889622872522752 X-Received: by 2002:aa7:d1cb:: with SMTP id g11-v6mr2146178edp.4.1542011653310; Mon, 12 Nov 2018 00:34:13 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a50:9018:: with SMTP id b24-v6ls1837041eda.5.gmail; Mon, 12 Nov 2018 00:34:12 -0800 (PST) X-Google-Smtp-Source: AJdET5d3XccJylGBBhA3Mbq2S4Y91j+Yi7QsG6LpAi7cOFFrzhKtSFT0EplWZ33OtvA6BLHQp8De X-Received: by 2002:a50:cb87:: with SMTP id k7-v6mr2143159edi.1.1542011652797; Mon, 12 Nov 2018 00:34:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542011652; cv=none; d=google.com; s=arc-20160816; b=SwWgnS9oVmGO2dgR2u5zGmJBsRiSmrmi8vDx1XpSMnQ2xRZcF8/0EOWzYbybqmdSEz Ur8UBb1jB8X3ICYBJb/Kk4oTH5q+KsfkEjRIyzL1VJ+qRa9GbX/zH/BjDl/8LQK3FIIW vQ4egb+kR+htEKd5egcUZh0+Fwzamef5n3T/yXIANTYzOlV5o18x0yex6ZYCBVc76ymm 0nB6YnK7sGMUYTtyf13PdNnWG/A+1RqI7eTnhV2lPwMxDMm4cvuWio3q/gHEWjxr7351 S4E8ZI7nQR+6EROWfW0h71E2Ada7aAHmYt6ShW5sQt4jNLVmDw+izzrUgFKe9MyBP6S0 QYvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:to; bh=TEpJTXQy75FL8sUZjVOjbyD5+Xb/nZl8BD7h5w5wMfA=; b=D4VJp6XIQFuona6/8U/FzusubXiJByBf0FZHM7uCvsF6fNvT1CjFSuJcp+tLh+0f9O kR3GsLMc0h4+jYLyxUtvmozaMRZFH2c6PuO3LGwKIWponvr1KOFouyY0WowIUdvjDxrn s14Fc4wADyHqgxah3saEIRDqQ/LUTv1z0Uu6HawIBm8eQaNH+AyjakT0fA3R/Udy6BjI wtYNf3TxmGmo4CpiZZsDBBil91RxxX/yKNMGVFDpjutIGgzSnXnRdZYaVYGeNuQcMWJR s+Am7D2PyNXhz+p5TE7mxwZtTSBtvfYwQuUIF6qWNdcvPPiShzwFzWSiF05Gfu0JSpdf hadw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@web.de designates 212.227.17.12 as permitted sender) smtp.mailfrom=jan.kiszka@web.de Return-Path: Received: from mout.web.de (mout.web.de. [212.227.17.12]) by gmr-mx.google.com with ESMTPS id y16-v6si754356eds.0.2018.11.12.00.34.12 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Nov 2018 00:34:12 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@web.de designates 212.227.17.12 as permitted sender) client-ip=212.227.17.12; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@web.de designates 212.227.17.12 as permitted sender) smtp.mailfrom=jan.kiszka@web.de Received: from [167.87.50.65] ([95.157.57.47]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LbJ4A-1fcZK52W9C-00kzTz for ; Mon, 12 Nov 2018 09:34:12 +0100 To: isar-users From: Jan Kiszka Subject: [PATCH] base-apt: Fix distro and codename retrieval Message-ID: <09c55855-cf3f-2ef3-ddfa-5dfc2b40e2d4@web.de> Date: Mon, 12 Nov 2018 09:34:10 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:rS+iMlyvi7JLuelSneYRSTC4Xu6QdtFTdBqAzIxd5gok/T46kO2 tMnHBVlUJ94Q55Oylaz/GL9HlKYs223UZnZMJF2jBlgmZqJvVuwmw0IWVgXdAgGQ5NR2HMz we3yfAQzkqVYdQ5gqJufn+jdBkC4HP0sEyTwNeb3meRRjUAnuJkXvgHPMi/botbOoh6sElK zkI3omPXvoDt3mUPHTWtg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:Dhz+e4A1PZ0=:x1/emDlkStPWX0RBjGDsTD HV65URaMoPpxyQ6WKlLNwVy7AjNel4a/Ii5OmPKMBle2VqpNWFzwQo6hNRy3U6ya43Eyk89/C pYRqg8gQytLiRjyqaIVgt0aAmRvkl/IXkWApWjR6h63ocbefarKugR21OjqgFmZ9q9+24oVFY Ph8QZ23f0hUZJL7kAWnczY31A1y8+OLC5+xkXti1jxcAkY1t0UI0M/QmTjtJFY5bkliCOadlR 0ObyQGmAGFc0TyWLrOFS6Gu749dxIzrVrgzn6rkh+TbkAgf/5LdugoNjrUeLVg2cSCYkVVV06 8wq4hBJjwH4YeAW9rymcsMM2R3vqEzjjWLH7xpZIWyRIEVI3aIjiT3QM/cAqS2Tm+vfVzSD9i 17BsmqRnerSSGmwewA+s8dLKwSuePBDEtS6kRs4jz3CVfTthGUEFBWBx/1dd/U6WGkVNW+8tE hnme6SeNioiGr7NwH/65BHf7yfVBycKaAhHViBaAnCyy8u0AAdBPAhXwlzrw/TTuCxySojmUt mXQgOJBYGoiJxpwoKcj3fnwMKq7joh8mbX0Fd+plNU8VGr5n4yYtAaYgXTt+0hH/krHrEM8KH yhE2FuKcZHog+cIMg8jyjsOHi0uAHV0KmxcV4m99r1tB/DSaAwxUyHWcdrccVV4OILQ2XT3Vs YFF2I+h8xuwYC2HNDshG6Mf+Aecs5ZN5CrfgFEGDvm8vqnVEgGitmB6uukw1lYOa4tjsqQ1pC ZYE3o3z18g8MClIsl1ycZX4mmf0iqV4d6w3gvfgm3iP7AG6FqM+IlPu7BqcQuTy5BL4nqI6lK g18WyvKQMIOVi0suKtobTIvHUI9VTrI/emHFwk8yv4Ko6RZQBzlPTjMlyYcoiM2SKHCb9su5r xN8hmnSV4Pytg5Vrt3ylskgnglESUVyTi0mp4lEvmK4kfrP+/yVxRFS8CdRqpe X-TUID: 4o3JGIBcMq8x 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. 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 -- 2.16.4