Hello, Honestly, my main motivation to send this series comes from a time when I was building u-boot (meta-freescale) and I saw vim-native in Bitbake's tasks. It blew my mind that a bootloader somehow dependend on a text editor (yes, only to be built, not to be executed, I know), and the whole text editor was being built to provide nothing more than xxd.
Just to be clear, what bothers me is NOT u-boot depending on xxd. It is actually configuring and compiling Vim (considering the overhead this represents) only to use a single tiny piece of it. As for the tests I performed: - machine: qemuriscv64 - toolchains: clang and gcc - classes (xxd, vim-xxd): target, native, nativesdk - classes (vim): target, native, nativesdk - archiving: the resulting tarball includes only xxd's sources, as expected Some benchmarks as well, from a previous mail: vim-native-9.2.0340-r0: do_configure Elapsed time: 6.81 seconds vim-native-9.2.0340-r0: do_compile Elapsed time: 4.43 seconds vim-xxd-native-9.2.0340-r0: do_configure Elapsed time: 0.03 seconds vim-xxd-native-9.2.0340-r0: do_compile Elapsed time: 0.23 seconds (this data comes from tmp/buildstats) Everything built fine, and the core-image-minimal running with qemu also correctly shipped vim and xxd, which executed fine as well. Finally, regarding runtime, vim already RDEPENDs on vim-xxd, so by default they are installed together if you have 'vim' in IMAGE_INSTALL. After the split, it is true that both recipes will be built, but as per the numbers above, the time spent building vim-xxd-native is minimal. Best regards, Changes since v1: - added the step where vim's sources are pruned - fixed the license information in xxd - moved the patches from vim-sources.inc to vim's recipe, as they don't apply to xxd - added support to pruning in archiver.bbclass, to make things coherent - added some benchmarks to the cover letter João Marcos Costa (5): vim: introduce vim-sources.inc file vim-xxd: introduce new recipe for xxd vim: drop references to xxd in base recipe vim.inc: remove xxd from the destination directory base.bbclass: introduce prune_source_tree function meta/classes-global/base.bbclass | 49 ++++++++++++++++++++++++ meta/classes/archiver.bbclass | 1 + meta/conf/distro/include/maintainers.inc | 1 + meta/recipes-support/vim/vim-sources.inc | 9 +++++ meta/recipes-support/vim/vim-xxd_9.2.bb | 39 +++++++++++++++++++ meta/recipes-support/vim/vim.inc | 18 +++------ meta/recipes-support/vim/vim_9.2.bb | 13 ++----- 7 files changed, 108 insertions(+), 22 deletions(-) create mode 100644 meta/recipes-support/vim/vim-sources.inc create mode 100644 meta/recipes-support/vim/vim-xxd_9.2.bb -- 2.43.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#237507): https://lists.openembedded.org/g/openembedded-core/message/237507 Mute This Topic: https://lists.openembedded.org/mt/119424104/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
