* [Buildroot] [git commit] rauc: select host-squashfs as a host dependency @ 2017-11-29 21:11 Thomas Petazzoni 2017-11-29 21:30 ` Trent Piepho 0 siblings, 1 reply; 3+ messages in thread From: Thomas Petazzoni @ 2017-11-29 21:11 UTC (permalink / raw) To: buildroot commit: https://git.buildroot.net/buildroot/commit/?id=9e8e3e0fd556aeb62a5426506262fb1f9fe8a5fd branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master The rauc host tool (used to generate update bundles) runs mksquashfs so host-squashfs is required for it to work at runtime. Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/rauc/Config.in.host | 1 + package/rauc/rauc.mk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package/rauc/Config.in.host b/package/rauc/Config.in.host index a58685a..1bd9a79 100644 --- a/package/rauc/Config.in.host +++ b/package/rauc/Config.in.host @@ -1,5 +1,6 @@ config BR2_PACKAGE_HOST_RAUC bool "host rauc" + 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 HOST_RAUC_CONF_OPTS += --disable-network --disable-json --disable-service $(eval $(autotools-package)) ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [git commit] rauc: select host-squashfs as a host dependency 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 0 siblings, 1 reply; 3+ messages in thread From: Trent Piepho @ 2017-11-29 21:30 UTC (permalink / raw) To: buildroot On Wed, 2017-11-29 at 22:11 +0100, Thomas Petazzoni 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? ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [git commit] rauc: select host-squashfs as a host dependency 2017-11-29 21:30 ` Trent Piepho @ 2017-11-29 21:50 ` Thomas Petazzoni 0 siblings, 0 replies; 3+ messages in thread From: Thomas Petazzoni @ 2017-11-29 21:50 UTC (permalink / raw) To: buildroot 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 ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-11-29 21:50 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox