]> git.pld-linux.org Git - packages/ecartis.git/blob - ecartis.spec
72c117b4e33746812b46e60f67ebb315d2b20d91
[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:  rpmbuild(macros) >= 1.202
29 BuildRequires:  tetex-dvips
30 BuildRequires:  tetex-latex
31 BuildRequires:  tetex-pdftex
32 BuildRequires:  w3m
33 BuildRequires:  /usr/bin/pdflatex
34 Requires(pre):  /bin/id
35 Requires(pre):  /usr/bin/getgid
36 Requires(pre):  /usr/sbin/groupadd
37 Requires(pre):  /usr/sbin/useradd
38 Requires(postun):       /usr/sbin/groupdel
39 Requires(postun):       /usr/sbin/userdel
40 Requires(post): /bin/hostname
41 Requires(post): fileutils
42 Requires(post): grep
43 Provides:       group(ecartis)
44 Provides:       user(ecartis)
45 Provides:       listar
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
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 administracji
74 przy u¿yciu poczty elektronicznej.
75
76 Informacje o b³êdach w pakiecie nale¿y wysy³aæ na adres bugs@ecartis.org
77 lub zg³aszaæ na stronie <http://bugs.ecartis.org/ecartis/>.
78
79 UWAGA: Pakiet nazywa³ siê kiedy¶ Listar, jednak nazwa zosta³a
80 zmieniona ze wzglêdu na problemy ze znakiem handlowym.
81
82 %package cgi
83 Summary:        Web interface for Ecartis
84 Summary(pl):    Web interfejs dla Ecartis
85 Group:          Applications/Mail
86 Requires:       %{name} = %{version}
87 Requires:       webserver
88 Obsoletes:      listar-cgi
89
90 %description cgi
91 ecartis-cgi program, which provides a web-based front-end for your
92 Ecartis mailing lists.
93
94 %description cgi -l pl
95 Program ecartis-cgi, który jest interfejsem WWW do programu
96 zarz±dzaj±cego Ecartis.
97
98 %prep
99 %setup -q
100 %patch0 -p1
101 %patch1 -p1
102 %patch2 -p1
103
104 %build
105 TEXINPUTS=".:/usr/share/latex2html/texinputs:"; export TEXINPUTS
106
107 perl -pi -e 's@include templates@include %{_ecartisdata}/templates@' templates/*.lsc
108
109 %{__make} -C src \
110         -fMakefile.dist \
111         WFLAGS="%{rpmcflags} -Wall"
112
113 %{__make} -C documentation \
114         LATEX=%{_bindir}/latex \
115         PDFLATEX=%{_bindir}/pdflatex \
116         DVIPS=%{_bindir}/dvips \
117         W3M=%{_bindir}/w3m \
118         LATEX2HTML=%{_bindir}/latex2html \
119         WFLAGS="%{rpmcflags} -Wall"
120
121 %install
122 rm -rf $RPM_BUILD_ROOT
123 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},logrotate.d,cron.daily} \
124         $RPM_BUILD_ROOT%{_ecartisdata}/{archive,queue,lists/{test/text,SITEDATA/users}} \
125         $RPM_BUILD_ROOT%{_ecartisdir}/{modules,scripts,templates} \
126         $RPM_BUILD_ROOT{%{_cgidir},/var/log}
127
128 %{__make} -C src install \
129         -fMakefile.dist
130
131 install %{name} $RPM_BUILD_ROOT%{_ecartisdir}
132
133 install modules/*.lpm           $RPM_BUILD_ROOT%{_ecartisdir}/modules
134 install scripts/*               $RPM_BUILD_ROOT%{_ecartisdir}/scripts
135 install ecartis.cfg.dist        $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ecartis.cfg
136 install ecartis.aliases.dist    $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ecartis.aliases
137 install banned                  $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/banned
138 install spam-regexp.sample      $RPM_BUILD_ROOT%{_ecartisdir}/spam-regexp.sample
139 install templates/*.lsc         $RPM_BUILD_ROOT%{_ecartisdir}/templates
140 install ecartis.hlp             $RPM_BUILD_ROOT%{_ecartisdata}/ecartis.hlp
141 install -D lists/test/text/*    $RPM_BUILD_ROOT%{_ecartisdata}/lists/test/text
142
143 install %{SOURCE1}              $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
144
145 > $RPM_BUILD_ROOT%{_var}/log/%{name}.log
146 > $RPM_BUILD_ROOT%{_ecartisdata}/lists/SITEDATA/cookies
147
148 cat << EOF > $RPM_BUILD_ROOT%{_cgidir}/ecartisgate.cgi
149 #!/bin/sh
150 %{_ecartisdir}/%{name} -lsg2
151 EOF
152
153 cat << EOF > $RPM_BUILD_ROOT/etc/cron.daily/%{name}
154 %{_ecartisdir}/%{name} -procbounce
155 %{_ecartisdir}/%{name} -procdigest
156 EOF
157
158 # For compatibility with Listar:
159 ln -sf %{_ecartisdir}/%{name} $RPM_BUILD_ROOT%{_ecartisdir}/listar
160 ln -sf %{_cgidir}/ecartisgate.cgi $RPM_BUILD_ROOT%{_cgidir}/listargate.cgi
161
162 %clean
163 rm -rf $RPM_BUILD_ROOT
164
165 %pre
166 %groupadd -g 64 ecartis
167 %useradd -u 64 -d %{_ecartisdir} -s /bin/false -c "Ecartis User" -g ecartis ecartis
168
169 %postun
170 if [ "$1" = "0" ]; then
171         %userremove ecartis
172         %groupremove ecartis
173 fi
174
175 %post
176 # alias:
177 umask 022
178 if [ -f /etc/mail/aliases ]; then
179         if [ -e /etc/smrsh ]; then
180                 if ! grep -q "^%{name}:" /etc/mail/aliases; then
181                         echo "%{name}:  \"|/etc/smrsh/ecartis\"" >> /etc/mail/aliases
182                         newaliases || :
183                 fi
184         else
185                 if ! grep -q "^%{name}:" /etc/mail/aliases; then
186                         echo "%{name}:  \"|%{_ecartisdir}/%{name}\"" >> /etc/mail/aliases
187                         newaliases || :
188                 fi
189         fi
190 fi
191
192 # mailname:
193 if [ ! -f /etc/mail/mailname -a -d /etc/mail -a -x /bin/hostname ]; then
194         hostname -f > /etc/mail/mailname
195 fi
196
197 # Detect SMRSH
198 if [ -e /etc/smrsh -a ! -e /etc/smrsh/ecartis ]; then
199         echo "#!/bin/sh" > /etc/smrsh/ecartis
200         echo "%{_ecartisdir}/ecartis \$@" >> /etc/smrsh/ecartis
201         chmod ug+rx /etc/smrsh/ecartis
202
203         echo "Your installation has been detected to have SMRSH, the SendMail"
204         echo "Restricted SHell, installed.  If this is your first install, you"
205         echo "will want to: "
206         echo ""
207         echo "1) add 'listserver-bin-dir = /etc/smrsh' to ecartis.cfg"
208         echo "2) change the address for Ecartis in the aliases file to be"
209         echo "   /etc/smrsh/ecartis instead of /home/ecartis/ecartis"
210         chmod a+x /etc/smrsh/ecartis
211 fi
212
213 # Force the %{_ecartisdir} directory permissions to something sane
214 chmod 711 %{_ecartisdir}
215
216 # Run upgrade
217 echo "Running \"%{_ecartisdir}/%{name} -upgrade\" now... "
218 %{_ecartisdir}/%{name} -upgrade
219 echo "done."
220 exit 0
221
222 %triggerpostun -- listar
223 echo "Upgrading from listar..."
224 if [ -e /etc/smrsh ]; then
225         ln -sf /etc/smrsh/ecartis /etc/smrsh/listar
226 fi
227 echo "Copying lists from listar directories"
228 cp -R /var/lib/listar/lists %{_ecartisdata}
229 chown -R ecartis:ecartis %{_ecartisdata}
230 if [ -e /etc/smrsh ]; then
231         echo "Making link /etc/smrsh/listar to /etc/smrsh/ecartis:"
232         ln -sf ecartis /etc/smrsh/listar
233 fi
234
235 %files
236 %defattr(644,root,root,755)
237 %doc ECARTIS.TODO NOTE README* src/{CHANGELOG,CREDITS} documentation/ecartis.txt
238 %attr(750,root,root) /etc/cron.daily/%{name}
239 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name}
240 %attr(775,ecartis,ecartis) %dir %{_sysconfdir}/%{name}
241 %attr(644,root,ecartis) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*
242 %attr(640,ecartis,ecartis) %ghost /var/log/%{name}.log
243 %attr(711,ecartis,ecartis) %dir %{_ecartisdir}
244 %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/templates
245 %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/modules
246 %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/scripts
247 %attr(755,ecartis,ecartis) %dir %{_ecartisdata}
248 %attr(751,ecartis,ecartis) %dir %{_ecartisdata}/archive
249 %attr(755,ecartis,ecartis) %dir %{_ecartisdata}/lists
250 %attr(750,ecartis,ecartis) %dir %{_ecartisdata}/queue
251 %attr(750,ecartis,ecartis) %{_ecartisdata}/*.hlp
252 %attr(640,root   ,ecartis) %{_ecartisdir}/spam-regexp.sample
253 %attr(750,ecartis,ecartis) %{_ecartisdir}/modules/*
254 %attr(750,ecartis,ecartis) %{_ecartisdir}/scripts/*
255 %attr(4755,ecartis,ecartis) %{_ecartisdir}/ecartis
256
257 %files cgi
258 %defattr(644,root,root,755)
259 %doc src/modules/lsg2/*.txt
260 %attr(755,root,   root) %{_cgidir}/*.cgi
261 %attr(775,root,ecartis) %dir %{_ecartisdata}/lists/SITEDATA
262 %attr(660,root,ecartis) %{_ecartisdata}/lists/SITEDATA/cookies
263 %{_ecartisdir}/templates/*.lsc
This page took 0.071612 seconds and 2 git commands to generate.