From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6597806297219858432 X-Received: by 2002:adf:c490:: with SMTP id m16-v6mr3560636wrf.14.1536171486561; Wed, 05 Sep 2018 11:18:06 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:f214:: with SMTP id s20-v6ls751522wmc.0.gmail; Wed, 05 Sep 2018 11:18:06 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZJSNZqryC9D5rrKUtxbCHfJIMirAztExfXtFnGmo8nKQcmOjlTEy81EVG26iY6iaye134H X-Received: by 2002:a1c:e3d6:: with SMTP id a205-v6mr2033924wmh.1.1536171485973; Wed, 05 Sep 2018 11:18:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536171485; cv=none; d=google.com; s=arc-20160816; b=Tp0ipG5P8+T31MqGwTUAcvKapnEDWi3vBNQeFzM8e0hZ1h20uFShVxEi4+gHqV/KpB 3B5xxQfwnqo5IF8ZxXJe5UiMU8unE7BQVumCQFMLdUYpbp/R9lji7rrhKyMh3KvqRcSk 5KaNRYJDZxXXB8koNAOKO6cgYeLNZ5PBkx4HmjVBiYboNTC2lTQFJ5bPTzKrYi+AwIi8 0YqiAnAq8n8ISfUJuOFshyWya6Sysu3vpnXEEWgacySiTbbmWsQVkP1OMXyhZwKOk2M7 cmlfES9TP26lvHbPLcqky/0X/1V5l1j+vaxH3MqYyup5N9g+tE2YVX0QoQedHGUMUM+w glFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:references:in-reply-to:message-id:date :subject:to:from; bh=wI9dFQOITB+Au/i+fGfoaEC3v/c5nUNi4Pl6uRSaFCY=; b=Qck1MJMBJHIyEblpxvQPrFx7Aogh9sDe2gNmrYzPWTiQwmwdRf/ry3/zBNP9DoIQCo NeT/DXYMUAuucSj1C1MuToOF4APqYXy7QUh3qWVAg62nsVPp6MK+VG0rcN7cwLlTuNSu Bc8Xie8QcHqaD/gbn4/vIuxqJjeO9948PktinDLD6q6jy5FoLUfDj1omAIPSETcpjwGk 86kV+fUgIR+QgudRbEgD81cxFn/0EUTmZcVo0y9o8JqKUSCLLriWHK66Xu4ndLyLnO9n mHWEsJzpA6maC6VkJXT2/9IR7SBzKJMbkBr9/k9YWwjBJfvZ7KWEzctifW6CGJ36trdM yIEQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id v18-v6si121537wmc.1.2018.09.05.11.18.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Sep 2018 11:18:05 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id w85II5sL013634 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 5 Sep 2018 20:18:05 +0200 Received: from md1f2u6c.ad001.siemens.net (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id w85II4cs028591 for ; Wed, 5 Sep 2018 20:18:05 +0200 From: Jan Kiszka To: isar-users Subject: [PATCH 4/5] Install wic and bootloader dependencies via imager_install_deps Date: Wed, 5 Sep 2018 20:18:03 +0200 Message-Id: X-Mailer: git-send-email 2.16.4 In-Reply-To: References: In-Reply-To: References: X-TUID: IXyMm0MEj7Wq From: Jan Kiszka This removes the wic dependency installation hack from buildchroot-target, modeling this instead with the new IMAGER_INSTALL interface. The basic dependencies of wic are still automatically installed as soon as the image type is switched to wic-img. However, those of the bootloader now requires explicit statements. For that, GRUB_BOOTLOADER_INSTALL and SYSLINUX_BOOTLOADER_INSTALL variables are introduced and set by the distro confs accordingly. So the user just needs to assign their value to IMAGE_INSTALL if the corresponding bootloader is selected in a WKS file - or by some other imaging mechanism. Signed-off-by: Jan Kiszka --- meta-isar/conf/distro/debian-buster.conf | 4 +++ meta-isar/conf/distro/debian-common.conf | 19 +++++++++++++ meta-isar/conf/distro/debian-jessie.conf | 2 ++ meta-isar/conf/distro/debian-stretch.conf | 2 ++ meta-isar/conf/distro/debian-wheezy.conf | 2 ++ meta-isar/conf/multiconfig/bananapi-stretch.conf | 2 +- meta-isar/conf/multiconfig/qemuamd64-buster.conf | 1 + meta-isar/conf/multiconfig/qemuamd64-stretch.conf | 1 + meta-isar/conf/multiconfig/qemui386-buster.conf | 1 + meta-isar/conf/multiconfig/qemui386-stretch.conf | 1 + meta/classes/image.bbclass | 6 ++++ meta/classes/wic-img.bbclass | 2 +- .../buildchroot/buildchroot-target.bb | 33 ---------------------- 13 files changed, 41 insertions(+), 35 deletions(-) create mode 100644 meta-isar/conf/distro/debian-common.conf diff --git a/meta-isar/conf/distro/debian-buster.conf b/meta-isar/conf/distro/debian-buster.conf index 7d1c921..f3f843c 100644 --- a/meta-isar/conf/distro/debian-buster.conf +++ b/meta-isar/conf/distro/debian-buster.conf @@ -1,6 +1,10 @@ # This software is a part of ISAR. +require debian-common.conf + 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 \ armmp-lpae cloud-amd64 loongson-3 marvell octeon powerpc64le s390x" + +WIC_IMAGER_INSTALL += "python3-distutils" diff --git a/meta-isar/conf/distro/debian-common.conf b/meta-isar/conf/distro/debian-common.conf new file mode 100644 index 0000000..bb74f1e --- /dev/null +++ b/meta-isar/conf/distro/debian-common.conf @@ -0,0 +1,19 @@ +# This software is a part of ISAR. +# Copyright (C) 2018 Siemens AG +# +# SPDX-License-Identifier: MIT + +WIC_IMAGER_INSTALL = "parted \ + gdisk \ + util-linux \ + dosfstools \ + mtools \ + e2fsprogs \ + python3" + +GRUB_BOOTLOADER_INSTALL_amd64 = "grub-efi-amd64-bin" +GRUB_BOOTLOADER_INSTALL_i386 = "grub-efi-ia32-bin" +GRUB_BOOTLOADER_INSTALL_armhf = "grub-efi-arm-bin" +GRUB_BOOTLOADER_INSTALL_arm64 = "grub-efi-arm64-bin" + +SYSLINUX_BOOTLOADER_INSTALL = "syslinux syslinux-common" diff --git a/meta-isar/conf/distro/debian-jessie.conf b/meta-isar/conf/distro/debian-jessie.conf index ea46be6..cbdf791 100644 --- a/meta-isar/conf/distro/debian-jessie.conf +++ b/meta-isar/conf/distro/debian-jessie.conf @@ -3,6 +3,8 @@ # This software is a part of ISAR. # Copyright (C) 2015-2016 ilbers GmbH +require debian-common.conf + 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 99d1737..cce5493 100644 --- a/meta-isar/conf/distro/debian-stretch.conf +++ b/meta-isar/conf/distro/debian-stretch.conf @@ -1,6 +1,8 @@ # This software is a part of ISAR. # Copyright (C) 2017 ilbers GmbH +require debian-common.conf + 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/debian-wheezy.conf b/meta-isar/conf/distro/debian-wheezy.conf index 5b2e936..a5f52fc 100644 --- a/meta-isar/conf/distro/debian-wheezy.conf +++ b/meta-isar/conf/distro/debian-wheezy.conf @@ -3,6 +3,8 @@ # This software is a part of ISAR. # Copyright (C) 2015-2016 ilbers GmbH +require debian-common.conf + DISTRO_APT_SOURCES += "conf/distro/debian-wheezy.list" DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" DISTRO_KERNELS ?= "486 686-pae amd64 rt-686-pae rt-amd64 versatile vexpress \ diff --git a/meta-isar/conf/multiconfig/bananapi-stretch.conf b/meta-isar/conf/multiconfig/bananapi-stretch.conf index a78300a..b884b44 100644 --- a/meta-isar/conf/multiconfig/bananapi-stretch.conf +++ b/meta-isar/conf/multiconfig/bananapi-stretch.conf @@ -16,9 +16,9 @@ DISTRO_APT_SOURCES_append = " conf/distro/debian-stretch-backports.list" DISTRO_APT_PREFERENCES += "conf/multiconfig/preferences.bananapi.conf" IMAGE_INSTALL += "u-boot-script" -BUILDCHROOT_PREINSTALL_WIC_append = " u-boot-sunxi" IMAGE_TYPE ?= "wic-img" WKS_FILE ?= "bananapi" +IMAGER_INSTALL += "u-boot-sunxi" ROOTFS_DEV ?= "mmcblk0p1" diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster.conf b/meta-isar/conf/multiconfig/qemuamd64-buster.conf index 8140d13..404f48a 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-buster.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-buster.conf @@ -11,6 +11,7 @@ IMAGE_PREINSTALL += "init" IMAGE_TYPE ?= "wic-img" WKS_FILE ?= "sdimage-efi" +IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}" ROOTFS_DEV ?= "sda2" diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index 0184617..3d1ef28 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -12,6 +12,7 @@ IMAGE_PREINSTALL += "init" IMAGE_TYPE ?= "wic-img" WKS_FILE ?= "sdimage-efi" +IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}" ROOTFS_DEV ?= "sda2" diff --git a/meta-isar/conf/multiconfig/qemui386-buster.conf b/meta-isar/conf/multiconfig/qemui386-buster.conf index e09cd0c..279d321 100644 --- a/meta-isar/conf/multiconfig/qemui386-buster.conf +++ b/meta-isar/conf/multiconfig/qemui386-buster.conf @@ -11,6 +11,7 @@ IMAGE_PREINSTALL += "init" IMAGE_TYPE ?= "wic-img" WKS_FILE ?= "directdisk-isar" +IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}" ROOTFS_DEV ?= "sda2" diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf b/meta-isar/conf/multiconfig/qemui386-stretch.conf index 8966c2b..6f3041b 100644 --- a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++ b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -12,6 +12,7 @@ IMAGE_PREINSTALL += "init" IMAGE_TYPE ?= "wic-img" WKS_FILE ?= "directdisk-isar" +IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}" ROOTFS_DEV ?= "sda2" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index d7f71e3..55f0b3a 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -114,6 +114,12 @@ IMAGER_INSTALL ??= "" IMAGER_BUILD_DEPS ??= "" DEPENDS += "${IMAGER_BUILD_DEPS}" +python () { + if d.getVar('IMAGE_TYPE', True) == 'wic-img': + d.appendVar('IMAGER_INSTALL', + ' ' + d.getVar('WIC_IMAGER_INSTALL', True)) +} + do_install_imager_deps() { if [ -z "${@d.getVar("IMAGER_INSTALL", True).strip()}" ]; then exit diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index 167a54b..635fbbf 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -81,4 +81,4 @@ do_wic_image() { do_wic_image[depends] = "buildchroot-target:do_build" -addtask wic_image before do_build after do_copy_boot_files +addtask wic_image before do_build after do_install_imager_deps diff --git a/meta/recipes-devtools/buildchroot/buildchroot-target.bb b/meta/recipes-devtools/buildchroot/buildchroot-target.bb index 34abb72..42f47fc 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot-target.bb +++ b/meta/recipes-devtools/buildchroot/buildchroot-target.bb @@ -20,37 +20,4 @@ BUILDCHROOT_PREINSTALL ?= "gcc \ devscripts \ equivs" -BUILDCHROOT_PREINSTALL_WIC = " \ - parted \ - gdisk \ - util-linux \ - dosfstools \ - mtools \ - e2fsprogs \ - python3" - -BUILDCHROOT_PREINSTALL_WIC_append_debian-buster = " python3-distutils" - -BUILDCHROOT_PREINSTALL_WIC_append_amd64 = " \ - syslinux \ - syslinux-common \ - grub-efi-amd64-bin" - -BUILDCHROOT_PREINSTALL_WIC_append_armhf = " \ - grub-efi-arm-bin" - -BUILDCHROOT_PREINSTALL_WIC_append_arm64 = " \ - grub-efi-arm64-bin" - -BUILDCHROOT_PREINSTALL_WIC_append_i386 = " \ - syslinux \ - syslinux-common \ - grub-efi-ia32-bin" - -python () { - if d.getVar('IMAGE_TYPE', True) == 'wic-img': - d.appendVar('BUILDCHROOT_PREINSTALL', - d.getVar('BUILDCHROOT_PREINSTALL_WIC', True)) -} - do_build[depends] = "isar-apt:do_cache_config isar-bootstrap-target:do_bootstrap" -- 2.16.4