From 49c21523b1f8b00f3afdbe5e38e8c18a1d29e26c Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Thu, 4 Feb 2021 22:10:45 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/vim.git#f3ef01b2e5ad6413adf9afee2bb65b96c0891e38 --- .gitignore | 2 + sources | 2 +- view_wrapper | 10 +++ vim-ruby30ftbfs.patch | 18 ------ vim-update.sh | 14 ++-- vim.csh | 20 ------ vim.fish | 25 -------- vim.sh | 32 ---------- vim.spec | 144 ++++++++++++++++++++++++------------------ vim_wrapper | 10 +++ 10 files changed, 112 insertions(+), 165 deletions(-) create mode 100644 view_wrapper delete mode 100644 vim-ruby30ftbfs.patch delete mode 100644 vim.csh delete mode 100644 vim.fish delete mode 100644 vim.sh create mode 100644 vim_wrapper diff --git a/.gitignore b/.gitignore index dc2f84e4..9451544d 100644 --- a/.gitignore +++ b/.gitignore @@ -339,3 +339,5 @@ /vim-8.2-2143.tar.bz2 /vim-8.2-2146.tar.bz2 /vim-8.2-2311.tar.bz2 +/vim-8.2-2451.tar.bz2 +/vim-8.2-2465.tar.bz2 diff --git a/sources b/sources index 6dd24368..3e12735f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vim-8.2-2311.tar.bz2) = e5ef8cd059157343ef5e051fb64dfe97b503b1cbaf12566d93d68b1522f787c984ed579fd45b2ea0f2a14e898cc793f5de167ff7233c42f65cd710776ebd4840 +SHA512 (vim-8.2-2465.tar.bz2) = 9e7b7ace89d66ff981fb7fa7ba382a9c3f1035d8804ae9386ef08d82f406d9f179d2691a90a4bb758fdc81685e546aafc8e844ea78ac47ad746b6f719f7fcaa7 diff --git a/view_wrapper b/view_wrapper new file mode 100644 index 00000000..228349e7 --- /dev/null +++ b/view_wrapper @@ -0,0 +1,10 @@ +#!/usr/bin/sh + +# run vim -R if available +if test -f /usr/libexec/vim +then + exec /usr/libexec/vim -R "$@" +fi + +# run vi otherwise +exec /usr/libexec/vi "$@" diff --git a/vim-ruby30ftbfs.patch b/vim-ruby30ftbfs.patch deleted file mode 100644 index d6106d29..00000000 --- a/vim-ruby30ftbfs.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/if_ruby.c b/src/if_ruby.c -index 9e5890214..a8c8379b6 100644 ---- a/src/if_ruby.c -+++ b/src/if_ruby.c -@@ -612,11 +612,13 @@ rb_check_type_stub(VALUE obj, int t) - { - dll_rb_check_type(obj, t); - } -+# if VIM_SIZEOF_INT < VIM_SIZEOF_LONG // 64 bits only - unsigned long - rb_num2uint_stub(VALUE x) - { - return dll_rb_num2uint(x); - } -+# endif - void - ruby_malloc_size_overflow_stub(size_t x, size_t y) - { diff --git a/vim-update.sh b/vim-update.sh index 34347b83..5c88d200 100755 --- a/vim-update.sh +++ b/vim-update.sh @@ -1,7 +1,7 @@ #!/bin/bash debug="" #debug="echo " -branches=( "master" "f33" "f32" ) +branches=( "rawhide" "f33" "f32" ) releases=( "fc34" "fc33" "fc32" ) regexps=( "fc34" "\|fc33" "\|fc32" ) bodhi_enabled=( "0" "1" "1" ) @@ -74,8 +74,8 @@ mv dist/vim-${UPSTREAMMAJOR}.tar.bz2 dist/vim-${UPSTREAMMAJOR}-${LASTPLFILLED}.t popd cp -f vim-upstream/dist/vim-${UPSTREAMMAJOR}-${LASTPLFILLED}.tar.bz2 . -#wget https://raw.githubusercontent.com/ignatenkobrain/vim-spec-plugin/master/ftplugin/spec.vim -O ftplugin-spec.vim -#wget https://raw.githubusercontent.com/ignatenkobrain/vim-spec-plugin/master/syntax/spec.vim -O syntax-spec.vim +#wget https://raw.githubusercontent.com/ignatenkobrain/vim-spec-plugin/rawhide/ftplugin/spec.vim -O ftplugin-spec.vim +#wget https://raw.githubusercontent.com/ignatenkobrain/vim-spec-plugin/rawhide/syntax/spec.vim -O syntax-spec.vim if [ $CHANGES -ne 0 ]; then CHLOG="* $DATE $PACKAGER -$EPOCH:$UPSTREAMMAJOR" $debug sed -i -e "/Release: /cRelease: 1%{?dist}" $SPEC @@ -166,8 +166,8 @@ if [ $CHANGES -ne 0 ]; then if [ "$testing_update" == "" ] && [ $done_build -eq 1 ]; then $debug fedpkg build if [ $? -eq 0 ]; then - # if branch isn't master or branch is enabled in bodhi, create update - if [ $branch != "master" ] || [ ${bodhi_enabled[@]: $bodhi_enabled_index: 1} -eq 1 ]; then + # if branch isn't rawhide or branch is enabled in bodhi, create update + if [ $branch != "rawhide" ] || [ ${bodhi_enabled[@]: $bodhi_enabled_index: 1} -eq 1 ]; then $debug bodhi updates new --user zdohnal --type enhancement --notes "The newest upstream commit" --request testing --autotime --autokarma --stable-karma 3 --unstable-karma -3 vim-${UPSTREAMMAJOR}.${LASTPLFILLED}-1.${releases[@]: $release_index: 1} fi else @@ -194,7 +194,7 @@ if [ $CHANGES -ne 0 ]; then #fi fi -#go back to master -$debug fedpkg switch-branch master +#go back to rawhide +$debug fedpkg switch-branch rawhide exit 0 diff --git a/vim.csh b/vim.csh deleted file mode 100644 index 47df2215..00000000 --- a/vim.csh +++ /dev/null @@ -1,20 +0,0 @@ -# we need to use which twice - first for checking if -# the command doesn't fail, the use it if doesn't fail -set vim_cond = `command -v vim` -set vi_cond = `command -v vi` - -switch ( $vim_cond-$vi_cond ) - case /usr/bin/vim-/usr/bin/vi: - # apply only when founded vim and vi are in expected dirs from distro - alias vi vim - alias view 'vim -R' - breaksw - case -/usr/bin/vi: - # apply only if founded vi is in expected dir from distro - alias vim vi - breaksw -endsw - -# just in case -unset vim_cond -unset vi_cond diff --git a/vim.fish b/vim.fish deleted file mode 100644 index a35220df..00000000 --- a/vim.fish +++ /dev/null @@ -1,25 +0,0 @@ -# This will avoid user defined aliases and possibly stuff defined earlier in the PATH. -# Redirecting is for the case when the binary is missing. -set vim_cond (command -v vim) -set vi_cond (command -v vi) - -switch "$vim_cond-$vi_cond" - case /usr/bin/vim-/usr/bin/vi - # apply only if founded vim and vi are in the expected dir from distro - function vi - command vim $argv - end - - function view - command vim -R $argv - end - case -/usr/bin/vi - # apply only when no vim is installed and founded vi is in the expected dir from distro - function vim - command vi $argv - end -end - -# just in case -set -e vim_cond -set -e vi_cond diff --git a/vim.sh b/vim.sh deleted file mode 100644 index 26166937..00000000 --- a/vim.sh +++ /dev/null @@ -1,32 +0,0 @@ -__vi_internal_vim_alias() -( - # run vim if installed - test -f /usr/bin/vim && exec /usr/bin/vim "$@" - - # run vi otherwise - test -f /usr/bin/vi && exec /usr/bin/vi "$@" -) - -__view_internal_vim_alias() -( - # run vim -R instead of view if vim installed - test -f /usr/bin/vim && exec /usr/bin/vim -R "$@" - - # run view otherwise - test -f /usr/bin/view && exec /usr/bin/view "$@" -) - - -if [ -n "${BASH_VERSION-}" -o -n "${KSH_VERSION-}" -o -n "${ZSH_VERSION-}" ]; then - # This will avoid user defined aliases - case "$(command -v vim)-$(command -v vi)" in - "/usr/bin/vim-/usr/bin/vi" | "-/usr/bin/vi") - # apply only when founded vim and vi are in expected dirs from distro - # we need to call a shell function to avoid shell restarts when vi/vim - # is being installed/uninstalled - alias vi=__vi_internal_vim_alias - alias view=__view_internal_vim_alias - alias vim=__vi_internal_vim_alias - ;; - esac -fi diff --git a/vim.spec b/vim.spec index 19e24d68..a039308e 100644 --- a/vim.spec +++ b/vim.spec @@ -1,4 +1,4 @@ -%define patchlevel 2311 +%define patchlevel 2465 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} %define WITH_SELINUX 1 %endif @@ -24,23 +24,24 @@ Version: %{baseversion}.%{patchlevel} Release: 1%{?dist} License: Vim and MIT Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}-%{patchlevel}.tar.bz2 -Source1: vim.sh -Source2: vim.csh -Source4: virc -Source5: vimrc -Source7: gvim16.png -Source8: gvim32.png -Source9: gvim48.png -Source10: gvim64.png +Source1: virc +Source2: vimrc +Source3: gvim16.png +Source4: gvim32.png +Source5: gvim48.png +Source6: gvim64.png +Source7: spec-template.new +Source8: macros.vim +Source9: vim-default-editor.sh +Source10: vim-default-editor.csh +Source11: vim-default-editor.fish +Source12: view_wrapper +Source13: vim_wrapper + %if %{withvimspell} -Source13: vim-spell-files.tar.bz2 +Source100: vim-spell-files.tar.bz2 %endif -Source14: spec-template.new -Source15: macros.vim -Source16: vim-default-editor.sh -Source17: vim-default-editor.csh -Source18: vim-default-editor.fish -Source19: vim.fish + Patch2002: vim-7.0-fixkeys.patch Patch2003: vim-7.4-specsyntax.patch @@ -63,7 +64,6 @@ Patch3016: vim-8.0-copy-paste.patch Patch3017: vim-python3-tests.patch # fips warning Patch3018: vim-crypto-warning.patch -Patch3019: vim-ruby30ftbfs.patch # gcc is no longer in buildroot by default BuildRequires: gcc @@ -126,11 +126,9 @@ Summary: A minimal version of the VIM editor # conflicts in package because of manpage move (bug #1599663) # remove when a new RHEL is released (current 8) Conflicts: %{name}-common < %{epoch}:8.1.1-1 -# now vim-minimal ships vim.sh, vim.csh and vim.fish too, so we need to conflict -# remove when a new RHEL is released (current 8) -Conflicts: vim-enhanced <= 2:8.2.2146-2 Provides: vi Provides: %{_bindir}/vi +Requires: vim-wrappers %description minimal VIM (VIsual editor iMproved) is an updated and improved version of the @@ -143,9 +141,6 @@ only available when the vim-common package is installed. %package enhanced Summary: A version of the VIM editor which includes recent enhancements -# now vim-minimal ships vim.sh, vim.csh and vim.fish too, so we need to conflict -# remove when a new RHEL is released (current 8) -Conflicts: vim-minimal <= 2:8.2.2146-2 # vim bundles libvterm, which is used during build - so we need to provide # bundled libvterm for catching possible libvterm CVEs Provides: bundled(libvterm) @@ -153,6 +148,7 @@ Provides: vim Provides: %{_bindir}/mergetool Provides: %{_bindir}/vim Requires: vim-common = %{epoch}:%{version}-%{release} which +Requires: vim-wrappers # suggest python3, python2, lua, ruby and perl packages because of their # embedded functionality in Vim/GVim Suggests: python3 python3-libs @@ -239,6 +235,18 @@ Requires: vim-enhanced %description default-editor This subpackage contains files needed to set Vim as the default editor. +%package wrappers +Summary: Ships shell wrappers defining vi/view/vim +BuildArch: noarch +Conflicts: vim-enhanced < 2:8.2.2465-1 +Conflicts: vim-minimal < 2:8.2.2465-1 + +%description wrappers +The subpackage contains shell scripts, which are shipped as vi/view/vim. +The scripts provide the same functionality as aliases, but they work for sudo too. +They are shipped as a separate package because both vim-minimal and vim-enhanced need +them. + %prep %setup -q -b 0 -n %{vimdir} @@ -256,7 +264,7 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk # install spell files %if %{withvimspell} -%{__tar} xjf %{SOURCE13} +%{__tar} xjf %{SOURCE100} %endif %patch3000 -p1 @@ -271,7 +279,6 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch3016 -p1 -b .copypaste %patch3017 -p1 -b .python-tests %patch3018 -p1 -%patch3019 -p1 -b .ruby30 %build cd src @@ -404,7 +411,7 @@ cp vim enhanced-vim mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_datadir}/%{name}/vimfiles/{after,autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor} mkdir -p %{buildroot}/%{_datadir}/%{name}/vimfiles/after/{autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor} -cp -f %{SOURCE14} %{buildroot}/%{_datadir}/%{name}/vimfiles/template.spec +cp -f %{SOURCE7} %{buildroot}/%{_datadir}/%{name}/vimfiles/template.spec cp runtime/doc/uganda.txt LICENSE # Those aren't Linux info files but some binary files for Amiga: rm -f README*.info @@ -415,21 +422,25 @@ cd src # and put the stripped files into correct dirs. Build system (koji/brew) # does it for us, so there is no need to do it in Vim %make_install BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} STRIP=/bin/true +# make install creates vim binary and view symlink, they will be wrappers +# so remove them here +%{_bindir}/rm -f %{buildroot}%{_bindir}/{vim,view} make installgtutorbin DESTDIR=%{buildroot} BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps -install -m755 minimal-vim %{buildroot}%{_bindir}/vi -install -m755 enhanced-vim %{buildroot}%{_bindir}/vim +mkdir -p %{buildroot}%{_libexecdir} +install -m755 minimal-vim %{buildroot}%{_libexecdir}/vi +install -m755 enhanced-vim %{buildroot}%{_libexecdir}/vim install -m755 gvim %{buildroot}%{_bindir}/gvim -install -p -m644 %{SOURCE7} \ +install -m755 %{SOURCE12} %{buildroot}%{_bindir}/view +install -m755 %{SOURCE13} %{buildroot}%{_bindir}/vim +install -p -m644 %{SOURCE3} \ %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gvim.png -install -p -m644 %{SOURCE8} \ +install -p -m644 %{SOURCE4} \ %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gvim.png -install -p -m644 %{SOURCE9} \ +install -p -m644 %{SOURCE5} \ %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gvim.png -install -p -m644 %{SOURCE10} \ +install -p -m644 %{SOURCE6} \ %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/gvim.png -#cp -f %{SOURCE17} %{buildroot}/%{_datadir}/%{name}/%{vimdir}/ftplugin/spec.vim -#cp -f %{SOURCE18} %{buildroot}/%{_datadir}/%{name}/%{vimdir}/syntax/spec.vim # Register as an application to be visible in the software center # @@ -475,12 +486,12 @@ SentUpstream: 2014-05-22 EOF ( cd %{buildroot} - ln -sf vi ./%{_bindir}/rvi - ln -sf vi ./%{_bindir}/rview - ln -sf vi ./%{_bindir}/view - ln -sf vi ./%{_bindir}/ex - ln -sf vim ./%{_bindir}/rvim - ln -sf vim ./%{_bindir}/vimdiff + ln -sf %{_bindir}/vim .%{_bindir}/vi + ln -sf %{_libexecdir}/vi .%{_bindir}/rvi + ln -sf %{_libexecdir}/vi .%{_bindir}/rview + ln -sf %{_libexecdir}/vi .%{_bindir}/ex + ln -sf %{_libexecdir}/vim .%{_bindir}/rvim + ln -sf %{_libexecdir}/vim .%{_bindir}/vimdiff perl -pi -e "s,%{buildroot},," .%{_mandir}/man1/vim.1 .%{_mandir}/man1/vimtutor.1 rm -f .%{_mandir}/man1/rvim.1 cp -p .%{_mandir}/man1/vim.1 .%{_mandir}/man1/vi.1 @@ -541,19 +552,13 @@ chmod 644 %{buildroot}/%{_datadir}/%{name}/%{vimdir}/doc/vim2html.pl \ chmod 644 ../runtime/doc/vim2html.pl mkdir -p %{buildroot}/%{_sysconfdir}/profile.d -install -p -m644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/profile.d/vi.sh -install -p -m644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/profile.d/vim.sh -install -p -m644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/profile.d/vi.csh -install -p -m644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/profile.d/vim.csh -install -p -m644 %{SOURCE16} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.sh -install -p -m644 %{SOURCE17} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.csh +install -p -m644 %{SOURCE9} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.sh +install -p -m644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.csh mkdir -p %{buildroot}/%{_datadir}/fish/vendor_conf.d/ -install -p -m644 %{SOURCE18} %{buildroot}/%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish +install -p -m644 %{SOURCE11} %{buildroot}/%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ -install -p -m644 %{SOURCE19} %{buildroot}/%{_datadir}/fish/vendor_functions.d/vi.fish -install -p -m644 %{SOURCE19} %{buildroot}/%{_datadir}/fish/vendor_functions.d/vim.fish -install -p -m644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/virc -install -p -m644 %{SOURCE5} %{buildroot}/%{_sysconfdir}/vimrc +install -p -m644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/virc +install -p -m644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/vimrc # if Vim isn't built for Fedora, use redhat augroup %if 0%{?rhel} >= 7 @@ -562,7 +567,7 @@ sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/virc %endif mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ -install -p -m644 %{SOURCE15} %{buildroot}%{_rpmconfigdir}/macros.d/ +install -p -m644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/macros.d/ (cd ../runtime; rm -rf doc; ln -svf ../../vim/%{vimdir}/doc docs;) rm -f %{buildroot}/%{_datadir}/vim/%{vimdir}/macros/maze/maze*.c @@ -593,6 +598,7 @@ echo ".so man1/vim.1" > %{buildroot}/%{_mandir}/man5/vimrc.5 echo ".so man1/vi.1" > %{buildroot}/%{_mandir}/man5/virc.5 touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags + # Refresh documentation helptags %transfiletriggerin common -- %{_datadir}/%{name}/vimfiles/doc %{_bindir}/vim -c ":helptags %{_datadir}/%{name}/vimfiles/doc" -c :q &> /dev/null || : @@ -749,16 +755,17 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %lang(zu) %{_datadir}/%{name}/%{vimdir}/spell/zu.* %endif -%files minimal -%dir %{_datadir}/fish/vendor_functions.d -%{_datadir}/fish/vendor_functions.d/vi.fish -%config(noreplace) %{_sysconfdir}/profile.d/vi.* -%config(noreplace) %{_sysconfdir}/virc -%{_bindir}/ex +%files wrappers %{_bindir}/vi %{_bindir}/view +%{_bindir}/vim + +%files minimal +%config(noreplace) %{_sysconfdir}/virc +%{_bindir}/ex %{_bindir}/rvi %{_bindir}/rview +%{_libexecdir}/vi %{_mandir}/man1/vi.* %{_mandir}/man1/ex.* %{_mandir}/man1/rvi.* @@ -767,13 +774,10 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %{_mandir}/man5/virc.* %files enhanced -%dir %{_datadir}/fish/vendor_functions.d -%{_datadir}/fish/vendor_functions.d/vim.fish -%config(noreplace) %{_sysconfdir}/profile.d/vim.* -%{_bindir}/vim %{_bindir}/rvim %{_bindir}/vimdiff %{_bindir}/vimtutor +%{_libexecdir}/vim %files filesystem %{_rpmconfigdir}/macros.d/macros.vim @@ -829,6 +833,22 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %config(noreplace) %{_sysconfdir}/profile.d/vim-default-editor.* %changelog +* Thu Feb 04 2021 Zdenek Dohnal - 2:8.2.2465-1 +- patchlevel 2465 +- 1918575 - Use wrappers for vi/vim instead of aliases + +* Thu Feb 04 2021 Zdenek Dohnal - 2:8.2.2451-2 +- vim-update.sh: apply changes master->rawhide + +* Tue Feb 02 2021 Zdenek Dohnal - 2:8.2.2451-1 +- patchlevel 2451 + +* Wed Jan 27 2021 Fedora Release Engineering - 2:8.2.2311-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 11 2021 Zdenek Dohnal - 2:8.2.2311-2 +- conflicting the version when the change happened doesnt make sense + * Fri Jan 08 2021 Zdenek Dohnal - 2:8.2.2311-1 - patchlevel 2311 diff --git a/vim_wrapper b/vim_wrapper new file mode 100644 index 00000000..52c02822 --- /dev/null +++ b/vim_wrapper @@ -0,0 +1,10 @@ +#!/usr/bin/sh + +# run vim if available +if test -f /usr/libexec/vim +then + exec /usr/libexec/vim "$@" +fi + +# run vi otherwise +exec /usr/libexec/vi "$@"