jabberd.spec 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. ##
  2. ## jabberd.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package version
  25. %define V_major 2.0
  26. %define V_minor s8
  27. # package information
  28. Name: jabberd
  29. Summary: Jabber Instant Messaging Daemon
  30. URL: http://jabberstudio.org/
  31. Vendor: Jabber Software Foundation
  32. Packager: OpenPKG
  33. Distribution: OpenPKG
  34. Class: PLUS
  35. Group: Network
  36. License: JOSL/GPL
  37. Version: %{V_major}%{V_minor}
  38. Release: 20050420
  39. # package options
  40. %option with_mysql no
  41. %option with_pgsql no
  42. %option with_pam no
  43. # list of sources
  44. Source0: http://files.jabberstudio.org/jabberd2/jabberd-%{version}.tar.gz
  45. Source1: rc.jabberd
  46. Patch0: jabberd.patch
  47. # build information
  48. Prefix: %{l_prefix}
  49. BuildRoot: %{l_buildroot}
  50. BuildPreReq: OpenPKG, openpkg >= 20040130, make, config
  51. PreReq: OpenPKG, openpkg >= 20040130, perl
  52. BuildPreReq: pth, openssl, libidn, libiconv
  53. PreReq: pth, openssl, libidn, libiconv
  54. BuildPreReq: db
  55. PreReq: db
  56. %if "%{with_mysql}" == "yes"
  57. BuildPreReq: mysql
  58. PreReq: mysql
  59. %endif
  60. %if "%{with_pgsql}" == "yes"
  61. BuildPreReq: postgresql
  62. PreReq: postgresql
  63. %endif
  64. %if "%{with_pam}" == "yes"
  65. BuildPreReq: PAM
  66. PreReq: PAM
  67. %endif
  68. AutoReq: no
  69. AutoReqProv: no
  70. %description
  71. JabberD is the original server implementation for the Jabber instant
  72. messaging platform. JabberD 2 is the next generation of the JabberD
  73. server. It has been rewritten from the ground up to be scalable,
  74. architecturally sound, and to support the latest protocol extensions
  75. coming out of the JSF.
  76. %track
  77. prog jabberd = {
  78. version = %{version}
  79. url = http://files.jabberstudio.org/jabberd2/
  80. regex = jabberd-(\d+\.\d+(\.\d+|s\d+))\.tar\.gz
  81. }
  82. %prep
  83. %setup -q -n jabberd-%{version}
  84. %patch -p0
  85. %{l_prefix}/bin/config install
  86. %{l_shtool} subst \
  87. -e 's;exec perl;exec %{l_prefix}/bin/perl;' \
  88. tools/jabberd.in
  89. %{l_shtool} subst \
  90. -e 's;\(trimedcc=.*CC\).*\(}"\)$;\1\2;' \
  91. ltmain.sh
  92. %build
  93. # configure program
  94. export CC="%{l_cc}"
  95. export CFLAGS="%{l_cflags -O}"
  96. export CPPFLAGS="%{l_cppflags pth libidn}"
  97. export LDFLAGS="%{l_ldflags pth}"
  98. export LIBS=""
  99. case "%{l_platform -t}" in
  100. *-sunos* ) LIBS="$LIBS -lsocket -lnsl -lrt" ;;
  101. esac
  102. export JHOME=%{l_prefix}/var/jabberd
  103. %if "%{with_mysql}" == "yes"
  104. CPPFLAGS="$CPPFLAGS %{l_cppflags mysql}"
  105. LDFLAGS="$LDFLAGS %{l_ldflags mysql}"
  106. %endif
  107. %if "%{with_pgsql}" == "yes"
  108. CPPFLAGS="$CPPFLAGS %{l_cppflags postgresql}"
  109. %endif
  110. ./configure \
  111. --prefix=%{l_prefix} \
  112. --enable-ssl \
  113. --enable-idn \
  114. --enable-fs \
  115. --enable-db \
  116. --enable-pipe \
  117. %if "%{with_mysql}" == "yes"
  118. --enable-mysql \
  119. %else
  120. --disable-mysql \
  121. %endif
  122. %if "%{with_pgsql}" == "yes"
  123. --enable-pgsql \
  124. %else
  125. --disable-pgsql \
  126. %endif
  127. %if "%{with_pam}" == "yes"
  128. --enable-pam \
  129. %else
  130. --disable-pam \
  131. %endif
  132. --enable-static \
  133. --disable-shared
  134. # build program
  135. %{l_make} %{l_mflags}
  136. %install
  137. # create installation filesystem structure
  138. rm -rf $RPM_BUILD_ROOT
  139. %{l_shtool} mkdir -f -p -m 755 \
  140. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  141. $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd \
  142. $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd/templates \
  143. $RPM_BUILD_ROOT%{l_prefix}/var/jabberd \
  144. $RPM_BUILD_ROOT%{l_prefix}/var/jabberd/db \
  145. $RPM_BUILD_ROOT%{l_prefix}/var/jabberd/pid \
  146. $RPM_BUILD_ROOT%{l_prefix}/var/jabberd/log
  147. # install components
  148. %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
  149. # remove unnecessary files
  150. rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd/*dist
  151. rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/jabberd/templates/*dist
  152. # install run-command script
  153. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  154. %{SOURCE rc.jabberd} \
  155. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  156. # determine installation files
  157. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  158. %{l_files_std} \
  159. '%config %{l_prefix}/etc/jabberd/*' \
  160. '%dir %attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/jabberd' \
  161. '%dir %attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/jabberd/*'
  162. %files -f files
  163. %clean
  164. rm -rf $RPM_BUILD_ROOT
  165. %post
  166. # after upgrade, restart service
  167. [ $1 -eq 2 ] || exit 0
  168. eval `%{l_rc} jabberd status 2>/dev/null`
  169. [ ".$jabberd_active" = .yes ] && %{l_rc} jabberd restart
  170. exit 0
  171. %preun
  172. # before erase, stop service and remove log files
  173. [ $1 -eq 0 ] || exit 0
  174. %{l_rc} jabberd stop 2>/dev/null
  175. rm -f $RPM_INSTALL_PREFIX/var/jabberd/*.log* >/dev/null 2>&1 || true
  176. exit 0