stun/stun.spec

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 417
76ceb617f880
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

michael@52 1 ##
michael@52 2 ## stun.spec -- OpenPKG RPM Package Specification
michael@52 3 ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@52 4 ##
michael@52 5 ## Permission to use, copy, modify, and distribute this software for
michael@52 6 ## any purpose with or without fee is hereby granted, provided that
michael@52 7 ## the above copyright notice and this permission notice appear in all
michael@52 8 ## copies.
michael@52 9 ##
michael@52 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@52 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@52 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@52 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@52 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@52 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@52 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@52 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@52 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@52 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@52 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@52 21 ## SUCH DAMAGE.
michael@52 22 ##
michael@52 23
michael@52 24 # package information
michael@52 25 Name: stun
michael@52 26 Summary: STUN Client & Server
michael@52 27 URL: http://www.vovida.org/applications/downloads/stun/
michael@52 28 Vendor: Vovida
michael@52 29 Packager: OpenPKG Foundation e.V.
michael@52 30 Distribution: OpenPKG Community
michael@52 31 Class: EVAL
michael@52 32 Group: VoIP
michael@52 33 License: Open Source
michael@417 34 Version: 0.97
michael@417 35 Release: 20120208
michael@52 36
michael@52 37 # list of sources
michael@417 38 Source0: http://switch.dl.sourceforge.net/stun/stund-%{version}.tgz
michael@52 39 Source1: rc.stun
michael@52 40 Patch0: stun.patch
michael@52 41
michael@52 42 # build information
michael@52 43 Prefix: %{l_prefix}
michael@52 44 BuildRoot: %{l_buildroot}
michael@85 45 BuildPreReq: OpenPKG, openpkg >= 20060823, make, gcc, gcc::with_cxx = yes
michael@52 46 PreReq: OpenPKG, openpkg >= 20060823
michael@52 47 AutoReq: no
michael@52 48 AutoReqProv: no
michael@52 49
michael@52 50 %description
michael@52 51 The STUN (Simple Traversal of UDP through NATs (Network Address
michael@52 52 Translation)) server is an implementation of the STUN protocol that
michael@52 53 enables STUN functionality in SIP-based systems. The STUN server
michael@52 54 tar ball also include a client API to enable STUN functionality in
michael@52 55 SIP endpoints. In addition there is a command line UNIX client and
michael@52 56 a graphical windows client that check what type of NAT the user is
michael@52 57 using. STUN is an application-layer protocol that can determine the
michael@52 58 public IP and nature of a NAT device that sits between the STUN
michael@52 59 client and STUN server. The current version of the code supports
michael@52 60 most of RFC 3489 except the ability to get OTPs from the server.
michael@52 61
michael@52 62 %track
michael@52 63 prog stun = {
michael@417 64 version = %{version}
michael@52 65 url = http://prdownloads.sourceforge.net/stun/
michael@52 66 regex = stund_(.+?)\.tgz
michael@52 67 }
michael@52 68
michael@52 69 %prep
michael@52 70 %setup -q -n stund
michael@52 71 %patch -p0
michael@418 72 %{l_shtool} subst \
michael@418 73 -e 's;\(|| defined(__i386__)\) );\1 || defined(__x86_64__) );' \
michael@418 74 stun.cxx
michael@53 75 case "%{l_platform -t}" in
michael@53 76 *-sunos* )
michael@53 77 %{l_shtool} subst \
michael@53 78 -e 's;^\(LDFLAGS\)+=.*;\1=;' \
michael@417 79 -e 's;^#\(LDFLAGS+=\) -lnsl -lsocket;\1-lsocket -lnsl -ldl;' \
michael@53 80 Makefile
michael@53 81 ;;
michael@53 82 * )
michael@53 83 %{l_shtool} subst \
michael@53 84 -e 's;^\(LDFLAGS\)+=.*;\1=;' \
michael@53 85 Makefile
michael@53 86 ;;
michael@53 87 esac
michael@52 88
michael@52 89 %build
michael@417 90 %{l_make} %{l_mflags -O} \
michael@52 91 CXX="%{l_cxx}" \
michael@53 92 CXXFLAGS="%{l_cxxflags -O}"
michael@52 93
michael@52 94 %install
michael@52 95 rm -rf $RPM_BUILD_ROOT
michael@52 96 %{l_shtool} mkdir -f -p -m 755 \
michael@52 97 $RPM_BUILD_ROOT%{l_prefix}/bin \
michael@52 98 $RPM_BUILD_ROOT%{l_prefix}/sbin \
michael@52 99 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
michael@52 100 $RPM_BUILD_ROOT%{l_prefix}/var/stun
michael@52 101 %{l_shtool} install -c -s -m 755 \
michael@52 102 client $RPM_BUILD_ROOT%{l_prefix}/bin/stun
michael@52 103 %{l_shtool} install -c -s -m 755 \
michael@52 104 server $RPM_BUILD_ROOT%{l_prefix}/sbin/stund
michael@52 105 %{l_shtool} install -c -m 755 %{l_value -s -a} \
michael@52 106 %{SOURCE rc.stun} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
michael@52 107 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
michael@52 108
michael@52 109 %files -f files
michael@52 110
michael@52 111 %clean
michael@52 112 rm -rf $RPM_BUILD_ROOT
michael@52 113
michael@52 114 %post
michael@52 115 if [ $1 -eq 1 ]; then
michael@52 116 # display final hints on initial installation
michael@52 117 ( echo "Before starting the STUN daemon, please set the configuration"
michael@52 118 echo "variables \"stun_bind_addr{1,2}\" in $RPM_INSTALL_PREFIX/etc/rc.conf"
michael@52 119 echo "to two *different* IP addresses bound to your host. STUN requires this."
michael@52 120 ) | %{l_rpmtool} msg -b -t notice
michael@52 121 fi
michael@52 122
michael@52 123 # after upgrade, restart service
michael@52 124 [ $1 -eq 2 ] || exit 0
michael@52 125 eval `%{l_rc} stun status 2>/dev/null`
michael@52 126 [ ".$stun_active" = .yes ] && %{l_rc} stun restart
michael@52 127 exit 0
michael@52 128
michael@52 129 %preun
michael@52 130 # before erase, stop service and remove log files
michael@52 131 [ $1 -eq 0 ] || exit 0
michael@52 132 %{l_rc} stun stop 2>/dev/null
michael@52 133 rm -f $RPM_INSTALL_PREFIX/var/stun/stun.pid >/dev/null 2>&1 || true
michael@52 134 exit 0
michael@52 135

mercurial