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