X-Git-Url: http://git.pld-linux.org/?p=packages%2Fgit-core.git;a=blobdiff_plain;f=git-core.spec;h=b92f2d570d950521ff71873e6fe991dbc489165c;hp=a379bd2d60562f33a9468c2ea103199c2f5f6cd3;hb=e9831b6f1cd9215b2c6208e4489d2863994d072d;hpb=14b06c2bf70fc0afdd405e4f444eeb938e4dd1d9 diff --git a/git-core.spec b/git-core.spec index a379bd2..b92f2d5 100644 --- a/git-core.spec +++ b/git-core.spec @@ -6,6 +6,7 @@ %bcond_without doc # skip building/packaging docs/manuals (takes some time) %bcond_without pcre # perl-compatible regexes support %bcond_without gnome_keyring # build without gnome keyring support +%bcond_without tk # build without the Tcl/Tk interface # for AC: --without doc --without gnome_keyring --without tests @@ -13,12 +14,12 @@ 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: 2.7.2 +Version: 2.17.1 Release: 1 License: GPL v2 Group: Development/Tools -Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.gz -# Source0-md5: 162ddc6c9b243899ad67ebd6b1c166b1 +Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz +# Source0-md5: 5179245515c637357b4a134e8d4e9a6f Source1: %{name}-gitweb.conf Source2: %{name}-gitweb-httpd.conf Source3: %{name}-gitweb-lighttpd.conf @@ -26,31 +27,36 @@ Source4: %{name}.sysconfig Source5: %{name}.inet Source6: %{name}.init Source7: gitolite.pl -Patch0: %{name}-tests.patch -Patch1: %{name}-key-bindings.patch -Patch2: %{name}-sysconfdir.patch -Patch3: cherry-picked-commitlog.patch -Patch4: %{name}-svn-exit-errors.patch -Patch5: %{name}-test-grep.patch +Patch0: %{name}-key-bindings.patch +Patch1: %{name}-sysconfdir.patch +Patch2: cherry-picked-commitlog.patch URL: http://git-scm.com/ BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: curl-devel BuildRequires: expat-devel +%if "%{pld_release}" == "ac" +BuildRequires: gettext-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} +%{?with_pcre:BuildRequires: pcre2-8-devel} BuildRequires: perl-Error > 0.15 +BuildRequires: perl-MailTools BuildRequires: perl-base BuildRequires: python-devel BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.673 -BuildRequires: tcl +%if %{with tk} +# wish +BuildRequires: tk +%endif BuildRequires: zlib-devel %if %{with doc} BuildRequires: asciidoc >= 7.1.2-3 @@ -73,9 +79,6 @@ Conflicts: pdksh < 5.2.14-46 Requires: grep # git-pull: printf Requires: coreutils -Requires: openssh-clients -Requires: perl-Error -Requires: perl-Git = %{version}-%{release} Requires: sed Suggests: git-core-bzr Suggests: git-core-cvs @@ -83,19 +86,26 @@ Suggests: git-core-hg Suggests: git-core-p4 Suggests: git-core-svn Suggests: less +Suggests: openssh-clients +Suggests: perl-Git = %{version}-%{release} Suggests: rsync +Obsoletes: git-core-gitview Obsoletes: python-Git +Conflicts: perl-Git < %{version} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # html docs have links to txt files %define _noautocompressdoc *.txt +# do not generate perl dependency, git add -p support is optional +# skip dependency generation from templates +%define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates + %define webapp gitweb %define webappdir %{_sysconfdir}/webapps/%{webapp} %define appdir %{_datadir}/%{webapp} %define cgibindir %{_prefix}/lib/cgi-bin -%define gitcoredir %{_prefix}/lib/%{name} -%define _libexecdir %{_prefix}/lib +%define gitcoredir %{_libexecdir}/%{name} %description "git" can mean anything, depending on your mood. @@ -153,9 +163,6 @@ 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 @@ -175,9 +182,6 @@ 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 @@ -240,9 +244,6 @@ 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. @@ -250,26 +251,6 @@ 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 -%if "%{_rpmversion}" >= "5" -BuildArch: noarch -%endif - -%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 @@ -278,9 +259,6 @@ 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 @@ -307,9 +285,6 @@ 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. @@ -323,9 +298,6 @@ 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. @@ -340,9 +312,6 @@ 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. @@ -356,9 +325,6 @@ 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. @@ -371,9 +337,6 @@ 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. @@ -400,6 +363,9 @@ Summary: Git tools for sending email Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty Group: Development/Tools Requires: %{name} = %{version}-%{release} +Requires: perl-Error +Requires: perl-MailTools +Suggests: perl-Net-SMTP-SSL %description email Git tools for sending email. @@ -428,6 +394,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 @@ -466,12 +435,9 @@ Moduł trzeba zarejestrować poleceniem: %prep %setup -q -n git-%{version} -%patch0 -p1 -%patch1 -p0 +%patch0 -p0 +%patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p0 %{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore @@ -483,18 +449,19 @@ cp -a contrib contrib-doc %{__autoconf} %configure \ --sysconfdir=%{_sysconfdir}/git-core \ - %{?with_pcre:--with-libpcre} \ + %{?with_pcre:--with-libpcre2} \ --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" \ + NO_PERL_CPAN_FALLBACKS=1 \ + perllibdir=%{perl_vendorlib} \ V=1 %{__make} -C contrib/subtree @@ -504,21 +471,27 @@ echo "BLK_SHA1=1" >> config.mak %endif %if %{with doc} -%{__make} -C Documentation \ +%{__make} doc \ MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \ V=1 %endif %if %{with tests} +# t5770 has multiple race conditions making it very unstable +GIT_SKIP_TESTS=t5570 %if %{without tests_cvs} %{__rm} t/t*cvs*.sh || : %endif -%{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test +%if %{without tests_svn} +GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??" +%endif +export GIT_SKIP_TESTS +%{__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{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git} install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}} install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d} install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name} @@ -528,11 +501,12 @@ cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig EOF %{__make} install \ - INSTALLDIRS=vendor \ - DESTDIR=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT \ + NO_PERL_CPAN_FALLBACKS=1 \ + perllibdir=%{perl_vendorlib} %if %{with doc} -%{__make} -C Documentation install \ +%{__make} install-doc \ DESTDIR=$RPM_BUILD_ROOT %endif @@ -583,9 +557,6 @@ cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf -# gitview -install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir} - # git-daemon related files cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon @@ -595,15 +566,30 @@ install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon 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 -# 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{%{gitcoredir},%{_bindir}}/git-shell -ln -f $RPM_BUILD_ROOT{%{gitcoredir},%{_bindir}}/git-upload-pack +# 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 -%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist %py_postclean mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,} @@ -650,7 +636,7 @@ fi %files -f git.lang %defattr(644,root,root,755) -%doc README contrib-doc +%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 @@ -680,6 +666,7 @@ fi %{_mandir}/man7/gitglossary.7* %{_mandir}/man7/gitnamespaces.7* %{_mandir}/man7/gitrevisions.7* +%{_mandir}/man7/gitsubmodules.7* %{_mandir}/man7/gittutorial-2.7* %{_mandir}/man7/gittutorial.7* %{_mandir}/man7/gitworkflows.7* @@ -698,6 +685,7 @@ fi %exclude %{gitcoredir}/*email* %exclude %{gitcoredir}/*p4* %exclude %{gitcoredir}/git-archimport +%exclude %{gitcoredir}/git-citool %exclude %{gitcoredir}/git-cvs* %exclude %{gitcoredir}/git-gui %exclude %{gitcoredir}/git-imap-send @@ -733,6 +721,7 @@ fi %{_libdir}/libgit.a %{_libdir}/libgit_xdiff.a +%if %{with tk} %files gitk %defattr(644,root,root,755) %if %{with doc} @@ -751,9 +740,11 @@ fi %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(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.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 +%endif %files gitweb %defattr(644,root,root,755) @@ -772,13 +763,10 @@ fi %{_mandir}/man5/gitweb.conf.5* %endif -%files gitview -%defattr(644,root,root,755) -%doc contrib/gitview/gitview.txt -%attr(755,root,root) %{_bindir}/gitview - +%if %{with tk} %files gui %defattr(644,root,root,755) +%attr(755,root,root) %{gitcoredir}/git-citool %attr(755,root,root) %{gitcoredir}/git-gui %dir %{_datadir}/git-gui %dir %{_datadir}/git-gui/lib @@ -795,11 +783,13 @@ fi %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(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.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(vi) %{_datadir}/git-gui/lib/msgs/vi.msg %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg +%endif %files arch %defattr(644,root,root,755) @@ -859,7 +849,13 @@ fi %dir %{perl_vendorlib}/Git %{perl_vendorlib}/Git/I18N.pm %{perl_vendorlib}/Git/IndexInfo.pm -%{_mandir}/man3/Git*.3pm* +%{perl_vendorlib}/Git/LoadCPAN.pm +%{perl_vendorlib}/Git/Packet.pm +%dir %{perl_vendorlib}/Git/LoadCPAN +%{perl_vendorlib}/Git/LoadCPAN/Error.pm +%dir %{perl_vendorlib}/Git/LoadCPAN/Mail +%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm +%{_mandir}/man3/Git.3pm* %if %{with gnome_keyring} %files -n gnome-keyring-git-core