/[smecontribs]/rpms/ezmlm-idx/contribs7/ezmlm-idx-std.spec
ViewVC logotype

Contents of /rpms/ezmlm-idx/contribs7/ezmlm-idx-std.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Wed Apr 23 19:18:54 2008 UTC (16 years, 7 months ago) by slords
Branch: MAIN
Changes since 1.1: +5 -2 lines
Spec cleanup

1 # $Id$
2 # Authority: gordonr
3 # Name: Gordon Rowell
4
5 %{expand: %%{global} _i_am_%{_target_os} %%{nil}}
6 # If OS is Linux
7 %{?_i_am_linux: %global ezroot /usr}
8 %{?_i_am_linux: %global ezcgi /var/www/cgi-bin}
9 %{?_i_am_linux: %global rcdir /etc/ezmlm}
10 # If OS is not Linux
11 %{!?_i_am_linux: %global ezroot /usr/local}
12 %{!?_i_am_linux: %global ezcgi /usr/local/apache/cgi-bin}
13 %{!?_i_am_linux: %global rcdir /usr/local/etc/ezmlm}
14 # endif OS
15 %define dbase std
16 %define destdir %buildroot
17 %global ezver 0.53
18 %global idxver 5.1.2
19 Buildprereq: rpm >= 3.0.2
20 Buildroot: %_tmppath/%name-%version-root
21 License: GPL
22 Group: Utilities/System
23 Name: ezmlm-idx
24 Prereq: rpm >= 3.0.2
25 Release: 1%{?dist}
26 Source0: ftp://cr.yp.to/software/ezmlm-%{ezver}.tar.gz
27 Source1: http://ezmlm.org/archive/%{idxver}/%{name}-%{idxver}.tar.gz
28 Source3: ezmlm-idx.spec-kit.tar.gz
29 Summary: Qmail Easy Mailing List Manager + IDX patches.
30 URL: http://www.ezmlm.org
31 Version: %{idxver}
32
33 %description
34 None. See subpackages.
35
36 %package %{dbase}
37 Summary: Qmail Easy Mailing List Manager + IDX patches with %{dbase} database support.
38 Group: Utilities/System
39 Obsoletes: ezmlm-idx
40 Provides: EZMLM
41 Conflicts: ezmlm ezmlm-idx-mysql ezmlm-idx-pgsql
42
43 %description %{dbase}
44 ezmlm lets users set up their own mailing lists within qmail's address
45 hierarchy. A user, Joe, types
46
47 ezmlm-make ~/SOS ~/.qmail-sos joe-sos isp.net
48
49 and instantly has a functioning mailing list, joe-sos@isp.net, with all
50 relevant information stored in a new ~/SOS directory.
51
52 ezmlm sets up joe-sos-subscribe and joe-sos-unsubscribe for automatic
53 processing of subscription and unsubscription requests. Any message to
54 joe-sos-subscribe will work; Joe doesn't have to explain any tricky
55 command formats. ezmlm will send back instructions if a subscriber sends
56 a message to joe-sos-request or joe-sos-help.
57
58 ezmlm automatically archives new messages. Messages are labelled with
59 sequence numbers; a subscriber can fetch message 123 by sending mail to
60 joe-sos-get.123. The archive format supports fast message retrieval even
61 when there are thousands of messages.
62
63 ezmlm takes advantage of qmail's VERPs to reliably determine the
64 recipient address and message number for every incoming bounce message.
65 It waits ten days and then sends the subscriber a list of message
66 numbers that bounced. If that warning bounces, ezmlm sends a probe; if
67 the probe bounces, ezmlm automatically removes the subscriber from the
68 mailing list.
69
70
71 ezmlm is easy for users to control. Joe can edit ~/SOS/text/* to change
72 any of the administrative messages sent to subscribers. He can remove
73 ~/SOS/public and ~/SOS/archived to disable automatic subscription and
74 archiving. He can put his own address into ~/SOS/editor to set up a
75 moderated mailing list. He can edit ~/SOS/{headeradd,headerremove} to
76 control outgoing headers. ezmlm has several utilities to manually
77 inspect and manage mailing lists.
78
79 ezmlm uses Delivered-To to stop forwarding loops, Mailing-List to
80 protect other mailing lists against false subscription requests, and
81 real cryptographic cookies to protect normal users against false
82 subscription requests. ezmlm can also be used for a sublist,
83 redistributing messages from another list.
84
85 ezmlm is reliable, even in the face of system crashes. It writes each
86 new subscription and each new message safely to disk before it reports
87 success to qmail.
88
89 ezmlm doesn't mind huge mailing lists. Lists don't even have to fit into
90 memory. ezmlm hashes the subscription list into a set of independent
91 files so that it can handle subscription requests quickly. ezmlm uses
92 qmail for blazingly fast parallel SMTP deliveries.
93
94 The IDX patches add: Indexing, (Remote) Moderation, digest, make
95 patches, multi-language, MIME, global interface, %{dbase} database support.
96
97 %description %{dbase} -l pl
98 Menad<BF>er pocztowych list dyskusyjnych, ca<B3>kowicie spolszczony, mo<BF>liwo
99 <B6><F6> zdalnego moderowania, MIME.
100
101 %package cgi
102 Prefix: %ezcgi
103 Summary: www archiver for %name
104 Group: Utilities/System
105 Requires: EZMLM
106
107 %description cgi
108 www archiver for %name.
109
110
111 %prep
112 %setup -q -T -b 0 -n ezmlm-%{ezver}
113 %setup -q -D -T -a 1 -n ezmlm-%{ezver}
114 mv -f ezmlm-idx-%{idxver}/* .
115
116 patch -s < idx.patch
117
118 %build
119 echo gcc -O2 --include /usr/include/errno.h > conf-cc
120 echo %{rcdir} >conf-etc
121 echo %{ezroot}/bin > conf-bin
122 echo %{ezroot}/man > conf-man
123
124 if [ "%{dbase}" = "mysql" ]; then
125 echo "cc -s -lz" > conf-ld
126 fi
127
128
129 # Check for gcc version with optimizer bug
130
131 GCC_VERSION="$(cc -v 2>& 1 | tail -1 |awk '{print $3}')"
132
133 if [ "$GCC_VERSION" = "2.95" ] || [ "$GCC_VERSION" = "2.95.1" ]; then
134 echo cc > conf-cc
135 fi
136
137 echo %{dbase} >conf-sub
138 make it man install
139
140 %install
141 /bin/rm -rf %destdir
142
143 mkdir -p %destdir/%{ezroot}/{bin,man}
144 mkdir -p %destdir/%{rcdir}
145 mkdir -p %destdir/%ezcgi
146
147 # Do not create cat subdirs on Linux
148 %ifos Linux
149 sed '/cat/d' MAN > MAN.tmp
150 mv MAN.tmp MAN
151 %endif
152
153 ./install %{destdir}/%{rcdir} < ETC
154 ./install %{destdir}/%{ezroot}/bin < BIN
155 ./install %{destdir}/%{ezroot}/man < MAN
156 ln -s `head -n 1 conf-lang` %{destdir}/%{rcdir}/default
157
158 cp ezmlm-cgi %destdir/%ezcgi
159
160 # create file list for man pages (without ezmlm-cgi.1)
161 find %destdir/%{ezroot}/man -type f \
162 | sed -e "s}%destdir}}" -e "s}$}*}" > man-list
163
164 cp ezmlm-cgi.1 %destdir/%{ezroot}/man/man1
165 chmod 644 %destdir/%{ezroot}/man/man1/ezmlm-cgi.1
166
167 # Create INSTALL file for how to set up ezcgi
168 cat <<EOF > INSTALL.cgi
169 The script ezmlm-cgi is installed as %ezcgi/ezmlm-cgi with
170 permissions 0444. In order to use it, you need to make it
171 SUID root. So do
172
173 chmod 4755 %ezcgi/ezmlm-cgi
174
175 Please see INSTALL.idx 16-22) in this package's doc directory and the
176 man page ezmlm-cgi.1 for more details on setting up and using ezmlm-cgi.
177
178 EOF
179
180 %post %{dbase}
181 echo To create an ezmlmrc file for a language other than US English
182 echo go to this package\'s doc directory, and type
183 echo " make iso"
184 echo 'where "iso" is the ISO language designation.'
185 echo For currently supported languages, see the INSTALL.idx
186 echo file, section 7.
187
188 %clean
189 /bin/rm -rf %destdir
190
191 %files %{dbase} -f man-list
192 %defattr(-, root, root)
193 %dir %{rcdir}
194 %config(noreplace) %{rcdir}/*
195 %doc BLURB CHANGES* FAQ.idx INSTALL INSTALL.idx README*
196 %doc THANKS TODO UPGRADE.idx ChangeLog
197 %doc DOWNGRADE.idx ezmlmrc.template
198 %dir %{ezroot}
199 %dir %{ezroot}/*
200 %{ezroot}/bin/*
201
202 %files cgi
203 %defattr(-, root, root)
204 %doc INSTALL.idx INSTALL.cgi ezcgirc ezcgi.css
205 %attr(0444,root,root) %ezcgi/*
206 %{ezroot}/man/man1/ezmlm-cgi.1.gz

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed