Accepting request 883834 from devel:tools:scm
- add suse-use-builtin-add-interactive.patch - split git-core perl module into git-core, move instaweb to git-web, and the single remaining perl builtin to git, so that git-core is perl free OBS-URL: https://build.opensuse.org/request/show/883834 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/git?expand=0&rev=261
This commit is contained in:
parent
90972dec91
commit
271082f7a2
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 8 11:29:40 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add suse-use-builtin-add-interactive.patch
|
||||||
|
- split git-core perl module into git-core, move instaweb
|
||||||
|
to git-web, and the single remaining perl builtin to git, so
|
||||||
|
that git-core is perl free
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Mar 27 09:10:32 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
|
Sat Mar 27 09:10:32 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
51
git.spec
51
git.spec
@ -52,6 +52,8 @@ Source7: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.t
|
|||||||
Source8: %{name}.keyring
|
Source8: %{name}.keyring
|
||||||
Source9: %{name}-gui.desktop
|
Source9: %{name}-gui.desktop
|
||||||
Source10: %{name}-gui.png
|
Source10: %{name}-gui.png
|
||||||
|
# PATCH-FIX-SUSE: Default to builtin add -i mode to avoid perl dependency
|
||||||
|
Patch2: suse-use-builtin-add-interactive.patch
|
||||||
Patch3: completion-wordbreaks.diff
|
Patch3: completion-wordbreaks.diff
|
||||||
# CVE-2011-2186, bnc#698456
|
# CVE-2011-2186, bnc#698456
|
||||||
Patch4: git-prevent_xss-default.diff
|
Patch4: git-prevent_xss-default.diff
|
||||||
@ -76,6 +78,7 @@ BuildRequires: update-desktop-files
|
|||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
Requires: git-core = %{version}
|
Requires: git-core = %{version}
|
||||||
|
Requires: perl-Git = %{version}
|
||||||
Recommends: git-cvs
|
Recommends: git-cvs
|
||||||
Recommends: git-email
|
Recommends: git-email
|
||||||
Recommends: git-gui
|
Recommends: git-gui
|
||||||
@ -123,9 +126,7 @@ Requires: openssh-clients
|
|||||||
%else
|
%else
|
||||||
Requires: openssh
|
Requires: openssh
|
||||||
%endif
|
%endif
|
||||||
Requires: perl-Error
|
|
||||||
Obsoletes: git-remote-helpers < %{version}
|
Obsoletes: git-remote-helpers < %{version}
|
||||||
%{perl_requires}
|
|
||||||
|
|
||||||
%description core
|
%description core
|
||||||
Git is a fast, scalable, distributed revision control system with an
|
Git is a fast, scalable, distributed revision control system with an
|
||||||
@ -134,6 +135,20 @@ full access to internals.
|
|||||||
|
|
||||||
These are the core tools with minimal dependencies.
|
These are the core tools with minimal dependencies.
|
||||||
|
|
||||||
|
%package -n perl-Git
|
||||||
|
Summary: perl Bindings for Git
|
||||||
|
Group: Development/Libraries/Perl
|
||||||
|
Provides: git-core:%{perl_vendorlib}/Git
|
||||||
|
Requires: perl-Error
|
||||||
|
%{perl_requires}
|
||||||
|
|
||||||
|
%description -n perl-Git
|
||||||
|
Git is a fast, scalable, distributed revision control system with an
|
||||||
|
unusually rich command set that provides both high-level operations and
|
||||||
|
full access to internals.
|
||||||
|
|
||||||
|
This package provides the Perl interface to the Git version control system.
|
||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: Documentation for the Git version control system
|
Summary: Documentation for the Git version control system
|
||||||
Group: Documentation/HTML
|
Group: Documentation/HTML
|
||||||
@ -151,6 +166,7 @@ text/html formats. (The manpages are in the main package.)
|
|||||||
Summary: Git tools for importing Subversion repositories
|
Summary: Git tools for importing Subversion repositories
|
||||||
Group: Development/Tools/Version Control
|
Group: Development/Tools/Version Control
|
||||||
Requires: git-core = %{version}
|
Requires: git-core = %{version}
|
||||||
|
Requires: perl-Git = %{version}
|
||||||
Requires: perl-Term-ReadKey
|
Requires: perl-Term-ReadKey
|
||||||
Requires: subversion
|
Requires: subversion
|
||||||
Requires: subversion-perl
|
Requires: subversion-perl
|
||||||
@ -166,6 +182,7 @@ Requires: cvs
|
|||||||
Requires: cvsps
|
Requires: cvsps
|
||||||
Requires: git-core = %{version}
|
Requires: git-core = %{version}
|
||||||
Requires: perl-DBD-SQLite
|
Requires: perl-DBD-SQLite
|
||||||
|
Requires: perl-Git = %{version}
|
||||||
|
|
||||||
%description cvs
|
%description cvs
|
||||||
Tools for importing CVS repositories to the Git version control system.
|
Tools for importing CVS repositories to the Git version control system.
|
||||||
@ -214,6 +231,7 @@ Group: Development/Tools/Version Control
|
|||||||
Requires: git-core = %{version}
|
Requires: git-core = %{version}
|
||||||
# For sending mails over secure SMTP:
|
# For sending mails over secure SMTP:
|
||||||
Requires: perl-Authen-SASL
|
Requires: perl-Authen-SASL
|
||||||
|
Requires: perl-Git = %{version}
|
||||||
Requires: perl-MailTools
|
Requires: perl-MailTools
|
||||||
Requires: perl-Net-SMTP-SSL
|
Requires: perl-Net-SMTP-SSL
|
||||||
|
|
||||||
@ -274,6 +292,7 @@ Summary: Git Web Interface
|
|||||||
Group: Development/Tools/Version Control
|
Group: Development/Tools/Version Control
|
||||||
Requires: git-core = %{version}
|
Requires: git-core = %{version}
|
||||||
Requires: perl-CGI
|
Requires: perl-CGI
|
||||||
|
Requires: perl-Git = %{version}
|
||||||
Supplements: packageand(git-core:apache2)
|
Supplements: packageand(git-core:apache2)
|
||||||
|
|
||||||
%description web
|
%description web
|
||||||
@ -284,12 +303,7 @@ directory /git/ that calls the cgi script.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch3 -p1
|
%autopatch -p1
|
||||||
%patch4 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
%patch8 -p1
|
|
||||||
%patch10 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cat > .make <<'EOF'
|
cat > .make <<'EOF'
|
||||||
@ -355,9 +369,11 @@ install -m 644 %{SOURCE6} %{buildroot}/%{_fwdefdir}/git-daemon
|
|||||||
###
|
###
|
||||||
./.make -C contrib/subtree install
|
./.make -C contrib/subtree install
|
||||||
%{!?_without_docs: ./.make -C contrib/subtree install-doc}
|
%{!?_without_docs: ./.make -C contrib/subtree install-doc}
|
||||||
(find %{buildroot}%{_bindir} -type f -o -type l | grep -vE "archimport|p4|svn|cvs|email|gitk|git-daemon|gui" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
|
(find %{buildroot}%{_bindir} -type f -o -type l | grep -vE "archimport|p4|svn|cvs|email|gitk|git-daemon|gui|web" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
|
||||||
(find %{buildroot}%{gitexecdir} ! -type d | grep -vE "archimport|p4|svn|cvs|email|gitk|git-daemon|gui" | sed -e s@^%{buildroot}@@) >> bin-man-doc-files
|
(find %{buildroot}%{gitexecdir} ! -type d | grep -vE "archimport|p4|svn|cvs|email|gitk|git-daemon|gui|web" | sed -e s@^%{buildroot}@@) >> bin-man-doc-files
|
||||||
(find %{buildroot}%{_mandir} -type f | grep -vE "archimport|p4|svn|git-cvs|email|gitk|git-daemon|gui" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files
|
(find %{buildroot}%{_mandir} -type f | grep -vE "archimport|p4|svn|git-cvs|email|gitk|git-daemon|gui|web" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files
|
||||||
|
# Don't pick up dependencies from sample files
|
||||||
|
find %{buildroot}/%{_datadir}/git-core/templates -type f -name "*.sample" -exec chmod a-x "{}" "+"
|
||||||
%perl_process_packlist
|
%perl_process_packlist
|
||||||
%if %{with docs}
|
%if %{with docs}
|
||||||
find %{buildroot}/%{_mandir} -type f -exec chmod 644 "{}" "+"
|
find %{buildroot}/%{_mandir} -type f -exec chmod 644 "{}" "+"
|
||||||
@ -437,6 +453,7 @@ fi
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%dir %{_docdir}/%{name}
|
%dir %{_docdir}/%{name}
|
||||||
|
%{gitexecdir}/git-add--interactive
|
||||||
%{_docdir}/%{name}/README.md
|
%{_docdir}/%{name}/README.md
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
@ -505,18 +522,28 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/apache2/conf.d/gitweb.conf
|
%config(noreplace) %{_sysconfdir}/apache2/conf.d/gitweb.conf
|
||||||
%{_datadir}/gitweb
|
%{_datadir}/gitweb
|
||||||
%{_sysconfdir}/apparmor.d
|
%{_sysconfdir}/apparmor.d
|
||||||
|
%{gitexecdir}//git-instaweb
|
||||||
|
%{gitexecdir}//git-web--browse
|
||||||
|
%{_mandir}/man1/*web*1*
|
||||||
|
%{_mandir}/man5/*web*5*
|
||||||
|
|
||||||
%files core -f bin-man-doc-files
|
%files core -f bin-man-doc-files
|
||||||
|
%license COPYING
|
||||||
%{_datadir}/git-core/
|
%{_datadir}/git-core/
|
||||||
%dir %{gitexecdir}
|
%dir %{gitexecdir}
|
||||||
%dir %{gitexecdir}/mergetools
|
%dir %{gitexecdir}/mergetools
|
||||||
%{gitexecdir}/mergetools/guiffy
|
%{gitexecdir}/mergetools/guiffy
|
||||||
|
# We want to prefer the builtin
|
||||||
|
%exclude %{gitexecdir}/git-add--interactive
|
||||||
%{_bindir}/git-new-workdir
|
%{_bindir}/git-new-workdir
|
||||||
%attr(-,root,root) %{perl_vendorlib}/*
|
|
||||||
%{_sysconfdir}/bash_completion.d/*.sh
|
%{_sysconfdir}/bash_completion.d/*.sh
|
||||||
%{_datadir}/tcsh
|
%{_datadir}/tcsh
|
||||||
%{_sysconfdir}/profile.d/*.csh
|
%{_sysconfdir}/profile.d/*.csh
|
||||||
%{_sysconfdir}/zsh_completion.d
|
%{_sysconfdir}/zsh_completion.d
|
||||||
|
|
||||||
|
%files -n perl-Git
|
||||||
%license COPYING
|
%license COPYING
|
||||||
|
%attr(-,root,root) %{perl_vendorlib}/Git
|
||||||
|
%attr(-,root,root) %{perl_vendorlib}/Git.pm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
18
suse-use-builtin-add-interactive.patch
Normal file
18
suse-use-builtin-add-interactive.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- git-2.31.1/builtin/add.c 2021-03-26 23:03:34.000000000 +0100
|
||||||
|
+++ git-2.31.1/builtin/add.c 2021-04-08 13:15:09.004425194 +0200
|
||||||
|
@@ -208,9 +208,14 @@
|
||||||
|
else if (!git_config_get_bool("feature.experimental", &experimental) &&
|
||||||
|
experimental)
|
||||||
|
use_builtin_add_i = 1;
|
||||||
|
+ else
|
||||||
|
+ use_builtin_add_i = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (use_builtin_add_i == 1) {
|
||||||
|
+ /* SUSE oddity - git-add--interactive is the single remaining perl dependency of
|
||||||
|
+ * git-core - so we opt to default to the builtin interactive shell and strip it.
|
||||||
|
+ * Please let us know at https://bugzilla.suse.com/ if there is an issue with this.*/
|
||||||
|
+ if (use_builtin_add_i != 0) {
|
||||||
|
enum add_p_mode mode;
|
||||||
|
|
||||||
|
if (!patch_mode)
|
Loading…
Reference in New Issue
Block a user