freeradius.spec 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. ##
  2. ## freeradius.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
  4. ## Copyright (c) 2000-2004 Ralf S. Engelschall <rse@engelschall.com>
  5. ## Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # FIXME: rse: default configuration is a little bit fat
  26. # FIXME: rse: still not run-time tested
  27. # package version
  28. %define V_real 1.0.0-pre3
  29. %define V_here 1.0.0pre3
  30. # package information
  31. Name: freeradius
  32. Summary: FreeRADIUS Server
  33. URL: http://www.freeradius.org/
  34. Vendor: The FreeRADIUS Server Project
  35. Packager: The OpenPKG Project
  36. Distribution: OpenPKG
  37. Class: EVAL
  38. Group: Network
  39. License: GPL
  40. Version: %{V_here}
  41. Release: 20040806
  42. # list of sources
  43. Source0: ftp://ftp.freeradius.org/pub/radius/freeradius-%{V_real}.tar.gz
  44. Source1: rc.freeradius
  45. Patch0: freeradius.patch
  46. # build information
  47. Prefix: %{l_prefix}
  48. BuildRoot: %{l_buildroot}
  49. BuildPreReq: OpenPKG, openpkg >= 20040130
  50. PreReq: OpenPKG, openpkg >= 20040130
  51. BuildPreReq: make, gcc, perl, openssl, openldap
  52. PreReq: make, gcc, perl, openssl, openldap
  53. AutoReq: no
  54. AutoReqProv: no
  55. %description
  56. FreeRADIUS is one of the most modular and featureful RADIUS servers
  57. available today. It has been written by a team of developers who
  58. have more than a decade of collective experience in implementing
  59. and deploying RADIUS software, in software engineering, and in Unix
  60. package management.
  61. %track
  62. prog freeradius = {
  63. version = %{V_real}
  64. url = ftp://ftp.freeradius.org/pub/radius/
  65. regex = freeradius-(__VER__)\.tar\.gz
  66. }
  67. %prep
  68. %setup -q -n freeradius-%{V_real}
  69. %patch -p0
  70. %{l_shtool} subst \
  71. -e 's;\(LIBS *=.* *-lldap\)";\1 -llber -lssl -lcrypto";' \
  72. src/modules/rlm_ldap/configure
  73. %build
  74. # configure package
  75. CC="%{l_cc}" \
  76. CFLAGS="%{l_cflags -O} %{l_cppflags}" \
  77. CPPFLAGS="%{l_cppflags}" \
  78. LDFLAGS="%{l_ldflags}" \
  79. ./configure \
  80. --prefix=%{l_prefix} \
  81. --libdir=%{l_prefix}/lib/freeradius \
  82. --localstatedir=%{l_prefix}/var/freeradius \
  83. --datadir=%{l_prefix}/share/freeradius \
  84. --sysconfdir=%{l_prefix}/etc \
  85. --disable-shared \
  86. --enable-static \
  87. --with-logdir=%{l_prefix}/var/freeradius \
  88. --with-radacctdir=%{l_prefix}/var/freeradius \
  89. --with-raddbdir=%{l_prefix}/etc/freeradius \
  90. --without-threads \
  91. --with-openssl-includes=%{l_prefix}/include/openssl \
  92. --with-openssl-libraries=%{l_prefix}/lib/ \
  93. --with-rlm-ldap-include-dir=%{l_prefix}/include/ \
  94. --with-rlm-ldap-lib-dir=%{l_prefix}/lib/ \
  95. --without-snmp \
  96. --without-rlm_eap_sim \
  97. --without-rlm_eap_tls \
  98. --without-rlm_eap_peap \
  99. --without-rlm_eap_ttls \
  100. --without-rlm_krb5 \
  101. --without-rlm_sql \
  102. --without-rlm_sql_postgresql \
  103. --without-rlm_dbm \
  104. --enable-strict-dependencies \
  105. --disable-ltdl-install
  106. # build package
  107. %{l_make} %{l_mflags}
  108. %install
  109. # install package
  110. rm -rf $RPM_BUILD_ROOT
  111. %{l_shtool} mkdir -f -p -m 755 \
  112. $RPM_BUILD_ROOT%{l_prefix}/lib/freeradius
  113. %{l_make} %{l_mflags} install \
  114. R=$RPM_BUILD_ROOT
  115. # strip down installation
  116. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  117. rm -rf $RPM_BUILD_ROOT%{l_prefix}/etc/freeradius/certs
  118. rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/freeradius/*.sample
  119. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/freeradius/doc
  120. rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/rc.radiusd
  121. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/freeradius/*%{V_real}*
  122. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/freeradius/rlm_*
  123. # adjust default configuration
  124. %{l_shtool} subst \
  125. -e 's;^#user = nobody;user = %{l_rusr};' \
  126. -e 's;^#group = nobody;group = %{l_rgrp};' \
  127. $RPM_BUILD_ROOT%{l_prefix}/etc/freeradius/radiusd.conf
  128. # install run-command script
  129. %{l_shtool} mkdir -f -p -m 755 \
  130. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  131. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  132. %{SOURCE rc.freeradius} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  133. # determine installation files
  134. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  135. %{l_files_std} \
  136. '%config %{l_prefix}/etc/freeradius/*' \
  137. '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/freeradius'
  138. %files -f files
  139. %clean
  140. rm -rf $RPM_BUILD_ROOT