155 lines
4.7 KiB
RPMSpec
155 lines
4.7 KiB
RPMSpec
%{!?python2_sitearch: %define python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python2_lib; print get_python2_lib(1)")}
|
|
|
|
Name: mercurial
|
|
Version: 5.1
|
|
Release: 3
|
|
Summary: Source control management tool
|
|
License: GPLv2+
|
|
URL: http://www.selenic.com/mercurial/
|
|
Source0: http://www.selenic.com/mercurial/release/%{name}-%{version}.tar.gz
|
|
|
|
Patch0: dirs-fix-trivial-over-read-of-input-data.patch
|
|
Patch1: dirs-remove-mutable-string-optimization-at-all.patch
|
|
Patch2: dirs-tag-a-struct-as-not-being-formattable.patch
|
|
Patch3: dirs-give-formatting-oversight-to-clang-format.patch
|
|
Patch4: dirs-reject-consecutive-slashes-in-paths.patch
|
|
Patch5: dirs-resolve-fuzzer-OOM-situation-by-disallowing-deep-directory-hierarchies.patch
|
|
|
|
BuildRequires: gcc python2 python2-devel bash-completion emacs-nox emacs-el pkgconfig gettext python2-docutils
|
|
Requires: python2 emacs-filesystem tk
|
|
Provides: hg = %{version}-%{release} emacs-mercurial <= 3.4.1 emacs-mercurial-el <= 3.4.1
|
|
Provides: mercurial-hgk mercurial-chg
|
|
Obsoletes: emacs-mercurial <= 3.4.1 emacs-mercurial-el <= 3.4.1
|
|
Obsoletes: mercurial-hgk mercurial-chg
|
|
|
|
%description
|
|
Mercurial is a free, distributed source control management tool.
|
|
It efficiently handles projects of any size and offers an easy and intuitive interface.
|
|
|
|
%package_help
|
|
|
|
#Build sections
|
|
%prep
|
|
%autosetup -n %{name}-%{version} -p1
|
|
|
|
sed -i 's|python|python2|' %{_builddir}/%{name}-%{version}/Makefile %{_builddir}/%{name}-%{version}/doc/Makefile
|
|
|
|
%build
|
|
%make_build
|
|
|
|
pushd contrib/chg
|
|
make
|
|
popd
|
|
|
|
%install
|
|
rm -rf %{buildroot}
|
|
%{__python2} setup.py install -O1 --root %{buildroot} --prefix %{_prefix} --record=%{name}.files
|
|
make install-doc DESTDIR=%{buildroot} MANDIR=%{_mandir}
|
|
|
|
grep -v -e 'hgk.py*' -e %{python2_sitearch}/mercurial/ -e %{python2_sitearch}/hgext/ < %{name}.files > %{name}-base.files
|
|
grep 'hgk.py*' < %{name}.files > %{name}-hgk.files
|
|
|
|
install -D -m 755 contrib/hgk %{buildroot}%{_libexecdir}/mercurial/hgk
|
|
install -m 755 contrib/hg-ssh %{buildroot}%{_bindir}
|
|
|
|
bash_completion_dir=%{buildroot}$(pkg-config --variable=completionsdir bash-completion)
|
|
mkdir -p $bash_completion_dir
|
|
install -m 644 contrib/bash_completion $bash_completion_dir/hg
|
|
|
|
zsh_completion_dir=%{buildroot}%{_datadir}/zsh/site-functions
|
|
mkdir -p $zsh_completion_dir
|
|
install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial
|
|
|
|
mkdir -p %{buildroot}%{_emacs_sitelispdir}/mercurial
|
|
|
|
pushd contrib
|
|
for file in mercurial.el mq.el; do
|
|
#emacs -batch -l mercurial.el --no-site-file -f batch-byte-compile $file
|
|
%{_emacs_bytecompile} $file
|
|
install -p -m 644 $file ${file}c %{buildroot}%{_emacs_sitelispdir}/mercurial
|
|
rm ${file}c
|
|
done
|
|
popd
|
|
|
|
pushd contrib/chg
|
|
make install DESTDIR=%{buildroot} PREFIX=%{_usr} MANDIR=%{_mandir}/man1
|
|
popd
|
|
|
|
mkdir -p %{buildroot}/%{_sysconfdir}/mercurial/hgrc.d
|
|
|
|
touch mercurial-site-start.el
|
|
mkdir -p %{buildroot}%{_emacs_sitestartdir} && install -m644 mercurial-site-start.el %{buildroot}%{_emacs_sitestartdir}
|
|
|
|
cat >hgk.rc <<EOF
|
|
[extensions]
|
|
# enable hgk extension ('hg help' shows 'view' as a command)
|
|
hgk=
|
|
|
|
[hgk]
|
|
path=%{_libexecdir}/mercurial/hgk
|
|
EOF
|
|
install -m 644 hgk.rc %{buildroot}/%{_sysconfdir}/mercurial/hgrc.d
|
|
|
|
cat > certs.rc <<EOF
|
|
# see: http://mercurial.selenic.com/wiki/CACertificates
|
|
[web]
|
|
cacerts = /etc/pki/tls/certs/ca-bundle.crt
|
|
EOF
|
|
install -m 644 certs.rc %{buildroot}/%{_sysconfdir}/mercurial/hgrc.d
|
|
|
|
mv %{buildroot}%{python2_sitearch}/mercurial/locale %{buildroot}%{_datadir}/locale
|
|
rm -rf %{buildroot}%{python2_sitearch}/mercurial/locale
|
|
|
|
%find_lang hg
|
|
|
|
grep -v locale %{name}-base.files > %{name}-base-filtered.files
|
|
|
|
%check
|
|
|
|
%pre
|
|
|
|
%preun
|
|
|
|
%post
|
|
|
|
%postun
|
|
|
|
%files -f %{name}-base-filtered.files -f hg.lang
|
|
%doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html *.cgi contrib/*.fcgi contrib/*.wsgi contrib/*.svg
|
|
%config(noreplace) %{_sysconfdir}/mercurial/hgrc.d/certs.rc
|
|
%{_sysconfdir}/mercurial/hgrc.d/hgk.rc
|
|
%dir %{_sysconfdir}/mercurial
|
|
%dir %{_sysconfdir}/mercurial/hgrc.d
|
|
%{_bindir}/hg-ssh
|
|
%{_bindir}/chg
|
|
%dir %{_datadir}/zsh/
|
|
%{_datadir}/zsh/site-functions/_mercurial
|
|
%{_datadir}/bash-completion/
|
|
%{_datadir}/zsh/site-functions/
|
|
%{_libexecdir}/mercurial/
|
|
%{python2_sitearch}/mercurial
|
|
%{python2_sitearch}/hgext
|
|
%{_emacs_sitelispdir}/mercurial
|
|
%{_emacs_sitestartdir}/*.el
|
|
|
|
%files help
|
|
%attr(644,root,root)
|
|
%{_mandir}/man?/hg*.gz
|
|
%{_mandir}/man?/chg.*.gz
|
|
|
|
%changelog
|
|
* Thu Apr 23 2020 openEuler Buildteam <buildteam@openeuler.org> - 5.1-3
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:fix the problems detected by oss-fuzz
|
|
|
|
* Thu Jan 9 2020 JeanLeo <liujianliu.liu@huawei.com> - 5.1-2
|
|
- Type:bugfix
|
|
- Id:NA
|
|
- SUG:NA
|
|
- DESC:update software package
|
|
|
|
* Wed Sep 04 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.1-1
|
|
- Package init
|