On 14.05.21 13:16, Robert P. J. Day wrote:
pretty sure i know the answer to this one, but was asked the other
day and wanted to make sure. in order to speed up the normal OE build,
someone suggested bypassing the creation of packages that weren't
going to be relevant, such as -dev, -doc and so on -- the idea was
that that could make a significant difference in build time.
I pretty much doubt it will speed up anything.
If for instance the -dev package will be removed from PACKAGES it is
very likely that the files of that package will end up in the base
package ${PN}, which results in larger target packages that need to be
installed (and potentially further RDEPENDS)
Furthermore this will break DEPENDS for recipes that do rely on the -dev
package - so chances are high that this will break (or magically change)
something further down the line.
One thing that you can do to speed up the build process in terms of
packaging time is to delete any **really** not needed files in a
do_install_append, if no proper configuration option (cmake flag, make
flag, PACKAGECONFIG) does exist which prevents the creation of these
files in the first place.
I would recommend not to mess with the packaging defaults for reasons
such as speeding things up - as this is IMHO addressing the issue at the
wrong end - just make sure the files in <workdir>/image won't get created
i pointed out that, based on default package definition as found in
bitbake.conf:
PACKAGE_BEFORE_PN ?= ""
PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc
${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
PACKAGES_DYNAMIC = "^${PN}-locale-.*"
FILES = ""
FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/*
${libdir}/lib*${SOLIBS} \
${sysconfdir} ${sharedstatedir} ${localstatedir} \
... snip ...
for every recipe you build, those *are* the packages that will be
built and populated, short of overriding those values. i suggested
that, in normal behaviour, if you check the generated WORKDIR for any
recipe, you would first find the full package breakdown under
packages-split/, where individual package contents can be examined,
and you could further check out the rpms under deploy-rpms/, which
would be built regardless of whether you chose to install them or not.
(that's correct, yes?)
i finally suggested that, sure, if you do some ugly hacking, i
guess you could save time by not even creating some of those packages,
but i speculated that that wouldn't be a significant saving and that
it wasn't worth trying to cut corners like that and you were more
likely to break things than save any meaningful build time.
thoughts?
rday
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#151757):
https://lists.openembedded.org/g/openembedded-core/message/151757
Mute This Topic: https://lists.openembedded.org/mt/82821703/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-