delegate.spec 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. ##
  2. ## delegate.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2007 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_dist 9.5.4
  26. %define V_opkg 9.5.4
  27. # package information
  28. Name: delegate
  29. Summary: Multi-purpose Application-Level Network Gateway
  30. URL: http://www.delegate.org/
  31. Vendor: Yutaka Sato
  32. Packager: OpenPKG Foundation e.V.
  33. Distribution: OpenPKG Community
  34. Class: BASE
  35. Group: Network
  36. License: Freely distributable
  37. Version: %{V_opkg}
  38. Release: 20070326
  39. # list of sources
  40. Source0: ftp://ftp:openpkg-dev%40openpkg.org@ftp.delegate.org/pub/DeleGate/delegate%{V_dist}.tar.gz
  41. Source1: rc.delegate
  42. Source2: delegated.cf
  43. Patch0: delegate.patch
  44. # build information
  45. Prefix: %{l_prefix}
  46. BuildRoot: %{l_buildroot}
  47. BuildPreReq: OpenPKG, openpkg >= 20060823, gcc
  48. PreReq: OpenPKG, openpkg >= 20060823
  49. AutoReq: no
  50. AutoReqProv: no
  51. %description
  52. DeleGate is a multi-purpose application level gateway, or a proxy
  53. server. It mediates communication of various protocols (HTTP, FTP,
  54. NNTP, POP, Telnet, etc.), applying cache and conversion for mediated
  55. data, controlling access from clients and routing toward servers. It
  56. translates protocols between clients and servers, merging several
  57. servers into a single server view with aliasing and filtering.
  58. Besides proxy, DeleGate can be used as a simple origin server for
  59. some protocols (HTTP, FTP and NNTP).
  60. %track
  61. prog delegate = {
  62. version = %{version}
  63. url = ftp://ftp.delegate.org/pub/DeleGate/
  64. regex = delegate(\d+\.\d+\.\d+)\.tar\.(gz|bz2)
  65. }
  66. %prep
  67. %setup -q -n delegate%{V_dist}
  68. %patch -p0
  69. %{l_shtool} subst \
  70. -e 's;^\(const char \*DELEGATE_OWNER *=\) *.*$;\1 "%{l_rusr}/%{l_rgrp}"\;;' \
  71. -e 's;^\(const char \*DELEGATE_ETCDIR *=\) *.*$;\1 "%{l_prefix}/etc/delegate"\;;' \
  72. -e 's;^\(const char \*DELEGATE_CONFIG *=\) *.*$;\1 "%{l_prefix}/etc/delegate/delegated.cf"\;;' \
  73. -e 's;^\(const char \*DELEGATE_DGROOT *=\) *.*$;\1 "%{l_prefix}/var/delegate"\;;' \
  74. -e 's;^\(const char \*DELEGATE_VARDIR *=\) *.*$;\1 "%{l_prefix}/var/delegate"\;;' \
  75. -e 's;^\(const char \*DELEGATE_ACTDIR *=\) *.*$;\1 "%{l_prefix}/var/delegate/act"\;;' \
  76. -e 's;^\(const char \*DELEGATE_PIDFILE *=\) *.*$;\1 "%{l_prefix}/var/delegate/delegate.pid"\;;' \
  77. -e 's;^\(const char \*DELEGATE_LOGDIR *=\) *.*$;\1 "%{l_prefix}/var/delegate/log"\;;' \
  78. -e 's;^\(const char \*DELEGATE_ABORTLOG *=\) *.*$;\1 "%{l_prefix}/var/delegate/log/abort.log"\;;' \
  79. -e 's;^\(const char \*DELEGATE_LOGFILE *=\) *.*$;\1 "%{l_prefix}/var/delegate/log/common.log"\;;' \
  80. -e 's;^\(const char \*DELEGATE_ERRORLOG *=\) *.*$;\1 "%{l_prefix}/var/delegate/log/error.log"\;;' \
  81. -e 's;^\(const char \*DELEGATE_PROTOLOG *=\) *.*$;\1 "%{l_prefix}/var/delegate/log/proto.log"\;;' \
  82. -e 's;^\(const char \*DELEGATE_TRACELOG *=\) *.*$;\1 "%{l_prefix}/var/delegate/log/trace.log"\;;' \
  83. -e 's;^\(const char \*DELEGATE_WORKDIR *=\) *.*$;\1 "%{l_prefix}/var/delegate/work"\;;' \
  84. -e 's;^\(const char \*DELEGATE_TMPDIR *=\) *.*$;\1 "%{l_prefix}/var/delegate/tmp"\;;' \
  85. src/conf.c
  86. %build
  87. ( %{l_shtool} echo -e "ADMIN = %u@%h%d"
  88. echo "CC = %{l_cc}"
  89. echo "CFLAGS = %{l_cflags -O}"
  90. ) >src/DELEGATE_CONF
  91. %{l_make} %{l_mflags -O}
  92. %install
  93. rm -rf $RPM_BUILD_ROOT
  94. # install DeleGate files
  95. %{l_shtool} mkdir -f -p -m 755 \
  96. $RPM_BUILD_ROOT%{l_prefix}/etc/delegate \
  97. $RPM_BUILD_ROOT%{l_prefix}/sbin \
  98. $RPM_BUILD_ROOT%{l_prefix}/share/delegate/docs
  99. %{l_shtool} mkdir -f -p -m 700 \
  100. $RPM_BUILD_ROOT%{l_prefix}/var/delegate/act \
  101. $RPM_BUILD_ROOT%{l_prefix}/var/delegate/adm \
  102. $RPM_BUILD_ROOT%{l_prefix}/var/delegate/cache \
  103. $RPM_BUILD_ROOT%{l_prefix}/var/delegate/log \
  104. $RPM_BUILD_ROOT%{l_prefix}/var/delegate/work \
  105. $RPM_BUILD_ROOT%{l_prefix}/var/delegate/tmp
  106. %{l_shtool} install -c -s -m 755 \
  107. src/delegated $RPM_BUILD_ROOT%{l_prefix}/sbin/
  108. %{l_shtool} install -c -m 644 \
  109. doc/Manual.htm $RPM_BUILD_ROOT%{l_prefix}/share/delegate/docs/manual.html
  110. # install default configuration
  111. %{l_shtool} install -c -m 644 %{l_value -s -a} \
  112. %{SOURCE delegated.cf} $RPM_BUILD_ROOT%{l_prefix}/etc/delegate/
  113. # install run-command script
  114. %{l_shtool} mkdir -f -p -m 755 \
  115. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  116. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  117. %{SOURCE rc.delegate} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  118. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
  119. '%config %{l_prefix}/etc/delegate/*' \
  120. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate' \
  121. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate/act' \
  122. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate/adm' \
  123. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate/cache' \
  124. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate/log' \
  125. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate/work' \
  126. '%attr(0700,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/delegate/tmp'
  127. %files -f files
  128. %clean
  129. rm -rf $RPM_BUILD_ROOT
  130. %post
  131. # after upgrade, restart service
  132. [ $1 -eq 2 ] || exit 0
  133. eval `%{l_rc} delegate status 2>/dev/null`
  134. [ ".$delegate_active" = .yes ] && %{l_rc} delegate restart
  135. exit 0
  136. %preun
  137. # before erase, stop service
  138. [ $1 -eq 0 ] || exit 0
  139. %{l_rc} delegate stop 2>/dev/null
  140. rm -f $RPM_INSTALL_PREFIX/var/delegate/*.log* >/dev/null 2>&1 || true
  141. exit 0