From 3dd6b3ff78f72856963010971add309495636af7 Mon Sep 17 00:00:00 2001 From: fly_fzc <2385803914@qq.com> Date: Mon, 19 Sep 2022 11:23:38 +0800 Subject: [PATCH] add subpackage git-core --- git.spec | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/git.spec b/git.spec index 89dedb7..4afb965 100644 --- a/git.spec +++ b/git.spec @@ -1,7 +1,7 @@ %global gitexecdir %{_libexecdir}/git-core Name: git Version: 2.27.0 -Release: 8 +Release: 9 Summary: A popular and widely used Version Control System License: GPLv2+ or LGPLv2.1 URL: https://git-scm.com/ @@ -28,9 +28,9 @@ Patch12: backport-CVE-2022-29187.patch BuildRequires: gcc gettext BuildRequires: openssl-devel libcurl-devel expat-devel systemd asciidoc xmlto glib2-devel libsecret-devel pcre-devel desktop-file-utils BuildRequires: python3-devel perl-generators perl-interpreter perl-Error perl(Test::More) perl-MailTools perl(Test) gdb -Requires: less zlib openssh-clients perl(Term::ReadKey) perl-Git -Obsoletes: %{name}-core %{name}-core-doc %{name}-subtree %{name}-p4 git-cvs < %{version}-%{release} -Provides: %{name} <= %{version}-%{release} %{name}-core %{name}-subtree %{name}-p4 +Requires: less zlib openssh-clients perl(Term::ReadKey) perl-Git git-core = %{version}-%{release} +Obsoletes: %{name}-core-doc %{name}-subtree %{name}-p4 git-cvs < %{version}-%{release} +Provides: %{name} <= %{version}-%{release} %{name}-subtree %{name}-p4 %description Git is a free and open source distributed version control system @@ -41,6 +41,21 @@ performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows. +%package core +Summary: Core package of git with minimal functionality +Requires: less +Requires: openssh-clients +Requires: zlib >= 1.2 +%description core +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. + +The git-core rpm installs really the core tools with minimal +dependencies. Install git package for common set of tools. +To install all git packages, including tools for integrating with +other SCMs, install the git-all meta-package + %package daemon Summary: Git server daemon Requires: %{name} = %{version}-%{release} systemd @@ -201,12 +216,21 @@ cat %{name}.lang >> git-bin-files (find %{buildroot}{%{_bindir},%{gitexecdir}} -type f -o -type l | grep -vE "git-(gui|daemon|cvs|svn|instaweb|citool|send-email)" | \ sed -e s@^%{buildroot}@@) >> git-bin-files +exclude_re="archimport|email|git-(citool|credential-libsecret|cvs|daemon|gui|instaweb|p4|subtree|svn)|gitk|gitweb|p4merge" +(find %{buildroot}{%{_bindir},%{_libexecdir}} -type f -o -type l | grep -vE "$exclude_re" | sed -e s@^%{buildroot}@@) > bin-man-doc-files +(find %{buildroot}{%{_bindir},%{_libexecdir}} -mindepth 1 -type d | grep -vE "$exclude_re" | sed -e 's@^%{buildroot}@%dir @') >> bin-man-doc-files + (find %{buildroot}%{perl_vendorlib} -type f | sed -e s@^%{buildroot}@@) > perl-git-files (find %{buildroot}%{perl_vendorlib} -mindepth 1 -type d | sed -e 's@^%{buildroot}@%dir @') >> perl-git-files # split out perl files for Git and Git::SVN grep Git/SVN perl-git-files > perl-git-svn-files sed -i "/Git\/SVN/ d" perl-git-files +# Split core files +not_core_re="git-(add--interactive|contacts|credential-netrc|filter-branch|instaweb|request-pull|send-mail)|gitweb" +grep -vE "$not_core_re|%{_mandir}" bin-man-doc-files > bin-files-core + + %check make %{?_smp_mflags} test @@ -226,6 +250,19 @@ make %{?_smp_mflags} test %doc README.md %license LGPL-2.1 COPYING +%files core -f bin-files-core +%license LGPL-2.1 COPYING +# exclude is best way here because of troubles with symlinks inside git-core/ +%exclude %{_datadir}/git-core/contrib/diff-highlight +%exclude %{_datadir}/git-core/contrib/hooks/multimail +%exclude %{_datadir}/git-core/contrib/hooks/update-paranoid +%exclude %{_datadir}/git-core/contrib/hooks/setgitperms.perl +%exclude %{_datadir}/git-core/templates/hooks/fsmonitor-watchman.sample +%exclude %{_datadir}/git-core/templates/hooks/pre-rebase.sample +%exclude %{_datadir}/git-core/templates/hooks/prepare-commit-msg.sample +%{_datadir}/bash-completion/completions +%{_datadir}/git-core/ + %files daemon %defattr(-,root,root) %{_unitdir}/git.socket @@ -273,6 +310,9 @@ make %{?_smp_mflags} test %{_mandir}/man7/git*.7.* %changelog +* Mon Sep 19 2022 fuanan - 2.27.0-9 +- add subpackage git-core + * Mon Jul 18 2022 fuanan - 2.27.0-8 - Type:CVE - ID:CVE-2022-29187 -- Gitee