diff --git a/package/vim/0001-src-Makefile-create-links-with-ln-sf.patch b/package/vim/0001-src-Makefile-create-links-with-ln-sf.patch new file mode 100644 index 0000000000..54d423aacf --- /dev/null +++ b/package/vim/0001-src-Makefile-create-links-with-ln-sf.patch @@ -0,0 +1,78 @@ +From 5686ef63f81fcac2ca6ec6e7160829b295ad4e79 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 28 Dec 2025 15:01:38 +0100 +Subject: [PATCH] src/Makefile: create links with ln -sf + +Running "make installlinks" twice towards the same destination +directory will fail, as symlink will already exist. This is not really +expected as "make install" is normally expected to work again and +again towards the same destination directory. + +Fix this by using ln -sf. + +Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/vim/vim/commit/6df5360691266b5eca49380e94f3e21fa48e5e0b +--- + src/Makefile | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 6fb1eb95e..39f798260 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -2746,40 +2746,40 @@ installvimdiff: $(DEST_BIN)/$(VIMDIFFTARGET) + installgvimdiff: $(DEST_BIN)/$(GVIMDIFFTARGET) + + $(DEST_BIN)/$(EXTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(EXTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(EXTARGET) + + $(DEST_BIN)/$(VIEWTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(VIEWTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(VIEWTARGET) + + $(DEST_BIN)/$(GVIMTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIMTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(GVIMTARGET) + + $(DEST_BIN)/$(GVIEWTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIEWTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(GVIEWTARGET) + + $(DEST_BIN)/$(RVIMTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RVIMTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RVIMTARGET) + + $(DEST_BIN)/$(RVIEWTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RVIEWTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RVIEWTARGET) + + $(DEST_BIN)/$(RGVIMTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RGVIMTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RGVIMTARGET) + + $(DEST_BIN)/$(RGVIEWTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(RGVIEWTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(RGVIEWTARGET) + + $(DEST_BIN)/$(VIMDIFFTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(VIMDIFFTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(VIMDIFFTARGET) + + $(DEST_BIN)/$(GVIMDIFFTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIMDIFFTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(GVIMDIFFTARGET) + + $(DEST_BIN)/$(EVIMTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(EVIMTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(EVIMTARGET) + + $(DEST_BIN)/$(EVIEWTARGET): $(DEST_BIN) +- cd $(DEST_BIN); ln -s $(VIMTARGET) $(EVIEWTARGET) ++ cd $(DEST_BIN); ln -sf $(VIMTARGET) $(EVIEWTARGET) + + # Create links for the manual pages with various names to vim. This is only + # done when the links (or manpages with the same name) don't exist yet. +-- +2.52.0 + diff --git a/package/vim/vim.mk b/package/vim/vim.mk index 1e7e1d6a55..fa7d47d67d 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -55,7 +55,6 @@ VIM_INSTALL_TARGETS += installrtbase installmacros endif define VIM_INSTALL_TARGET_CMDS - $(RM) -f $(TARGET_DIR)/usr/bin/{ex,view,rvim,rview,vimdiff} $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src DESTDIR=$(TARGET_DIR) \ $(VIM_INSTALL_TARGETS) $(RM) -rf $(TARGET_DIR)/usr/share/vim/vim*/doc/