]> git.pld-linux.org Git - packages/git-core.git/blobdiff - git-core.spec
- up to 1.6.5.4
[packages/git-core.git] / git-core.spec
index 877a137edad7fa961508caaf095f7ffa49a46acd..8166648a47607f470800c9195096553aa7588092 100644 (file)
@@ -1,54 +1,61 @@
 #
 # Conditional build:
 %bcond_without tests   # don't perform make test
+%bcond_with            tests_cvs
 %bcond_without doc     # skip building/packaging docs/manuals (takes some time)
 #
 %include       /usr/lib/rpm/macros.perl
 Summary:       The stupid content tracker
 Summary(pl.UTF-8):     Prymitywne narzędzie do śledzenia treści
 Name:          git-core
-Version:       1.6.0.2
+Version:       1.6.5.4
 Release:       1
 License:       GPL v2
 Group:         Development/Tools
 Source0:       http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
-# Source0-md5: 1e4d9bfc1cb0abf165d4de93b5172324
+# Source0-md5: 1c214e8175e8dd372618ecf3d76448f5
 Source1:       %{name}-gitweb.conf
 Source2:       %{name}-gitweb-httpd.conf
 Source3:       %{name}.sysconfig
 Source4:       %{name}.inet
 Source5:       %{name}.init
-URL:           http://git.or.cz/
+URL:           http://git-scm.com/
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: curl-devel
 BuildRequires: expat-devel
 BuildRequires: gettext-devel
 BuildRequires: openssl-devel
-BuildRequires: perl-Error
+BuildRequires: perl-Error > 0.15
 BuildRequires: perl-base
-BuildRequires: python
 BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.264
 BuildRequires: zlib-devel
 %if %{with doc}
 BuildRequires: asciidoc >= 7.1.2-3
+BuildRequires: docbook-dtd45-xml
 BuildRequires: xmlto
 %endif
 %if %{with tests}
-# tests failed sometimes when using nserver client 1.11(?)
-BuildRequires: cvs-client >= 1.12
+%if %{with tests_cvs}
+# tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
+BuildRequires: cvs-gnu-client < 1.13
+BuildRequires: cvs-gnu-client >= 1.12
+%endif
 BuildRequires: pdksh >= 5.2.14-46
 %endif
 Requires:      coreutils
-Requires:      cvsps >= 2.1-2
 Requires:      diffutils
 Requires:      findutils
 Requires:      grep
 Requires:      openssh-clients
 Requires:      perl-Error
-Requires:      rcs
 Requires:      sed
+Suggests:      git-core-cvs
+Suggests:      git-core-svn
+Suggests:      less
+Suggests:      rsync
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # html docs have links to txt files
@@ -224,6 +231,49 @@ repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
 osobnym repozytorium, ale z czasem został włączony do głównego
 repozytorium gita.
 
+%package svn
+Summary:       Subversion support for Git
+Summary(pl.UTF-8):     Obsługa Subversion dla Git
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+
+%description svn
+Subversion support for Git.
+
+%description svn -l pl.UTF-8
+Obsługa Subversion dla Git.
+
+%package cvs
+Summary:       CVS support for Git
+Summary(pl.UTF-8):     Obsługa CVS dla Git
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+Requires:      cvsps >= 2.1-2
+Requires:      rcs
+
+%description cvs
+CVS support for Git.
+
+%description cvs -l pl.UTF-8
+Obsługa CVS dla Git.
+
+%package arch
+Summary:       Git tools for importing Arch repositories
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+Requires:      tla
+
+%description arch
+Git tools for importing Arch repositories.
+
+%package email
+Summary:       Git tools for sending email
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+
+%description email
+Git tools for sending email.
+
 %package -n bash-completion-git
 Summary:       bash-completion for git
 Summary(pl.UTF-8):     bashowe uzupełnianie nazw dla gita
@@ -240,7 +290,6 @@ Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
 Summary:       Perl interface to the Git version control system
 Summary(pl.UTF-8):     Perlowy interfejs do systemu kontroli wersji Git
 Group:         Development/Languages/Perl
-Requires:      %{name} = %{version}-%{release}
 Obsoletes:     perl-git-core
 
 %description -n perl-Git
@@ -280,6 +329,7 @@ Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
        --with-openssl
 
 %{__make} \
+       BLK_SHA1=1 \
        INSTALLDIRS=vendor \
        GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
        GITWEB_PROJECTROOT="/var/lib/git" \
@@ -287,16 +337,20 @@ Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
        GITWEB_LOGO="/gitweb/git-logo.png" \
        GITWEB_FAVICON="/gitweb/git-favicon.png"
 
-%{?with_doc:%{__make} -C Documentation}
+# use DOCBOOK_XSL_172=1 to fix 'the ".ft C" problem' in generated manpages.
+%{?with_doc:%{__make} -C Documentation V=1 DOCBOOK_XSL_172=1}
 
-%{?with_tests:%{__make} test}
+%if %{with tests}
+%if %{without tests_cvs}
+rm t/t*cvs*.sh
+%endif
+%{__make} test
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
-install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
 
 %{__make} install \
@@ -312,37 +366,56 @@ install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
 install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
 install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
 install libgit.a $RPM_BUILD_ROOT%{_libdir}
+install xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
 
 # bash completion
-install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
+cp -a contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
 
 # vim syntax
-install contrib/vim/syntax/gitcommit.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
+install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
+cat > $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax/gitcommit.vim << 'EOF'
+autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG    setf gitcommit
+autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
+autocmd BufNewFile,BufRead git-rebase-todo         setf gitrebase
+autocmd BufNewFile,BufRead .msg.[0-9]*
+       \ if getline(1) =~ '^From.*# This line is ignored.$' |
+       \   setf gitsendemail |
+       \ endif
+autocmd BufNewFile,BufRead *.git/**
+       \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
+       \   setf git |
+       \ endif
+EOF
 
 # gitweb
-install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
-install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
+install -p gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
+cp -a gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
+cp -a %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
+cp -a %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
+cp -a %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
 
 # gitview
-install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
+install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
 
 # git-daemon related files
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
+cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
+cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
+install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
 
 # paths cleanup
-sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon 
+sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
 sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
 
+# hardlink
+ln -f $RPM_BUILD_ROOT%{_bindir}/{git,git-receive-pack}
+ln -f $RPM_BUILD_ROOT%{_bindir}/{git,git-upload-archive}
+ln -f $RPM_BUILD_ROOT{%{_libdir}/%{name},%{_bindir}}/git-shell
+ln -f $RPM_BUILD_ROOT{%{_libdir}/%{name},%{_bindir}}/git-upload-pack
+
 # remove unneeded files
-rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
-rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
-rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
+rm $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
+rm $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -384,6 +457,14 @@ fi
 %doc Documentation/RelNotes*
 %doc Documentation/*.html Documentation/howto Documentation/technical
 %{_mandir}/man1/git-*.1*
+%if 0
+# rpm doesn't support exclude for %%doc
+%exclude Documentation/*svn*.html
+%exclude Documentation/*git-cvs*.html
+%exclude Documentation/git-archimport.html
+%endif
+%exclude %{_mandir}/man1/git-svn.1*
+%exclude %{_mandir}/man1/git-cvs*.1*
 %{_mandir}/man1/git.1*
 %{_mandir}/man5/gitattributes.5*
 %{_mandir}/man5/githooks.5*
@@ -392,17 +473,22 @@ fi
 %{_mandir}/man5/gitrepository-layout.5*
 %{_mandir}/man7/gitcli.7*
 %{_mandir}/man7/gitcore-tutorial.7*
-%{_mandir}/man7/gitcvs-migration.7*
 %{_mandir}/man7/gitdiffcore.7*
 %{_mandir}/man7/gitglossary.7*
 %{_mandir}/man7/gittutorial-2.7*
 %{_mandir}/man7/gittutorial.7*
+%{_mandir}/man7/gitworkflows.7*
 %endif
 %attr(755,root,root) %{_bindir}/git
 %attr(755,root,root) %{_bindir}/git-*
 %dir %{_libdir}/%{name}
 %attr(755,root,root) %{_libdir}/%{name}/*-*
+%attr(755,root,root) %{_libdir}/%{name}/git
 %exclude %{_libdir}/%{name}/git-gui
+%exclude %{_libdir}/%{name}/git-svn
+%exclude %{_libdir}/%{name}/git-archimport
+%exclude %{_libdir}/%{name}/git-cvs*
+%exclude %{_libdir}/%{name}/*email*
 %{_datadir}/%{name}
 %{_localstatedir}/lib/git
 
@@ -419,6 +505,7 @@ fi
 %defattr(644,root,root,755)
 %{_includedir}/git-core
 %{_libdir}/libgit.a
+%{_libdir}/libgit_xdiff.a
 
 %files gitk
 %defattr(644,root,root,755)
@@ -432,6 +519,7 @@ fi
 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
+%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
 
 %files gitweb
@@ -464,10 +552,46 @@ fi
 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
+%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
 %lang(zh_cn) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
 
+%files svn
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-svn
+%if %{with doc}
+%{_mandir}/man1/git-svn.1*
+%doc Documentation/*svn*.html
+%endif
+
+%files cvs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-cvs*
+%if %{with doc}
+%doc Documentation/*git-cvs*.html
+%{_mandir}/man1/git-cvs*.1*
+%{_mandir}/man7/gitcvs-migration.7*
+%endif
+
+%files arch
+%defattr(644,root,root,755)
+%doc Documentation/git-archimport.txt
+%attr(755,root,root) %{_libdir}/%{name}/git-archimport
+%if %{with doc}
+%doc Documentation/git-archimport.html
+%{_mandir}/man1/git-archimport.1*
+%endif
+
+%files email
+%defattr(644,root,root,755)
+%doc Documentation/*email*.txt
+%attr(755,root,root) %{_libdir}/%{name}/*email*
+%if %{with doc}
+%doc Documentation/*email*.html
+%{_mandir}/man1/*email*.1*
+%endif
+
 %files -n bash-completion-git
 %defattr(644,root,root,755)
 %{_sysconfdir}/bash_completion.d/*
@@ -480,4 +604,4 @@ fi
 %files -n vim-syntax-gitcommit
 %defattr(644,root,root,755)
 %doc contrib/vim/README
-%{_datadir}/vim/vimfiles/syntax/*
+%{_datadir}/vim/vimfiles/syntax/*.vim
This page took 0.093557 seconds and 4 git commands to generate.