X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=git-core.spec;h=0580a68525189a2f241ec44b76094fb16c563fc0;hb=9de35a3f4ee5d7149930c25cf98f3e45438f6391;hp=4c22c6b1ed13ea6f785bb4521b4e1399550a0b90;hpb=06705076fc27e0317ed889a573223687196709be;p=packages%2Fgit-core.git diff --git a/git-core.spec b/git-core.spec index 4c22c6b..0580a68 100644 --- a/git-core.spec +++ b/git-core.spec @@ -1,55 +1,63 @@ # # Conditional build: %bcond_without tests # don't perform make test +%bcond_with tests_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 Name: git-core -Version: 1.5.3.8 +Version: 1.7.0.4 Release: 1 License: GPL v2 Group: Development/Tools Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2 -# Source0-md5: bb2477df09d4af52b05f0ee64d6ccc54 +# Source0-md5: 1cc8b2aea57e5e999ccac18ae355f760 Source1: %{name}-gitweb.conf Source2: %{name}-gitweb-httpd.conf Source3: %{name}.sysconfig Source4: %{name}.inet Source5: %{name}.init -URL: http://git.or.cz/ +Patch0: %{name}-tests.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: zlib-devel %if %{with doc} BuildRequires: asciidoc >= 7.1.2-3 +BuildRequires: docbook-dtd45-xml BuildRequires: xmlto %endif %if %{with tests} -# tests failed sometimes when using nserver client 1.11(?) -BuildRequires: cvs-client >= 1.12 +%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: cvsps >= 2.1-2 Requires: diffutils Requires: findutils Requires: grep Requires: openssh-clients Requires: perl-Error -Requires: rcs 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 @@ -93,6 +101,20 @@ 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 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 @@ -151,20 +173,20 @@ 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. +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. +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. -Z punktu widzenia historii, gitk był pierwszą przeglądarką +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. @@ -199,6 +221,75 @@ 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 svn +Summary: Subversion support for Git +Summary(pl.UTF-8): Obsługa Subversion dla Git +Group: Development/Tools +Requires: %{name} = %{version}-%{release} + +%description svn +Subversion support for Git. + +%description svn -l pl.UTF-8 +Obsługa Subversion dla Git. + +%package cvs +Summary: CVS support for Git +Summary(pl.UTF-8): Obsługa CVS dla Git +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 Git. + +%package arch +Summary: Git tools for importing Arch repositories +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +Requires: tla + +%description arch +Git tools for importing Arch repositories. + +%package email +Summary: Git tools for sending email +Group: Development/Tools +Requires: %{name} = %{version}-%{release} + +%description email +Git tools for sending email. + %package -n bash-completion-git Summary: bash-completion for git Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita @@ -215,7 +306,6 @@ Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita. 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 @@ -232,12 +322,25 @@ 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 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. @@ -247,6 +350,7 @@ Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita. %prep %setup -q -n git-%{version} +%patch0 -p1 %build %{__aclocal} @@ -254,6 +358,8 @@ Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita. %configure \ --with-openssl +echo "BLK_SHA1=1" >> config.mak + %{__make} \ INSTALLDIRS=vendor \ GITWEB_CONFIG="%{webappdir}/gitweb.conf" \ @@ -262,16 +368,20 @@ 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" -%{?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,%{_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 \ @@ -284,36 +394,60 @@ install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d} %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} +cp -a *.h $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 +install -p gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir} +cp -a gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir} +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 # gitview -install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir} +install -p 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 +cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon +cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon +install -p %{SOURCE5} $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 -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3* +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 @@ -351,20 +485,52 @@ fi %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 + %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/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 + %{_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 @@ -378,14 +544,25 @@ fi %defattr(644,root,root,755) %{_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(ru) %{_datadir}/gitk/lib/msgs/ru.msg +%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg %files gitweb %defattr(644,root,root,755) @@ -402,6 +579,57 @@ fi %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(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/* @@ -411,7 +639,15 @@ fi %{perl_vendorlib}/Git.pm %{_mandir}/man3/Git.3pm* +%files -n python-Git +%defattr(644,root,root,755) +%{py_sitescriptdir}/git_remote_helpers*.egg-info +%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] + %files -n vim-syntax-gitcommit %defattr(644,root,root,755) %doc contrib/vim/README -%{_datadir}/vim/vimfiles/syntax/* +%{_datadir}/vim/vimfiles/syntax/*.vim