]> git.pld-linux.org Git - packages/git-core.git/blobdiff - git-core.spec
noarch bash completions
[packages/git-core.git] / git-core.spec
index 3946c6eeba71af5f3ae1497567967c8d4cb34e36..1fd06ae8d00d8c54500e2aebb4ea2e62bfb023c8 100644 (file)
@@ -2,28 +2,32 @@
 # Conditional build:
 %bcond_without tests           # don't perform make test
 %bcond_with    tests_cvs       # perform tests which use CVS
-%bcond_with    tests_svn       # perform tests which use subversion
+%bcond_without tests_svn       # perform tests which use subversion
 %bcond_without doc             # skip building/packaging docs/manuals (takes some time)
+%bcond_without pcre            # perl-compatible regexes support
 
 %include       /usr/lib/rpm/macros.perl
 Summary:       Distributed version control system focused on speed, effectivity and usability
 Summary(pl.UTF-8):     Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
 Name:          git-core
-Version:       1.7.12
-Release:       1
+Version:       1.9.0
+Release:       2
 License:       GPL v2
 Group:         Development/Tools
 Source0:       http://git-core.googlecode.com/files/git-%{version}.tar.gz
-# Source0-md5: ceb1a6b17a3e33bbc70eadf8fce5876c
+# Source0-md5: e16c14b27c644b8e0dd72bdb5ff77450
 Source1:       %{name}-gitweb.conf
 Source2:       %{name}-gitweb-httpd.conf
 Source3:       %{name}-gitweb-lighttpd.conf
 Source4:       %{name}.sysconfig
 Source5:       %{name}.inet
 Source6:       %{name}.init
+Source7:       gitolite.pl
 Patch0:                %{name}-tests.patch
 Patch1:                %{name}-key-bindings.patch
 Patch2:                %{name}-sysconfdir.patch
+Patch3:                cherry-picked-commitlog.patch
+Patch4:                %{name}-svn-exit-errors.patch
 URL:           http://git-scm.com/
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
@@ -31,12 +35,13 @@ BuildRequires:      curl-devel
 BuildRequires: expat-devel
 BuildRequires: gettext-devel
 BuildRequires: openssl-devel
+%{?with_pcre:BuildRequires:    pcre-devel}
 BuildRequires: perl-Error > 0.15
 BuildRequires: perl-base
 BuildRequires: python-devel
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.264
+BuildRequires: rpmbuild(macros) >= 1.673
 BuildRequires: tcl
 BuildRequires: zlib-devel
 %if %{with doc}
@@ -50,6 +55,7 @@ BuildRequires:        xmlto
 BuildRequires: cvs-gnu-client < 1.13
 BuildRequires: cvs-gnu-client >= 1.12
 %endif
+%{?with_tests_svn:BuildRequires:  subversion}
 Conflicts:     pdksh < 5.2.14-46
 %endif
 Requires:      coreutils
@@ -60,10 +66,14 @@ Requires:   openssh-clients
 Requires:      perl-Error
 Requires:      perl-Git = %{version}-%{release}
 Requires:      sed
+Suggests:      git-core-bzr
 Suggests:      git-core-cvs
+Suggests:      git-core-hg
+Suggests:      git-core-p4
 Suggests:      git-core-svn
 Suggests:      less
 Suggests:      rsync
+Obsoletes:     python-Git
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # html docs have links to txt files
@@ -161,16 +171,16 @@ udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
 do uruchomienia git-daemona w trybie usługi samodzielnej.
 
 %package devel
-Summary:       Header files for git-core
-Summary(pl.UTF-8):     Pliki nagłówkowe dla git-core
+Summary:       Git library with header files
+Summary(pl.UTF-8):     Biblioteka Gita oraz pliki nagłówkowe
 Group:         Development/Libraries
 Requires:      zlib-devel
 
 %description devel
-Header files for git-core.
+Git library with header files.
 
 %description devel -l pl.UTF-8
-Pliki nagłówkowe dla git-core.
+Biblioteka Gita oraz pliki nagłówkowe.
 
 %package gitk
 Summary:       Tcl/Tk interface to the Git version control system
@@ -204,6 +214,7 @@ Summary(pl.UTF-8):  Frontend WWW do gita
 Group:         Development/Tools
 Requires:      %{name} = %{version}-%{release}
 Requires:      webapps
+Requires:      webserver(access)
 Requires:      webserver(alias)
 Requires:      webserver(cgi)
 Suggests:      webserver(setenv)
@@ -259,19 +270,31 @@ 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 Gita
+%package arch
+Summary:       Git tools for importing Arch repositories
+Summary(pl.UTF-8):     Narzędzia Gita do importowania repozytoriów Archa
 Group:         Development/Tools
 Requires:      %{name} = %{version}-%{release}
-Requires:      perl-Encode
-Requires:      perl-Term-ReadKey
+Requires:      tla
 
-%description svn
-Subversion support for Git.
+%description arch
+Git tools for importing Arch repositories.
 
-%description svn -l pl.UTF-8
-Obsługa Subversion dla Gita.
+%description arch -l pl.UTF-8
+Narzędzia Gita do importowania repozytoriów Archa.
+
+%package bzr
+Summary:       Git tools for working with bzr repositories
+Summary(pl.UTF-8):     Narzędzia Gita do pracy z repozytoriami bzr
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+Requires:      bzr
+
+%description bzr
+Git tools for working with bzr repositories.
+
+%description bzr -l pl.UTF-8
+Narzędzia Gita do pracy z repozytoriami bzr.
 
 %package cvs
 Summary:       CVS support for Git
@@ -287,18 +310,44 @@ CVS support for Git.
 %description cvs -l pl.UTF-8
 Obsługa CVS dla Gita.
 
-%package arch
-Summary:       Git tools for importing Arch repositories
-Summary(pl.UTF-8):     Narzędzia Gita do importowania repozytoriów Archa
+%package hg
+Summary:       Git tools for working with mercurial repositories
+Summary(pl.UTF-8):     Narzędzia Gita do pracy z repozytoriami mercuriala
 Group:         Development/Tools
 Requires:      %{name} = %{version}-%{release}
-Requires:      tla
+Requires:      mercurial >= 1.8
 
-%description arch
-Git tools for importing Arch repositories.
+%description hg
+Git tools for working with mercurial repositories.
 
-%description arch -l pl.UTF-8
-Narzędzia Gita do importowania repozytoriów Archa.
+%description hg -l pl.UTF-8
+Narzędzia Gita do pracy z repozytoriami mercuriala.
+
+%package p4
+Summary:       Git tools for working with Perforce depots
+Summary(pl.UTF-8):     Narzędzia Gita do pracy z magazynami Perforce'a
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+
+%description p4
+Git tools for working with Perforce depots.
+
+%description p4 -l pl.UTF-8
+Narzędzia Gita do pracy z magazynami Perforce'a.
+
+%package svn
+Summary:       Subversion support for Git
+Summary(pl.UTF-8):     Obsługa Subversion dla Gita
+Group:         Development/Tools
+Requires:      %{name} = %{version}-%{release}
+Requires:      perl-Encode
+Requires:      perl-Term-ReadKey
+
+%description svn
+Subversion support for Git.
+
+%description svn -l pl.UTF-8
+Obsługa Subversion dla Gita.
 
 %package email
 Summary:       Git tools for sending email
@@ -317,7 +366,10 @@ Summary:   bash-completion for git
 Summary(pl.UTF-8):     bashowe uzupełnianie nazw dla gita
 Group:         Applications/Shells
 Requires:      %{name} = %{version}-%{release}
-Requires:      bash-completion
+Requires:      bash-completion >= 2.0
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description -n bash-completion-git
 This package provides bash-completion for git.
@@ -345,45 +397,20 @@ dowolne polecenia Gita; w przyszłości interfejs udostępni także
 specjalne metody do łatwego wykonywania operacji nietrywialnych do
 wykonania przy użyciu ogólnego interfejsu poleceń.
 
-%package -n python-Git
-Summary:       Python Git remote helpers for non-git repositories
-Summary(pl.UTF-8):     Pythonowe zdalne moduły pomocnicze dla repozytoriów niegitowych
-Group:         Development/Languages/Python
-Requires:      %{name} = %{version}-%{release}
-
-%description -n python-Git
-This package contains Python git_repote_helpers package - Git remote
-helpers for non-git repositories.
-
-%description -n python-Git -l pl.UTF-8
-Ten pakiet zawiera pakiet Pythona git_remote_helpers - zdalne moduły
-pomocnicze Gita dla repozytoriów niegitowych.
-
-%package -n vim-syntax-gitcommit
-Summary:       Vim syntax: gitcommit
-Summary(pl.UTF-8):     Składnia dla Vima: gitcommit
-Group:         Applications/Editors/Vim
-Requires:      %{name} = %{version}-%{release}
-# for _vimdatadir existence
-Requires:      vim-rt >= 4:6.3.058-3
-
-%description -n vim-syntax-gitcommit
-This plugin provides syntax highlighting for git's commit messages.
-
-%description -n vim-syntax-gitcommit -l pl.UTF-8
-Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
-
 %prep
 %setup -q -n git-%{version}
 %patch0 -p1
 %patch1 -p0
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
 %{__aclocal}
 %{__autoconf}
 %configure \
        --sysconfdir=%{_sysconfdir}/git-core \
+       %{?with_pcre:--with-libpcre} \
        --with-openssl
 
 echo "BLK_SHA1=1" >> config.mak
@@ -397,11 +424,17 @@ echo "BLK_SHA1=1" >> config.mak
        GITWEB_FAVICON="/gitweb/git-favicon.png" \
        V=1
 
-%{?with_doc:%{__make} -C Documentation V=1}
+%{__make} -C contrib/subtree
+
+%if %{with doc}
+%{__make} -C Documentation \
+       MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
+       V=1
+%endif
 
 %if %{with tests}
 %if %{without tests_cvs}
-rm t/t*cvs*.sh || :
+%{__rm} t/t*cvs*.sh || :
 %endif
 %{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
 %endif
@@ -434,33 +467,37 @@ cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}
 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
+install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
+cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
+cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
+
+%{__make} -C contrib/subtree install \
+       libexecdir=%{_libdir}/%{name} \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%if %{with doc}
+%{__make} -C contrib/subtree install-doc \
+       DESTDIR=$RPM_BUILD_ROOT
+%endif
 
 # bash completion
-install -d $RPM_BUILD_ROOT/etc/bash_completion.d
-cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT/etc/bash_completion.d
-
-# vim 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
+install -d $RPM_BUILD_ROOT%{bash_compdir}
+cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
+
+# Install git-prompt.sh
+install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
+cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
+
+# Install bzr and hg remote helpers from contrib
+install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{_libdir}/%{name}
 
 # gitweb
 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
@@ -469,8 +506,8 @@ cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
 install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
 
 # git-daemon related files
-cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
-cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
 
 # paths cleanup
@@ -545,9 +582,10 @@ fi
 %exclude %{_mandir}/man1/git-archimport.1*
 %exclude %{_mandir}/man1/git-svn.1*
 %exclude %{_mandir}/man1/git-cvs*.1*
+%exclude %{_mandir}/man1/git-imap-send*.1*
 %exclude %{_mandir}/man1/*email*.1*
-%exclude %{_mandir}/man1/git-remote-helpers.1*
 %{_mandir}/man1/git.1*
+%{_mandir}/man1/gitremote-helpers.1*
 %{_mandir}/man5/gitattributes.5*
 %{_mandir}/man5/githooks.5*
 %{_mandir}/man5/gitignore.5*
@@ -568,19 +606,25 @@ fi
 %dir %{_libdir}/%{name}
 %attr(755,root,root) %{_libdir}/%{name}/*-*
 %attr(755,root,root) %{_libdir}/%{name}/git
-%{_libdir}/%{name}/mergetools
+%dir %{_libdir}/%{name}/mergetools
+%{_libdir}/%{name}/mergetools/*
 
-%exclude %{_libdir}/%{name}/git-gui
-%exclude %{_libdir}/%{name}/git-svn
+%{_datadir}/%{name}
+%{_localstatedir}/lib/git
+
+# subpackages
+%exclude %{_libdir}/%{name}/*email*
+%exclude %{_libdir}/%{name}/*p4*
 %exclude %{_libdir}/%{name}/git-archimport
 %exclude %{_libdir}/%{name}/git-cvs*
+%exclude %{_libdir}/%{name}/git-gui
+%exclude %{_libdir}/%{name}/git-imap-send
 %exclude %{_libdir}/%{name}/git-instaweb
-%exclude %{_libdir}/%{name}/git-remote-testgit
-%exclude %{_libdir}/%{name}/*email*
-
-%{_datadir}/%{name}
-
-%{_localstatedir}/lib/git
+%exclude %{_libdir}/%{name}/git-remote-bzr
+%exclude %{_libdir}/%{name}/git-remote-hg
+%exclude %{_libdir}/%{name}/git-remote-testsvn
+%exclude %{_libdir}/%{name}/git-svn
+%exclude %{_libdir}/%{name}/mergetools/p4merge
 
 %if %{with doc}
 %files doc
@@ -613,6 +657,7 @@ fi
 %dir %{_datadir}/gitk
 %dir %{_datadir}/gitk/lib
 %dir %{_datadir}/gitk/lib/msgs
+%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
@@ -627,10 +672,11 @@ fi
 %defattr(644,root,root,755)
 %doc gitweb/{README,INSTALL}
 %dir %{webappdir}
-%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
+%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
+%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
 %attr(755,root,root) %{cgibindir}/gitweb.cgi
 %{appdir}
 %attr(755,root,root) %{_libdir}/%{name}/git-instaweb
@@ -654,6 +700,7 @@ fi
 %{_datadir}/git-gui/lib/tclIndex
 %{_datadir}/git-gui/lib/*.js
 %{_datadir}/git-gui/lib/*.tcl
+%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
@@ -666,15 +713,17 @@ fi
 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
 
-%files svn
+%files arch
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-svn
-%{perl_vendorlib}/Git/SVN
-%{perl_vendorlib}/Git/SVN.pm
+%attr(755,root,root) %{_libdir}/%{name}/git-archimport
 %if %{with doc}
-%{_mandir}/man1/git-svn.1*
+%{_mandir}/man1/git-archimport.1*
 %endif
 
+%files bzr
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-remote-bzr
+
 %files cvs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/git-cvsserver
@@ -684,23 +733,37 @@ fi
 %{_mandir}/man7/gitcvs-migration.7*
 %endif
 
-%files arch
+%files hg
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-archimport
+%attr(755,root,root) %{_libdir}/%{name}/git-remote-hg
+
+%files p4
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-p4
+%attr(755,root,root) %{_libdir}/%{name}/mergetools/p4merge
+
+%files svn
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-svn
+%attr(755,root,root) %{_libdir}/%{name}/git-remote-testsvn
+%{perl_vendorlib}/Git/SVN
+%{perl_vendorlib}/Git/SVN.pm
 %if %{with doc}
-%{_mandir}/man1/git-archimport.1*
+%{_mandir}/man1/git-svn.1*
 %endif
 
 %files email
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-imap-send
 %attr(755,root,root) %{_libdir}/%{name}/*email*
 %if %{with doc}
 %{_mandir}/man1/*email*.1*
+%{_mandir}/man1/*imap-send*.1*
 %endif
 
 %files -n bash-completion-git
 %defattr(644,root,root,755)
-/etc/bash_completion.d/git-completion.bash
+%{bash_compdir}/git
 
 %files -n perl-Git
 %defattr(644,root,root,755)
@@ -709,22 +772,3 @@ fi
 %{perl_vendorlib}/Git/I18N.pm
 %{perl_vendorlib}/Git/IndexInfo.pm
 %{_mandir}/man3/Git*.3pm*
-
-%files -n python-Git
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-remote-testgit
-%dir %{py_sitescriptdir}/git_remote_helpers
-%{py_sitescriptdir}/git_remote_helpers/*.py[co]
-%dir %{py_sitescriptdir}/git_remote_helpers/git
-%{py_sitescriptdir}/git_remote_helpers/git/*.py[co]
-%if "%{py_ver}" > "2.4"
-%{py_sitescriptdir}/git_remote_helpers*.egg-info
-%endif
-%if %{with doc}
-%{_mandir}/man1/git-remote-helpers.1*
-%endif
-
-%files -n vim-syntax-gitcommit
-%defattr(644,root,root,755)
-%doc contrib/vim/README
-%{_datadir}/vim/vimfiles/syntax/gitcommit.vim
This page took 1.474117 seconds and 4 git commands to generate.