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