Commit ad2eb34a07ed ("vim: prevent file name conflicts with busybox") prevented vim being selected if busybox vi is selected. However, the vim package does not currently install /usr/bin/vi, so the only conflict is between vim's xxd and busybox's xxd.
Allow vim to be installed alongside busybox vi. Also add a configuration option to allow installation of a /usr/bin/vi symbolic link to /usr/bin/vim, but only allow it to be selected if busybox vi is not selected. Make the auto-selection of LIBC_M depend on VIM_VIM because VIM_XXD does not appear to require it. While we are at it, remove the obsolete GCCLIBS_GCC_S and LIBC_DL selections. Signed-off-by: Ian Abbott <abbo...@mev.co.uk> --- v2: Corrected dependency problem I introduced by moving the auto-selection of the required libraries from VIM to VIM_VIM. I have move them back, but only select them if VIM_VIM is selected, as suggested by Alexander Dahl v3: Applied changes requested by Michael Olbrich. (1) Align the 'if ...' with tabs. [Actually, there is now only one 'if ...' now! -- IA] (2) vim is still compiled even if VIM_VIM is disabled, so leave the NCURSES dependency as is. (3) Remove GCCLIBC_GCC_S and LIBC_DL dependencies as they are no longer used. (4) Add '|| ALLYES' dependency to conditionally built items for better build tests. v4: Updated commit description which I forgot to do in v3. --- rules/vim.in | 22 ++++++++++------------ rules/vim.make | 4 ++++ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/rules/vim.in b/rules/vim.in index c4c9d14e6..d16b54a2d 100644 --- a/rules/vim.in +++ b/rules/vim.in @@ -1,14 +1,8 @@ ## SECTION=editors -comment "BusyBox' vi and xxd is selected!" - depends on BUSYBOX_VI && BUSYBOX_XXD - menuconfig VIM tristate - depends on !(BUSYBOX_VI && BUSYBOX_XXD) - select LIBC_DL - select LIBC_M - select GCCLIBS_GCC_S + select LIBC_M if VIM_VIM select NCURSES prompt "vim " help @@ -18,18 +12,22 @@ menuconfig VIM if VIM -comment "BusyBox' vi is selected!" - depends on BUSYBOX_VI - config VIM_VIM - depends on !BUSYBOX_VI bool "Vim Editor" +comment "BusyBox' vi is selected!" + depends on VIM_VIM && BUSYBOX_VI + +config VIM_VI_SYMLINK + depends on VIM_VIM && !BUSYBOX_VI || ALLYES + bool "install symbolic link /usr/bin/vi" + default y + comment "BusyBox' xxd is selected!" depends on BUSYBOX_XXD config VIM_XXD - depends on !BUSYBOX_XXD + depends on !BUSYBOX_XXD || ALLYES bool "XXD" endif diff --git a/rules/vim.make b/rules/vim.make index b03778e53..8700b70bd 100644 --- a/rules/vim.make +++ b/rules/vim.make @@ -103,6 +103,10 @@ VIM_INSTALL_OPT := \ VIM_LINKS := ex rview rvim view vimdiff +ifdef PTXCONF_VIM_VI_SYMLINK +VIM_LINKS += vi +endif + $(STATEDIR)/vim.targetinstall: @$(call targetinfo) -- 2.43.0