From 383e7c940e6eab66853a4ec5e91907bba12daa61 Mon Sep 17 00:00:00 2001 From: Yury Buldakov Date: Sat, 5 Nov 2016 13:15:20 +0200 Subject: [PATCH] Update git to v2.10.2 * Fixes #735 * Import *sh completion and XSS patches from openSUSE --- git/PKGBUILD | 31 +++- git/git-1.9.0-manifest-msys2.patch | 105 ++++++------ git/git-bash-completion-egrep-color-fix.patch | 15 ++ git/git-prevent_xss-default.patch | 38 +++++ git/git-setup-i18n-fix.patch | 13 ++ git/git-tclIndex.patch | 19 +++ git/git-tcsh-completion-fixes.patch | 57 +++++++ git/git-zsh-completion-fixes.patch | 14 ++ git/git.keyring | 152 ++++++++++++++++++ 9 files changed, 386 insertions(+), 58 deletions(-) create mode 100644 git/git-bash-completion-egrep-color-fix.patch create mode 100644 git/git-prevent_xss-default.patch create mode 100644 git/git-setup-i18n-fix.patch create mode 100644 git/git-tclIndex.patch create mode 100644 git/git-tcsh-completion-fixes.patch create mode 100644 git/git-zsh-completion-fixes.patch create mode 100644 git/git.keyring diff --git a/git/PKGBUILD b/git/PKGBUILD index 53d441d50e81..5dc8d1acf514 100644 --- a/git/PKGBUILD +++ b/git/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Ray Donnelly pkgname=git -pkgver=2.10.1 +pkgver=2.10.2 pkgrel=1 pkgdesc="The fast distributed version control system" arch=('i686' 'x86_64') @@ -45,17 +45,31 @@ replaces=('git-core') provides=('git-core') #options=('debug' '!strip') source=("${pkgname}-${pkgver}.tar.gz"::https://github.com/git/git/archive/v${pkgver}.tar.gz + git.keyring 1.7.9-cygwin.patch git-1.9.0-manifest-msys2.patch git-1.8.4-msys2.patch git-2.3.5-mingw-pwd.patch - git-2.8.2-Cygwin-Allow-DOS-paths.patch) -sha256sums=('b37b8f364f4b1cd8b82feee53d7ebf129e588901d21e3feaabaae9e51facb3ad' + git-2.8.2-Cygwin-Allow-DOS-paths.patch + git-prevent_xss-default.patch + git-bash-completion-egrep-color-fix.patch + git-tcsh-completion-fixes.patch + git-zsh-completion-fixes.patch + git-tclIndex.patch + git-setup-i18n-fix.patch) +sha256sums=('5e0e5034d39a6cfd768726ec87ec6ed0c724a4d28d2ad2b426227335ba3adff0' + '9e4a413b8ead80d26940402c1067533011e6fb743172a2f08c624d52f6a5e2cc' 'c5e735d829e11f79e2d508b663d0924030498f48fc716881031fb975dbf187a5' - '3c0ed027540a537617590dc2c09d449bb137badd5ee44893e65e450d95dc765d' + 'c57837c3e169e5c2a9f8411d6870443efe145c95490fc03f82e8089292507f76' 'a82df3fc9a80b9f9003a9b9feca063413b14630c043c0b2b88bf2c61c46154cc' 'f67412f829e026b677d4c3ceacfb21da0549ad4636fb07c283e52c3fd5aa3e22' - 'fb0e003f686a6d7c676d40144d16d4ba4ff38f28f7928e4401d95f198029f35e') + 'fb0e003f686a6d7c676d40144d16d4ba4ff38f28f7928e4401d95f198029f35e' + 'bbe523015863a4b2459624dcc4ad5c675c779c1134c8617f90d65a541b74e194' + 'bc6ef4a066a8b206fbc162387918f801ef95c7a691fdaf284f895bc303a1ee01' + 'b28b3e13de08911f027d19a557967fc21128318a8d6ca74b20b26ee997a9b992' + '261438a4bedd5563c702533c34792581ccfa46db873ca3e105e6c1ab803a3107' + '9543aeb4194f1996744884784dbd39e7d2ad713df0e0629899ef581469c3cace' + '94fc6958962fffd0f857ed1c312ede7ce65ab267005d2a1db38d9a2830d341cd') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -66,6 +80,13 @@ prepare() { patch -p1 -i "${srcdir}"/git-1.9.0-manifest-msys2.patch patch -p2 -i "${srcdir}"/git-2.3.5-mingw-pwd.patch patch -p1 -i "${srcdir}"/git-2.8.2-Cygwin-Allow-DOS-paths.patch + patch -p1 -i "${srcdir}"/git-prevent_xss-default.patch + patch -p1 -i "${srcdir}"/git-bash-completion-egrep-color-fix.patch + patch -p1 -i "${srcdir}"/git-tcsh-completion-fixes.patch + patch -p1 -i "${srcdir}"/git-zsh-completion-fixes.patch + patch -p1 -i "${srcdir}"/git-tclIndex.patch + patch -p1 -i "${srcdir}"/git-setup-i18n-fix.patch + local _arch= if [ "${CARCH}" == 'x86_64' ]; then diff --git a/git/git-1.9.0-manifest-msys2.patch b/git/git-1.9.0-manifest-msys2.patch index 0a1c2c8f280b..b1e72dd606e0 100644 --- a/git/git-1.9.0-manifest-msys2.patch +++ b/git/git-1.9.0-manifest-msys2.patch @@ -40,58 +40,27 @@ References: Signed-off-by: Cesar Eduardo Barros --- - Makefile | 29 +++++++++++++++++++++-------- - compat/win32/git.manifest | 11 +++++++++++ - compat/win32/resource.rc | 1 + - 3 files changed, 33 insertions(+), 8 deletions(-) + Makefile | 31 ++++++++++++++++++++++--------- + compat/win32/git.manifest | 11 +++++++++++ + compat/win32/resource.rc | 1 + + config.mak.uname | 4 ++++ + 4 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 compat/win32/git.manifest create mode 100644 compat/win32/resource.rc ---- git-1.8.4/config.mak.uname.orig 2013-08-24 08:15:28.412809200 +0000 -+++ git-1.8.4/config.mak.uname 2013-08-24 08:16:47.558359400 +0000 -@@ -171,6 +171,7 @@ - NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes - NO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease - X = .exe -+ APPLICATION_MANIFEST = YesPlease - UNRELIABLE_FSTAT = UnfortunatelyYes - SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield - endif -@@ -196,6 +196,7 @@ - NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes - NO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease - X = .exe -+ APPLICATION_MANIFEST = YesPlease - UNRELIABLE_FSTAT = UnfortunatelyYes - SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield - endif -@@ -346,6 +347,7 @@ - NO_INET_PTON = YesPlease - NO_INET_NTOP = YesPlease - NO_POSIX_GOODIES = UnfortunatelyYes -+ APPLICATION_MANIFEST = YesPlease - NATIVE_CRLF = YesPlease - DEFAULT_HELP_FORMAT = html - -@@ -499,6 +501,7 @@ - NO_INET_PTON = YesPlease - NO_INET_NTOP = YesPlease - NO_POSIX_GOODIES = UnfortunatelyYes -+ APPLICATION_MANIFEST = YesPlease - DEFAULT_HELP_FORMAT = html - COMPAT_CFLAGS += -D__USE_MINGW_ACCESS -DNOGDI -Icompat -Icompat/win32 - COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\" ---- git-1.8.3.3/Makefile.orig 2013-07-15 20:59:21.000000000 +0000 -+++ git-1.8.3.3/Makefile 2013-07-27 03:30:24.456888600 +0000 -@@ -415,6 +415,7 @@ - PTHREAD_LIBS = -lpthread +diff --git a/Makefile b/Makefile +index ddd1bdf..6ee4500 100644 +--- a/Makefile ++++ b/Makefile +@@ -463,6 +463,7 @@ PTHREAD_LIBS = -lpthread PTHREAD_CFLAGS = GCOV = gcov + SPATCH = spatch +WINDRES = windres export TCL_PATH TCLTK_PATH -@@ -435,6 +436,7 @@ +@@ -483,6 +484,7 @@ BUILTIN_OBJS = BUILT_INS = COMPAT_CFLAGS = COMPAT_OBJS = @@ -99,8 +68,8 @@ Signed-off-by: Cesar Eduardo Barros XDIFF_OBJS = VCSSVN_OBJS = GENERATED_H = -@@ -1476,6 +1478,11 @@ - COMPAT_OBJS += compat/nedmalloc/nedmalloc.o +@@ -1473,6 +1475,11 @@ ifdef OVERRIDE_STRDUP + COMPAT_OBJS += compat/strdup.o endif +ifdef APPLICATION_MANIFEST @@ -111,15 +80,15 @@ Signed-off-by: Cesar Eduardo Barros ifdef GIT_TEST_CMP_USE_COPIED_CONTEXT export GIT_TEST_CMP_USE_COPIED_CONTEXT endif -@@ -1525,6 +1532,7 @@ +@@ -1546,6 +1553,7 @@ ifndef V QUIET_XGETTEXT = @echo ' ' XGETTEXT $@; QUIET_MSGFMT = @echo ' ' MSGFMT $@; QUIET_GCOV = @echo ' ' GCOV $@; + QUIET_WINDRES = @echo ' ' RC $@; QUIET_SP = @echo ' ' SP $<; + QUIET_RC = @echo ' ' RC $@; QUIET_SUBDIR0 = +@subdir= - QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ -@@ -1709,9 +1717,9 @@ +@@ -1754,9 +1762,9 @@ git.sp git.s git.o: EXTRA_CPPFLAGS = \ '-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \ '-DGIT_INFO_PATH="$(infodir_relative_SQ)"' @@ -131,7 +100,7 @@ Signed-off-by: Cesar Eduardo Barros help.sp help.s help.o: common-cmds.h -@@ -2029,21 +2037,21 @@ +@@ -2046,21 +2054,21 @@ compat/nedmalloc/nedmalloc.sp compat/nedmalloc/nedmalloc.o: EXTRA_CPPFLAGS = \ compat/nedmalloc/nedmalloc.sp: SPARSE_FLAGS += -Wno-non-pointer-null endif @@ -158,7 +127,7 @@ Signed-off-by: Cesar Eduardo Barros $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \ $(VCSSVN_LIB) -@@ -2053,10 +2061,15 @@ +@@ -2070,10 +2078,15 @@ $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY) ln -s $< $@ 2>/dev/null || \ cp $< $@ @@ -175,7 +144,7 @@ Signed-off-by: Cesar Eduardo Barros $(LIB_FILE): $(LIB_OBJS) $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^ -@@ -2260,7 +2273,7 @@ +@@ -2284,7 +2297,7 @@ t/helper/test-svn-fe$X: $(VCSSVN_LIB) .PRECIOUS: $(TEST_OBJS) @@ -186,7 +155,7 @@ Signed-off-by: Cesar Eduardo Barros check-sha1:: t/helper/test-sha1$X diff --git a/compat/win32/git.manifest b/compat/win32/git.manifest new file mode 100644 -index 0000000..a82605c +index 0000000..325e3bb --- /dev/null +++ b/compat/win32/git.manifest @@ -0,0 +1,11 @@ @@ -208,5 +177,35 @@ index 0000000..c2bf4a6 +++ b/compat/win32/resource.rc @@ -0,0 +1 @@ +1 24 "git.manifest" +diff --git a/config.mak.uname b/config.mak.uname +index f20d4ce..fcc651f 100644 +--- a/config.mak.uname ++++ b/config.mak.uname +@@ -213,6 +213,8 @@ ifeq ($(uname_O),Msys) + NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes + NO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease + X = .exe ++ APPLICATION_MANIFEST = YesPlease ++ APPLICATION_MANIFEST = YesPlease + UNRELIABLE_FSTAT = UnfortunatelyYes + SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield + endif +@@ -398,6 +400,7 @@ ifeq ($(uname_S),Windows) + NO_INET_PTON = YesPlease + NO_INET_NTOP = YesPlease + NO_POSIX_GOODIES = UnfortunatelyYes ++ APPLICATION_MANIFEST = YesPlease + NATIVE_CRLF = YesPlease + DEFAULT_HELP_FORMAT = html + +@@ -548,6 +551,7 @@ ifneq (,$(findstring MINGW,$(uname_S))) + NO_INET_PTON = YesPlease + NO_INET_NTOP = YesPlease + NO_POSIX_GOODIES = UnfortunatelyYes ++ APPLICATION_MANIFEST = YesPlease + DEFAULT_HELP_FORMAT = html + COMPAT_CFLAGS += -DNOGDI -Icompat -Icompat/win32 + COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\" -- -1.7.4.4 +2.10.1 + diff --git a/git/git-bash-completion-egrep-color-fix.patch b/git/git-bash-completion-egrep-color-fix.patch new file mode 100644 index 000000000000..6e43f92c3be8 --- /dev/null +++ b/git/git-bash-completion-egrep-color-fix.patch @@ -0,0 +1,15 @@ +--- + contrib/completion/git-completion.bash | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/contrib/completion/git-completion.bash ++++ b/contrib/completion/git-completion.bash +@@ -536,7 +536,7 @@ __git_commands () { + then + printf "%s" "${GIT_TESTING_COMMAND_COMPLETION}" + else +- git help -a|egrep '^ [a-zA-Z0-9]' ++ git help -a|egrep --color=never '^ [a-zA-Z0-9]' + fi + } + diff --git a/git/git-prevent_xss-default.patch b/git/git-prevent_xss-default.patch new file mode 100644 index 000000000000..4069efca7bba --- /dev/null +++ b/git/git-prevent_xss-default.patch @@ -0,0 +1,38 @@ +From: Jakub Narebski +Subject: [PATCH] gitweb: Enable $prevent_xss by default + +This fixes issue CVE-2011-2186 originally reported in +https://launchpad.net/bugs/777804 + +Reported-by: dave b +Signed-off-by: Jakub Narebski +--- + git-instaweb.sh | 4 ++++ + gitweb/README | 5 +++-- + gitweb/gitweb.perl | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +--- a/git-instaweb.sh ++++ b/git-instaweb.sh +@@ -583,6 +583,10 @@ + our \$git_temp = "$fqgitdir/gitweb/tmp"; + our \$projects_list = \$projectroot; + ++# we can trust our own repository, so disable XSS prevention ++# to enable some extra features ++our \$prevent_xss = 0; ++ + \$feature{'remote_heads'}{'default'} = [1]; + EOF + } +--- a/gitweb/gitweb.perl ++++ b/gitweb/gitweb.perl +@@ -170,7 +170,7 @@ + + # Disables features that would allow repository owners to inject script into + # the gitweb domain. +-our $prevent_xss = 0; ++our $prevent_xss = 1; + + # Path to the highlight executable to use (must be the one from + # http://www.andre-simon.de due to assumptions about parameters and output). diff --git a/git/git-setup-i18n-fix.patch b/git/git-setup-i18n-fix.patch new file mode 100644 index 000000000000..aa2734ff05e3 --- /dev/null +++ b/git/git-setup-i18n-fix.patch @@ -0,0 +1,13 @@ +Index: git-2.10.0/git-sh-setup.sh +=================================================================== +--- git-2.10.0.orig/git-sh-setup.sh 2016-09-03 03:59:09.000000000 +0200 ++++ git-2.10.0/git-sh-setup.sh 2016-09-07 17:24:58.817642893 +0200 +@@ -3,7 +3,7 @@ + # a few helper shell functions. + + # Source git-sh-i18n for gettext support. +-. git-sh-i18n ++. "$(git --exec-path)/git-sh-i18n" + + # Having this variable in your environment would break scripts because + # you would cause "cd" to be taken to unexpected places. If you diff --git a/git/git-tclIndex.patch b/git/git-tclIndex.patch new file mode 100644 index 000000000000..6dbee44d4446 --- /dev/null +++ b/git/git-tclIndex.patch @@ -0,0 +1,19 @@ +ALL_LIBFILES uses wildcard, which provides the result in directory +order. This order depends on the underlying filesystem on the +buildhost. To get reproducible builds it is required to sort such list +before using them. +--- + git-gui/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/git-gui/Makefile ++++ b/git-gui/Makefile +@@ -259,7 +259,7 @@ lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VA + rm -f $@ ; \ + echo '# Autogenerated by git-gui Makefile' >$@ && \ + echo >>$@ && \ +- $(foreach p,$(PRELOAD_FILES) $(ALL_LIBFILES),echo '$(subst lib/,,$p)' >>$@ &&) \ ++ $(foreach p,$(PRELOAD_FILES) $(sort $(ALL_LIBFILES)),echo '$(subst lib/,,$p)' >>$@ &&) \ + echo >>$@ ; \ + fi + diff --git a/git/git-tcsh-completion-fixes.patch b/git/git-tcsh-completion-fixes.patch new file mode 100644 index 000000000000..ec59efdba5ac --- /dev/null +++ b/git/git-tcsh-completion-fixes.patch @@ -0,0 +1,57 @@ +--- + contrib/completion/git-completion.tcsh | 17 +++++++---------- + contrib/completion/git.csh | 4 ++++ + contrib/completion/git.tcsh | 4 ++++ + 3 files changed, 15 insertions(+), 10 deletions(-) + +Index: git-2.4.6/contrib/completion/git-completion.tcsh +=================================================================== +--- git-2.4.6.orig/contrib/completion/git-completion.tcsh ++++ git-2.4.6/contrib/completion/git-completion.tcsh +@@ -32,14 +32,14 @@ if ( ${__git_tcsh_completion_version[1]} + endif + unset __git_tcsh_completion_version + +-set __git_tcsh_completion_original_script = ${HOME}/.git-completion.bash +-set __git_tcsh_completion_script = ${HOME}/.git-completion.tcsh.bash ++set __git_tcsh_completion_original_script = /etc/bash_completion.d/git.sh ++set __git_tcsh_completion_script = $RPM_BUILD_ROOT/usr/share/tcsh/git.complete + +-# Check that the user put the script in the right place +-if ( ! -e ${__git_tcsh_completion_original_script} ) then +- echo "git-completion.tcsh: Cannot find: ${__git_tcsh_completion_original_script}. Git completion will not work." +- exit +-endif ++# # Check that the user put the script in the right place ++# if ( ! -e ${__git_tcsh_completion_original_script} ) then ++# echo "git-completion.tcsh: Cannot find: ${__git_tcsh_completion_original_script}. Git completion will not work." ++# exit ++# endif + + cat << EOF >! ${__git_tcsh_completion_script} + #!bash +@@ -121,6 +121,3 @@ EOF + + # Don't need this variable anymore, so don't pollute the users environment + unset __git_tcsh_completion_original_script +- +-complete git 'p,*,`bash ${__git_tcsh_completion_script} git "${COMMAND_LINE}"`,' +-complete gitk 'p,*,`bash ${__git_tcsh_completion_script} gitk "${COMMAND_LINE}"`,' +Index: git-2.4.6/contrib/completion/git.csh +=================================================================== +--- /dev/null ++++ git-2.4.6/contrib/completion/git.csh +@@ -0,0 +1,4 @@ ++if (${?prompt}) then ++complete git 'p,*,`bash /usr/share/tcsh/git.complete git "${COMMAND_LINE}"`,' ++complete gitk 'p,*,`bash /usr/share/tcsh/git.complete gitk "${COMMAND_LINE}"`,' ++endif +Index: git-2.4.6/contrib/completion/git.tcsh +=================================================================== +--- /dev/null ++++ git-2.4.6/contrib/completion/git.tcsh +@@ -0,0 +1,4 @@ ++if (${?prompt}) then ++complete git 'p,*,`bash /usr/share/tcsh/git.complete git "${COMMAND_LINE}"`,' ++complete gitk 'p,*,`bash /usr/share/tcsh/git.complete gitk "${COMMAND_LINE}"`,' ++endif diff --git a/git/git-zsh-completion-fixes.patch b/git/git-zsh-completion-fixes.patch new file mode 100644 index 000000000000..aff1ff0eb20b --- /dev/null +++ b/git/git-zsh-completion-fixes.patch @@ -0,0 +1,14 @@ +--- + contrib/completion/git-completion.zsh | 1 + + 1 file changed, 1 insertion(+) + +--- a/contrib/completion/git-completion.zsh ++++ b/contrib/completion/git-completion.zsh +@@ -31,6 +31,7 @@ if [ -z "$script" ]; then + local e + locations=( + $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash ++ '/etc/bash_completion.d/git.sh' # suse + '/etc/bash_completion.d/git' # fedora, old debian + '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian + '/usr/share/bash-completion/git' # gentoo diff --git a/git/git.keyring b/git/git.keyring new file mode 100644 index 000000000000..49f34f621a66 --- /dev/null +++ b/git/git.keyring @@ -0,0 +1,152 @@ +pub 4096R/713660A7 2011-10-01 +uid [ unknown] Junio C Hamano +uid [ unknown] Junio C Hamano +uid [ unknown] Junio C Hamano +sub 4096R/833262C4 2011-10-01 +sub 4096R/96AFE6CB 2011-10-03 [expires: 2015-09-21] +sub 4096R/B3F7CAC9 2014-09-20 [expires: 2017-09-19] + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +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 +=f2jS +-----END PGP PUBLIC KEY BLOCK-----