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