contrib/mercurial.spec
author Gregory Szorc <gregory.szorc@gmail.com>
Thu, 24 Jul 2014 12:12:12 -0700
branchstable
changeset 21939 f486001f9d6f
parent 21641 977e5bd6eb76
child 22385 95032d2cf96f
permissions -rwxr-xr-x
revset: optimize baseset.__sub__ (issue4313) dd716807fd23 regressed performance of baseset.__sub__ by introducing a lazyset. This patch restores that lost performance by eagerly evaluating baseset.__sub__ if the other set is a baseset. revsetbenchmark.py results impacted by this change: revset #6: roots(0::tip) 0) wall 2.923473 comb 2.920000 user 2.920000 sys 0.000000 (best of 4) 1) wall 0.077614 comb 0.080000 user 0.080000 sys 0.000000 (best of 100) revset #23: roots((0:tip)::) 0) wall 2.875178 comb 2.880000 user 2.880000 sys 0.000000 (best of 4) 1) wall 0.154519 comb 0.150000 user 0.150000 sys 0.000000 (best of 61) On the author's machine, this slowdown manifested during evaluation of 'roots(%ln::)' in phases.retractboundary after unbundling the Firefox repository. Using `time hg unbundle firefox.hg` as a benchmark: Before: 8:00 After: 4:28 Delta: -3:32 For reference, the subset and cs baseset instances impacted by this change were of lengths 193634 and 193627, respectively. Explicit test coverage of roots(%ln::), while similar to the existing roots(0::tip) benchmark, has been added.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21639
57e0f053e529 buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents: 21638
diff changeset
     1
%global emacs_lispdir %{_datadir}/emacs/site-lisp
57e0f053e529 buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents: 21638
diff changeset
     2
%global pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))')
57e0f053e529 buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents: 21638
diff changeset
     3
12056
85439f43749f mercurial.spec: specify file modes for install
Mads Kiilerich <mads@kiilerich.com>
parents: 11845
diff changeset
     4
Summary: A fast, lightweight Source Control Management system
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
     5
Name: mercurial
3863
1ef8ada4370f Remove hard-coded version numbers and release notes from packaging
Matt Mackall <mpm@selenic.com>
parents: 1891
diff changeset
     6
Version: snapshot
1891
e5c8e38b788f New version/release in mercurial.spec, patchbomb is now in hgext.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1890
diff changeset
     7
Release: 0
10263
25e572394f5c Update license to GPLv2+
Matt Mackall <mpm@selenic.com>
parents: 10255
diff changeset
     8
License: GPLv2+
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
     9
Group: Development/Tools
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    10
URL: http://mercurial.selenic.com/
21641
977e5bd6eb76 buildrpm: include release version in .tar.gz name
Mads Kiilerich <madski@unity3d.com>
parents: 21639
diff changeset
    11
Source0: %{name}-%{version}-%{release}.tar.gz
7424
05a3f2802b13 Fix rpmlint warnings
Mads Kiilerich <mads@kiilerich.com>
parents: 7423
diff changeset
    12
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    13
11845
85de44ae0238 mercurial.spec: gettext is a build requirement for getting proper localization
Mads Kiilerich <mads@kiilerich.com>
parents: 11512
diff changeset
    14
BuildRequires: python >= 2.4, python-devel, make, gcc, python-docutils >= 0.5, gettext
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    15
Provides: hg = %{version}-%{release}
10255
26fc868cb8b0 mercurial.spec: Alignment with AIX spec by Jim Hague
Mads Kiilerich <mads@kiilerich.com>
parents: 9635
diff changeset
    16
Requires: python >= 2.4
26fc868cb8b0 mercurial.spec: Alignment with AIX spec by Jim Hague
Mads Kiilerich <mads@kiilerich.com>
parents: 9635
diff changeset
    17
# The hgk extension uses the wish tcl interpreter, but we don't enforce it
26fc868cb8b0 mercurial.spec: Alignment with AIX spec by Jim Hague
Mads Kiilerich <mads@kiilerich.com>
parents: 9635
diff changeset
    18
#Requires: tk
4751
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
    19
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    20
%description
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    21
Mercurial is a fast, lightweight source control management system designed
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    22
for efficient handling of very large distributed projects.
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    23
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    24
%prep
21641
977e5bd6eb76 buildrpm: include release version in .tar.gz name
Mads Kiilerich <madski@unity3d.com>
parents: 21639
diff changeset
    25
%setup -q -n mercurial-%{version}-%{release}
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    26
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    27
%build
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
    28
make all
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    29
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    30
%install
7424
05a3f2802b13 Fix rpmlint warnings
Mads Kiilerich <mads@kiilerich.com>
parents: 7423
diff changeset
    31
rm -rf $RPM_BUILD_ROOT
11062
a2a6fd1064df contrib/mercurial.spec: Use DESTDIR variable and 'make install'
Mads Kiilerich <mads@kiilerich.com>
parents: 11014
diff changeset
    32
make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} MANDIR=%{_mandir}
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
    33
21638
5337cb17fa1f buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents: 12056
diff changeset
    34
install -m 755 contrib/hgk $RPM_BUILD_ROOT%{_bindir}/
5337cb17fa1f buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents: 12056
diff changeset
    35
install -m 755 contrib/hg-ssh $RPM_BUILD_ROOT%{_bindir}/
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    36
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    37
bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    38
mkdir -p $bash_completion_dir
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    39
install -m 644 contrib/bash_completion $bash_completion_dir/mercurial.sh
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    40
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    41
zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    42
mkdir -p $zsh_completion_dir
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    43
install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    44
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    45
mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir}
21638
5337cb17fa1f buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents: 12056
diff changeset
    46
install -m 644 contrib/mercurial.el $RPM_BUILD_ROOT%{emacs_lispdir}/
5337cb17fa1f buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents: 12056
diff changeset
    47
install -m 644 contrib/mq.el $RPM_BUILD_ROOT%{emacs_lispdir}/
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    48
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    49
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
12056
85439f43749f mercurial.spec: specify file modes for install
Mads Kiilerich <mads@kiilerich.com>
parents: 11845
diff changeset
    50
install -m 644 contrib/mergetools.hgrc $RPM_BUILD_ROOT%{_sysconfdir}/mercurial/hgrc.d/mergetools.rc
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    51
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
    52
%clean
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
    53
rm -rf $RPM_BUILD_ROOT
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
    54
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
    55
%files
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
    56
%defattr(-,root,root,-)
10664
9602fc4e6914 mercurial.spec: remove reference to doc/ja
Greg Lindahl <greg@blekko.com>
parents: 10263
diff changeset
    57
%doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html *.cgi contrib/*.fcgi
10255
26fc868cb8b0 mercurial.spec: Alignment with AIX spec by Jim Hague
Mads Kiilerich <mads@kiilerich.com>
parents: 9635
diff changeset
    58
%doc %attr(644,root,root) %{_mandir}/man?/hg*
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    59
%doc %attr(644,root,root) contrib/*.svg contrib/sample.hgrc
12056
85439f43749f mercurial.spec: specify file modes for install
Mads Kiilerich <mads@kiilerich.com>
parents: 11845
diff changeset
    60
%dir %{_datadir}/zsh/
85439f43749f mercurial.spec: specify file modes for install
Mads Kiilerich <mads@kiilerich.com>
parents: 11845
diff changeset
    61
%dir %{_datadir}/zsh/site-functions/
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    62
%{_datadir}/zsh/site-functions/_mercurial
12056
85439f43749f mercurial.spec: specify file modes for install
Mads Kiilerich <mads@kiilerich.com>
parents: 11845
diff changeset
    63
%dir %{_datadir}/emacs/site-lisp/
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    64
%{_datadir}/emacs/site-lisp/mercurial.el
10255
26fc868cb8b0 mercurial.spec: Alignment with AIX spec by Jim Hague
Mads Kiilerich <mads@kiilerich.com>
parents: 9635
diff changeset
    65
%{_datadir}/emacs/site-lisp/mq.el
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    66
%{_bindir}/hg
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    67
%{_bindir}/hgk
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
    68
%{_bindir}/hg-ssh
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    69
%dir %{_sysconfdir}/bash_completion.d/
12056
85439f43749f mercurial.spec: specify file modes for install
Mads Kiilerich <mads@kiilerich.com>
parents: 11845
diff changeset
    70
%config(noreplace) %{_sysconfdir}/bash_completion.d/mercurial.sh
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    71
%dir %{_sysconfdir}/mercurial
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    72
%dir %{_sysconfdir}/mercurial/hgrc.d
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    73
%config(noreplace) %{_sysconfdir}/mercurial/hgrc.d/mergetools.rc
8867
ff817723280a contrib/buildrpm: Support python 2.4 and 2.6
Mads Kiilerich <mads@kiilerich.com>
parents: 7433
diff changeset
    74
%if "%{?pythonver}" != "2.4"
ff817723280a contrib/buildrpm: Support python 2.4 and 2.6
Mads Kiilerich <mads@kiilerich.com>
parents: 7433
diff changeset
    75
%{_libdir}/python%{pythonver}/site-packages/%{name}-*-py%{pythonver}.egg-info
ff817723280a contrib/buildrpm: Support python 2.4 and 2.6
Mads Kiilerich <mads@kiilerich.com>
parents: 7433
diff changeset
    76
%endif
8942
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    77
%{_libdir}/python%{pythonver}/site-packages/%{name}
51038bb526ea Make RPM spec in contrib more aligned with the one from Fedora
Mads Kiilerich <mads@kiilerich.com>
parents: 8936
diff changeset
    78
%{_libdir}/python%{pythonver}/site-packages/hgext