Wed, 08 Feb 2012 20:15:40 +0200
Update version, introduce hgweb CGI configuration, correct document
installation paths, and properly install and mark configuration files.
1 ##
2 ## mercurial.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/>
4 ##
5 ## Permission to use, copy, modify, and distribute this software for
6 ## any purpose with or without fee is hereby granted, provided that
7 ## the above copyright notice and this permission notice appear in all
8 ## copies.
9 ##
10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
21 ## SUCH DAMAGE.
22 ##
24 # package information
25 Name: mercurial
26 Summary: Disributed Version Control System
27 URL: http://selenic.com/mercurial/
28 Vendor: Matt Mackall et al.
29 Packager: OpenPKG Foundation e.V.
30 Distribution: OpenPKG Community
31 Class: EVAL
32 Group: SCM
33 License: GPL
34 Version: 2.1
35 Release: 20120208
37 # list of sources
38 Source0: http://mercurial.selenic.com/release/mercurial-%{version}.tar.gz
39 Source1: hgweb.cgi
40 Source2: hgweb.cfg
42 # build information
43 Prefix: %{l_prefix}
44 BuildRoot: %{l_buildroot}
45 BuildPreReq: OpenPKG, openpkg >= 20060823, python, python::with_bzip2 = yes
46 PreReq: OpenPKG, openpkg >= 20060823, python, python::with_bzip2 = yes
47 AutoReq: no
48 AutoReqProv: no
50 %description
51 Mercurial is a fast, lightweight Source Control Management (SCM)
52 system designed for efficient handling of very large distributed
53 projects.
55 %track
56 prog mercurial = {
57 version = %{version}
58 url = http://mercurial.selenic.com/release/
59 regex = mercurial-(\d+\.\d+(\.\d+)?)\.tar\.gz
60 }
62 %prep
63 %setup -q
64 %{l_shtool} subst \
65 -e 's;[Mm]ercurial [Rr]epositories;Repositories List;' \
66 templates/*/index.tmpl
67 %{l_shtool} subst \
68 -e 's;[Mm]ercurial [Rr]epository;Repository Name;' \
69 templates/*/footer.tmpl
71 %build
73 %install
74 rm -rf $RPM_BUILD_ROOT
75 %{l_shtool} mkdir -f -p -m 755 \
76 $RPM_BUILD_ROOT%{l_prefix}/cgi \
77 $RPM_BUILD_ROOT%{l_prefix}/bin \
78 $RPM_BUILD_ROOT%{l_prefix}/etc/mercurial \
79 $RPM_BUILD_ROOT%{l_prefix}/libexec/mercurial \
80 $RPM_BUILD_ROOT%{l_prefix}/lib/mercurial \
81 $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
82 $RPM_BUILD_ROOT%{l_prefix}/man/man5
83 %{l_shtool} subst \
84 -e 's;#!/usr/bin/env python;#!%{l_prefix}/bin/python;g' \
85 hg
86 %{l_prefix}/bin/python setup.py install \
87 --root=$RPM_BUILD_ROOT \
88 --prefix=%{l_prefix} \
89 --install-lib=%{l_prefix}/lib/mercurial
90 mv $RPM_BUILD_ROOT%{l_prefix}/bin/hg \
91 $RPM_BUILD_ROOT%{l_prefix}/libexec/mercurial/hg
92 ( echo "#!/bin/sh"
93 echo "PYTHONPATH=\"%{l_prefix}/lib/mercurial\""
94 echo "export PYTHONPATH"
95 echo "%{l_prefix}/bin/python %{l_prefix}/libexec/mercurial/hg \${1+\"\$@\"}"
96 ) >$RPM_BUILD_ROOT%{l_prefix}/bin/hg
97 chmod 755 $RPM_BUILD_ROOT%{l_prefix}/bin/hg
98 %{l_shtool} install -c -m 755 %{l_value -s -a} \
99 %{SOURCE hgweb.cgi} $RPM_BUILD_ROOT%{l_prefix}/cgi/
100 %{l_shtool} install -c -m 644 %{l_value -s -a} \
101 %{SOURCE hgweb.cfg} $RPM_BUILD_ROOT%{l_prefix}/etc/mercurial/
102 %{l_shtool} install -c -m 644 \
103 doc/*.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/
104 %{l_shtool} install -c -m 644 \
105 doc/*.5 $RPM_BUILD_ROOT%{l_prefix}/man/man5/
106 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
107 %{l_files_std} \
108 '%config %{l_prefix}/etc/mercurial/*'
110 %files -f files
112 %clean
113 rm -rf $RPM_BUILD_ROOT