From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [git commit] rauc: select host-squashfs as a host dependency
Date: Wed, 29 Nov 2017 22:50:15 +0100 [thread overview]
Message-ID: <20171129225015.577113ed@windsurf.home> (raw)
In-Reply-To: <1511991010.9792.41.camel@impinj.com>
Hello,
On Wed, 29 Nov 2017 21:30:10 +0000, Trent Piepho wrote:
> > + select BR2_PACKAGE_HOST_SQUASHFS # run-time dependency
> > help
> > RAUC is the Robust Auto-Update Controller developed by
> > Pengutronix. Enable this option to build the rauc
> > diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk
> > index 479a583..67ef155 100644
> > --- a/package/rauc/rauc.mk
> > +++ b/package/rauc/rauc.mk
> > @@ -29,7 +29,7 @@ ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> > RAUC_DEPENDENCIES += systemd
> > endif
> >
> > -HOST_RAUC_DEPENDENCIES = host-pkgconf host-openssl host-libglib2
> > +HOST_RAUC_DEPENDENCIES = host-pkgconf host-openssl host-libglib2 host-squashfs
>
> Would it work to not include the build dependency on host-sqaushfs?
> Since squashfs is a command invoked at run time, rauc doesn't actually
> need to be present when building. Minimize the dependency info, allow
> greater parallelism if packages were built in parallel, etc. Or
> perhaps it's easier to always match the config dep with a build dep
> even if the latter isn't necessary in some cases?
I already pointed out this during the review, and Baruch made a useful
comment: if a package A has host-foo in its dependencies, it expects
host-foo to be fully ready and working by the time package A's
configure step starts.
So, what you say about runtime dependencies is completely correct for
*target* packages, and we do that everywhere in Buildroot: select the
package at the Config.in level, but not depend on it at the
<pkg>_DEPENDENCIES level. All what matters for target packages is that
all runtime dependencies are part of the final root filesystem image.
However, for host packages, we expect them to be ready and operational
as soon as their build completes. Hence, runtime dependencies need to
be considered as runtime dependencies.
Technically, we wouldn't need host-rauc-configure to depend on
host-squashfs. Having host-rauc depend on host-squashfs would be
sufficient (some kind of "install dependency"). But we don't have this
concept in Buildroot, and for just the few cases of runtime
dependencies of host packages, I'm not sure it's worth adding such a
feature.
Does that make sense?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
prev parent reply other threads:[~2017-11-29 21:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-29 21:11 [Buildroot] [git commit] rauc: select host-squashfs as a host dependency Thomas Petazzoni
2017-11-29 21:30 ` Trent Piepho
2017-11-29 21:50 ` Thomas Petazzoni [this message]
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=20171129225015.577113ed@windsurf.home \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/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