petidomo.spec 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. ##
  2. ## petidomo.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
  4. ## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@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 information
  25. Name: petidomo
  26. Summary: Mailing List Server
  27. URL: http://www.ossp.org/pkg/petidomo/
  28. Vendor: Peter Simons
  29. Packager: The OpenPKG Project
  30. Distribution: OpenPKG [EXP]
  31. Group: Mail
  32. License: GPL
  33. Version: 4.0b1
  34. Release: %{l_branch}.0
  35. # list of sources
  36. Source0: ftp://ftp.ossp.org/pkg/petidomo/petidomo-%{version}.tar.gz
  37. Source1: etc.petidomo.tar
  38. Source2: ftp://ftp.openpkg.org/DST/petidomo/fakesyslog.tar.gz
  39. # build information
  40. Prefix: %{l_prefix}
  41. BuildRoot: %{l_buildroot}
  42. BuildPreReq: OpenPKG, openpkg >= 20011023.0, bison, flex
  43. PreReq: OpenPKG, openpkg >= 20011023.0, sendmail
  44. AutoReq: no
  45. AutoReqProv: no
  46. %description
  47. Petidomo is a mailing list manager very similar to the popular
  48. package Majordomo. It handles both list un-/subscription and the
  49. address expansion of list postings. The actual delivery of postings
  50. is still performed by an MTA like Sendmail.
  51. %prep
  52. %setup0 -q -c
  53. %setup1 -q -T -D -a 1
  54. %setup2 -q -T -D -a 2
  55. %build
  56. fakesyslogdir="`pwd`/fakesyslog"
  57. ( cd fakesyslog
  58. CC="%{l_cc}" \
  59. CFLAGS="%{l_cflags -O}" \
  60. ./configure \
  61. --with-logfile=%{l_prefix}/var/petidomo/petidomo.log
  62. %{l_make} %{l_mflags}
  63. )
  64. ( cd petidomo-%{version}
  65. PATH="%{l_prefix}/bin:$PATH"
  66. export PATH
  67. CC="%{l_cc}" \
  68. CFLAGS="%{l_cflags -O}" \
  69. LDFLAGS="-L$fakesyslogdir" \
  70. LIBS="-lfakesyslog" \
  71. ./configure \
  72. --prefix=%{l_prefix} \
  73. --sysconfdir=%{l_prefix}/etc/petidomo
  74. %{l_make} %{l_mflags}
  75. )
  76. %install
  77. rm -rf $RPM_BUILD_ROOT
  78. ( cd petidomo-%{version}
  79. %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
  80. )
  81. rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/petidomo
  82. rm -rf $RPM_BUILD_ROOT%{l_prefix}/etc/petidomo
  83. rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/petidomo
  84. %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/petidomo
  85. %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/var/petidomo
  86. ( cd etc.petidomo
  87. l_hostname=`%{l_shtool} echo -e '%h%d'`
  88. %{l_shtool} install -c -m - \
  89. -e "s;@l_hostname@;${l_hostname};g" \
  90. -e "s;@l_prefix@;%{l_prefix};g" \
  91. * $RPM_BUILD_ROOT%{l_prefix}/etc/petidomo/
  92. )
  93. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  94. %{l_files_std} \
  95. '%config %{l_prefix}/etc/petidomo/*'
  96. %files -f files
  97. %clean
  98. rm -rf $RPM_BUILD_ROOT
  99. %post
  100. # add hook into Sendmail configuration
  101. if [ ".$1" = .1 ]; then
  102. if [ -f $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases ]; then
  103. check=`grep '^#<OpenPKG pkg=petidomo>' $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases`
  104. if [ ".$check" = . ]; then
  105. ( echo "#<OpenPKG pkg=petidomo>"
  106. echo "petidomo: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv\""
  107. echo "petidomo-approve: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=approve\""
  108. echo "petidomo-manager: postmaster"
  109. echo "owner-owner: petidomo-manager"
  110. echo "users: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=deliver --listname=users\""
  111. echo "users-request: \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv --listname=users\""
  112. echo "users-owner: postmaster"
  113. echo "owner-users: users-owner"
  114. echo "#</OpenPKG>"
  115. ) >>$RPM_INSTALL_PREFIX/etc/sendmail/t.aliases
  116. (cd $RPM_INSTALL_PREFIX/etc/sendmail/; make t.aliases.db)
  117. fi
  118. fi
  119. fi
  120. %postun
  121. # remove hook from Sendmail configuration
  122. if [ ".$1" = .0 ]; then
  123. if [ -f $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases ]; then
  124. check=`grep '^#<OpenPKG pkg=petidomo>' $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases`
  125. if [ ".$check" != . ]; then
  126. cp -p $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases \
  127. $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases.orig
  128. sed -e '/^#<OpenPKG pkg=petidomo>/,/^#<\/OpenPKG>/d' \
  129. <$RPM_INSTALL_PREFIX/etc/sendmail/t.aliases.orig \
  130. >$RPM_INSTALL_PREFIX/etc/sendmail/t.aliases
  131. (cd $RPM_INSTALL_PREFIX/etc/sendmail/; make t.aliases.db)
  132. rm -f $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases.orig
  133. fi
  134. fi
  135. fi