X-Git-Url: http://git.pld-linux.org/?p=packages%2Fgit-core.git;a=blobdiff_plain;f=git-core.spec;h=a160b600690705b0284694c632e5c41ab6a59c36;hp=b260cb246843b1ae8e5750ba84bab0de292600de;hb=29d5b071ba21b29c1cabde57766ea7e5251b3d17;hpb=0643d0ea5f0f2e843be76f207d42ef1199fc51cd diff --git a/git-core.spec b/git-core.spec index b260cb2..a160b60 100644 --- a/git-core.spec +++ b/git-core.spec @@ -7,16 +7,18 @@ %bcond_without pcre # perl-compatible regexes support %bcond_without gnome_keyring # build without gnome keyring support +# for AC: --without doc --without gnome_keyring --without tests + %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.9.0 -Release: 3 +Version: 2.9.0 +Release: 1 License: GPL v2 Group: Development/Tools -Source0: http://git-core.googlecode.com/files/git-%{version}.tar.gz -# Source0-md5: e16c14b27c644b8e0dd72bdb5ff77450 +Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz +# Source0-md5: 118ef1e3108ef0b858cd13b74395a59c Source1: %{name}-gitweb.conf Source2: %{name}-gitweb-httpd.conf Source3: %{name}-gitweb-lighttpd.conf @@ -34,8 +36,15 @@ BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: curl-devel BuildRequires: expat-devel +%if "%{pld_release}" == "ac" BuildRequires: gettext-devel -%{?with_gnome_keyring:BuildRequires: libgnome-keyring-devel} +%else +BuildRequires: gettext-tools +%endif +%if %{with gnome_keyring} +BuildRequires: libgnome-keyring-devel +BuildRequires: pkgconfig +%endif BuildRequires: openssl-devel %{?with_pcre:BuildRequires: pcre-devel} BuildRequires: perl-Error > 0.15 @@ -57,13 +66,16 @@ BuildRequires: xmlto BuildRequires: cvs-gnu-client < 1.13 BuildRequires: cvs-gnu-client >= 1.12 %endif -%{?with_tests_svn:BuildRequires: subversion} +%if %{with tests_svn} +BuildRequires: perl-subversion +BuildRequires: subversion +%endif Conflicts: pdksh < 5.2.14-46 %endif -Requires: coreutils -Requires: diffutils -Requires: findutils +# git-sh-setup: sane_grep Requires: grep +# git-pull: printf +Requires: coreutils Requires: openssh-clients Requires: perl-Error Requires: perl-Git = %{version}-%{release} @@ -85,6 +97,8 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define webappdir %{_sysconfdir}/webapps/%{webapp} %define appdir %{_datadir}/%{webapp} %define cgibindir %{_prefix}/lib/cgi-bin +%define gitcoredir %{_prefix}/lib/%{name} +%define _libexecdir %{_prefix}/lib %description "git" can mean anything, depending on your mood. @@ -123,6 +137,9 @@ katalogu. Summary: Documentation for git-core Summary(pl.UTF-8): Dokumentacja do git-core Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description doc Documentation for git-core. @@ -130,9 +147,6 @@ 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 @@ -142,6 +156,9 @@ Requires: setup >= 2.4.11-1 Provides: git-core-daemon Obsoletes: git-core-daemon Obsoletes: git-core-daemon-standalone +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description daemon-inetd Git-daemon is a really simple TCP git daemon that can serve git @@ -161,6 +178,9 @@ Requires: %{name} = %{version}-%{release} Provides: git-core-daemon Obsoletes: git-core-daemon Obsoletes: git-core-daemon-inetd +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description daemon-standalone Git-daemon is a really simple TCP git daemon that can serve git @@ -190,6 +210,9 @@ Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: tk +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description gitk gitk displays changes in a repository or a selected set of commits. @@ -220,6 +243,9 @@ Requires: webserver(access) Requires: webserver(alias) Requires: webserver(cgi) Suggests: webserver(setenv) +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description gitweb This package provides a web interface for browsing git repositories. @@ -237,6 +263,9 @@ Requires: python-pycairo >= 1.0 Requires: python-pygobject Requires: python-pygtk-gtk >= 2:2.8 Suggests: python-gnome-desktop-gtksourceview +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description gitview A GTK+ based repository browser for git. @@ -252,6 +281,9 @@ Requires: %{name} = %{version}-%{release} Requires: tk Requires: xdg-utils Suggests: meld +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description gui Displays changes in a repository or a selected set of commits. This @@ -278,6 +310,9 @@ Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: tla +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description arch Git tools for importing Arch repositories. @@ -291,6 +326,9 @@ Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: bzr +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description bzr Git tools for working with bzr repositories. @@ -305,6 +343,9 @@ Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: cvsps >= 2.1-2 Requires: rcs +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description cvs CVS support for Git. @@ -318,6 +359,9 @@ Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: mercurial >= 1.8 +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description hg Git tools for working with mercurial repositories. @@ -330,6 +374,9 @@ Summary: Git tools for working with Perforce depots Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a Group: Development/Tools Requires: %{name} = %{version}-%{release} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description p4 Git tools for working with Perforce depots. @@ -384,6 +431,9 @@ Summary: Perl interface to the Git version control system Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git Group: Development/Languages/Perl Obsoletes: perl-git-core +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description -n perl-Git This module provides Perl scripts easy way to interface the Git @@ -403,16 +453,23 @@ wykonania przy użyciu ogólnego interfejsu poleceń. Summary: GNOME Keyring authentication provider for Git Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Git Group: X11/Applications +URL: http://git-scm.com/docs/gitcredentials.html Requires: %{name} = %{version}-%{release} %description -n gnome-keyring-git-core Authentication provider module for Git which allows git client to authenticate using GNOME Keyring. +You need to register it with: +- git config --global credential.helper gnome-keyring + %description -n gnome-keyring-git-core -l pl.UTF-8 Moduł uwierzytelniający dla Subversion pozwalający klientom git uwierzytelniać się przy użyciu mechanizmu GNOME Keyring. +Moduł trzeba zarejestrować poleceniem: +- git config --global credential.helper gnome-keyring + %prep %setup -q -n git-%{version} %patch0 -p1 @@ -423,6 +480,9 @@ uwierzytelniać się przy użyciu mechanizmu GNOME Keyring. %{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore +# we build things in contrib but want to have it clean for doc purporses, too +cp -a contrib contrib-doc + %build %{__aclocal} %{__autoconf} @@ -496,18 +556,16 @@ cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name} %{__make} -C contrib/subtree install \ - libexecdir=%{_libdir}/%{name} \ + libexecdir=%{gitcoredir} \ DESTDIR=$RPM_BUILD_ROOT %if %{with doc} -%{__make} -C contrib/subtree install-doc \ +%{__make} -C contrib/subtree install-man \ DESTDIR=$RPM_BUILD_ROOT %endif %if %{with gnome_keyring} -install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{_libdir}/%{name} -# Remove built binary files, otherwise they will be installed in doc -%{__make} -C contrib/credential/gnome-keyring clean +install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir} %endif # bash completion @@ -519,7 +577,7 @@ install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion # Install bzr and hg remote helpers from contrib -install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{_libdir}/%{name} +install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir} # gitweb mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi @@ -539,14 +597,31 @@ cp -p %{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 +sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon +sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon + +# same file, link +ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack +ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive +ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell +ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack +ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git + +# convert all hardlinks to symlinks, as rpm fails to calculate it properly +# requiring excessive free space when it may not be available +# https://bugs.launchpad.net/pld-linux/+bug/1176337 +find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files +for f in $(cat files); do + f=${f#$RPM_BUILD_ROOT%{gitcoredir}/} + test $f = git && continue + ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f +done + +# few others +ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool +ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https +ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp +ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps # remove unneeded files %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod @@ -597,7 +672,7 @@ fi %files -f git.lang %defattr(644,root,root,755) -%doc README contrib +%doc README.md contrib-doc %attr(755,root,root) %{_bindir}/git %attr(755,root,root) %{_bindir}/git-receive-pack %attr(755,root,root) %{_bindir}/git-shell @@ -623,6 +698,7 @@ fi %{_mandir}/man7/gitcore-tutorial.7* %{_mandir}/man7/gitcredentials.7* %{_mandir}/man7/gitdiffcore.7* +%{_mandir}/man7/giteveryday.7* %{_mandir}/man7/gitglossary.7* %{_mandir}/man7/gitnamespaces.7* %{_mandir}/man7/gitrevisions.7* @@ -631,29 +707,31 @@ fi %{_mandir}/man7/gitworkflows.7* %endif -%dir %{_libdir}/%{name} -%attr(755,root,root) %{_libdir}/%{name}/*-* -%attr(755,root,root) %{_libdir}/%{name}/git -%dir %{_libdir}/%{name}/mergetools -%{_libdir}/%{name}/mergetools/* +%dir %{gitcoredir} +%attr(755,root,root) %{gitcoredir}/*-* +%attr(755,root,root) %{gitcoredir}/git +%dir %{gitcoredir}/mergetools +%{gitcoredir}/mergetools/* %{_datadir}/%{name} %{_localstatedir}/lib/git # subpackages -%exclude %{_libdir}/%{name}/*email* -%exclude %{_libdir}/%{name}/*p4* -%exclude %{_libdir}/%{name}/git-archimport -%exclude %{_libdir}/%{name}/git-cvs* -%exclude %{_libdir}/%{name}/git-gui -%exclude %{_libdir}/%{name}/git-imap-send -%exclude %{_libdir}/%{name}/git-instaweb -%exclude %{_libdir}/%{name}/git-remote-bzr -%exclude %{_libdir}/%{name}/git-remote-hg -%exclude %{_libdir}/%{name}/git-remote-testsvn -%exclude %{_libdir}/%{name}/git-svn -%exclude %{_libdir}/%{name}/mergetools/p4merge -%exclude %{_libdir}/%{name}/git-credential-gnome-keyring +%exclude %{gitcoredir}/*email* +%exclude %{gitcoredir}/*p4* +%exclude %{gitcoredir}/git-archimport +%exclude %{gitcoredir}/git-cvs* +%exclude %{gitcoredir}/git-gui +%exclude %{gitcoredir}/git-imap-send +%exclude %{gitcoredir}/git-instaweb +%exclude %{gitcoredir}/git-remote-bzr +%exclude %{gitcoredir}/git-remote-hg +%exclude %{gitcoredir}/git-remote-testsvn +%exclude %{gitcoredir}/git-svn +%exclude %{gitcoredir}/mergetools/p4merge +%if %{with gnome_keyring} +%exclude %{gitcoredir}/git-credential-gnome-keyring +%endif %if %{with doc} %files doc @@ -687,6 +765,7 @@ fi %dir %{_datadir}/gitk/lib %dir %{_datadir}/gitk/lib/msgs %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg +%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg %lang(de) %{_datadir}/gitk/lib/msgs/de.msg %lang(es) %{_datadir}/gitk/lib/msgs/es.msg %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg @@ -696,6 +775,7 @@ fi %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 +%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg %files gitweb %defattr(644,root,root,755) @@ -708,7 +788,7 @@ fi %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl %attr(755,root,root) %{cgibindir}/gitweb.cgi %{appdir} -%attr(755,root,root) %{_libdir}/%{name}/git-instaweb +%attr(755,root,root) %{gitcoredir}/git-instaweb %if %{with doc} %{_mandir}/man1/gitweb.1* %{_mandir}/man5/gitweb.conf.5* @@ -721,7 +801,7 @@ fi %files gui %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-gui +%attr(755,root,root) %{gitcoredir}/git-gui %dir %{_datadir}/git-gui %dir %{_datadir}/git-gui/lib %dir %{_datadir}/git-gui/lib/msgs @@ -740,23 +820,24 @@ fi %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(vi) %{_datadir}/git-gui/lib/msgs/vi.msg %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg %files arch %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-archimport +%attr(755,root,root) %{gitcoredir}/git-archimport %if %{with doc} %{_mandir}/man1/git-archimport.1* %endif %files bzr %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-remote-bzr +%attr(755,root,root) %{gitcoredir}/git-remote-bzr %files cvs %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/git-cvsserver -%attr(755,root,root) %{_libdir}/%{name}/git-cvs* +%attr(755,root,root) %{gitcoredir}/git-cvs* %if %{with doc} %{_mandir}/man1/git-cvs*.1* %{_mandir}/man7/gitcvs-migration.7* @@ -764,27 +845,33 @@ fi %files hg %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-remote-hg +%attr(755,root,root) %{gitcoredir}/git-remote-hg %files p4 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-p4 -%attr(755,root,root) %{_libdir}/%{name}/mergetools/p4merge +%attr(755,root,root) %{gitcoredir}/git-p4 +%attr(755,root,root) %{gitcoredir}/mergetools/p4merge %files svn %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-svn -%attr(755,root,root) %{_libdir}/%{name}/git-remote-testsvn +%attr(755,root,root) %{gitcoredir}/git-svn +%attr(755,root,root) %{gitcoredir}/git-remote-testsvn %{perl_vendorlib}/Git/SVN %{perl_vendorlib}/Git/SVN.pm %if %{with doc} %{_mandir}/man1/git-svn.1* %endif +%{_mandir}/man3/Git::SVN::Editor.3pm* +%{_mandir}/man3/Git::SVN::Fetcher.3pm* +%{_mandir}/man3/Git::SVN::Memoize::YAML.3pm* +%{_mandir}/man3/Git::SVN::Prompt.3pm* +%{_mandir}/man3/Git::SVN::Ra.3pm* +%{_mandir}/man3/Git::SVN::Utils.3pm* %files email %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-imap-send -%attr(755,root,root) %{_libdir}/%{name}/*email* +%attr(755,root,root) %{gitcoredir}/git-imap-send +%attr(755,root,root) %{gitcoredir}/*email* %if %{with doc} %{_mandir}/man1/*email*.1* %{_mandir}/man1/*imap-send*.1* @@ -800,10 +887,11 @@ fi %dir %{perl_vendorlib}/Git %{perl_vendorlib}/Git/I18N.pm %{perl_vendorlib}/Git/IndexInfo.pm -%{_mandir}/man3/Git*.3pm* +%{_mandir}/man3/Git.3pm* +%{_mandir}/man3/Git::I18N.3pm* %if %{with gnome_keyring} %files -n gnome-keyring-git-core %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-credential-gnome-keyring +%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring %endif