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