%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 # 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
+# for AC: --without doc --without tests
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.30.1
+Version: 2.44.0
Release: 1
License: GPL v2
Group: Development/Tools
-Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
-# Source0-md5: 6f63eb0cc94f52e865fbd90ffb0ecb5c
+Source0: https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
+# Source0-md5: 7e4eb7c45e9ba7c90fa51deeea49732f
Source1: %{name}-gitweb.conf
Source2: %{name}-gitweb-httpd.conf
Source3: %{name}-gitweb-lighttpd.conf
%else
BuildRequires: gettext-tools
%endif
-%if %{with gnome_keyring} || %{with libsecret}
+%if %{with libsecret}
BuildRequires: glib2-devel >= 2.0
%endif
-%if %{with gnome_keyring}
-BuildRequires: libgnome-keyring-devel
-%endif
%if %{with libsecret}
BuildRequires: libsecret-devel
%endif
BuildRequires: perl-Error > 0.15
BuildRequires: perl-MailTools
BuildRequires: perl-base
-%if %{with gnome_keyring} || %{with libsecret}
+%if %{with libsecret}
BuildRequires: pkgconfig
%endif
-BuildRequires: python-devel
+BuildRequires: python3-devel
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: xmlto
%endif
%if %{with tests}
+BuildRequires: openssh-clients
BuildRequires: perl-CGI
BuildRequires: perl-Digest-MD5
BuildRequires: perl-Encode
# git-pull: printf
Requires: coreutils
Requires: sed
-Suggests: git-core-bzr
Suggests: git-core-cvs
-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
+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)
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
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
%description arch -l pl.UTF-8
Narzędzia Gita do importowania repozytoriów Archa.
-%package bzr
-Summary: Git tools for working with bzr repositories
-Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr
-Group: Development/Tools
-Requires: %{name} = %{version}-%{release}
-Requires: bzr
-
-%description bzr
-Git tools for working with bzr repositories.
-
-%description bzr -l pl.UTF-8
-Narzędzia Gita do pracy z repozytoriami bzr.
-
%package cvs
Summary: CVS support for Git
Summary(pl.UTF-8): Obsługa CVS dla Gita
%description cvs -l pl.UTF-8
Obsługa CVS dla Gita.
-%package hg
-Summary: Git tools for working with mercurial repositories
-Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala
-Group: Development/Tools
-Requires: %{name} = %{version}-%{release}
-Requires: mercurial >= 1.8
-
-%description hg
-Git tools for working with mercurial repositories.
-
-%description hg -l pl.UTF-8
-Narzędzia Gita do pracy z repozytoriami mercuriala.
-
%package p4
Summary: Git tools for working with Perforce depots
Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
Requires: %{name} = %{version}-%{release}
Requires: perl-Encode
Requires: perl-Term-ReadKey
+Requires: perl-modules
%description svn
Subversion support for Git.
%description email -l pl.UTF-8
Narzędzia Gita do wysyłania poczty.
+%package scalar
+Summary: A tool for managing large Git repositories
+Summary(pl.UTF-8): Narzędzie do zarządzania dużymi repozytoriami Git
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+
+%description scalar
+Scalar is a repository management tool that optimizes Git for use in
+large repositories. Scalar improves performance by configuring
+advanced Git settings, maintaining repositories in the background, and
+helping to reduce data sent across the network.
+
+%description scalar -l pl.UTF-8
+Scalar jest narzędziem do zarządzania repozytorium Git
+zoptymalizowanym pod kątem dużych repozytoriów. Scalar poprawia
+wydajność poprzez konfigurację zaawansowanych ustawień Git,
+utrzymywanie repozytoriów w tle oraz pomagając zredukować ilość
+danych wysyłanych po sieci.
+
%package -n bash-completion-git
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
+Requires: bash-completion >= 1:2.0
BuildArch: noarch
%description -n bash-completion-git
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
+Requires: perl-Error
+Obsoletes: perl-git-core < 1.4.3.5
BuildArch: noarch
%description -n perl-Git
specjalne metody do łatwego wykonywania operacji nietrywialnych do
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 Gita
-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 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}
+Obsoletes: gnome-keyring-git-core < 2.41.0
%description credential-libsecret
Authentication provider module for Git which allows git client to
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/credential/gnome-keyring}/.gitignore
-
# we build things in contrib but want to have it clean for doc purporses, too
cp -a contrib contrib-doc
-%{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
-
%build
%{__aclocal}
%{__autoconf}
%configure \
--sysconfdir=%{_sysconfdir}/git-core \
%{?with_pcre:--with-libpcre2} \
- --with-openssl
+ --with-openssl \
+ --with-python="%{__python3}"
echo "BLK_SHA1=1" >> config.mak
%{__make} -C contrib/subtree
-%if %{with 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}" \
DESTDIR=$RPM_BUILD_ROOT
%endif
-%if %{with gnome_keyring}
-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
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%{gitcoredir}
-
# gitweb
%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
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,}
%find_lang git
%exclude %{_mandir}/man1/git-send-email.1*
%{_mandir}/man1/git.1*
%{_mandir}/man5/gitattributes.5*
+%{_mandir}/man5/gitformat-*.5*
%{_mandir}/man5/githooks.5*
%{_mandir}/man5/gitignore.5*
+%{_mandir}/man5/gitmailmap.5*
%{_mandir}/man5/gitmodules.5*
+%{_mandir}/man5/gitprotocol-*.5*
%{_mandir}/man5/gitrepository-layout.5*
%{_mandir}/man7/gitcli.7*
%{_mandir}/man7/gitcore-tutorial.7*
%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-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
%{_mandir}/man1/git-archimport.1*
%endif
-%files bzr
-%defattr(644,root,root,755)
-%attr(755,root,root) %{gitcoredir}/git-remote-bzr
-
%files cvs
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/git-cvsserver
%{_mandir}/man7/gitcvs-migration.7*
%endif
-%files hg
-%defattr(644,root,root,755)
-%attr(755,root,root) %{gitcoredir}/git-remote-hg
-
%files p4
%defattr(644,root,root,755)
%attr(755,root,root) %{gitcoredir}/git-p4
%{_mandir}/man1/git-send-email.1*
%endif
+%files scalar
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/scalar
+%attr(755,root,root) %{gitcoredir}/scalar
+%if %{with doc}
+%{_mandir}/man1/scalar.1*
+%endif
+
%files -n bash-completion-git
%defattr(644,root,root,755)
%{bash_compdir}/git
%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
%{?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