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