From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6617812835611181056 X-Received: by 2002:a2e:165c:: with SMTP id 28-v6mr222246ljw.25.1543504016762; Thu, 29 Nov 2018 07:06:56 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:520f:: with SMTP id m15ls234909lfb.5.gmail; Thu, 29 Nov 2018 07:06:56 -0800 (PST) X-Google-Smtp-Source: AFSGD/Wn+hwyjEk3QyIW1yyDk3ymFkyR/zjAtZw8uYtxNsf/xHj8AArs9EvTtkNp1DERwGoOrWO7 X-Received: by 2002:a19:d8c6:: with SMTP id r67mr204129lfi.3.1543504016074; Thu, 29 Nov 2018 07:06:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543504016; cv=none; d=google.com; s=arc-20160816; b=W0qNZ93emshjWAyKGROoMMo6BpP0Kxxf0kJH2rGLNjaY9MWWJZapi0yhu9eEpfjhod pnEbMmCl1CvrXVYUGYk1XN5VrXQsFH5K780UybUVYPLI593Hr4kkUXVNR450LugvkXo4 c3nFcsvAmqn/f9lyR8B476ePfRZDzYUnelOVgJud5L2DlVeZlCervNHADJdFPPGGecI8 H0xPxFGpe/+qmAWwP9BqvAulumIN6AHtbr/Vp4vz7qh8CkuWv4L7XmkMBIeBW3oJNtvV EaiZI+TRpeFv00apHxf3b/kZGy3GFT1zGhYMybFh6DA/W4oyjkw0f6yyd0LYC8SMqXMM P/6A== 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:to:subject; bh=8CVJ3jH2nxUiy1l4ukS53lh8NeJG6XYWn0Z/aavx2z4=; b=gIgYYXobvl2PZrwRu6YmWioOioNn/d0FrrH/fI0Ve1kHoCkKrElUh80IpyfyoqbNPX +JlqKEp/lOdDDFFKSN4a4t0e7f5bReM2l5OCjWF0w1xNR+x3ASuoJ89ufcO8hqqdeeU8 FmnN5zT4oRLawkmif7PUVfj1mkVNkUnjc5uXE7hE4yEz1kRdzyoYaQmPKEFyGsKMA070 9gfmwbm2twn1zSMjAxTgPtbHub8I5M4bbwLy1FNnY3PqDm06KJAoH8MLyWFPA2TjtoDm FPGUxM4yqb/o02uA3EjvYZesGvUr/Uj/YnLb6X7ICNeZWPyjU1NFk7L0ZpwwfgWT8jyS 7qjA== 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 h17-v6si88532ljj.0.2018.11.29.07.06.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 07:06:55 -0800 (PST) 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 mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id wATF6trU006899 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 29 Nov 2018 16:06:55 +0100 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id wATF6tCe004068; Thu, 29 Nov 2018 16:06:55 +0100 Subject: Re: [PATCH 2/4] isar-image: refactor do_rootfs() To: Cedric Hombourger , isar-users@googlegroups.com References: <20181029161303.7410-1-Cedric_Hombourger@mentor.com> <20181029161303.7410-3-Cedric_Hombourger@mentor.com> From: Jan Kiszka Message-ID: Date: Thu, 29 Nov 2018 16:06:54 +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: <20181029161303.7410-3-Cedric_Hombourger@mentor.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: nHfsZ/BUjuIb On 29.10.18 17:13, Cedric Hombourger wrote: > Split the do_rootfs() shell function into four (smaller) shell functions to > generate the fstab file (isar_image_gen_fstab), populate the root file-system > (isar_image_gen_rootfs), configure it (isar_image_conf_rootfs) and perform > some house-keeping (isar_image_cleanup). do_rootfs is now a python function > and sequentially calls the helper functions listed above. > > Signed-off-by: Cedric Hombourger > --- > meta-isar/classes/isar-image.bbclass | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/meta-isar/classes/isar-image.bbclass b/meta-isar/classes/isar-image.bbclass > index ec2b9e3..e0508be 100644 > --- a/meta-isar/classes/isar-image.bbclass > +++ b/meta-isar/classes/isar-image.bbclass > @@ -21,7 +21,7 @@ ISAR_RELEASE_CMD ?= "${ISAR_RELEASE_CMD_DEFAULT}" > do_rootfs[root_cleandirs] = "${IMAGE_ROOTFS} \ > ${IMAGE_ROOTFS}/isar-apt" > > -do_rootfs() { > +isar_image_gen_fstab() { > cat > ${WORKDIR}/fstab << EOF > # Begin /etc/fstab > /dev/root / auto defaults 0 0 > @@ -33,11 +33,15 @@ 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}" > @@ -45,7 +49,9 @@ EOF > "${BAUDRATE_TTY}" > sudo rm "${IMAGE_ROOTFS}/${DISTRO_CONFIG_SCRIPT}" > fi > +} > > +isar_image_cleanup() { > # Cleanup > sudo rm "${IMAGE_ROOTFS}/etc/apt/sources.list.d/isar-apt.list" > test ! -e "${IMAGE_ROOTFS}/usr/share/doc/qemu-user-static" && \ > @@ -57,3 +63,10 @@ EOF > sudo umount -l ${IMAGE_ROOTFS}/proc > sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" > } > + > +python do_rootfs() { > + bb.build.exec_func("isar_image_gen_fstab", d) > + bb.build.exec_func("isar_image_gen_rootfs", d) > + bb.build.exec_func("isar_image_conf_rootfs", d) > + bb.build.exec_func("isar_image_cleanup", d) > +} > Just realized a downside of this pattern: run.do_rootfs logs do not contain the subcommand traces, only this rather boring top-level function. Not critical, but also not nice (because I'm hunting a bug down there). If you have an idea how to restoring logging, that would be great! Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux