mercurial/mercurial.spec

Wed, 08 Feb 2012 20:15:40 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 08 Feb 2012 20:15:40 +0200
changeset 600
00bfe519c9d3
parent 270
42bbe3abe794
child 601
969c819f102b
permissions
-rw-r--r--

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

mercurial