* TODOs @ 2019-06-03 14:55 Claudius Heine 2019-06-19 15:57 ` TODOs Baurzhan Ismagulov 0 siblings, 1 reply; 3+ messages in thread From: Claudius Heine @ 2019-06-03 14:55 UTC (permalink / raw) To: isar-users Hi, here is a list of TODOs for isar that I gathered: - WIC_IMAGER_DEPENDS should be IMAGER_DEPENDS instead - IMAGE_INSTALL, IMAGE_PREINSTALL, DEPENDS refactoring so that it is possible to provide recipes that produce multiple packages. Currently all entries in IMAGE_INSTALL are added to DEPENDS, but DEPENDS should only contain recipe names and IMAGE_INSTALL only package names. - base-apt refactoring/redesign: - multiple distros/codenames in one base-apt repo. base-apt repos should be build specific not specific to distros/codenames. - no manual switch via `ISAR_USE_CACHED_REPO`. The cache should be build and used at every build - redesign fstab generation: - make it more flexible - usable with or without wic and init system independent - isar-bootstrap refactoring: - remove duplicate code - split up big functions to allow - inc file should be class - separate host/target bootstrap settings - host/target/build nomenclature fix - refactor RootFS size calculation, make it similar to the formula of open embedded: root_fs_partition_size = max(used_space * overhead_factor, fixed_rootfs_size) + extra_space where overhead_factor, fixed_rootfs_size and extra_space is user configurable overhead_factor is the IMAGE_OVERHEAD_FACTOR bb variable fixed_rootfs_size is IMAGE_ROOTFS_SIZE bb variable extra_space is IMAGE_ROOTFS_EXTRA_SPACE bb variable all of them in Kbytes - integration solution for on-first-boot resize rootfs. -> investigate systemd-first-boot and systemd-growfs I don't know if I have enough time to work on all of these, so if someone like to do certain tasks, be welcome to them. regards, Claudius -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: TODOs 2019-06-03 14:55 TODOs Claudius Heine @ 2019-06-19 15:57 ` Baurzhan Ismagulov 2019-06-24 11:48 ` TODOs Claudius Heine 0 siblings, 1 reply; 3+ messages in thread From: Baurzhan Ismagulov @ 2019-06-19 15:57 UTC (permalink / raw) To: isar-users Hello Claudius, thanks for sharing. On Mon, Jun 03, 2019 at 04:55:39PM +0200, Claudius Heine wrote: > here is a list of TODOs for isar that I gathered: > > - WIC_IMAGER_DEPENDS should be IMAGER_DEPENDS instead Is it a new var, or do you by chance mean WIC_IMAGER_INSTALL and IMAGER_INSTALL? > - IMAGE_INSTALL, IMAGE_PREINSTALL, DEPENDS refactoring so that it is > possible to provide recipes that produce multiple packages. Currently all > entries in IMAGE_INSTALL are added to DEPENDS, but DEPENDS should only > contain recipe names and IMAGE_INSTALL only package names. This is tightly coupled with the subject of handling Debian packages with bitbake, which we have been experimenting with in meta-eid. We had started with the dependencies. One limitation is that bitbake parses all recipes, then builds the dependency tree. Debian packages may be local or remote, so they have to be fetched before the dependency tree is built. For now, the workaround is to duplicate Build-Depends: in DEPENDS. Do I understand your use case correctly, you have a.bb producing aa.deb and ab.deb. You want to have IMAGE_INSTALL += "ab" instead of "a", do you? If yes, can this be workarounded with PROVIDES = "aa ab"? As I see it, the final solution without duplication would require solving Debian package handling in some way. > - base-apt refactoring/redesign: > - multiple distros/codenames in one base-apt repo. base-apt repos should > be build specific not specific to distros/codenames. I see that this is desirable for certain use cases. That said, it might also be a matter of downstream policy, so that either choice is poorly suited for some other downstreams. Ideally, I'd like to have it configurable. > - no manual switch via `ISAR_USE_CACHED_REPO`. The cache should be build > and used at every build This can be enabled downstream. This is also a matter of policy: Some projects always work with the latest stuff, some make snapshots. The ability to turn it off is useful as a reference if anything breaks. > - redesign fstab generation: > - make it more flexible > - usable with or without wic and init system independent > - isar-bootstrap refactoring: > - remove duplicate code > - split up big functions to allow > - inc file should be class > - separate host/target bootstrap settings > - host/target/build nomenclature fix I agree that the inconsistencies exist. The main reason is that compiler people have to name it differently from the 99% of application developers who intuitively understand the right thing from "host" and "target". So I'm still not sure whether the change is worth it. > - refactor RootFS size calculation, make it similar to the formula of open > embedded: > root_fs_partition_size = max(used_space * overhead_factor, > fixed_rootfs_size) + extra_space > where overhead_factor, fixed_rootfs_size and extra_space is user > configurable > overhead_factor is the IMAGE_OVERHEAD_FACTOR bb variable > fixed_rootfs_size is IMAGE_ROOTFS_SIZE bb variable > extra_space is IMAGE_ROOTFS_EXTRA_SPACE bb variable > all of them in Kbytes > - integration solution for on-first-boot resize rootfs. > -> investigate systemd-first-boot and systemd-growfs With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: TODOs 2019-06-19 15:57 ` TODOs Baurzhan Ismagulov @ 2019-06-24 11:48 ` Claudius Heine 0 siblings, 0 replies; 3+ messages in thread From: Claudius Heine @ 2019-06-24 11:48 UTC (permalink / raw) To: isar-users Hi Baurzahn, On 19/06/2019 17.57, Baurzhan Ismagulov wrote: > Hello Claudius, > > thanks for sharing. > > On Mon, Jun 03, 2019 at 04:55:39PM +0200, Claudius Heine wrote: >> here is a list of TODOs for isar that I gathered: >> >> - WIC_IMAGER_DEPENDS should be IMAGER_DEPENDS instead > > Is it a new var, or do you by chance mean WIC_IMAGER_INSTALL and > IMAGER_INSTALL? Yes, you are right I meant *IMAGER_INSTALL. > > >> - IMAGE_INSTALL, IMAGE_PREINSTALL, DEPENDS refactoring so that it is >> possible to provide recipes that produce multiple packages. Currently all >> entries in IMAGE_INSTALL are added to DEPENDS, but DEPENDS should only >> contain recipe names and IMAGE_INSTALL only package names. > > This is tightly coupled with the subject of handling Debian packages with > bitbake, which we have been experimenting with in meta-eid. We had started with > the dependencies. One limitation is that bitbake parses all recipes, then > builds the dependency tree. Debian packages may be local or remote, so they > have to be fetched before the dependency tree is built. You would only need the Packages files from the repos in order to figure out the dependencies. > > For now, the workaround is to duplicate Build-Depends: in DEPENDS. That is not really possible since we don't have recipes for every debian packages. DEPENDS and Build-Depends are different. > > Do I understand your use case correctly, you have a.bb producing aa.deb and > ab.deb. You want to have IMAGE_INSTALL += "ab" instead of "a", do you? If yes, > can this be workarounded with PROVIDES = "aa ab"? Probably, but I don't know how things like 'virtual/kernel' could be handled then. That would possible required all debian packages of the kernel to also contain a 'Provides: virtual/kernel' or similar. If we do that, I see the risk that because we bind recipe names and provides and debian package name and provides a bit to tightly together that things will not work out and end up with corner cases we cannot model. > As I see it, the final > solution without duplication would require solving Debian package handling in > some way. Do you mean by that the import from apt repositories into bitbake data-store and export from bitbake data-store to control files? >> - base-apt refactoring/redesign: >> - multiple distros/codenames in one base-apt repo. base-apt repos should >> be build specific not specific to distros/codenames. > > I see that this is desirable for certain use cases. > That said, it might also be > a matter of downstream policy, so that either choice is poorly suited for some > other downstreams. Ideally, I'd like to have it configurable. Well in order to allow both ways, the code needs to be changed anyway. I did thought about it some more now and I do see reasons to have it distro/codename and build specific for different use-cases and it might even be ok to leave it as distro/codename specific per default. At least I currently don't remember the reasons I thought of when writing that todo list. >> - no manual switch via `ISAR_USE_CACHED_REPO`. The cache should be build >> and used at every build > > This can be enabled downstream. This is also a matter of policy: Some projects > always work with the latest stuff, some make snapshots. The ability to turn it > off is useful as a reference if anything breaks. Well IMO the cache should be used per default. If someone wants to update a image after the initial creation, then this should be done explicitly with full knowledge. > > >> - redesign fstab generation: >> - make it more flexible >> - usable with or without wic and init system independent >> - isar-bootstrap refactoring: >> - remove duplicate code >> - split up big functions to allow >> - inc file should be class >> - separate host/target bootstrap settings >> - host/target/build nomenclature fix > > I agree that the inconsistencies exist. The main reason is that compiler people > have to name it differently from the 99% of application developers who > intuitively understand the right thing from "host" and "target". So I'm still > not sure whether the change is worth it. As I mentioned in previous discussions we could avoid this issue altogether by calling what is currently called 'host' -> 'native' and remove the word 'target' where possible. 'DISTRO' and 'DISTRO_ARCH' will still be called the same and 'HOST_DISTRO' and 'HOST_ARCH' will be 'NATIVE_DISTRO' and 'NATIVE_ARCH' for instance. Or 'buildchroot' and 'buildchroot-native'. regards, Claudius -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-06-24 11:48 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-06-03 14:55 TODOs Claudius Heine 2019-06-19 15:57 ` TODOs Baurzhan Ismagulov 2019-06-24 11:48 ` TODOs Claudius Heine
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox