syslog-ng.spec 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. ##
  2. ## syslog-ng.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ##
  5. ## Permission to use, copy, modify, and distribute this software for
  6. ## any purpose with or without fee is hereby granted, provided that
  7. ## the above copyright notice and this permission notice appear in all
  8. ## copies.
  9. ##
  10. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  11. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  12. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  13. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  14. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  15. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  16. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  17. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  18. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  19. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  20. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21. ## SUCH DAMAGE.
  22. ##
  23. # package version
  24. %define V_sl_major 3.0
  25. %define V_sl_minor 2
  26. %define V_ol_major 0.3
  27. %define V_ol_minor 18
  28. %define V_el_major 0.2
  29. %define V_el_minor 5
  30. # package information
  31. Name: syslog-ng
  32. Summary: Syslog Daemon
  33. URL: http://www.balabit.com/products/syslog-ng/
  34. Vendor: Balázs Scheidler
  35. Packager: OpenPKG Foundation e.V.
  36. Distribution: OpenPKG Community
  37. Class: PLUS
  38. Group: System
  39. License: GPL
  40. Version: %{V_sl_major}.%{V_sl_minor}
  41. Release: 20090531
  42. # list of sources
  43. Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%{V_sl_major}.%{V_sl_minor}/source/syslog-ng_%{V_sl_major}.%{V_sl_minor}.tar.gz
  44. Source1: http://www.balabit.com/downloads/files/libol/%{V_ol_major}/libol-%{V_ol_major}.%{V_ol_minor}.tar.gz
  45. Source2: http://www.balabit.com/downloads/files/eventlog/%{V_el_major}/eventlog-%{V_el_major}.%{V_el_minor}.tar.gz
  46. Source3: rc.syslog-ng
  47. Source4: syslog-ng.conf
  48. Patch0: syslog-ng.patch
  49. # build information
  50. Prefix: %{l_prefix}
  51. BuildRoot: %{l_buildroot}
  52. BuildPreReq: OpenPKG, openpkg >= 20060823, flex, gcc, pkgconfig
  53. PreReq: OpenPKG, openpkg >= 20060823
  54. BuildPreReq: glib2
  55. PreReq: glib2
  56. AutoReq: no
  57. AutoReqProv: no
  58. %description
  59. syslog-ng is a syslogd(8) replacement, but with new functionality
  60. for the new generation. The original syslogd allows messages only
  61. to be sorted based on priority/facility pairs; syslog-ng adds the
  62. possibility to filter based on message contents using regular
  63. expressions. The new configuration scheme is intuitive and powerful.
  64. Forwarding logs over TCP and remembering all forwarding hops makes
  65. it ideal for firewalled environments.
  66. %track
  67. prog syslog-ng:libol = {
  68. version = %{V_ol_major}.%{V_ol_minor}
  69. url = http://www.balabit.com/downloads/files/libol/
  70. regex = (0\.\d+)
  71. url = http://www.balabit.com/downloads/files/libol/__NEWVER__/
  72. regex = libol-(__VER__)\.tar\.gz
  73. }
  74. prog syslog-ng:eventlog = {
  75. version = %{V_el_major}.%{V_el_minor}
  76. url = http://www.balabit.com/downloads/files/eventlog/
  77. regex = (0\.\d+)
  78. url = http://www.balabit.com/downloads/files/eventlog/__NEWVER__/
  79. regex = eventlog-(__VER__)\.tar\.gz
  80. }
  81. prog syslog-ng:syslog-ng = {
  82. version = %{V_sl_major}.%{V_sl_minor}
  83. url = http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/
  84. regex = syslog-ng-(__VER__)\.tar\.gz
  85. }
  86. %prep
  87. %setup -q
  88. %setup -q -T -D -a 1
  89. %setup -q -T -D -a 2
  90. %patch -p0
  91. %build
  92. # configure and build libol
  93. ( cd libol-%{V_ol_major}.%{V_ol_minor}
  94. CC="%{l_cc}" \
  95. CFLAGS="%{l_cflags -O}" \
  96. CPPFLAGS="%{l_cppflags}" \
  97. LDFLAGS="%{l_ldflags}" \
  98. ./configure \
  99. --prefix=%{l_prefix} \
  100. --disable-shared
  101. %{l_make} %{l_mflags -O}
  102. ) || exit $?
  103. # configure and build eventlog
  104. ( cd eventlog-%{V_el_major}.%{V_el_minor}
  105. CC="%{l_cc}" \
  106. CFLAGS="%{l_cflags -O}" \
  107. CPPFLAGS="%{l_cppflags}" \
  108. LDFLAGS="%{l_ldflags}" \
  109. ./configure \
  110. --prefix=%{l_prefix} \
  111. --disable-shared
  112. %{l_make} %{l_mflags -O}
  113. ) || exit $?
  114. # configure and build syslog-ng
  115. %{l_shtool} subst \
  116. -e 's;-Wl,-Bdynamic;;' \
  117. -e 's;-Wl,-Bstatic;;' \
  118. configure
  119. CC="%{l_cc}" \
  120. CFLAGS="%{l_cflags -O}" \
  121. CPPFLAGS="%{l_cppflags}" \
  122. LDFLAGS="%{l_ldflags}" \
  123. EVTLOG_CFLAGS="-I`pwd`/eventlog-%{V_el_major}.%{V_el_minor}/src" \
  124. EVTLOG_LIBS="-L`pwd`/eventlog-%{V_el_major}.%{V_el_minor}/src/.libs -levtlog" \
  125. ./configure \
  126. --prefix=%{l_prefix} \
  127. --mandir=%{l_prefix}/man
  128. %{l_make} %{l_mflags -O}
  129. %install
  130. # install syslog-ng
  131. rm -rf $RPM_BUILD_ROOT
  132. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  133. strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
  134. # install additional files
  135. %{l_shtool} mkdir -f -p -m 755 \
  136. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  137. $RPM_BUILD_ROOT%{l_prefix}/etc/syslog-ng \
  138. $RPM_BUILD_ROOT%{l_prefix}/var/syslog-ng
  139. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  140. %{SOURCE rc.syslog-ng} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  141. %{l_shtool} install -c -m 644 %{l_value -s -a} \
  142. %{SOURCE syslog-ng.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/syslog-ng/
  143. # determine installation files
  144. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  145. %{l_files_std} \
  146. '%config %{l_prefix}/etc/syslog-ng/*'
  147. %files -f files
  148. %clean
  149. rm -rf $RPM_BUILD_ROOT
  150. %post
  151. # after upgrade, restart service
  152. [ $1 -eq 2 ] || exit 0
  153. eval `%{l_rc} syslog-ng status 2>/dev/null`
  154. [ ".$syslog_ng_active" = .yes ] && %{l_rc} syslog-ng restart
  155. exit 0
  156. %preun
  157. # before erase, stop service and remove log files
  158. [ $1 -eq 0 ] || exit 0
  159. %{l_rc} syslog-ng stop 2>/dev/null
  160. rm -f $RPM_INSTALL_PREFIX/var/syslog-ng/* >/dev/null 2>&1 || true
  161. exit 0