X-Git-Url: http://git.pld-linux.org/?p=packages%2Fgit-core.git;a=blobdiff_plain;f=git-core.spec;h=95be78de7c7666752048983c4673df9ef36b8a96;hp=e7c69bba74b3af14d2205dabc94d5dfe91865004;hb=dab2f9ca8476af8455b309e6fb3027c239042c51;hpb=0aa13f228776bda88ba9a36cc77bc26e01bc6f32 diff --git a/git-core.spec b/git-core.spec index e7c69bb..95be78d 100644 --- a/git-core.spec +++ b/git-core.spec @@ -1,12 +1,13 @@ # # Conditional build: -%bcond_without tests # don't perform make test -%bcond_with tests_cvs # perform tests which use CVS -%bcond_without tests_svn # perform tests which use subversion -%bcond_without doc # skip building/packaging docs/manuals (takes some time) +%bcond_without tests # test suite +%bcond_with tests_cvs # tests which use CVS +%bcond_without tests_svn # tests which use subversion +%bcond_without doc # 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 +%bcond_without gnome_keyring # gnome keyring credentials support +%bcond_without libsecret # libsecret credentials support +%bcond_without tk # Tcl/Tk interface # for AC: --without doc --without gnome_keyring --without tests @@ -14,12 +15,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.13.0 +Version: 2.22.0 Release: 1 License: GPL v2 Group: Development/Tools Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz -# Source0-md5: a18711ae968ded392d2208c8c6277b7d +# Source0-md5: fcaf01506175c56fe88d887f1ff02ce8 Source1: %{name}-gitweb.conf Source2: %{name}-gitweb-httpd.conf Source3: %{name}-gitweb-lighttpd.conf @@ -40,14 +41,23 @@ BuildRequires: gettext-devel %else BuildRequires: gettext-tools %endif +%if %{with gnome_keyring} || %{with libsecret} +BuildRequires: glib2-devel >= 2.0 +%endif %if %{with gnome_keyring} BuildRequires: libgnome-keyring-devel -BuildRequires: pkgconfig +%endif +%if %{with libsecret} +BuildRequires: libsecret-devel %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 +%if %{with gnome_keyring} || %{with libsecret} +BuildRequires: pkgconfig +%endif BuildRequires: python-devel BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpm-pythonprov @@ -78,8 +88,6 @@ Conflicts: pdksh < 5.2.14-46 Requires: grep # git-pull: printf Requires: coreutils -Requires: perl-Error -Requires: perl-Git = %{version}-%{release} Requires: sed Suggests: git-core-bzr Suggests: git-core-cvs @@ -88,20 +96,25 @@ 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. @@ -159,9 +172,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 @@ -181,9 +191,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 @@ -246,9 +253,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. @@ -264,9 +268,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 @@ -293,9 +294,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. @@ -309,9 +307,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. @@ -326,9 +321,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. @@ -342,9 +334,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. @@ -357,9 +346,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. @@ -386,6 +372,8 @@ 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 @@ -435,7 +423,7 @@ wykonania przy użyciu ogólnego interfejsu poleceń. %package -n gnome-keyring-git-core Summary: GNOME Keyring authentication provider for Git -Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Git +Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita Group: X11/Applications URL: http://git-scm.com/docs/gitcredentials.html Requires: %{name} = %{version}-%{release} @@ -448,19 +436,40 @@ 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 +Moduł uwierzytelniający dla Gita pozwalający klientom git uwierzytelniać się przy użyciu mechanizmu GNOME Keyring. Moduł trzeba zarejestrować poleceniem: - git config --global credential.helper gnome-keyring +%package credential-libsecret +Summary: GNOME authentication provider for Git using libsecret +Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret +Group: X11/Applications +URL: http://git-scm.com/docs/gitcredentials.html +Requires: %{name} = %{version}-%{release} + +%description credential-libsecret +Authentication provider module for Git which allows git client to +authenticate using GNOME libsecret. + +You need to register it with: +- git config --global credential.helper libsecret + +%description credential-libsecret -l pl.UTF-8 +Moduł uwierzytelniający dla Gita pozwalający klientom git +uwierzytelniać się przy użyciu mechanizmu GNOME libsecret. + +Moduł trzeba zarejestrować poleceniem: +- git config --global credential.helper libsecret + %prep %setup -q -n git-%{version} %patch0 -p0 %patch1 -p1 %patch2 -p1 -%{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore +%{__rm} {Documentation/technical,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 @@ -470,28 +479,39 @@ 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 %if %{with gnome_keyring} -%{__make} -C contrib/credential/gnome-keyring +%{__make} -C contrib/credential/gnome-keyring \ + CC="%{__cc}" \ + CFLAGS="%{rpmcflags} -Wall" \ + LDFLAGS="%{rpmldflags}" +%endif + +%if %{with libsecret} +%{__make} -C contrib/credential/libsecret \ + CC="%{__cc}" \ + CFLAGS="%{rpmcflags} -Wall" \ + LDFLAGS="%{rpmldflags}" %endif %if %{with doc} -%{__make} -C Documentation \ +%{__make} doc \ MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \ V=1 %endif @@ -500,12 +520,17 @@ echo "BLK_SHA1=1" >> config.mak %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 \ + NO_PERL_CPAN_FALLBACKS=1 %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} @@ -515,11 +540,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 @@ -550,6 +576,10 @@ cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT% install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir} %endif +%if %{with libsecret} +install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir} +%endif + # bash completion install -d $RPM_BUILD_ROOT%{bash_compdir} cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git @@ -562,7 +592,7 @@ cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contri install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir} # gitweb -mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi +%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl @@ -603,11 +633,9 @@ 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,} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,} %find_lang git %clean @@ -667,7 +695,6 @@ fi %exclude %{_mandir}/man1/git-imap-send*.1* %exclude %{_mandir}/man1/*email*.1* %{_mandir}/man1/git.1* -%{_mandir}/man1/gitremote-helpers.1* %{_mandir}/man5/gitattributes.5* %{_mandir}/man5/githooks.5* %{_mandir}/man5/gitignore.5* @@ -680,7 +707,9 @@ fi %{_mandir}/man7/giteveryday.7* %{_mandir}/man7/gitglossary.7* %{_mandir}/man7/gitnamespaces.7* +%{_mandir}/man7/gitremote-helpers.7* %{_mandir}/man7/gitrevisions.7* +%{_mandir}/man7/gitsubmodules.7* %{_mandir}/man7/gittutorial-2.7* %{_mandir}/man7/gittutorial.7* %{_mandir}/man7/gitworkflows.7* @@ -699,6 +728,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 @@ -711,6 +741,9 @@ fi %if %{with gnome_keyring} %exclude %{gitcoredir}/git-credential-gnome-keyring %endif +%if %{with libsecret} +%exclude %{gitcoredir}/git-credential-libsecret +%endif %if %{with doc} %files doc @@ -779,6 +812,7 @@ fi %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 @@ -841,12 +875,6 @@ fi %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) @@ -867,11 +895,22 @@ fi %dir %{perl_vendorlib}/Git %{perl_vendorlib}/Git/I18N.pm %{perl_vendorlib}/Git/IndexInfo.pm +%{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* -%{_mandir}/man3/Git::I18N.3pm* %if %{with gnome_keyring} %files -n gnome-keyring-git-core %defattr(644,root,root,755) %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring %endif + +%if %{with libsecret} +%files credential-libsecret +%defattr(644,root,root,755) +%attr(755,root,root) %{gitcoredir}/git-credential-libsecret +%endif