mercurial/mercurial.spec

Sat, 24 Mar 2012 21:40:49 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 24 Mar 2012 21:40:49 +0100
changeset 414
fd611cde817f
parent 269
b93b2c78541a
child 600
00bfe519c9d3
permissions
-rw-r--r--

Introduce many changes to the buildconf and source code including:
(01) clean up, update, and partially update default config files,
(02) seems that Melware is unable to perform release engineering so
update chan_capi to new daily snapshot to solve echo problems,
(03) correct Asterisk inadequate hard coded gmime version check,
(04) force postgresql pthreads linkage to solve build problem,
(05) remove buggy hard coded LibXML configure definitions,
(06) remove local architecture specification to allow GCC
internal logic to determine proper CPU type instead,
(07) remove vendor sound install target causing uncontrolled
downloads and non RPM managed file installation,
(08) solve long outstanding bug in tcptls causing Asterisk
to ignore any intermediate CA certificate signatures,
(09) back out Digium engineering team's bright idea of replacing the
very portable and pervasive POSIX rand(1) with ast_random(), and
then not even implementing it causing all references to fail in
platforms not providing the very new POSIX.1-2008 mkdtemp(3)
function only distributed by BSD and some Linux,
(10) withdraw advanced linker symbol manipulations from SVR5 builds
until either Binutils supports hybrid versioned and anonymous
linker scripts or GCC stops hard coding versioned linker scripts,
(11) correct missing library linkage, some tailored to a specific OS,
(12) remove outdated logic for the no longer distributed gmime-config(1),
(13) remove local gmime buildconf hacks now that Asterisk has corrected
their own build configuration to almost portably support gmime,
(14) solve build problems relating to undetected LibXML paths,
(15) correct erroneous out of tree include definitions,
(16) improve some variable and comment naming,
(17) simplify sound language path hierarchy creation,
and correct australian english installation logic.

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

mercurial