From: vijai kumar <vijaikumar.kanagarajan@gmail.com>
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH v2] rootfs: Make rootfs finalize a separate task
Date: Tue, 11 Feb 2020 06:14:25 -0800 (PST) [thread overview]
Message-ID: <d014d0f2-7f1b-4a90-834d-8a4ad91654cf@googlegroups.com> (raw)
In-Reply-To: <20200211123841.1a72daed@md1za8fc.ad001.siemens.net>
[-- Attachment #1.1: Type: text/plain, Size: 7101 bytes --]
On Tuesday, February 11, 2020 at 5:08:43 PM UTC+5:30, Henning Schild wrote:
>
> This patch will allow you to keep your apt downloading feature
> downstream for yourself. I would say - propose it again together with
> the feature.
>
I can push that feature if it is needed upstream, which I doubt, since I
don't vision an upstream use-case where-in one would need to
download all the sources.
Also, It would need your base-apt series.
>
> In fact if the feature was in Isar the whole problem would go away,
> unless you have more postprocess functions.
>
Yes. We have one per se for our QA layer. To export dpkg status file to
deploy directory. This will be used by debsecan.
> We discussed postprocessing a couple of times, it is really bad style
> and enabling it as a feature that is easy to use we provoke downstream
> layers making mistakes by implementing their stuff as such postprocess
> functions.
>
I see the ability to add custom post-processing as a useful feature.
Not sure if anyone actually uses them in their downstream layers. It is
good to have if you know what you are doing.
As long as this provision is there, people would use it. If we feel that
this
provision is unnecessary and would lead to issues, well, we could go
ahead and remove it.
Thanks,
Vijai Kumar K
Henning
>
> On Mon, 10 Feb 2020 11:07:53 +0530
> Vijai Kumar K <vijaikumar...@gmail.com <javascript:>> wrote:
>
> > With the current implementation it is difficult to append a
> > postprocess function which requires a chroot environment.
> > For example, to add a postprocess function which runs apt-get to
> > download all source of packages installed in the target.
> >
> > rootfs_postprocess_finalize is not actually an optional feature
> > but instead a necessary cleanup function for image class.
> > So, move the implementation to image class and make it as a task.
> >
> > Signed-off-by: Vijai Kumar K <Vijaikumar_...@mentor.com <javascript:>>
> > ---
> >
> > Changes in v2:
> > - The solution is changed to remove rootfs_finalize from
> > ROOTFS_POSTPROCESS_COMMAND.
> >
> > meta/classes/image.bbclass | 41
> > ++++++++++++++++++++++++++++++++++++- meta/classes/rootfs.bbclass |
> > 39 ----------------------------------- 2 files changed, 40
> > insertions(+), 40 deletions(-)
> >
> > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> > index 725bc04..98338ac 100644
> > --- a/meta/classes/image.bbclass
> > +++ b/meta/classes/image.bbclass
> > @@ -60,7 +60,7 @@ image_do_mounts() {
> > }
> >
> > ROOTFSDIR = "${IMAGE_ROOTFS}"
> > -ROOTFS_FEATURES += "copy-package-cache clean-package-cache
> > finalize-rootfs generate-manifest" +ROOTFS_FEATURES +=
> > "copy-package-cache clean-package-cache generate-manifest"
> > ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${IMAGE_INSTALL}"
> > ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}"
> > @@ -169,5 +169,44 @@ python do_deploy() {
> > }
> > addtask deploy before do_build after do_image
> >
> > +do_rootfs_finalize() {
> > + sudo -s <<'EOSUDO'
> > + test -e "${ROOTFSDIR}/chroot-setup.sh" && \
> > + "${ROOTFSDIR}/chroot-setup.sh" "cleanup" "${ROOTFSDIR}"
> > + rm -f "${ROOTFSDIR}/chroot-setup.sh"
> > +
> > + test ! -e "${ROOTFSDIR}/usr/share/doc/qemu-user-static" && \
> > + find "${ROOTFSDIR}/usr/bin" \
> > + -maxdepth 1 -name 'qemu-*-static' -type f -delete
> > +
> > + mountpoint -q '${ROOTFSDIR}/isar-apt' && \
> > + umount -l ${ROOTFSDIR}/isar-apt
> > + rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-apt
> > +
> > + mountpoint -q '${ROOTFSDIR}/base-apt' && \
> > + umount -l ${ROOTFSDIR}/base-apt
> > + rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/base-apt
> > +
> > + mountpoint -q '${ROOTFSDIR}/dev' && \
> > + umount -l ${ROOTFSDIR}/dev
> > + mountpoint -q '${ROOTFSDIR}/sys' && \
> > + umount -l ${ROOTFSDIR}/proc
> > + mountpoint -q '${ROOTFSDIR}/sys' && \
> > + umount -l ${ROOTFSDIR}/sys
> > +
> > + rm -f "${ROOTFSDIR}/etc/apt/apt.conf.d/55isar-fallback.conf"
> > +
> > + rm -f "${ROOTFSDIR}/etc/apt/sources.list.d/isar-apt.list"
> > + rm -f "${ROOTFSDIR}/etc/apt/preferences.d/isar-apt"
> > + rm -f "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list"
> > +
> > + mv "${ROOTFSDIR}/etc/apt/sources-list" \
> > + "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list"
> > +
> > + rm -f "${ROOTFSDIR}/etc/apt/sources-list"
> > +EOSUDO
> > +}
> > +addtask rootfs_finalize before do_rootfs after do_rootfs_postprocess
> > +
> > # Last so that the image type can overwrite tasks if needed
> > inherit ${IMAGE_TYPE}
> > diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass
> > index 64eaef7..153038a 100644
> > --- a/meta/classes/rootfs.bbclass
> > +++ b/meta/classes/rootfs.bbclass
> > @@ -197,45 +197,6 @@ rootfs_generate_manifest () {
> > ${ROOTFS_MANIFEST_DEPLOY_DIR}/"${PF}".manifest
> > }
> >
> > -ROOTFS_POSTPROCESS_COMMAND +=
> > "${@bb.utils.contains('ROOTFS_FEATURES', 'finalize-rootfs',
> > 'rootfs_postprocess_finalize', '', d)}"
> > -rootfs_postprocess_finalize() {
> > - sudo -s <<'EOSUDO'
> > - test -e "${ROOTFSDIR}/chroot-setup.sh" && \
> > - "${ROOTFSDIR}/chroot-setup.sh" "cleanup" "${ROOTFSDIR}"
> > - rm -f "${ROOTFSDIR}/chroot-setup.sh"
> > -
> > - test ! -e "${ROOTFSDIR}/usr/share/doc/qemu-user-static" && \
> > - find "${ROOTFSDIR}/usr/bin" \
> > - -maxdepth 1 -name 'qemu-*-static' -type f -delete
> > -
> > - mountpoint -q '${ROOTFSDIR}/isar-apt' && \
> > - umount -l ${ROOTFSDIR}/isar-apt
> > - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-apt
> > -
> > - mountpoint -q '${ROOTFSDIR}/base-apt' && \
> > - umount -l ${ROOTFSDIR}/base-apt
> > - rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/base-apt
> > -
> > - mountpoint -q '${ROOTFSDIR}/dev' && \
> > - umount -l ${ROOTFSDIR}/dev
> > - mountpoint -q '${ROOTFSDIR}/sys' && \
> > - umount -l ${ROOTFSDIR}/proc
> > - mountpoint -q '${ROOTFSDIR}/sys' && \
> > - umount -l ${ROOTFSDIR}/sys
> > -
> > - rm -f "${ROOTFSDIR}/etc/apt/apt.conf.d/55isar-fallback.conf"
> > -
> > - rm -f "${ROOTFSDIR}/etc/apt/sources.list.d/isar-apt.list"
> > - rm -f "${ROOTFSDIR}/etc/apt/preferences.d/isar-apt"
> > - rm -f "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list"
> > -
> > - mv "${ROOTFSDIR}/etc/apt/sources-list" \
> > - "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list"
> > -
> > - rm -f "${ROOTFSDIR}/etc/apt/sources-list"
> > -EOSUDO
> > -}
> > -
> > do_rootfs_postprocess[vardeps] = "${ROOTFS_POSTPROCESS_COMMAND}"
> > python do_rootfs_postprocess() {
> > # Take care that its correctly mounted:
>
>
[-- Attachment #1.2: Type: text/html, Size: 10059 bytes --]
next prev parent reply other threads:[~2020-02-11 14:14 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-06 14:06 [PATCH] rootfs: Make rootfs_postprocess_finalize the last step Vijai Kumar K
2020-02-06 17:21 ` Jan Kiszka
2020-02-06 17:47 ` vijai kumar
2020-02-06 18:09 ` Jan Kiszka
2020-02-06 18:28 ` vijai kumar
2020-02-10 5:37 ` [PATCH v2] rootfs: Make rootfs finalize a separate task Vijai Kumar K
2020-02-11 11:38 ` Henning Schild
2020-02-11 14:14 ` vijai kumar [this message]
2020-02-11 15:20 ` Henning Schild
2020-02-11 18:07 ` Jan Kiszka
2020-02-13 10:08 ` [PATCH v2 1/2] " Vijai Kumar K
2020-02-13 10:08 ` [PATCH v2 2/2] meta: cache deb srcs as part of postprocessing Vijai Kumar K
2020-02-14 5:48 ` [PATCH v3 1/2] rootfs: Make rootfs finalize a separate task Vijai Kumar K
2020-02-14 5:48 ` [PATCH v3 2/2] meta: cache deb srcs as part of postprocessing Vijai Kumar K
2020-02-14 8:19 ` Jan Kiszka
2020-02-14 8:41 ` vijai kumar
2020-02-14 8:45 ` vijai kumar
2020-03-11 7:16 ` [PATCH v3 1/2] rootfs: Make rootfs finalize a separate task vijai kumar
2020-04-01 7:25 ` vijai kumar
2020-04-01 8:19 ` Henning Schild
2020-04-01 10:29 ` vijai kumar
2020-04-03 6:50 ` vijai kumar
2020-04-03 8:30 ` Baurzhan Ismagulov
2020-04-03 8:50 ` vijai kumar
2020-04-03 13:05 ` [PATCH v4 " Vijai Kumar K
2020-04-03 13:05 ` [PATCH v4 2/2] meta: cache deb srcs as part of postprocessing Vijai Kumar K
2020-04-07 6:44 ` Jan Kiszka
2020-04-07 6:58 ` vijai kumar
2020-04-07 7:04 ` Jan Kiszka
2020-04-07 7:59 ` vijai kumar
2020-04-07 8:38 ` Jan Kiszka
2020-04-07 9:08 ` vijai kumar
2020-04-07 9:40 ` vijai kumar
2020-04-08 8:13 ` Baurzhan Ismagulov
2020-04-08 10:04 ` vijai kumar
2020-04-08 13:32 ` vijai kumar
2020-04-15 6:44 ` vijai kumar
2020-04-15 7:28 ` Jan Kiszka
2020-04-15 13:20 ` vijai kumar
2020-04-15 13:44 ` Jan Kiszka
2020-04-08 10:04 ` Henning Schild
2020-04-08 10:37 ` vijai kumar
2020-04-08 12:30 ` Henning Schild
2020-04-15 12:29 ` vijai kumar
2020-04-15 18:19 ` Henning Schild
2020-04-16 15:57 ` vijai kumar
2020-04-16 17:29 ` Henning Schild
2020-04-07 6:19 ` [PATCH v3 1/2] rootfs: Make rootfs finalize a separate task vijai kumar
2020-04-07 6:45 ` Jan Kiszka
2020-04-07 6:53 ` vijai kumar
2020-04-07 7:12 ` Baurzhan Ismagulov
2020-04-07 8:04 ` vijai kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d014d0f2-7f1b-4a90-834d-8a4ad91654cf@googlegroups.com \
--to=vijaikumar.kanagarajan@gmail.com \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox