public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* base-apt work in progress, RFC
@ 2019-10-22 15:43 Henning Schild
  2019-10-23 20:28 ` Baurzhan Ismagulov
  0 siblings, 1 reply; 3+ messages in thread
From: Henning Schild @ 2019-10-22 15:43 UTC (permalink / raw)
  To: isar-users, Claudius Heine, Kiszka, Jan (CT RDA IOT SES-DE)

Hi all,

i now have a working version that changed a few things around the
implementation of base-apt, to make sure it will also work when some
rootfs clear their package cache etc.

major changes:
 - do not rely on rootfs package cache anymore
 - support .dsc source packages
 - include full debootstrap via a common mechanism
 - full download caching support in DL_DIR, .deb + .dsc + tar
 - base-apt building now is the first task in the build chain, not the
   last
 - many cleanups


planned changes on top:
 - deep tree download
  - sibbling packages
  - source packages
  - build deps
  - while more goto -3

But now i hit a major issue that i do not know how to best deal with,
it is connected to my best friend feature ... multiconfig. But in fact
it could also show in single config builds, because they have up to 4
rootfs as well.

So far base-apt mixes together packages from several rootfss. If these
rootfss had different versions of a package the latest version of that
package would win. See meta/classes/image-cache-extension.bbclass, we
are mixing the image with the two buildchroots.
The preferences and sources in these three rootfs can lead to such
mixing. When this base-apt gets used for a rebuild such newer packages
can leak to rootfs where they were not in the first run.

I see two general directions to solve that:
1. align the sources and preferences across the 4-tuple image,
buildchroots, sdk ... and have a base-apt for every image-4-tuple

2. have a base-apt for every rootfs-PN-PV

3. if reprepro has deduplication accross distros/suites possibly have
all "base-apts" in one repo, and make every instance a "suite"
 so instead of "buster" think
 "isar-image-base-MACHINE-DISTRO-DISTRO_ARCH_1.0"
Now if they in the end are all buster and use the same file, we only
need to store it once and can still store differences. Same for
sources, where this even works cross-arch.

I think 1 is not a good idea, isar currently allows sources and
preferences to differ and it is probably a wanted feature.

2 is "clear" but we have a lot of those repos, which might be hard to
handle, if we think people pull updates from there

3 is currently me preferred version if deduplication is in place, i
think even without it

I am not sure whether the solution to that problem should be part of
the first patch-series. It is not a new problem ...
In fact i will probably sent my current state without the "deep tree
download", which would also be something on top.

Henning

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-24 11:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-22 15:43 base-apt work in progress, RFC Henning Schild
2019-10-23 20:28 ` Baurzhan Ismagulov
2019-10-24 11:59   ` Henning Schild

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox