Hi, On Wed, Aug 29, 2018 at 08:14:43AM +0000, Baeuerle, Florian wrote: > Am Dienstag, den 28.08.2018, 17:27 +0200 schrieb Erwin Rol: > > On Mon, 2018-08-27 at 18:40 +0200, Michael Olbrich wrote: > > > On Mon, Aug 13, 2018 at 02:40:14PM +0200, Robert Schwebel wrote: > > > > On Mon, Aug 13, 2018 at 02:16:20PM +0200, Erwin Rol wrote: > > > > > > Michael Olbrich prototyped a layering system for ptxdist > > > > > > we are currently testing the prototype and mol > > > > > > will post it here on the mailing list afterwards. > > > > > > > > > > What I am really looking for is to be able to make two (or more) > > filesystem images that I can build (and version) independently, and > > where the next "layer" does not have to rebuild the previous layer.
I'm not sure what you mean with 'version'. > > For example; > > > > - A rootfs layer that generates a rootfs image, which holds the minimal > > setup for the hardware (bash, systemd, etc). > > > > - A qt5fs, which holds QT5 and gui stuff, but that does not need to > > build the stuff that is already in the rootfs image (like bash and > > systemd). > > > > - A appfs that holds own applications that use QT5 but again without > > building qt5fs/rootfs. > > The advantages of such a scheme would be smaller updates. > > On the other hand, you have to keep the upper layers (rootfs and qt5fs) > stable. This would probably lead to a reduced frequency of updates in those > layers. > > Anyway, this might actually be possible with image packages[1], if you set > IMAGE_XPKG_EXTRA_ARGS to "--nodeps" (or find a different way to pass that > option to opkg). You can basically build an image with just the Qt5-package. I think we could add a image specific variable similar to IMAGE_XPKG_EXTRA_ARGS. > But then you'd have to make sure on your own, that the rootfs-image contains > all the dependencies required. Otherwise, you could pick Qt5s dependencies > that > are not already included in the rootfs-image. This is where it gets hairy I > think. I think this can be done with collections: - ptxconfig with all packages - one collection with everything base + qt - one collection with base This will take care of the dependencies. The base image uses IMAGE_BASE_PKGS = $(call ptx/collection, /path/to/base_collection) The Qt image uses IMAGE_QT_PKGS = $(filter-out $(IMAGE_BASE_PKGS),$(call ptx/collection, /path/to/qt_collection)) And the app image uses IMAGE_APP_PKGS = $(filter-out $(IMAGE_QT_PKGS) $(IMAGE_BASE_PKGS),$(PTX_PACKAGES_INSTALL)) Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de