]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # TODO: | |
3 | # - webapps or /usr/lib/cgi-bin | |
4 | # - %bcond_without doc | |
5 | # - look at permissions. why all by default have access to lists, their config, | |
6 | # users... | |
7 | ||
8 | %define _ver 1.0.0 | |
9 | %define _snap 20060813 | |
10 | ||
11 | Summary: Ecartis mailing list manager | |
12 | Summary(pl.UTF-8): Zarządca list dyskusyjnych Ecartis | |
13 | Name: ecartis | |
14 | Version: %{_ver}.%{_snap} | |
15 | Release: 0.1 | |
16 | License: GPL v2 | |
17 | Group: Applications/Mail | |
18 | Source0: ftp://ftp.ecartis.org/pub/ecartis/snapshots/tar/%{name}-%{_ver}-snap%{_snap}.tar.gz | |
19 | # Source0-md5: 198e045b5b64aecee50e6c3fc69a42f4 | |
20 | Source1: %{name}.logrotate | |
21 | #Original taken from: http://www.misiek.eu.org/ipv6/listar-0.129a-ipv6-20000915.patch.gz | |
22 | Patch0: %{name}-ipv6.patch | |
23 | Patch1: %{name}-conf.patch | |
24 | Patch2: %{name}-paths.patch | |
25 | URL: http://www.ecartis.org/ | |
26 | BuildRequires: /usr/bin/pdflatex | |
27 | BuildRequires: latex2html | |
28 | BuildRequires: perl-base | |
29 | BuildRequires: rpmbuild(macros) >= 1.202 | |
30 | BuildRequires: tetex-dvips | |
31 | BuildRequires: tetex-latex | |
32 | BuildRequires: tetex-pdftex | |
33 | BuildRequires: w3m | |
34 | Requires(post): /bin/hostname | |
35 | Requires(post): fileutils | |
36 | Requires(post): grep | |
37 | Requires(postun): /usr/sbin/groupdel | |
38 | Requires(postun): /usr/sbin/userdel | |
39 | Requires(pre): /bin/id | |
40 | Requires(pre): /usr/bin/getgid | |
41 | Requires(pre): /usr/sbin/groupadd | |
42 | Requires(pre): /usr/sbin/useradd | |
43 | Provides: group(ecartis) | |
44 | Provides: listar | |
45 | Provides: user(ecartis) | |
46 | Obsoletes: listar | |
47 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
48 | ||
49 | %define _ecartisdir /usr/lib/ecartis | |
50 | %define _ecartisdata /var/lib/ecartis | |
51 | %define _cgidir /home/services/httpd/cgi-bin | |
52 | ||
53 | %description | |
54 | Ecartis is a modular mailing list manager; all its functionality is | |
55 | encapsulated in individual 'epm' (Ecartis Plugin Module) files. This | |
56 | allows new commands and functionality to be added on the fly. Ecartis | |
57 | has several useful features, including the ability to have 'flags' set | |
58 | on user accounts (similar to L-soft Listserv), and a very secure | |
59 | remote administration method over e-mail. | |
60 | ||
61 | Errors to this package should be reported to bugs@ecartis.org or via | |
62 | the web at <http://bugs.ecartis.org/ecartis/>. | |
63 | ||
64 | NOTE: This package used to be named Listar, but has recently changed | |
65 | name due to trademark issues. | |
66 | ||
67 | %description -l pl.UTF-8 | |
68 | Ecartis jest modułowym narzędziem do zarządzania listami dyskusyjnymi. | |
69 | Cała jego funkcjonalność zawiera się w pojedynczych plikach 'epm' | |
70 | (Ecartis Plugin Module), dzięki czemu można w locie dodawać nowe | |
71 | polecenia i funkcjonalność. Ecartis ma wiele przydatnych funkcji, np. | |
72 | możliwość ustawienia 'flag' na kontach użytkowników (podobnie jak w | |
73 | programie L-soft Listserv), i bardzo bezpieczną metodę zdalnej | |
74 | administracji przy użyciu poczty elektronicznej. | |
75 | ||
76 | Informacje o błędach w pakiecie należy wysyłać na adres | |
77 | bugs@ecartis.org lub zgłaszać na stronie | |
78 | <http://bugs.ecartis.org/ecartis/>. | |
79 | ||
80 | UWAGA: Pakiet nazywał się kiedyś Listar, jednak nazwa została | |
81 | zmieniona ze względu na problemy ze znakiem handlowym. | |
82 | ||
83 | %package cgi | |
84 | Summary: Web interface for Ecartis | |
85 | Summary(pl.UTF-8): Web interfejs dla Ecartis | |
86 | Group: Applications/Mail | |
87 | Requires: %{name} = %{version}-%{release} | |
88 | Requires: webserver | |
89 | Obsoletes: listar-cgi | |
90 | ||
91 | %description cgi | |
92 | ecartis-cgi program, which provides a web-based front-end for your | |
93 | Ecartis mailing lists. | |
94 | ||
95 | %description cgi -l pl.UTF-8 | |
96 | Program ecartis-cgi, który jest interfejsem WWW do programu | |
97 | zarządzającego Ecartis. | |
98 | ||
99 | %prep | |
100 | %setup -q -n %{name}-%{_ver} | |
101 | %patch0 -p1 | |
102 | %patch1 -p1 | |
103 | %patch2 -p1 | |
104 | ||
105 | %build | |
106 | TEXINPUTS=".:/usr/share/latex2html/texinputs:"; export TEXINPUTS | |
107 | ||
108 | perl -pi -e 's@include templates@include %{_ecartisdata}/templates@' templates/*.lsc | |
109 | ||
110 | %{__make} -C src \ | |
111 | -fMakefile.dist \ | |
112 | WFLAGS="%{rpmcflags} -Wall" | |
113 | ||
114 | %{__make} -C documentation \ | |
115 | LATEX=%{_bindir}/latex \ | |
116 | PDFLATEX=%{_bindir}/pdflatex \ | |
117 | DVIPS=%{_bindir}/dvips \ | |
118 | W3M=%{_bindir}/w3m \ | |
119 | LATEX2HTML=%{_bindir}/latex2html \ | |
120 | WFLAGS="%{rpmcflags} -Wall" | |
121 | ||
122 | %install | |
123 | rm -rf $RPM_BUILD_ROOT | |
124 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},logrotate.d,cron.daily} \ | |
125 | $RPM_BUILD_ROOT%{_ecartisdata}/{archive,queue,lists/{test/text,SITEDATA/users}} \ | |
126 | $RPM_BUILD_ROOT%{_ecartisdir}/{modules,scripts,templates} \ | |
127 | $RPM_BUILD_ROOT{%{_cgidir},/var/log} | |
128 | ||
129 | %{__make} -C src install \ | |
130 | -fMakefile.dist | |
131 | ||
132 | install %{name} $RPM_BUILD_ROOT%{_ecartisdir} | |
133 | ||
134 | install modules/*.lpm $RPM_BUILD_ROOT%{_ecartisdir}/modules | |
135 | install scripts/* $RPM_BUILD_ROOT%{_ecartisdir}/scripts | |
136 | install ecartis.cfg.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ecartis.cfg | |
137 | install ecartis.aliases.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ecartis.aliases | |
138 | install banned $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/banned | |
139 | install spam-regexp.sample $RPM_BUILD_ROOT%{_ecartisdir}/spam-regexp.sample | |
140 | install templates/*.lsc $RPM_BUILD_ROOT%{_ecartisdir}/templates | |
141 | install ecartis.hlp $RPM_BUILD_ROOT%{_ecartisdata}/ecartis.hlp | |
142 | install -D lists/test/text/* $RPM_BUILD_ROOT%{_ecartisdata}/lists/test/text | |
143 | ||
144 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} | |
145 | ||
146 | > $RPM_BUILD_ROOT%{_var}/log/%{name}.log | |
147 | > $RPM_BUILD_ROOT%{_ecartisdata}/lists/SITEDATA/cookies | |
148 | ||
149 | cat << EOF > $RPM_BUILD_ROOT%{_cgidir}/ecartisgate.cgi | |
150 | #!/bin/sh | |
151 | %{_ecartisdir}/%{name} -lsg2 | |
152 | EOF | |
153 | ||
154 | cat << EOF > $RPM_BUILD_ROOT/etc/cron.daily/%{name} | |
155 | %{_ecartisdir}/%{name} -procbounce | |
156 | %{_ecartisdir}/%{name} -procdigest | |
157 | EOF | |
158 | ||
159 | # For compatibility with Listar: | |
160 | ln -sf %{_ecartisdir}/%{name} $RPM_BUILD_ROOT%{_ecartisdir}/listar | |
161 | ln -sf %{_cgidir}/ecartisgate.cgi $RPM_BUILD_ROOT%{_cgidir}/listargate.cgi | |
162 | ||
163 | %clean | |
164 | rm -rf $RPM_BUILD_ROOT | |
165 | ||
166 | %pre | |
167 | %groupadd -g 64 ecartis | |
168 | %useradd -u 64 -d %{_ecartisdir} -s /bin/false -c "Ecartis User" -g ecartis ecartis | |
169 | ||
170 | %postun | |
171 | if [ "$1" = "0" ]; then | |
172 | %userremove ecartis | |
173 | %groupremove ecartis | |
174 | fi | |
175 | ||
176 | %post | |
177 | # alias: | |
178 | umask 022 | |
179 | if [ -f /etc/mail/aliases ]; then | |
180 | if [ -e /etc/smrsh ]; then | |
181 | if ! grep -q "^%{name}:" /etc/mail/aliases; then | |
182 | echo "%{name}: \"|/etc/smrsh/ecartis\"" >> /etc/mail/aliases | |
183 | newaliases || : | |
184 | fi | |
185 | else | |
186 | if ! grep -q "^%{name}:" /etc/mail/aliases; then | |
187 | echo "%{name}: \"|%{_ecartisdir}/%{name}\"" >> /etc/mail/aliases | |
188 | newaliases || : | |
189 | fi | |
190 | fi | |
191 | fi | |
192 | ||
193 | # mailname: | |
194 | if [ ! -f /etc/mail/mailname -a -d /etc/mail -a -x /bin/hostname ]; then | |
195 | hostname -f > /etc/mail/mailname | |
196 | fi | |
197 | ||
198 | # Detect SMRSH | |
199 | if [ -e /etc/smrsh -a ! -e /etc/smrsh/ecartis ]; then | |
200 | echo "#!/bin/sh" > /etc/smrsh/ecartis | |
201 | echo "%{_ecartisdir}/ecartis \$@" >> /etc/smrsh/ecartis | |
202 | chmod ug+rx /etc/smrsh/ecartis | |
203 | ||
204 | echo "Your installation has been detected to have SMRSH, the SendMail" | |
205 | echo "Restricted SHell, installed. If this is your first install, you" | |
206 | echo "will want to: " | |
207 | echo "" | |
208 | echo "1) add 'listserver-bin-dir = /etc/smrsh' to ecartis.cfg" | |
209 | echo "2) change the address for Ecartis in the aliases file to be" | |
210 | echo " /etc/smrsh/ecartis instead of /home/ecartis/ecartis" | |
211 | chmod a+x /etc/smrsh/ecartis | |
212 | fi | |
213 | ||
214 | # Force the %{_ecartisdir} directory permissions to something sane | |
215 | chmod 711 %{_ecartisdir} | |
216 | ||
217 | # Run upgrade | |
218 | echo "Running \"%{_ecartisdir}/%{name} -upgrade\" now... " | |
219 | %{_ecartisdir}/%{name} -upgrade | |
220 | echo "done." | |
221 | exit 0 | |
222 | ||
223 | %triggerpostun -- listar | |
224 | echo "Upgrading from listar..." | |
225 | if [ -e /etc/smrsh ]; then | |
226 | ln -sf /etc/smrsh/ecartis /etc/smrsh/listar | |
227 | fi | |
228 | echo "Copying lists from listar directories" | |
229 | cp -R /var/lib/listar/lists %{_ecartisdata} | |
230 | chown -R ecartis:ecartis %{_ecartisdata} | |
231 | if [ -e /etc/smrsh ]; then | |
232 | echo "Making link /etc/smrsh/listar to /etc/smrsh/ecartis:" | |
233 | ln -sf ecartis /etc/smrsh/listar | |
234 | fi | |
235 | ||
236 | %files | |
237 | %defattr(644,root,root,755) | |
238 | %doc ECARTIS.TODO NOTE README* src/{CHANGELOG,CREDITS} documentation/ecartis.txt | |
239 | %attr(750,root,root) /etc/cron.daily/%{name} | |
240 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} | |
241 | %attr(775,ecartis,ecartis) %dir %{_sysconfdir}/%{name} | |
242 | %attr(644,root,ecartis) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/* | |
243 | %attr(640,ecartis,ecartis) %ghost /var/log/%{name}.log | |
244 | %attr(711,ecartis,ecartis) %dir %{_ecartisdir} | |
245 | %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/templates | |
246 | %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/modules | |
247 | %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/scripts | |
248 | %attr(755,ecartis,ecartis) %dir %{_ecartisdata} | |
249 | %attr(751,ecartis,ecartis) %dir %{_ecartisdata}/archive | |
250 | %attr(755,ecartis,ecartis) %dir %{_ecartisdata}/lists | |
251 | %attr(750,ecartis,ecartis) %dir %{_ecartisdata}/queue | |
252 | %attr(750,ecartis,ecartis) %{_ecartisdata}/*.hlp | |
253 | %attr(640,root ,ecartis) %{_ecartisdir}/spam-regexp.sample | |
254 | %attr(750,ecartis,ecartis) %{_ecartisdir}/modules/* | |
255 | %attr(750,ecartis,ecartis) %{_ecartisdir}/scripts/* | |
256 | %attr(4755,ecartis,ecartis) %{_ecartisdir}/ecartis | |
257 | ||
258 | %files cgi | |
259 | %defattr(644,root,root,755) | |
260 | %doc src/modules/lsg2/*.txt | |
261 | %attr(755,root, root) %{_cgidir}/*.cgi | |
262 | %attr(775,root,ecartis) %dir %{_ecartisdata}/lists/SITEDATA | |
263 | %attr(660,root,ecartis) %{_ecartisdata}/lists/SITEDATA/cookies | |
264 | %{_ecartisdir}/templates/*.lsc |