X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=git-core.spec;h=b77e5de0598f2666eaf06fc95b18d5297e8fa5f5;hb=59dc32b7f408e85662daf860377c788783c2f932;hp=6467a916a2e47fff4a51937cde1e2c414f55e310;hpb=017b037c4786af26d63c62598dc67661ddc991ec;p=packages%2Fgit-core.git diff --git a/git-core.spec b/git-core.spec index 6467a91..b77e5de 100644 --- a/git-core.spec +++ b/git-core.spec @@ -1,25 +1,25 @@ # # 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 -%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: 2.17.1 -Release: 1 +Version: 2.37.2 +Release: 2 License: GPL v2 Group: Development/Tools -Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz -# Source0-md5: 5179245515c637357b4a134e8d4e9a6f +Source0: https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz +# Source0-md5: 2e4cb4fe7f778a9f621a735ba0585009 Source1: %{name}-gitweb.conf Source2: %{name}-gitweb-httpd.conf Source3: %{name}-gitweb-lighttpd.conf @@ -40,22 +40,33 @@ 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: pcre2-8-devel} BuildRequires: perl-Error > 0.15 BuildRequires: perl-MailTools BuildRequires: perl-base -BuildRequires: python-devel +%if %{with gnome_keyring} || %{with libsecret} +BuildRequires: pkgconfig +%endif +BuildRequires: python3-devel +BuildRequires: rpm-build >= 4.6 BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.673 +BuildRequires: rpmbuild(macros) >= 1.752 +BuildRequires: tar >= 1:1.22 %if %{with tk} # wish BuildRequires: tk +BuildRequires: xz %endif BuildRequires: zlib-devel %if %{with doc} @@ -64,6 +75,11 @@ BuildRequires: docbook-dtd45-xml BuildRequires: xmlto %endif %if %{with tests} +BuildRequires: openssh-clients +BuildRequires: perl-CGI +BuildRequires: perl-Digest-MD5 +BuildRequires: perl-Encode +BuildRequires: perl-Time-HiRes %if %{with tests_cvs} # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here BuildRequires: cvs-gnu-client < 1.13 @@ -89,8 +105,8 @@ Suggests: less Suggests: openssh-clients Suggests: perl-Git = %{version}-%{release} Suggests: rsync -Obsoletes: git-core-gitview -Obsoletes: python-Git +Obsoletes: git-core-gitview < 2.12.1 +Obsoletes: python-Git < 1.8.5 Conflicts: perl-Git < %{version} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -144,9 +160,7 @@ 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. @@ -160,9 +174,9 @@ Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi 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 +Provides: git-core-daemon = %{version}-%{release} +Obsoletes: git-core-daemon <= %{version}-%{release} +Obsoletes: git-core-daemon-standalone <= %{version}-%{release} %description daemon-inetd Git-daemon is a really simple TCP git daemon that can serve git @@ -179,9 +193,9 @@ 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 +Provides: git-core-daemon = %{version}-%{release} +Obsoletes: git-core-daemon <= %{version}-%{release} +Obsoletes: git-core-daemon-inetd <= %{version}-%{release} %description daemon-standalone Git-daemon is a really simple TCP git daemon that can serve git @@ -211,9 +225,7 @@ 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. @@ -351,6 +363,7 @@ Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: perl-Encode Requires: perl-Term-ReadKey +Requires: perl-modules %description svn Subversion support for Git. @@ -378,10 +391,8 @@ Summary: bash-completion for git Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita Group: Applications/Shells Requires: %{name} = %{version}-%{release} -Requires: bash-completion >= 2.0 -%if "%{_rpmversion}" >= "5" +Requires: bash-completion >= 1:2.0 BuildArch: noarch -%endif %description -n bash-completion-git This package provides bash-completion for git. @@ -393,10 +404,9 @@ 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 -Obsoletes: perl-git-core -%if "%{_rpmversion}" >= "5" +Requires: perl-Error +Obsoletes: perl-git-core < 1.4.3.5 BuildArch: noarch -%endif %description -n perl-Git This module provides Perl scripts easy way to interface the Git @@ -414,7 +424,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} @@ -427,19 +437,55 @@ 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 + +%package -n zsh-completion-git +Summary: Zsh completion for git command +Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh +Group: Applications/Shells +Requires: %{name} = %{version}-%{release} +Requires: bash-completion-git = %{version}-%{release} +Requires: zsh +BuildArch: noarch + +%description -n zsh-completion-git +Zsh completion for git command. + +%description -n zsh-completion-git -l pl.UTF-8 +Dopełnianie parametrów komendy git dla powłoki zsh. + %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 @@ -450,7 +496,8 @@ cp -a contrib contrib-doc %configure \ --sysconfdir=%{_sysconfdir}/git-core \ %{?with_pcre:--with-libpcre2} \ - --with-openssl + --with-openssl \ + --with-python="%{__python3}" echo "BLK_SHA1=1" >> config.mak @@ -467,7 +514,17 @@ echo "BLK_SHA1=1" >> config.mak %{__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} @@ -477,8 +534,6 @@ echo "BLK_SHA1=1" >> config.mak %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 @@ -538,9 +593,16 @@ 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 +install -d $RPM_BUILD_ROOT%{zsh_compdir} +cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git +sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git # Install git-prompt.sh install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion @@ -550,7 +612,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 @@ -590,15 +652,26 @@ 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 -%py_postclean - -mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,} %find_lang git %clean rm -rf $RPM_BUILD_ROOT +%post +if [ ! -f /etc/shells ]; then + echo "%{_bindir}/git-shell" >> /etc/shells +else + grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells +fi + +%preun +if [ "$1" = "0" ]; then + umask 022 + grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new + mv -f /etc/shells.new /etc/shells +fi + %post daemon-inetd %service -q rc-inetd reload @@ -650,13 +723,14 @@ fi %exclude %{_mandir}/man1/git-archimport.1* %exclude %{_mandir}/man1/git-svn.1* %exclude %{_mandir}/man1/git-cvs*.1* -%exclude %{_mandir}/man1/git-imap-send*.1* -%exclude %{_mandir}/man1/*email*.1* +%exclude %{_mandir}/man1/git-imap-send.1* +%exclude %{_mandir}/man1/git-p4.1* +%exclude %{_mandir}/man1/git-send-email.1* %{_mandir}/man1/git.1* -%{_mandir}/man1/gitremote-helpers.1* %{_mandir}/man5/gitattributes.5* %{_mandir}/man5/githooks.5* %{_mandir}/man5/gitignore.5* +%{_mandir}/man5/gitmailmap.5* %{_mandir}/man5/gitmodules.5* %{_mandir}/man5/gitrepository-layout.5* %{_mandir}/man7/gitcli.7* @@ -664,8 +738,10 @@ fi %{_mandir}/man7/gitcredentials.7* %{_mandir}/man7/gitdiffcore.7* %{_mandir}/man7/giteveryday.7* +%{_mandir}/man7/gitfaq.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* @@ -693,12 +769,14 @@ fi %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 libsecret} +%exclude %{gitcoredir}/git-credential-libsecret +%endif %if %{with doc} %files doc @@ -745,6 +823,7 @@ fi %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg +%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg %endif %files gitweb @@ -820,11 +899,13 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{gitcoredir}/git-p4 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge +%if %{with doc} +%{_mandir}/man1/git-p4.1* +%endif %files svn %defattr(644,root,root,755) %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} @@ -834,10 +915,10 @@ fi %files email %defattr(644,root,root,755) %attr(755,root,root) %{gitcoredir}/git-imap-send -%attr(755,root,root) %{gitcoredir}/*email* +%attr(755,root,root) %{gitcoredir}/git-send-email %if %{with doc} -%{_mandir}/man1/*email*.1* -%{_mandir}/man1/*imap-send*.1* +%{_mandir}/man1/git-imap-send.1* +%{_mandir}/man1/git-send-email.1* %endif %files -n bash-completion-git @@ -856,10 +937,20 @@ fi %{perl_vendorlib}/Git/LoadCPAN/Error.pm %dir %{perl_vendorlib}/Git/LoadCPAN/Mail %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm -%{_mandir}/man3/Git.3pm* +%{?with_doc:%{_mandir}/man3/Git.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 + +%files -n zsh-completion-git +%defattr(644,root,root,755) +%{zsh_compdir}/_git