-
+#
# Conditional build:
-%bcond_without tests # don't perform make test
-%bcond_without doc # skip building/packaging docs/manuals (takes some time)
+%bcond_without tests # don't perform make test
+%bcond_with tests_cvs # perform tests which use 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
+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.5.3.5
Release: 1
+Version: 1.7.5.3
License: GPL v2
Group: Development/Tools
Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
-# Source0-md5: 3fdff0bdb3638fce1c4bc6795ed81fb3
+# Source0-md5: 5b5a5e6c1c5c05db6b8dd33e6f3acea4
Source1: %{name}-gitweb.conf
Source2: %{name}-gitweb-httpd.conf
-URL: http://git.or.cz/
+Source3: %{name}-gitweb-lighttpd.conf
+Source4: %{name}.sysconfig
+Source5: %{name}.inet
+Source6: %{name}.init
+Patch0: %{name}-tests.patch
+Patch1: %{name}-key-bindings.patch
+Patch2: %{name}-sysconfdir.patch
+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: python-devel
BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.264
+BuildRequires: tcl
BuildRequires: zlib-devel
%if %{with doc}
BuildRequires: asciidoc >= 7.1.2-3
+BuildRequires: docbook-dtd45-xml
BuildRequires: xmlto
%endif
%if %{with tests}
-BuildRequires: cvs
+%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: cpio
-Requires: curl
Requires: diffutils
Requires: findutils
Requires: grep
Requires: openssh-clients
Requires: perl-Error
-Requires: rcs
+Requires: perl-Git = %{version}-%{release}
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
%description
"git" can mean anything, depending on your mood.
- - random three-letter combination that is pronounceable, and not
- actually used by any common UNIX command. The fact that it is a
- mispronunciation of "get" may or may not be relevant.
- - stupid. contemptible and despicable. simple. Take your pick from the
- dictionary of slang.
- - "global information tracker": you're in a good mood, and it actually
- works for you. Angels sing, and a light suddenly fills the room.
- - "goddamn idiotic truckload of sh*t": when it breaks
+- random three-letter combination that is pronounceable, and not
+ actually used by any common UNIX command. The fact that it is a
+ mispronunciation of "get" may or may not be relevant.
+- stupid. contemptible and despicable. simple. Take your pick from the
+ dictionary of slang.
+- "global information tracker": you're in a good mood, and it actually
+ works for you. Angels sing, and a light suddenly fills the room.
+- "goddamn idiotic truckload of sh*t": when it breaks
This is a stupid (but extremely fast) directory content manager. It
doesn't do a whole lot, but what it 'does' do is track directory
%description -l pl.UTF-8
"git" może oznaczać cokolwiek, w zależności od nastroju.
-- losową kombinację trzech liter, która jest wymawialna i
- właściwie nie używana przez żadne popularne polecenie uniksowe.
- Fakt, że jest to błędna pisownia słowa "get" może mieć lub nie
- mieć znaczenia.
+- losową kombinację trzech liter, która jest wymawialna i właściwie
+ nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
+ błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
- głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
- "global information tracker" (narzędzie do globalnego śledzenia
informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
katalogu.
+%package doc
+Summary: Documentation for git-core
+Summary(pl.UTF-8): Dokumentacja do git-core
+Group: Documentation
+
+%description doc
+Documentation for git-core.
+
+%description doc -l pl.UTF-8
+Dokumentacja do git-core.
+
+%description doc -l fr.UTF-8
+Javadoc pour git-core.
+
+%package daemon-inetd
+Summary: Files necessary to run git-daemon as an inetd service
+Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
+Group: Networking/Daemons
+Requires: %{name} = %{version}-%{release}
+Requires: setup >= 2.4.11-1
+Provides: git-core-daemon
+Obsoletes: git-core-daemon
+Obsoletes: git-core-daemon-standalone
+
+%description daemon-inetd
+Git-daemon is a really simple TCP git daemon that can serve git
+repositories. This package provides all necessarry files to run
+git-daemon as an inetd service.
+
+%description daemon-inetd -l pl.UTF-8
+Git-daemon to prosty demon git korzystający z protokołu TCP do
+udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
+do uruchomienia git-demona w trybie usługi inetd.
+
+%package daemon-standalone
+Summary: Files necessary to run git-daemon as a standalone service
+Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
+Group: Networking/Daemons
+Requires: %{name} = %{version}-%{release}
+Provides: git-core-daemon
+Obsoletes: git-core-daemon
+Obsoletes: git-core-daemon-inetd
+
+%description daemon-standalone
+Git-daemon is a really simple TCP git daemon that can serve git
+repositories. This package provides all necessarry files to run
+git-daemon as an standalone service.
+
+%description daemon-standalone -l pl.UTF-8
+Git-daemon to prosty demon git korzystający z protokołu TCP do
+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
Group: Development/Libraries
+Requires: zlib-devel
%description devel
Header files for git-core.
Requires: tk
%description gitk
-Displays changes in a repository or a selected set of commits. This
-includes visualizing the commit graph, showing information related to
-each commit, and the files in the trees of each revision.
+gitk displays changes in a repository or a selected set of commits.
+This includes visualizing the commit graph, showing information
+related to each commit, and the files in the trees of each revision.
Historically, gitk was the first repository browser. It's written in
Tcl/Tk and started off in a separate repository but was later merged
into the main git repository.
%description gitk -l pl.UTF-8
-Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
+gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
Oznacza to wizualizację grafu commitów, wyświetlanie informacji
-związanych z każdym z commitów oraz listę plików dla każdej
-rewizji.
+związanych z każdym z commitów oraz listę plików dla każdej rewizji.
-Z punktu widzenia historii, gitk był pierwszą przeglądarką
-repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany
-w osobnym repozytorium, ale z czasem został włączony do głównego
+Z historycznego punktu widzenia gitk był pierwszą przeglądarką
+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 gitweb
Summary: Web frontend to git
-Summary(pl.UTF-8): Webowy frontend do git
+Summary(pl.UTF-8): Frontend WWW do gita
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
Requires: webapps
+Requires: webserver(alias)
+Requires: webserver(cgi)
%description gitweb
This package provides a web interface for browsing git repositories.
Summary(pl.UTF-8): Oparta na GTK+ przeglądarka repozytorium gita
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
-#Requires: pytongowe mambo dżambo
+Requires: python >= 1:2.4
+Requires: python-pycairo >= 1.0
+Requires: python-pygobject
+Requires: python-pygtk-gtk >= 2:2.8
+Suggests: python-gnome-desktop-gtksourceview
%description gitview
A GTK+ based repository browser for git.
%description gitview -l pl.UTF-8
Oparta na GTK+ przeglądarka repozytorium gita.
+%package gui
+Summary: Tcl/Tk interface to the Git version control system
+Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Requires: tk
+Requires: xdg-utils
+Suggests: meld
+
+%description gui
+Displays changes in a repository or a selected set of commits. This
+includes visualizing the commit graph, showing information related to
+each commit, and the files in the trees of each revision.
+
+Historically, gitk was the first repository browser. It's written in
+Tcl/Tk and started off in a separate repository but was later merged
+into the main git repository.
+
+%description gui -l pl.UTF-8
+Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
+to wizualizację grafu commitów, wyświetlanie informacji związanych z
+każdym z commitów oraz listę plików dla każdej rewizji.
+
+Z punktu widzenia historii, gitk był pierwszą przeglądarką
+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
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Requires: perl-Term-ReadKey
+
+%description svn
+Subversion support for Git.
+
+%description svn -l pl.UTF-8
+Obsługa Subversion dla Gita.
+
+%package cvs
+Summary: CVS support for Git
+Summary(pl.UTF-8): Obsługa CVS dla Gita
+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 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: tla
+
+%description arch
+Git tools for importing Arch repositories.
+
+%description arch -l pl.UTF-8
+Narzędzia Gita do importowania repozytoriów Archa.
+
+%package email
+Summary: Git tools for sending email
+Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+
+%description email
+Git tools for sending email.
+
+%description email -l pl.UTF-8
+Narzędzia Gita do wysyłania poczty.
+
%package -n bash-completion-git
Summary: bash-completion for git
Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
-Group: Applications/Shell
+Group: Applications/Shells
Requires: bash-completion
%description -n bash-completion-git
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
specjalne metody do łatwego wykonywania operacji nietrywialnych do
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
+Group: Development/Languages/Python
+
+%description -n python-Git
+This module provides Python scripts easy way to interface the Git
+version control system.
+
+%description -n python-Git -l pl.UTF-8
+Ten moduł umożliwia skryptom Pythonowym współpracę z systemem kontroli
+wersji Git.
+
%package -n vim-syntax-gitcommit
Summary: Vim syntax: gitcommit
Summary(pl.UTF-8): Składnia dla Vima: gitcommit
Group: Applications/Editors/Vim
# for _vimdatadir existence
-Requires: vim >= 4:6.3.058-3
+Requires: vim-rt >= 4:6.3.058-3
%description -n vim-syntax-gitcommit
This plugin provides syntax highlighting for git's commit messages.
%prep
%setup -q -n git-%{version}
+%patch0 -p1
+%patch1 -p0
+%patch2 -p1
%build
%{__aclocal}
%{__autoconf}
%configure \
+ --sysconfdir=%{_sysconfdir}/git-core \
--with-openssl
+echo "BLK_SHA1=1" >> config.mak
+
%{__make} \
INSTALLDIRS=vendor \
GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
GITWEB_PROJECTROOT="/var/lib/git" \
GITWEB_CSS="/gitweb/gitweb.css" \
GITWEB_LOGO="/gitweb/git-logo.png" \
- GITWEB_FAVICON="/gitweb/git-favicon.png"
+ GITWEB_FAVICON="/gitweb/git-favicon.png" \
+ V=1
-%{?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,%{_sharedstatedir}/git}
+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}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/git-core
+cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
+[init]
+ templatedir = /etc/git-core/templates
+EOF
%{__make} install \
INSTALLDIRS=vendor \
DESTDIR=$RPM_BUILD_ROOT
%endif
+# copy templates except sample hooks
+cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
+
# header files and lib
-install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
-install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
-install libgit.a $RPM_BUILD_ROOT%{_libdir}
+cp -a *.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
# 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
+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
# gitview
-install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
+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
+install -p %{SOURCE6} $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/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 $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
+rm $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
+%py_postclean
%clean
rm -rf $RPM_BUILD_ROOT
+%post daemon-inetd
+%service -q rc-inetd reload
+
+%postun daemon-inetd
+if [ "$1" = "0" ]; then
+ %service -q rc-inetd reload
+fi
+
+%post daemon-standalone
+/sbin/chkconfig --add git-daemon
+%service git-daemon restart "git-daemon"
+
+%preun daemon-standalone
+if [ "$1" = "0" ]; then
+ %service git-daemon stop
+ /sbin/chkconfig --del git-daemon
+fi
+
%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
%webapp_register apache %{webapp}
%triggerun gitweb -- apache < 2.2.0, apache-base
%webapp_unregister httpd %{webapp}
+%triggerin gitweb -- lighttpd
+%webapp_register lighttpd %{webapp}
+
+%triggerun gitweb -- lighttpd
+%webapp_unregister lighttpd %{webapp}
+
%files
%defattr(644,root,root,755)
%doc README contrib
+%attr(755,root,root) %{_bindir}/git
+%attr(755,root,root) %{_bindir}/git-receive-pack
+%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
+
%if %{with doc}
-%doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
%{_mandir}/man1/git-*.1*
+%exclude %{_mandir}/man1/git-svn.1*
+%exclude %{_mandir}/man1/git-cvs*.1*
+%{_mandir}/man1/git.1*
%{_mandir}/man5/gitattributes.5*
+%{_mandir}/man5/githooks.5*
%{_mandir}/man5/gitignore.5*
%{_mandir}/man5/gitmodules.5*
-%{_mandir}/man7/git.7*
+%{_mandir}/man5/gitrepository-layout.5*
+%{_mandir}/man7/gitcli.7*
+%{_mandir}/man7/gitcore-tutorial.7*
+%{_mandir}/man7/gitdiffcore.7*
+%{_mandir}/man7/gitglossary.7*
+%{_mandir}/man7/gitrevisions.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}
-%{_datadir}/git-gui
-%{_sharedstatedir}/git
+
+%{_localstatedir}/lib/git
+
+%if %{with doc}
+%files doc
+%defattr(644,root,root,755)
+%doc Documentation/RelNotes*
+%doc Documentation/*.html Documentation/howto Documentation/technical
+%endif
+
+%files daemon-inetd
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
+
+%files daemon-standalone
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
+%attr(754,root, root) /etc/rc.d/init.d/git-daemon
%files devel
%defattr(644,root,root,755)
-%{_includedir}/*
-%{_libdir}/*.a
+%{_includedir}/git-core
+%{_libdir}/libgit.a
+%{_libdir}/libgit_xdiff.a
%files gitk
%defattr(644,root,root,755)
%if %{with doc}
-%doc Documentation/gitk.html
%{_mandir}/man1/gitk.1*
%endif
%attr(755,root,root) %{_bindir}/gitk
+%dir %{_datadir}/gitk
+%dir %{_datadir}/gitk/lib
+%dir %{_datadir}/gitk/lib/msgs
+%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
+%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
+%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
+%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
+%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
+%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
+%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
+%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
+%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
%files gitweb
%defattr(644,root,root,755)
%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
%attr(755,root,root) %{cgibindir}/gitweb.cgi
%{appdir}
%doc contrib/gitview/gitview.txt
%attr(755,root,root) %{_bindir}/gitview
+%files gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-gui
+%dir %{_datadir}/git-gui
+%dir %{_datadir}/git-gui/lib
+%dir %{_datadir}/git-gui/lib/msgs
+%{_datadir}/git-gui/lib/git-gui.ico
+%{_datadir}/git-gui/lib/tclIndex
+%{_datadir}/git-gui/lib/*.js
+%{_datadir}/git-gui/lib/*.tcl
+%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
+%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(pt_br) %{_datadir}/git-gui/lib/msgs/pt_br.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*
+%endif
+
+%files cvs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/git-cvsserver
+%attr(755,root,root) %{_libdir}/%{name}/git-cvs*
+%if %{with doc}
+%{_mandir}/man1/git-cvs*.1*
+%{_mandir}/man7/gitcvs-migration.7*
+%endif
+
+%files arch
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/git-archimport
+%if %{with doc}
+%{_mandir}/man1/git-archimport.1*
+%endif
+
+%files email
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/*email*
+%if %{with doc}
+%{_mandir}/man1/*email*.1*
+%endif
+
%files -n bash-completion-git
%defattr(644,root,root,755)
%{_sysconfdir}/bash_completion.d/*
%{perl_vendorlib}/Git.pm
%{_mandir}/man3/Git.3pm*
+%files -n python-Git
+%defattr(644,root,root,755)
+%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
+
%files -n vim-syntax-gitcommit
%defattr(644,root,root,755)
%doc contrib/vim/README
-%{_datadir}/vim/vimfiles/syntax/*
+%{_datadir}/vim/vimfiles/syntax/*.vim