Right, the patchset is good for maintainability, my comment was more about
whether it's easier to just package files in a way that doesn't clash in
do_rootfs, then rearrange them in rootfs postprocessing.

Alex

On Wed, 2 Feb 2022 at 12:20, Peter Kjellerstedt <[email protected]>
wrote:

> Why do you consider splitting a huge function heavy? Honestly, I would
> like to split it even further to make it more manageable.
>
>
>
> //Peter
>
>
>
> *From:* Alexander Kanavin <[email protected]>
> *Sent:* den 2 februari 2022 09:54
> *To:* Peter Kjellerstedt <[email protected]>
> *Cc:* OE-core <[email protected]>
> *Subject:* Re: [OE-core] [PATCH 0/3] Split split_and_strip_files()
>
>
>
> Sorry Peter, but this still strikes me as rather heavy handed for what is
> a niche use case. Is it possible to simply do what needs to be done from a
> ROOTFS_POSTPROCESS hook?
>
>
>
> Alex
>
>
>
> On Wed, 2 Feb 2022 at 03:00, Peter Kjellerstedt <
> [email protected]> wrote:
>
> This is my third attempt to make it possible for me to hook into the
> split_and_strip_files() function. We need this to be able to rename
> the debug files for some packages to avoid conflicts when installing
> them.
>
> In this version, the first patch splits out the part of
> split_and_strip_files() that is responsible for setting up the
> variables used to implement the various debug splitting methods
> specified by PACKAGE_DEBUG_SPLIT_STYLE into a new function,
> package_debug_vars(). This I believe to be a good thing in itself as
> that function is way too long anyway.
>
> The second and third patch are not needed to allow me to hook into the
> split_and_strip_files() function, but they simplify the APIs used for
> passing the variables returned by package_debug_vars() around.
>
> With these patches in place, I can now wrap the package_debug_vars()
> function with the following local wrapper package.bbclass:
>
> require ${COREBASE}/meta/classes/package.bbclass
>
> PACKAGE_DEBUG_FILE_SUFFIX ??= ""
>
> # Provide the original package_debug_vars() as org_package_debug_vars().
> org_package_debug_vars := "${@d.getVar('package_debug_vars',
> False).replace('package_debug_vars', 'org_package_debug_vars')}"
> python () {
>     bb.methodpool.insert_method("", d.getVar("org_package_debug_vars",
> False), "<code>", 0)
> }
>
> # This version of package_debug_vars() wraps the original
> package_debug_vars()
> # by calling org_package_debug_vars() and then appends
> PACKAGE_DEBUG_FILE_SUFFIX
> # to dv["append"] and dv["staticappend"].
> def package_debug_vars(d):
>     dv = org_package_debug_vars(d)
>
>     dv["append"] += d.getVar('PACKAGE_DEBUG_FILE_SUFFIX')
>     dv["staticappend"] += d.getVar('PACKAGE_DEBUG_FILE_SUFFIX')
>
>     return dv
>
> The definition of the org_package_debug_vars() function is not very
> pretty, but it seems to work, and this solution means a heck of a lot
> less maintenance than to try to maintain a backported version of the
> over 250 lines long split_and_strip_files() function (as it was before
> my changes).
>
> //Peter
>
> The following changes since commit
> 74a8a74a553a33dc5f41939f8070d75e6d57d3da:
>
>   busybox: Add shell arithmetic to work with poky-tiny (2022-02-01
> 07:32:08 +0000)
>
> are available in the Git repository at:
>
>   git://git.yoctoproject.org/poky-contrib pkj/package_debug_vars
>
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/package_debug_vars
>
> Peter Kjellerstedt (3):
>   package.bbclass: Split out package_debug_vars from
>     split_and_strip_files
>   package.bbclass: Make package_debug_vars() return a dict
>   package.bbclass: Pass dv (debug_vars) around instead of individual
>     vars
>
>  meta/classes/package.bbclass | 127 +++++++++++++++++++----------------
>  1 file changed, 70 insertions(+), 57 deletions(-)
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161191): 
https://lists.openembedded.org/g/openembedded-core/message/161191
Mute This Topic: https://lists.openembedded.org/mt/88849297/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to