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

Reply via email to