[vim] install everything in /usr

Harald Hoyer harald at fedoraproject.org
Thu Jan 26 12:39:09 UTC 2012


commit 346844e66f8bebea2b61488d39edd70249b2de11
Author: Harald Hoyer <harald at redhat.com>
Date:   Thu Jan 26 13:38:45 2012 +0100

    install everything in /usr
    
    This patch is needed for the /usr-move feature
    https://fedoraproject.org/wiki/Features/UsrMove
    
    This package requires now 'filesystem' >= 3, which is only installable
    on a system which has /bin, /sbin, /lib, /lib64 as symlinks to /usr and
    not regular directories. The 'filesystem' package acts as a guard, to
    prevent *this* package to be installed on old unconverted systems.
    
    New installations will have the 'filesystem' >=3 layout right away, old
    installations need to be converted with anaconda or dracut first; only
    after that, the 'filesystem' package, and also *this* package can be
    installed.
    
    Packages *should* not install files in /bin, /sbin, /lib, /lib64, but
    only in the corresponding directories in /usr. Packages *must* not
    install conflicting files with the same names in the corresponding
    directories in / and /usr. Especially compatibility symlinks must not be
    installed.
    
    Feel free to modify any of the changes to the spec file, but keep the
    above in mind.

 vim.spec |   43 +++++++++++++++++++++----------------------
 1 files changed, 21 insertions(+), 22 deletions(-)
---
diff --git a/vim.spec b/vim.spec
index 31ae884..b39ab81 100644
--- a/vim.spec
+++ b/vim.spec
@@ -24,7 +24,7 @@ Summary: The VIM editor
 URL:     http://www.vim.org/
 Name: vim
 Version: %{baseversion}.%{beta}%{patchlevel}
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: Vim
 Group: Applications/Editors
 Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2
@@ -475,6 +475,7 @@ Requires: desktop-file-utils
 BuildRequires: desktop-file-utils >= %{desktop_file_utils_version}
 %endif
 Epoch: 2
+Conflicts: filesystem < 3
 
 %description
 VIM (VIsual editor iMproved) is an updated and improved version of the
@@ -514,6 +515,7 @@ many different languages.
 Summary: A minimal version of the VIM editor
 Group: Applications/Editors
 Provides: vi = %{version}-%{release}
+Provides: /bin/vi
 
 %description minimal
 VIM (VIsual editor iMproved) is an updated and improved version of the
@@ -1083,7 +1085,6 @@ make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/bin
 mkdir -p $RPM_BUILD_ROOT/%{_bindir}
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name}/vimfiles/{after,autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor}
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name}/vimfiles/after/{autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor}
@@ -1095,12 +1096,12 @@ rm -f README*.info
 
 
 cd src
-make install DESTDIR=$RPM_BUILD_ROOT BINDIR=/bin VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir}
-make installgtutorbin  DESTDIR=$RPM_BUILD_ROOT BINDIR=/bin VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir}
-mv $RPM_BUILD_ROOT/bin/xxd $RPM_BUILD_ROOT/%{_bindir}/xxd
-mv $RPM_BUILD_ROOT/bin/gvimtutor $RPM_BUILD_ROOT/%{_bindir}/gvimtutor
+make install DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir}
+make installgtutorbin  DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir}
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps
-install -m755 gvim $RPM_BUILD_ROOT/%{_bindir}/gvim
+install -m755 vim $RPM_BUILD_ROOT%{_bindir}/vi
+install -m755 enhanced-vim $RPM_BUILD_ROOT%{_bindir}/vim
+install -m755 gvim $RPM_BUILD_ROOT%{_bindir}/gvim
 install -p -m644 %{SOURCE7} \
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/gvim.png
 install -p -m644 %{SOURCE8} \
@@ -1109,17 +1110,12 @@ install -p -m644 %{SOURCE9} \
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/gvim.png
 install -p -m644 %{SOURCE10} \
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/gvim.png
-install -m755 enhanced-vim $RPM_BUILD_ROOT/%{_bindir}/vim
 
 ( cd $RPM_BUILD_ROOT
-  mv ./bin/vimtutor ./%{_bindir}/vimtutor
-  mv ./bin/vim ./bin/vi
-  rm -f ./bin/rvim
-  ln -sf vi ./bin/ex
-  ln -sf vi ./bin/rvi
-  ln -sf vi ./bin/rview
-  ln -sf vi ./bin/view
-  ln -sf vim ./%{_bindir}/ex
+  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
   perl -pi -e "s,$RPM_BUILD_ROOT,," .%{_mandir}/man1/vim.1 .%{_mandir}/man1/vimtutor.1
@@ -1382,18 +1378,17 @@ rm -rf $RPM_BUILD_ROOT
 %files minimal
 %defattr(-,root,root)
 %config(noreplace) %{_sysconfdir}/virc
-/bin/ex
-/bin/vi
-/bin/view
-/bin/rvi
-/bin/rview
+%{_bindir}/ex
+%{_bindir}/vi
+%{_bindir}/view
+%{_bindir}/rvi
+%{_bindir}/rview
 
 %files enhanced
 %defattr(-,root,root)
 %{_bindir}/vim
 %{_bindir}/rvim
 %{_bindir}/vimdiff
-%{_bindir}/ex
 %{_bindir}/vimtutor
 %config(noreplace) %{_sysconfdir}/profile.d/vim.*
 %{_mandir}/man1/rvim.*
@@ -1439,6 +1434,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/icons/hicolor/*/apps/*
 
 %changelog
+* Thu Jan 26 2012 Harald Hoyer <harald at redhat.com> 7.3.393-2
+- install everything in /usr
+  https://fedoraproject.org/wiki/Features/UsrMove
+
 * Thu Jan 05 2012 Karsten Hopp <karsten at redhat.com> 7.3.393-1
 - patchlevel 393
 - fix boolean key 'Terminal' in gvim.desktop


More information about the scm-commits mailing list