1 Star 0 Fork 39

wangchen/git

forked from src-openEuler/git 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
git.spec 10.10 KB
一键复制 编辑 原始数据 按行查看 历史
wangchen 提交于 2021-01-27 10:39 . update to 2.30.0
%global gitexecdir %{_libexecdir}/git-core
Name: git
Version: 2.30.0
Release: 1
Summary: A popular and widely used Version Control System
License: GPLv2+ or LGPLv2.1
URL: https://git-scm.com/
Source0: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.xz
Source1: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.sign
Source100: git-gui.desktop
Source101: [email protected]
Source102: git.socket
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
%description
Git is a free and open source distributed version control system
designed to handle everything from small to very large projects
with speed and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast
performance. It outclasses SCM tools like Subversion, CVS, Perforce,
and ClearCase with features like cheap local branching, convenient
staging areas, and multiple workflows.
%package daemon
Summary: Git server daemon
Requires: %{name} = %{version}-%{release} systemd
%description daemon
%{summary}.
%package gui
Summary: Graphical user interface to Git
BuildArch: noarch
Requires: %{name} = %{version}-%{release} tk
%description gui
%{summary}.
%package -n gitk
Summary: TK based graphical tool for visualization of Git
BuildArch: noarch
Requires: %{name} = %{version}-%{release} tk
%description -n gitk
%{summary}.
%package web
Summary: Git web interfaces
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Obsoletes: gitweb %{name}-instaweb
Provides: gitweb %{name}-instaweb
%description web
Git web interface allows user browsing git repositories via web service.
%package svn
Summary: Git tools for importing Subversion repositories
BuildArch: noarch
Requires: %{name} = %{version}-%{release} subversion perl-TermReadKey perl-Digest-MD5
%description svn
%{summary}.
%package email
Summary: Git tools for sending patches via email
BuildArch: noarch
Requires: git = %{version}-%{release}
Requires: perl-Authen-SASL perl-Net-SMTP-SSL
%description email
%{summary}.
%package -n perl-Git
Summary: Perl interface to Git
BuildArch: noarch
Requires: git = %{version}-%{release} perl(:MODULE_COMPAT_%(perl -V:version | cut -d"'" -f 2))
%description -n perl-Git
%{summary}.
%package -n perl-Git-SVN
Summary: Perl interface to Git::SVN
BuildArch: noarch
Requires: git = %{version}-%{release} perl(:MODULE_COMPAT_%(perl -V:version | cut -d"'" -f 2))
%description -n perl-Git-SVN
%{summary}.
%package help
Summary: Man pages and documents for Git system
BuildArch: noarch
Obsoletes: %{name}-core-doc
Provides: %{name}-core-doc
%description help
%{summary}.
%prep
%autosetup -n %{name}-%{version} -p1
rm -rf perl/Git/LoadCPAN{.pm,/}
grep -rlZ '^use Git::LoadCPAN::' | xargs -r0 sed -i 's/Git::LoadCPAN:://g'
sed -i '/^git-cvs/d' command-list.txt
%build
%configure
# Some options can not configure in configure script, so give options here (config.mak included in Makefile)
cat > config.mak << EOF
CFLAGS = %{optflags}
LDFLAGS = %{__global_ldflags}
NEEDS_CRYPTO_WITH_SSL = 1
USE_LIBPCRE = 1
INSTALL_SYMLINKS = 1
GNU_ROFF = 1
GITWEB_PROJECTROOT = %{_localstatedir}/lib/git
PYTHON_PATH = %{__python3}
htmldir = %{?_pkgdocdir}
perllibdir = %{perl_vendorlib}
gitwebdir = %{_localstatedir}/www/git
NO_PERL_CPAN_FALLBACKS = 1
EOF
# Default using python3
sed -i '1s@#![ ]*/usr/bin/env python@#!%{__python3}@' \
contrib/hooks/multimail/git_multimail.py \
contrib/hooks/multimail/migrate-mailhook-config \
contrib/hooks/multimail/post-receive.example
%make_build
%make_build -C contrib/subtree/
%make_build -C contrib/contacts/
%make_build -C contrib/credential/libsecret/
%make_build -C contrib/credential/netrc/
%make_build -C contrib/diff-highlight/
%install
%make_install install-doc
%make_install -C contrib/subtree/ install-doc
%make_install -C contrib/contacts/ install-doc
install -p -m 644 README.md %{buildroot}%{_pkgdocdir}
install -p -m 644 gitweb/INSTALL %{buildroot}%{_pkgdocdir}/INSTALL.gitweb
install -p -m 644 gitweb/README %{buildroot}%{_pkgdocdir}/README.gitweb
#setup bash completion
install -Dpm 644 contrib/completion/git-completion.bash %{buildroot}%{_datadir}/bash-completion/completions/git
ln -s git %{buildroot}%{_datadir}/bash-completion/completions/gitk
# install contrib to git-core
mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion
mv contrib/hooks/multimail/git_multimail{.py,}
mv contrib/hooks %{buildroot}%{_datadir}/git-core/contrib
install -p -m 644 contrib/completion/git-completion.tcsh %{buildroot}%{_datadir}/git-core/contrib/completion/
install -p -m 644 contrib/completion/git-prompt.sh %{buildroot}%{_datadir}/git-core/contrib/completion/
install -D -p -m 0755 contrib/diff-highlight/diff-highlight %{buildroot}%{_datadir}/git-core/contrib/diff-highlight
# install root path for gitweb
mkdir -p %{buildroot}%{_localstatedir}/lib/git
# install config files
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE100}
install -D -p -m 644 %{SOURCE101} %{buildroot}%{_unitdir}/[email protected]
install -D -p -m 644 %{SOURCE102} %{buildroot}%{_unitdir}/git.socket
install -pm 755 contrib/credential/libsecret/git-credential-libsecret %{buildroot}%{gitexecdir}
install -pm 755 contrib/credential/netrc/git-credential-netrc %{buildroot}%{gitexecdir}
rm -f %{buildroot}%{_bindir}/git-cvsserver
rm -f %{buildroot}%{gitexecdir}/git-cvs*
%find_lang %{name}
cat %{name}.lang >> git-bin-files
# split out bin for primary package
(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
(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
%check
make test
%preun daemon
%systemd_preun git.socket
%post daemon
%systemd_post git.socket
%postun daemon
%systemd_postun_with_restart git.socket
%files -f git-bin-files
%defattr(-,root,root)
%{_datadir}/git-core/
%{_datadir}/bash-completion/completions
%doc README.md
%license LGPL-2.1 COPYING
%files daemon
%defattr(-,root,root)
%{_unitdir}/git.socket
%{_unitdir}/[email protected]
%{gitexecdir}/git-daemon
%{_localstatedir}/lib/git
%files gui
%defattr(-,root,root)
%{_datadir}/applications/git-gui.desktop
%{gitexecdir}/git-gui*
%{gitexecdir}/git-citool
%{_datadir}/git-gui/
%files -n gitk
%defattr(-,root,root)
%{_bindir}/gitk
%{_datadir}/gitk/
%files web
%defattr(-,root,root)
%{_pkgdocdir}/*.gitweb
%{_localstatedir}/www/git/
%{gitexecdir}/git-instaweb
%files svn
%defattr(-,root,root)
%{gitexecdir}/git-svn
%files email
%defattr(-,root,root)
%{gitexecdir}/*email*
%files -n perl-Git -f perl-git-files
%files -n perl-Git-SVN -f perl-git-svn-files
%files help
%defattr(-,root,root)
%exclude %{_pkgdocdir}/{README.md,*.gitweb}
%{_pkgdocdir}/*
%{_mandir}/man1/git*.1.*
%{_mandir}/man3/Git.*
%{_mandir}/man5/git*.5.*
%{_mandir}/man7/git*.7.*
%changelog
* Wed Jan 27 2021 wangchen <[email protected]> - 2.30.0-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Update to 2.30.0
* Fri Sep 25 2020 yang_zhuang_zhuang <[email protected]> - 2.27.0-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Resolved the problem that a failure message is displayed when the git-daemon package is uninstalled
* Tue Jul 28 2020 yang_zhuang_zhuang <[email protected]> - 2.27.0-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update version to 2.27.0
* Thu May 14 2020 gaihuiying <[email protected]> - 2.23.0-16
- Type:cves
- ID:CVE-2020-11008
- SUG:NA
- DESC:fix CVE-2020-11008
credential: detect unrepresentable values when parsin urls
fsck: detect gitmodules URLs with embedded newlines
* Fri Apr 17 2020 openEuler Buildteam <[email protected]> - 2.23.0-15
- Type:cves
- ID:CVE-2020-5260
- SUG:NA
- DESC:fix CVE-2020-5260
* Wed Apr 15 2020 openEuler Buildteam <[email protected]> - 2.23.0-14
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:reset bash completion
* Tue Apr 14 2020 openEuler Buildteam <[email protected]> - 2.23.0-13
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:setup bash completion
* Thu Mar 19 2020 openEuler Buildteam <[email protected]> - 2.23.0-12
- skip updating the preference during running test suite
* Sat Mar 14 2020 openEuler Buildteam <[email protected]> - 2.23.0-11
- add build requires of gdb
* Mon Feb 24 2020 openEuler Buildteam <[email protected]> - 2.23.0-10
- delete cvs subpackage
* Mon Feb 03 2020 openEuler Buildteam <[email protected]> - 2.23.0-9
- fix CVE-2019-1348 CVE-2019-1349 CVE-2019-1350 CVE-2019-1351 CVE-2019-1352
CVE-2019-1353 CVE-2019-1354 CVE-2019-1387 CVE-2019-19604
fix test error
* Thu Jan 09 2020 openEuler Buildteam <[email protected]> - 2.23.0-8
- Delete unneeded files
* Thu Dec 5 2019 shenyangyang <[email protected]> - 2.23.0-7
- Add requires and two files in %{_libexecdir}/git-core
* Thu Dec 5 2019 shenyangyang <[email protected]> - 2.23.0-6
- Delete the perl(Error*) module that provided by perl-Git
* Thu Oct 31 2019 openEuler Buildteam <[email protected]> - 2.23.0-5
- Modify installation of contrib and templates
* Wed Sep 25 2019 openEuler Buildteam <[email protected]> - 2.23.0-4
- Modify license
* Wed Sep 4 2019 openEuler Buildteam <[email protected]> - 2.23.0-3
- Split out perl-Git-SVN
* Wed Sep 4 2019 openEuler Buildteam <[email protected]> - 2.23.0-2
- Split Package
* Sat Aug 31 2019 openEuler Buildteam <[email protected]> - 2.23.0-1
- Package init
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wangchen2020/git.git
[email protected]:wangchen2020/git.git
wangchen2020
git
git
master

搜索帮助