]> code.ossystems Code Review - openembedded-core.git/commitdiff
vim: Fix a race over creation of the desktop files
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 15 Feb 2021 23:32:04 +0000 (23:32 +0000)
committerSteve Sakoman <steve@sakoman.com>
Thu, 4 Mar 2021 14:19:49 +0000 (04:19 -1000)
The LINGUAS file can be written by two different Makefile targets
and if they race, the desktop file contents isn't deterministic.

Fix the makfile to avoid this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 416bc7b697764075fbf73683cd8bddf36d839244)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-support/vim/files/racefix.patch [new file with mode: 0644]
meta/recipes-support/vim/vim.inc

diff --git a/meta/recipes-support/vim/files/racefix.patch b/meta/recipes-support/vim/files/racefix.patch
new file mode 100644 (file)
index 0000000..48dca44
--- /dev/null
@@ -0,0 +1,33 @@
+The creation of the LINGUAS file is duplicated for each desktop file
+which can lead the commands to race against each other. Rework
+the makefile to avoid this as the expense of leaving the file on disk.
+
+Upstream-Status: Pending
+RP 2021/2/15
+
+Index: git/src/po/Makefile
+===================================================================
+--- git.orig/src/po/Makefile
++++ git/src/po/Makefile
+@@ -165,17 +165,16 @@ $(PACKAGE).pot: ../*.c ../if_perl.xs ../
+               po/gvim.desktop.in po/vim.desktop.in
+       mv -f ../$(PACKAGE).po $(PACKAGE).pot
+-vim.desktop: vim.desktop.in $(POFILES)
++LINGUAS:
+       echo $(LANGUAGES) | tr " " "\n" |sed -e '/\./d' | sort > LINGUAS
++
++vim.desktop: vim.desktop.in $(POFILES) LINGUAS
+       $(MSGFMT) --desktop -d . --template vim.desktop.in -o tmp_vim.desktop
+-      rm -f LINGUAS
+       if command -v desktop-file-validate; then desktop-file-validate tmp_vim.desktop; fi
+       mv tmp_vim.desktop vim.desktop
+-gvim.desktop: gvim.desktop.in $(POFILES)
+-      echo $(LANGUAGES) | tr " " "\n" |sed -e '/\./d' | sort > LINGUAS
++gvim.desktop: gvim.desktop.in $(POFILES) LINGUAS
+       $(MSGFMT) --desktop -d . --template gvim.desktop.in -o tmp_gvim.desktop
+-      rm -f LINGUAS
+       if command -v desktop-file-validate; then desktop-file-validate tmp_gvim.desktop; fi
+       mv tmp_gvim.desktop gvim.desktop
index 1ea40e5e7f594c8b3013f082e2cd0f5dc4429eb4..d57f784da5d4bf0218683c5ef5a7c2f54b467f78 100644 (file)
@@ -12,6 +12,7 @@ SRC_URI = "git://github.com/vim/vim.git \
            file://vim-add-knob-whether-elf.h-are-checked.patch \
            file://0001-src-Makefile-improve-reproducibility.patch \
            file://no-path-adjust.patch \
+           file://racefix.patch \
 "
 SRCREV = "98056533b96b6b5d8849641de93185dd7bcadc44"