annotate contrib/mercurial.spec @ 6369:53912d30ac40

Avoid calling heads() twice on every hg commit. In an extreme case (merging two revisions with very low revision numbers) this could be slower than the previous code, but it should be much faster in the usual cases (parents are near the tip). It also avoids some races in some uninteresting cases (e.g. two concurrent hg commits).
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 23 Mar 2008 21:03:24 -0300
parents cc7a43af709d
children 3e000e2bf5f6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
1 Summary: Mercurial -- a distributed SCM
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
2 Name: mercurial
3863
1ef8ada4370f Remove hard-coded version numbers and release notes from packaging
Matt Mackall <mpm@selenic.com>
parents: 1891
diff changeset
3 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
4 Release: 0
1273
ab22af71386f Clean up RPM spec file
Florian La Roche <laroche@redhat.com>
parents: 563
diff changeset
5 License: GPL
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
6 Group: Development/Tools
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
7 Source: http://www.selenic.com/mercurial/release/%{name}-%{version}.tar.gz
1273
ab22af71386f Clean up RPM spec file
Florian La Roche <laroche@redhat.com>
parents: 563
diff changeset
8 URL: http://www.selenic.com/mercurial
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
9 BuildRoot: /tmp/build.%{name}-%{version}-%{release}
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
10
4751
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
11 # From the README:
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
12 #
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
13 # Note: some distributions fails to include bits of distutils by
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
14 # default, you'll need python-dev to install. You'll also need a C
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
15 # compiler and a 3-way merge tool like merge, tkdiff, or kdiff3.
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
16 #
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
17 # python-devel provides an adequate python-dev. The merge tool is a
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
18 # run-time dependency.
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
19 #
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
20 BuildRequires: python >= 2.3, python-devel, make, gcc, asciidoc, xmlto
4751
2f2d8c5e7a5c mercurial.spec: add BuildRequires
julian@lava.net
parents: 4750
diff changeset
21
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
22 %define pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))')
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
23 %define pythonlib %{_libdir}/python%{pythonver}/site-packages/%{name}
1890
d4545f1b8bfa fix contrib/mercurial.spec for hgext
Xiaofeng Ling <xiaofeng.ling@intel.com>
parents: 1273
diff changeset
24 %define hgext %{_libdir}/python%{pythonver}/site-packages/hgext
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
25
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
26 %description
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
27 Mercurial is a fast, lightweight source control management system designed
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
28 for efficient handling of very large distributed projects.
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 %prep
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
31 rm -rf $RPM_BUILD_ROOT
1273
ab22af71386f Clean up RPM spec file
Florian La Roche <laroche@redhat.com>
parents: 563
diff changeset
32 %setup -q
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
33
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
34 %build
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
35 make all
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
36
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
37 %install
4750
87a35bb58b88 mercurial.spec: fix when default python prefix != rpm %{_prefix}
Adam Spiers <hg@adamspiers.org>
parents: 3863
diff changeset
38 python setup.py install --root $RPM_BUILD_ROOT --prefix %{_prefix}
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
39 make install-doc DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir}
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
40
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
41 install contrib/hgk $RPM_BUILD_ROOT%{_bindir}
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
42 install contrib/convert-repo $RPM_BUILD_ROOT%{_bindir}/mercurial-convert-repo
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
43 install contrib/hg-ssh $RPM_BUILD_ROOT%{_bindir}
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
44 install contrib/git-viz/{hg-viz,git-rev-tree} $RPM_BUILD_ROOT%{_bindir}
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
45
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
46 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
47 mkdir -p $bash_completion_dir
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
48 install contrib/bash_completion $bash_completion_dir/mercurial.sh
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
49
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
50 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
51 mkdir -p $zsh_completion_dir
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
52 install contrib/zsh_completion $zsh_completion_dir/_mercurial
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
53
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
54 lisp_dir=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
55 mkdir -p $lisp_dir
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
56 install contrib/mercurial.el $lisp_dir
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
57
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
58 %clean
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
59 rm -rf $RPM_BUILD_ROOT
459
7c1952b29656 Add an RPM spec file
mpm@selenic.com
parents:
diff changeset
60
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
61 %files
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
62 %defattr(-,root,root,-)
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
63 %doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html doc/ja *.cgi
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4752
diff changeset
64 %{_mandir}/man?/hg*.gz
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
65 %dir %{pythonlib}
1890
d4545f1b8bfa fix contrib/mercurial.spec for hgext
Xiaofeng Ling <xiaofeng.ling@intel.com>
parents: 1273
diff changeset
66 %dir %{hgext}
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
67 %{_sysconfdir}/bash_completion.d/mercurial.sh
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
68 %{_datadir}/zsh/site-functions/_mercurial
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
69 %{_datadir}/emacs/site-lisp/mercurial.el
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
70 %{_bindir}/hg
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
71 %{_bindir}/hgk
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
72 %{_bindir}/hgmerge
4752
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
73 %{_bindir}/hg-ssh
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
74 %{_bindir}/hg-viz
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
75 %{_bindir}/git-rev-tree
cc0fb3500dd5 mercurial.spec: include various utility files from contrib/ in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4751
diff changeset
76 %{_bindir}/mercurial-convert-repo
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
77 %{pythonlib}/templates
1273
ab22af71386f Clean up RPM spec file
Florian La Roche <laroche@redhat.com>
parents: 563
diff changeset
78 %{pythonlib}/*.py*
3863
1ef8ada4370f Remove hard-coded version numbers and release notes from packaging
Matt Mackall <mpm@selenic.com>
parents: 1891
diff changeset
79 %{pythonlib}/hgweb/*.py*
563
42a6a41ab76b [PATCH] clean up RPM spec file
mpm@selenic.com
parents: 459
diff changeset
80 %{pythonlib}/*.so
1890
d4545f1b8bfa fix contrib/mercurial.spec for hgext
Xiaofeng Ling <xiaofeng.ling@intel.com>
parents: 1273
diff changeset
81 %{hgext}/*.py*
4756
cc7a43af709d mercurial.spec: convert extension now installs files into hgext/convert/
Adam Spiers <hg@adamspiers.org>
parents: 4753
diff changeset
82 %{hgext}/convert/*.py*