X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=git-core.spec;h=62d697a0d34c00558a54b533fd078db4585e4003;hb=feb8e9b10aa1893a8a9436aa321502f887ebecae;hp=9f4c761901afebd6d475faae7318f5872a16d983;hpb=ab69fe7db8ceeee21df59d2a1e36c1bf7233b251;p=packages%2Fgit-core.git diff --git a/git-core.spec b/git-core.spec index 9f4c761..62d697a 100644 --- a/git-core.spec +++ b/git-core.spec @@ -1,26 +1,65 @@ +# +# 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): Prymitywne narzêdzie do ¶ledzenia tre¶ci +Summary(pl.UTF-8): Prymitywne narzędzie do śledzenia treści Name: git-core -Version: 1.4.4.2 -Release: 1 +Version: 1.5.6 +Release: 3 License: GPL v2 Group: Development/Tools Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2 -# Source0-md5: c4f72d96f62ae97c6e8d5cdb4afd55ca +# Source0-md5: 76c4efaaa5470a5385e22d99349a97b3 +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 +BuildRequires: autoconf +BuildRequires: automake BuildRequires: curl-devel BuildRequires: expat-devel +BuildRequires: gettext-devel BuildRequires: openssl-devel BuildRequires: perl-Error BuildRequires: perl-base BuildRequires: python BuildRequires: rpm-perlprov >= 4.1-13 -BuildRequires: xmlto +BuildRequires: rpmbuild(macros) >= 1.264 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: cvsps >= 2.1-2 +Requires: diffutils +Requires: findutils +Requires: grep +Requires: openssh-clients +Requires: perl-Error +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} +%define cgibindir %{_prefix}/lib/cgi-bin + %description "git" can mean anything, depending on your mood. @@ -37,37 +76,170 @@ 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 contents efficiently. -%description -l pl -"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. - -Jest to prymitywny (ale bardzo szybki) zarz±dca tre¶ci s³ownikowej. -Nie robi wiele, ale to, co "robi", to wydajne ¶ledzenie zawarto¶ci +%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. + +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): Pliki nag³ówkowe dla git-core +Summary(pl.UTF-8): Pliki nagłówkowe dla git-core Group: Development/Libraries %description devel Header files for git-core. -%description devel -Pliki nag³ówkowe dla git-core. +%description devel -l pl.UTF-8 +Pliki nagłówkowe dla git-core. + +%package gitk +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 + +%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. + +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. 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 gitweb +Summary: Web frontend to git +Summary(pl.UTF-8): Webowy frontend do git +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +Requires: webapps + +%description gitweb +This package provides a web interface for browsing git repositories. + +%description gitweb -l pl.UTF-8 +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 +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +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 + +%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 -n bash-completion-git +Summary: bash-completion for git +Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita +Group: Applications/Shells +Requires: bash-completion + +%description -n bash-completion-git +This package provides bash-completion for git. + +%description -n bash-completion-git -l pl.UTF-8 +Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita. %package -n perl-Git Summary: Perl interface to the Git version control system -Summary(pl): Perlowy interfejs do systemu kontroli wersji Git +Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git Group: Development/Languages/Perl Requires: %{name} = %{version}-%{release} Obsoletes: perl-git-core @@ -79,68 +251,231 @@ to call arbitrary Git commands; in the future, the interface will also provide specialized methods for doing easily operations which are not totally trivial to do over the generic command interface. -%description -n perl-Git -l pl -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ñ. +%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ń. + +%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-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 %build +%{__aclocal} +%{__autoconf} +%configure \ + --with-openssl + %{__make} \ - prefix=%{_prefix} \ - CC="%{__cc}" \ - CFLAGS="%{rpmcflags}" \ - LDFLAGS="%{rpmldflags}" + 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" -# once again to get perl paths stright -cd perl -%{__perl} Makefile.PL \ - INSTALLDIRS=vendor -%{__make} -cd .. +%{?with_doc:%{__make} -C Documentation} -%{__make} -C Documentation +%{?with_tests:%{__make} test} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff +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 \ - prefix=%{_prefix} \ - CFLAGS="%{rpmcflags}" \ + INSTALLDIRS=vendor \ DESTDIR=$RPM_BUILD_ROOT +%if %{with doc} %{__make} -C Documentation install \ - prefix=%{_prefix} \ - mandir=%{_mandir} \ DESTDIR=$RPM_BUILD_ROOT +%endif +# 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} + +# bash completion +install 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 +# 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 + +# 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} + +%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base +%webapp_unregister apache %{webapp} + +%triggerin gitweb -- apache < 2.2.0, apache-base +%webapp_register httpd %{webapp} + +%triggerun gitweb -- apache < 2.2.0, apache-base +%webapp_unregister httpd %{webapp} + %files %defattr(644,root,root,755) -%doc README Documentation/*.html Documentation/howto Documentation/technical -%attr(755,root,root) %{_bindir}/* -%{_mandir}/man*/* -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/* +%doc README contrib +%if %{with doc} +%doc Documentation/RelNotes* +%doc Documentation/*.html Documentation/howto Documentation/technical +%{_mandir}/man1/git-*.1* +%exclude %{_mandir}/man1/git-gui.1* +%{_mandir}/man1/git.1* +%{_mandir}/man5/gitattributes.5* +%{_mandir}/man5/githooks.5* +%{_mandir}/man5/gitignore.5* +%{_mandir}/man5/gitmodules.5* +%{_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* +%endif +%attr(755,root,root) %{_bindir}/git +%attr(755,root,root) %{_bindir}/git-* +%exclude %{_bindir}/git-gui +%{_datadir}/%{name} +%{_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}/* +%{_includedir}/git-core +%{_libdir}/libgit.a + +%files gitk +%defattr(644,root,root,755) +%if %{with doc} +%{_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(it) %{_datadir}/gitk/lib/msgs/it.msg +%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg + +%files gitweb +%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 +%attr(755,root,root) %{cgibindir}/gitweb.cgi +%{appdir} + +%files gitview +%defattr(644,root,root,755) +%doc contrib/gitview/gitview.txt +%attr(755,root,root) %{_bindir}/gitview + +%files gui +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/git-gui +%{_mandir}/man1/git-gui.1* +%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(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(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 -n bash-completion-git +%defattr(644,root,root,755) +%{_sysconfdir}/bash_completion.d/* %files -n perl-Git %defattr(644,root,root,755) %{perl_vendorlib}/Git.pm -%{_mandir}/man3/* +%{_mandir}/man3/Git.3pm* + +%files -n vim-syntax-gitcommit +%defattr(644,root,root,755) +%doc contrib/vim/README +%{_datadir}/vim/vimfiles/syntax/*