From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6670502250014572544 X-Received: by 2002:a2e:9002:: with SMTP id h2mr86256ljg.14.1553153054531; Thu, 21 Mar 2019 00:24:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:5199:: with SMTP id u25ls471920lfi.4.gmail; Thu, 21 Mar 2019 00:24:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqw4cNEXPfR+7kaqoacDsi2lKgK2n2/3t4n1HBBlls/unbOro91Rc6gkTPYjPYEkNvaZXsNl X-Received: by 2002:ac2:515d:: with SMTP id q29mr116275lfd.10.1553153054010; Thu, 21 Mar 2019 00:24:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553153054; cv=none; d=google.com; s=arc-20160816; b=BPfBYQXH6ydn1i8V2Mw5LXwlopmS6aIv7tpu0by3oudg14tcfLUtv0dD5C2rokQU7h ar0CjZBZimt9Em2FXKKhPl5nMzqeOpfT3jjObt3fFm3l65yxhnZUW45q8/5Vdso6dyZv 2eiAjximsN1SepDaalmQDeVyk6z0YJDmM1sYcn2GN4tDUp02LAskuS4vU7bVfHmPoJiA Kr817pMCnyr9dhsAXMFsQeRv1r/hMYInO95xg4BvJyEyubYWZJ06CBpCdyA/v5j6V0bS ig9TxTVciLQw0Wo+E83e5N2vNJjNJAF761xLU7CZb9y9hMvD1Unr9pJ9t1NktpuerFvK A3uw== 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=b4B4vW094kLPugvI/8QVpxb65mvN0eTfqQOvjNzzo6c=; b=jIcr/vqVimkIZqk33m5tKVsfKMDEYVNArXHwbKjdARmoRRvO4zcCbpJYzEqHq5FKFc /WYtBHroNObQsTIdaZOxmld0NGf5Bio1WfP6y+ehOoOpM8IgEkCeG6RohaOgXcBwZaOD GHzJR7OtUJuy2q1JpRYi1NsRSFwNOf5gTJpI30qOAn5c96cOj0c8qKVeJekW2FDn7qfw ZGRNQig9VZvzQ0sKvCNUlcF9CItoYD/RopQj20GiVnqAZrk5Es3p6Q1HXOtCkP9gm02i H2T17Ss94hYf5Xclb42U/jJ9YfCK6pQI2GXvzRe53oWRLQ9NgwqYRY2+4xUGP8KN7Avx uVhQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id m17si35976lfl.0.2019.03.21.00.24.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Mar 2019 00:24:13 -0700 (PDT) Received-SPF: pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id x2L7OCo4016837 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Mar 2019 08:24:12 +0100 Received: from [139.25.69.232] (linux-ses-ext02.ppmd.siemens.net [139.25.69.232]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x2L7OBUX004325; Thu, 21 Mar 2019 08:24:12 +0100 Subject: Re: [PATCH 1/1] meta: merges isar-image into image class To: Jan Kiszka , 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: Claudius Heine Message-ID: Date: Thu, 21 Mar 2019 08:24:11 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: 7usAzSwZE/KO Hi Jan, On 20/03/2019 17.50, Jan Kiszka wrote: > 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. Ok. But I will do that in an additional patch. IMO here I want just to move isar-image to image while maintaining backward compatibility. The next patch can then deprecate the isar-image usage. regards, Claudius -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de