Recipe Specific Sysroots - An Update


Richard Purdie
 

http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rpurdie/wip-rss

I've been quiet on this for a while but the patches are progressing and
I've been keeping this branch updated. Its proving a bit painful and
time consuming to fix issues as changes mean large rebuilds so the
debug cycles are getting long and oe-selftest takes several hours.

There was a bit of a breakthrough in making eSDK work again and I'm now
trying to work through the various test cases that are failing on the
autobuilders. I've nearly sent this email several times but the test
results are gradually improving and I think the series is looking
pretty reasonable now.

As things stand, of the ~250 oe-selftests, around 6 or so are failing.
We're having some issues with wic which I really appreciate the help
from Ed on. There have been musl, multilib, tiny, systemd and other
issues but I believe these to be resolved.

Thanks also go to Paul for fixing devtool to work with this.

The change has found dependency problems, mostly in missing tools like
glib-2.0-native and libxml2-native.

The biggest challenge we face is postinstall dependencies. There is a
separate email thread about that one and thanks to some help from
Jussi, I believe we should have a patchset to address this.

The bitbake changes have been posted and are in master-next, as are
most of the OE-Core ones which I could separate out.

M2 is due on Monday and my plan is probably to merge in Recipe Specific
Sysroots and then handle any fallout from there, even if it delays M2
as I don't think I'll be able to take this much further alone. That
implies I'll also take the postinstall changes as this depends on
those.

To delay this any further will mean less time for other layers to adapt
to the changes and put the main release more at risk. I don't think
anyone would like to see this delayed until 2.4. I have given people
plenty of warning this was coming and time to review the patch on the
branch.

Cheers,

Richard


Denys Dmytriyenko
 

On Thu, Jan 19, 2017 at 04:38:14PM +0000, Richard Purdie wrote:
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rpurdie/wip-rss

I've been quiet on this for a while but the patches are progressing and
I've been keeping this branch updated. Its proving a bit painful and
time consuming to fix issues as changes mean large rebuilds so the
debug cycles are getting long and oe-selftest takes several hours.

There was a bit of a breakthrough in making eSDK work again and I'm now
trying to work through the various test cases that are failing on the
autobuilders. I've nearly sent this email several times but the test
results are gradually improving and I think the series is looking
pretty reasonable now.

As things stand, of the ~250 oe-selftests, around 6 or so are failing.
We're having some issues with wic which I really appreciate the help
from Ed on. There have been musl, multilib, tiny, systemd and other
issues but I believe these to be resolved.

Thanks also go to Paul for fixing devtool to work with this.

The change has found dependency problems, mostly in missing tools like
glib-2.0-native and libxml2-native.

The biggest challenge we face is postinstall dependencies. There is a
separate email thread about that one and thanks to some help from
Jussi, I believe we should have a patchset to address this.

The bitbake changes have been posted and are in master-next, as are
most of the OE-Core ones which I could separate out.

M2 is due on Monday and my plan is probably to merge in Recipe Specific
Sysroots and then handle any fallout from there, even if it delays M2
as I don't think I'll be able to take this much further alone. That
implies I'll also take the postinstall changes as this depends on
those.

To delay this any further will mean less time for other layers to adapt
to the changes and put the main release more at risk. I don't think
anyone would like to see this delayed until 2.4. I have given people
plenty of warning this was coming and time to review the patch on the
branch.
Thanks, Richard!

Will there be some sort of write-up detailing any work required for other
layers to adapt to this change? Thanks.

--
Denys


Richard Purdie
 

On Sun, 2017-01-22 at 17:47 -0500, Denys Dmytriyenko wrote:
On Thu, Jan 19, 2017 at 04:38:14PM +0000, Richard Purdie wrote:
To delay this any further will mean less time for other layers to
adapt
to the changes and put the main release more at risk. I don't think
anyone would like to see this delayed until 2.4. I have given
people
plenty of warning this was coming and time to review the patch on
the
branch.
Thanks, Richard!

Will there be some sort of write-up detailing any work required for
other layers to adapt to this change? Thanks.
I did write up the specifics of the implementation details into the
main commit message for the change. For layer maintainers, the key
piece were these points:

* Recipes may fail with missing dependencies, particularly native 
  tools like gettext-native, glib-2.0-native and libxml2.0-native. 
  Some hosts have these installed and will mask these errors 

* Any recipe/class using SSTATEPOSTINSTFUNCS will need that code 
  rewriting into a postinst 

* Any postinst which expects native tools at rootfs time will need to 
  mark that dependency with PACKAGE_WRITE_DEPS.

* Relocation errors that existed before will become blocking problems 
  now.

I'm hoping this is main extent of the kinds of changes needed and that
most of the issues are limited to the core but at this point its going
to be a case of testing to know more.

FWIW everything is now in master-next for OE-Core and all the
prerequisites have merged into bitbake master. All autobuilder tests
are now green.

Cheers,

Richard