From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6670502250014572544 X-Received: by 2002:a17:906:1c46:: with SMTP id l6mr3229187ejg.9.1553100623914; Wed, 20 Mar 2019 09:50:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:18b2:: with SMTP id c18ls535887ejf.1.gmail; Wed, 20 Mar 2019 09:50:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqy08psLVS97iTNg8y1PJtlXjl+f41eUfir8vAVLmoI4QoW+uUG7EsIdYmdRBzbm0Jj8iXwt X-Received: by 2002:a17:906:a417:: with SMTP id l23mr1872191ejz.4.1553100623330; Wed, 20 Mar 2019 09:50:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553100623; cv=none; d=google.com; s=arc-20160816; b=TR1mhDHYpJT713baJ5HxMzQuT19x241jkQ2SBPX6lxqh+sghpFASP4dqMc6702PAmc bJtwjy6gdsAAX4jrn6n2NLjaPhGzjStCcV8UnO77rBak10P9bpTYkRo62F5s6kNbNty4 SdTw7cC2WA9oyelkGPbQ1/KNR4XZcWkIrEvlRiB6hchMGGdnoNbHO5WaV34Q6XK7m2d2 XltLxANcYDKXhiTfpwDc1hxarS/az+msfh7INecatHEMOz8D6rWKmOGSvEy02eySpTVm fv1cbo+UaOalZMG89qs5ZKl/IYJgKuxzI/h+GcOUKpakv5+HTPZup44Mxo5WtkRQOKer 3djg== 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:from:references:cc:to:subject; bh=5wkT+xy/2xcQ19716eBZwIFFMrwPxnRD9+LkQxtqClA=; b=U3Yvzi9lbEKVlSNbmPlwlr2X+7hV2KIuLxJtASbebtlNBDM5BfFWs4RmLB6fcz1tnY HoFDFLyAZA0gxLdzVADJMaj03uzoHz+dogGPgNvpOrj4Ka4hglBERAWIc4oTSJZUDMVF JS8ybJEuQDjUOgWJSy7YU1hPvcl2PhNXAif4h6XutlcZoCjqFzAEnoP3E3InuMVsCZKn UGTdQAkluwnVcDy+Xv8Koygc0A0hrTAHlMW2XebFdRhYogO6Wg+Y7fh/zOmvombNumjk NGdvEwEwLT3urXr5chm774aYqdRZ4xzZlm3e7rqTuRBqd+9l9u3rdevFXMWPFyohD+5/ wpVA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id a5si85845edn.3.2019.03.20.09.50.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Mar 2019 09:50:23 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id x2KGoLqX028301 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 Mar 2019 17:50:21 +0100 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x2KGoLR5022263; Wed, 20 Mar 2019 17:50:21 +0100 Subject: Re: [PATCH 1/1] meta: merges isar-image into image class To: "[ext] claudius.heine.ext@siemens.com" , isar-users@googlegroups.com Cc: Claudius Heine References: <20190320155524.17713-1-claudius.heine.ext@siemens.com> <20190320155524.17713-2-claudius.heine.ext@siemens.com> From: Jan Kiszka Message-ID: Date: Wed, 20 Mar 2019 17:50:20 +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 In-Reply-To: <20190320155524.17713-2-claudius.heine.ext@siemens.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: UkvaoFnjGbZn On 20.03.19 16:55, [ext] claudius.heine.ext@siemens.com wrote: > From: Claudius Heine > > (no functional change intended) > > Signed-off-by: Claudius Heine > --- > meta/classes/image.bbclass | 86 +++++++++++++++++++++++++++++-- > meta/classes/isar-image.bbclass | 90 +-------------------------------- > 2 files changed, 85 insertions(+), 91 deletions(-) > > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > index bebac6b..3ba755f 100644 > --- a/meta/classes/image.bbclass > +++ b/meta/classes/image.bbclass > @@ -25,6 +25,24 @@ BUILDROOT_DEPLOY = "${BUILDCHROOT_DIR}${PP_DEPLOY}" > BUILDROOT_ROOTFS = "${BUILDCHROOT_DIR}${PP_ROOTFS}" > BUILDROOT_WORK = "${BUILDCHROOT_DIR}${PP_WORK}" > > +def cfg_script(d): > + cf = d.getVar('DISTRO_CONFIG_SCRIPT', True) or '' > + if cf: > + return 'file://' + cf > + return '' > + > +FILESPATH =. "${LAYERDIR_core}/conf/distro:" > +SRC_URI += "${@ cfg_script(d) }" > + > +DEPENDS += "${IMAGE_INSTALL} ${IMAGE_TRANSIENT_PACKAGES}" > + > +IMAGE_TRANSIENT_PACKAGES += "isar-cfg-localepurge isar-cfg-rootpw" > + > +WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${MACHINE}/${PN}" > + > +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}" > @@ -36,6 +54,7 @@ image_do_mounts() { > } > > inherit ${IMAGE_TYPE} > +inherit isar-bootstrap-helper > > # Extra space for rootfs in MB > ROOTFS_EXTRA ?= "64" > @@ -97,18 +116,79 @@ python set_image_size () { > d.setVarFlag('ROOTFS_SIZE', 'export', '1') > } > > +isar_image_gen_fstab() { > + cat > ${WORKDIR}/fstab << EOF > +# Begin /etc/fstab > +/dev/root / auto defaults 0 0 > +proc /proc proc nosuid,noexec,nodev 0 0 > +sysfs /sys sysfs nosuid,noexec,nodev 0 0 > +devpts /dev/pts devpts gid=5,mode=620 0 0 > +tmpfs /run tmpfs defaults 0 0 > +devtmpfs /dev devtmpfs mode=0755,nosuid 0 0 > + > +# End /etc/fstab > +EOF > +} > + > +isar_image_gen_rootfs() { > + setup_root_file_system --clean --keep-apt-cache \ > + --fstab "${WORKDIR}/fstab" \ > + "${IMAGE_ROOTFS}" ${IMAGE_PREINSTALL} ${IMAGE_INSTALL} > +} > + > +isar_image_conf_rootfs() { > + # Configure root filesystem > + if [ -n "${DISTRO_CONFIG_SCRIPT}" ]; then > + sudo install -m 755 "${WORKDIR}/${DISTRO_CONFIG_SCRIPT}" "${IMAGE_ROOTFS}" > + TARGET_DISTRO_CONFIG_SCRIPT="$(basename ${DISTRO_CONFIG_SCRIPT})" > + sudo chroot ${IMAGE_ROOTFS} "/$TARGET_DISTRO_CONFIG_SCRIPT" \ > + "${MACHINE_SERIAL}" "${BAUDRATE_TTY}" > + sudo rm "${IMAGE_ROOTFS}/$TARGET_DISTRO_CONFIG_SCRIPT" > + fi > +} > + > +isar_image_cleanup() { > + # Cleanup > + sudo sh -c ' \ > + rm "${IMAGE_ROOTFS}/etc/apt/sources.list.d/isar-apt.list" > + test ! -e "${IMAGE_ROOTFS}/usr/share/doc/qemu-user-static" && \ > + find "${IMAGE_ROOTFS}/usr/bin" \ > + -maxdepth 1 -name 'qemu-*-static' -type f -delete > + umount -l ${IMAGE_ROOTFS}/isar-apt > + rmdir ${IMAGE_ROOTFS}/isar-apt > + umount -l ${IMAGE_ROOTFS}/dev > + umount -l ${IMAGE_ROOTFS}/proc > + umount -l ${IMAGE_ROOTFS}/sys > + rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" > + if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then > + umount -l ${IMAGE_ROOTFS}/base-apt > + rmdir ${IMAGE_ROOTFS}/base-apt > + # Replace the local apt we bootstrapped with the > + # APT sources initially defined in DISTRO_APT_SOURCES > + rm -f "${IMAGE_ROOTFS}/etc/apt/sources.list.d/base-apt.list" > + mv "${IMAGE_ROOTFS}/etc/apt/sources-list" \ > + "${IMAGE_ROOTFS}/etc/apt/sources.list.d/bootstrap.list" > + fi > + rm -f "${IMAGE_ROOTFS}/etc/apt/sources-list" > + ' > +} > + > do_fetch[stamp-extra-info] = "${DISTRO}-${MACHINE}" > do_unpack[stamp-extra-info] = "${DISTRO}-${MACHINE}" > > do_rootfs[stamp-extra-info] = "${DISTRO}-${MACHINE}" > do_rootfs[depends] = "isar-apt:do_cache_config isar-bootstrap-target:do_bootstrap" > > +do_rootfs[deptask] = "do_deploy_deb" > +do_rootfs[root_cleandirs] = "${IMAGE_ROOTFS} \ > + ${IMAGE_ROOTFS}/isar-apt" > do_rootfs() { > - die "No root filesystem function defined, please implement in your recipe" > + isar_image_gen_fstab > + isar_image_gen_rootfs > + isar_image_conf_rootfs > + isar_image_cleanup > } > - > addtask rootfs before do_build after do_unpack > -do_rootfs[deptask] = "do_deploy_deb" > > do_mark_rootfs() { > BUILD_ID=$(get_build_id) > diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass > index e7a5dee..1d5870b 100644 > --- a/meta/classes/isar-image.bbclass > +++ b/meta/classes/isar-image.bbclass > @@ -1,92 +1,6 @@ > -# Root filesystem for target installation > +# Class for backwards compatibility of images that use it > # > # This software is a part of ISAR. > # Copyright (C) 2015-2018 ilbers GmbH > - > +# Copyright (c) Siemens AG, 2019 > inherit image > -inherit isar-bootstrap-helper > - > -def cfg_script(d): > - cf = d.getVar('DISTRO_CONFIG_SCRIPT', True) or '' > - if cf: > - return 'file://' + cf > - return '' > - > -FILESPATH =. "${LAYERDIR_core}/conf/distro:" > -SRC_URI += "${@ cfg_script(d) }" > - > -DEPENDS += "${IMAGE_INSTALL} ${IMAGE_TRANSIENT_PACKAGES}" > - > -IMAGE_TRANSIENT_PACKAGES += "isar-cfg-localepurge isar-cfg-rootpw" > - > -WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${MACHINE}/${PN}" > - > -ISAR_RELEASE_CMD_DEFAULT = "git -C ${LAYERDIR_core} describe --tags --dirty --match 'v[0-9].[0-9]*'" > -ISAR_RELEASE_CMD ?= "${ISAR_RELEASE_CMD_DEFAULT}" > - > -do_rootfs[root_cleandirs] = "${IMAGE_ROOTFS} \ > - ${IMAGE_ROOTFS}/isar-apt" > - > -isar_image_gen_fstab() { > - cat > ${WORKDIR}/fstab << EOF > -# Begin /etc/fstab > -/dev/root / auto defaults 0 0 > -proc /proc proc nosuid,noexec,nodev 0 0 > -sysfs /sys sysfs nosuid,noexec,nodev 0 0 > -devpts /dev/pts devpts gid=5,mode=620 0 0 > -tmpfs /run tmpfs defaults 0 0 > -devtmpfs /dev devtmpfs mode=0755,nosuid 0 0 > - > -# End /etc/fstab > -EOF > -} > - > -isar_image_gen_rootfs() { > - setup_root_file_system --clean --keep-apt-cache \ > - --fstab "${WORKDIR}/fstab" \ > - "${IMAGE_ROOTFS}" ${IMAGE_PREINSTALL} ${IMAGE_INSTALL} > -} > - > -isar_image_conf_rootfs() { > - # Configure root filesystem > - if [ -n "${DISTRO_CONFIG_SCRIPT}" ]; then > - sudo install -m 755 "${WORKDIR}/${DISTRO_CONFIG_SCRIPT}" "${IMAGE_ROOTFS}" > - TARGET_DISTRO_CONFIG_SCRIPT="$(basename ${DISTRO_CONFIG_SCRIPT})" > - sudo chroot ${IMAGE_ROOTFS} "/$TARGET_DISTRO_CONFIG_SCRIPT" \ > - "${MACHINE_SERIAL}" "${BAUDRATE_TTY}" > - sudo rm "${IMAGE_ROOTFS}/$TARGET_DISTRO_CONFIG_SCRIPT" > - fi > -} > - > -isar_image_cleanup() { > - # Cleanup > - sudo sh -c ' \ > - rm "${IMAGE_ROOTFS}/etc/apt/sources.list.d/isar-apt.list" > - test ! -e "${IMAGE_ROOTFS}/usr/share/doc/qemu-user-static" && \ > - find "${IMAGE_ROOTFS}/usr/bin" \ > - -maxdepth 1 -name 'qemu-*-static' -type f -delete > - umount -l ${IMAGE_ROOTFS}/isar-apt > - rmdir ${IMAGE_ROOTFS}/isar-apt > - umount -l ${IMAGE_ROOTFS}/dev > - umount -l ${IMAGE_ROOTFS}/proc > - umount -l ${IMAGE_ROOTFS}/sys > - rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" > - if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then > - umount -l ${IMAGE_ROOTFS}/base-apt > - rmdir ${IMAGE_ROOTFS}/base-apt > - # Replace the local apt we bootstrapped with the > - # APT sources initially defined in DISTRO_APT_SOURCES > - rm -f "${IMAGE_ROOTFS}/etc/apt/sources.list.d/base-apt.list" > - mv "${IMAGE_ROOTFS}/etc/apt/sources-list" \ > - "${IMAGE_ROOTFS}/etc/apt/sources.list.d/bootstrap.list" > - fi > - rm -f "${IMAGE_ROOTFS}/etc/apt/sources-list" > - ' > -} > - > -do_rootfs() { > - isar_image_gen_fstab > - isar_image_gen_rootfs > - isar_image_conf_rootfs > - isar_image_cleanup > -} > You should also update RECIPE-API-CHANGELOG.md to move people from "inherit isar-image" to "inherit image". And the user manual. And meta-isar. Maybe even issue a warning when people are still using isar-image. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux