]> git.pld-linux.org Git - packages/git-core.git/blobdiff - git-core.spec
- add todo
[packages/git-core.git] / git-core.spec
index 54e6e40383bec3c1e5d41e55f9e38e1aacb38ab6..c3f68365fb8ee537ce053445a6cb2b3578eee65f 100644 (file)
@@ -1,36 +1,52 @@
+# TODO
+# - use %lang: /usr/share/git-gui/lib/msgs
 #
 # Conditional build:
 %bcond_without tests   # don't perform make test
+%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.5.3.4
-Release:       1
+Version:       1.5.5.4
+Release:       2
 License:       GPL v2
 Group:         Development/Tools
 Source0:       http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
-# Source0-md5: b35fd5abba0e8655733c8e8c470f39cf
+# Source0-md5: b0f80ae5e5d818aaccd44b0c9caff6d9
 Source1:       %{name}-gitweb.conf
 Source2:       %{name}-gitweb-httpd.conf
+Source3:       %{name}.sysconfig
+Source4:       %{name}.inet
+Source5:       %{name}.init
+Patch0:                %{name}-bashizm.patch
 URL:           http://git.or.cz/
-BuildRequires: asciidoc >= 7.1.2-3
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: curl-devel
 BuildRequires: expat-devel
+BuildRequires: gettext-devel
 BuildRequires: openssl-devel
 BuildRequires: perl-Error
 BuildRequires: perl-base
-%{?with_tests:BuildRequires:   pdksh >= 5.2.14-46}
 BuildRequires: python
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: rpmbuild(macros) >= 1.264
-BuildRequires: xmlto
 BuildRequires: zlib-devel
+%if %{with doc}
+BuildRequires: asciidoc >= 7.1.2-3
+BuildRequires: xmlto
+%endif
+%if %{with tests}
+# tests failed sometimes when using nserver client 1.11(?)
+BuildRequires: cvs-client >= 1.12
+BuildRequires: pdksh >= 5.2.14-46
+%endif
 Requires:      coreutils
+Requires:      cpio
 Requires:      curl
+Requires:      cvsps >= 2.1-2
 Requires:      diffutils
 Requires:      findutils
 Requires:      grep
@@ -40,6 +56,9 @@ Requires:     rcs
 Requires:      sed
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+# html docs have links to txt files
+%define                _noautocompressdoc      *.txt
+
 %define                webapp          gitweb
 %define                webappdir       %{_sysconfdir}/webapps/%{webapp}
 %define                appdir          %{_datadir}/%{webapp}
@@ -64,21 +83,59 @@ contents efficiently.
 %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.
-- 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.
-  Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
-- "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
-  g*) - kiedy się zepsuje.
+ - 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.
+   Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
+ - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
+   g*) - kiedy się zepsuje.
 
 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
 katalogu.
 
+%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
@@ -107,14 +164,13 @@ 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.
-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.
+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
-osobnym repozytorium, ale z czasem został włączony do głównego
+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
@@ -131,22 +187,26 @@ This package provides a web interface for browsing git repositories.
 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
 
 %package gitview
-Summary:       A GTK based repository browser for git
-Summary(pl.UTF-8):     Oparta na GTK przeglądarka repozytorium gita
+Summary:       A GTK+ based repository browser for git
+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.
+A GTK+ based repository browser for git.
 
 %description gitview -l pl.UTF-8
-Oparta na GTK przeglądarka repozytorium gita.
+Oparta na GTK+ przeglądarka repozytorium gita.
 
 %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
@@ -171,18 +231,17 @@ totally trivial to do over the generic command interface.
 
 %description -n perl-Git -l pl.UTF-8
 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
-wersji Git. W łatwy i dobrze przetestowany sposób pozwala
-wywoływać 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ń.
+wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
+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 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.
@@ -192,6 +251,7 @@ Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
 
 %prep
 %setup -q -n git-%{version}
+%patch0 -p1
 
 %build
 %{__aclocal}
@@ -207,23 +267,26 @@ 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"
 
-%{__make} -C Documentation
+%{?with_doc:%{__make} -C Documentation}
 
 %{?with_tests:%{__make} test}
 
 %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}
 
 %{__make} install \
        INSTALLDIRS=vendor \
        DESTDIR=$RPM_BUILD_ROOT
 
+%if %{with doc}
 %{__make} -C Documentation install \
        DESTDIR=$RPM_BUILD_ROOT
+%endif
 
 # header files and lib
 install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
@@ -246,13 +309,38 @@ install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
 # gitview
 install 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
+
 # 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*
 
 %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}
 
@@ -267,28 +355,49 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc README Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical contrib
-%attr(755,root,root) %{_bindir}/git
-%attr(755,root,root) %{_bindir}/git-*
+%doc README contrib
+%if %{with doc}
+%doc Documentation/RelNotes*
+%doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
 %{_mandir}/man1/git-*.1*
 %{_mandir}/man5/gitattributes.5*
+%{_mandir}/man5/gitcli.5*
 %{_mandir}/man5/gitignore.5*
 %{_mandir}/man5/gitmodules.5*
 %{_mandir}/man7/git.7*
+%endif
+%attr(755,root,root) %{_bindir}/git
+%attr(755,root,root) %{_bindir}/git-*
 %{_datadir}/%{name}
 %{_datadir}/git-gui
-%{_sharedstatedir}/git
+%{_localstatedir}/lib/git
+
+%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
 
 %files gitk
 %defattr(644,root,root,755)
+%if %{with doc}
 %doc Documentation/gitk.html
-%attr(755,root,root) %{_bindir}/gitk
 %{_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(it) %{_datadir}/gitk/lib/msgs/it.msg
 
 %files gitweb
 %defattr(644,root,root,755)
This page took 0.084242 seconds and 4 git commands to generate.