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