]> git.pld-linux.org Git - packages/ecartis.git/blob - ecartis.spec
- tabs in preamble
[packages/ecartis.git] / ecartis.spec
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
This page took 0.06907 seconds and 3 git commands to generate.