# Conditional build:
%bcond_without tests # don't perform make test
%bcond_with tests_cvs # perform tests which use CVS
+%bcond_without tests_svn # perform tests which use subversion
%bcond_without doc # skip building/packaging docs/manuals (takes some time)
-#
+
%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.7
+Version: 1.8.1.4
Release: 1
License: GPL v2
Group: Development/Tools
-# Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
Source0: http://git-core.googlecode.com/files/git-%{version}.tar.gz
-# Source0-md5: 5d645884e688921e773186783b65ce33
+# Source0-md5: 60f32ef4a6b3fa2143b81a28704333ed
Source1: %{name}-gitweb.conf
Source2: %{name}-gitweb-httpd.conf
Source3: %{name}-gitweb-lighttpd.conf
Patch0: %{name}-tests.patch
Patch1: %{name}-key-bindings.patch
Patch2: %{name}-sysconfdir.patch
+Patch3: cherry-picked-commitlog.patch
URL: http://git-scm.com/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.59
BuildRequires: automake
BuildRequires: curl-devel
BuildRequires: expat-devel
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
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
Requires: webapps
Requires: webserver(alias)
Requires: webserver(cgi)
+Suggests: webserver(setenv)
%description gitweb
This package provides a web interface for browsing git repositories.
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
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
%description -n bash-completion-git
wykonania przy użyciu ogólnego interfejsu poleceń.
%package -n python-Git
-Summary: Python interface to the Git version control system
-Summary(pl.UTF-8): Pythonowy interfejs do systemu kontroli wersji 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 module provides Python scripts easy way to interface the Git
-version control system.
+This package contains Python git_repote_helpers package - Git remote
+helpers for non-git repositories.
%description -n python-Git -l pl.UTF-8
-Ten moduł umożliwia skryptom Pythonowym współpracę z systemem kontroli
-wersji Git.
+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
%patch0 -p1
%patch1 -p0
%patch2 -p1
+%patch3 -p1
%build
%{__aclocal}
GITWEB_FAVICON="/gitweb/git-favicon.png" \
V=1
-# 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}
+%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
-%{__make} test
+%{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
%endif
%install
install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/git-core
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
[init]
- templatedir = /etc/git-core/templates
+ templatedir = %{_sysconfdir}/%{name}/templates
EOF
%{__make} install \
%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
# header files and lib
-cp -a *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
+cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
-cp -a xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
-cp -a libgit.a $RPM_BUILD_ROOT%{_libdir}
-cp -a xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
+cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
+cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
+cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
# bash completion
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
-cp -a contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
+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
# gitweb
mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
-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
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
+ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
+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
# gitview
install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
ln -f $RPM_BUILD_ROOT{%{_libdir}/%{name},%{_bindir}}/git-upload-pack
# remove unneeded files
-rm $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
-rm $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
+%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
%py_postclean
+mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
+%find_lang git
+
%clean
rm -rf $RPM_BUILD_ROOT
%triggerun gitweb -- lighttpd
%webapp_unregister lighttpd %{webapp}
-%files
+%files -f git.lang
%defattr(644,root,root,755)
%doc README contrib
%attr(755,root,root) %{_bindir}/git
%attr(755,root,root) %{_bindir}/git-shell
%attr(755,root,root) %{_bindir}/git-upload-archive
%attr(755,root,root) %{_bindir}/git-upload-pack
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/git-core
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
%if %{with doc}
%{_mandir}/man1/git-*.1*
+%exclude %{_mandir}/man1/git-archimport.1*
%exclude %{_mandir}/man1/git-svn.1*
%exclude %{_mandir}/man1/git-cvs*.1*
+%exclude %{_mandir}/man1/*email*.1*
+%exclude %{_mandir}/man1/git-remote-helpers.1*
%{_mandir}/man1/git.1*
%{_mandir}/man5/gitattributes.5*
%{_mandir}/man5/githooks.5*
%{_mandir}/man5/gitrepository-layout.5*
%{_mandir}/man7/gitcli.7*
%{_mandir}/man7/gitcore-tutorial.7*
+%{_mandir}/man7/gitcredentials.7*
%{_mandir}/man7/gitdiffcore.7*
%{_mandir}/man7/gitglossary.7*
%{_mandir}/man7/gitnamespaces.7*
%exclude %{_libdir}/%{name}/git-svn
%exclude %{_libdir}/%{name}/git-archimport
%exclude %{_libdir}/%{name}/git-cvs*
+%exclude %{_libdir}/%{name}/git-instaweb
+%exclude %{_libdir}/%{name}/git-remote-testgit
%exclude %{_libdir}/%{name}/*email*
%{_datadir}/%{name}
%files devel
%defattr(644,root,root,755)
-%{_includedir}/git-core
+%{_includedir}/%{name}
%{_libdir}/libgit.a
%{_libdir}/libgit_xdiff.a
%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
%attr(755,root,root) %{cgibindir}/gitweb.cgi
%{appdir}
+%attr(755,root,root) %{_libdir}/%{name}/git-instaweb
+%if %{with doc}
+%{_mandir}/man1/gitweb.1*
+%{_mandir}/man5/gitweb.conf.5*
+%endif
%files gitview
%defattr(644,root,root,755)
%files svn
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/git-svn
+%{perl_vendorlib}/Git/SVN
+%{perl_vendorlib}/Git/SVN.pm
%if %{with doc}
%{_mandir}/man1/git-svn.1*
%endif
%files -n bash-completion-git
%defattr(644,root,root,755)
-%{_sysconfdir}/bash_completion.d/*
+/etc/bash_completion.d/git-completion.bash
%files -n perl-Git
%defattr(644,root,root,755)
%{perl_vendorlib}/Git.pm
-%{_mandir}/man3/Git.3pm*
+%dir %{perl_vendorlib}/Git
+%{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
%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/*.vim
+%{_datadir}/vim/vimfiles/syntax/gitcommit.vim