contrib/mercurial.spec
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 19 Jan 2008 18:01:16 -0200
changeset 5909 f45f7390c1c5
parent 4756 cc7a43af709d
child 7277 3e000e2bf5f6
permissions -rwxr-xr-x
strip: calculate list of extra nodes to save and pass it to changegroupsubset When we remove revision N from the repository, all revisions >= N are affected: either it's a descendant from N and will also be removed, or it's not a descendant of N and will be renumbered. As a consequence, we have to (at least temporarily) remove all filelog and manifest revisions that have a linkrev >= N, readding some of them later. Unfortunately, it's possible to have a revlog with two revisions r1 and r2 such that r1 < r2, but linkrev(r1) > linkrev(r2). If we try to strip revision linkrev(r1) from the repository, we'll also lose revision r2 when we truncate this revlog. We already use changegroupsubset to create a temporary changegroup containing the revisions that have to be restored, but that function is unable to detect that we also wanted to save the r2 in the case above. So we manually calculate these extra nodes and pass it to changegroupsubset. This should fix issue764.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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*