# # TODO: # - webapps or /usr/lib/cgi-bin # - %bcond_without doc # - look at permissions. why all by default have access to lists, their config, # users... %define _ver 1.0.0 %define _snap 20060813 Summary: Ecartis mailing list manager Summary(pl.UTF-8): Zarządca list dyskusyjnych Ecartis Name: ecartis Version: %{_ver}.%{_snap} Release: 0.1 License: GPL v2 Group: Applications/Mail Source0: ftp://ftp.ecartis.org/pub/ecartis/snapshots/tar/%{name}-%{_ver}-snap%{_snap}.tar.gz # Source0-md5: 198e045b5b64aecee50e6c3fc69a42f4 Source1: %{name}.logrotate #Original taken from: http://www.misiek.eu.org/ipv6/listar-0.129a-ipv6-20000915.patch.gz Patch0: %{name}-ipv6.patch Patch1: %{name}-conf.patch Patch2: %{name}-paths.patch URL: http://www.ecartis.org/ BuildRequires: /usr/bin/pdflatex BuildRequires: latex2html BuildRequires: perl-base BuildRequires: rpmbuild(macros) >= 1.202 BuildRequires: tetex-dvips BuildRequires: tetex-latex BuildRequires: tetex-pdftex BuildRequires: w3m Requires(post): /bin/hostname Requires(post): fileutils Requires(post): grep Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Provides: group(ecartis) Provides: listar Provides: user(ecartis) Obsoletes: listar BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _ecartisdir /usr/lib/ecartis %define _ecartisdata /var/lib/ecartis %define _cgidir /home/services/httpd/cgi-bin %description Ecartis is a modular mailing list manager; all its functionality is encapsulated in individual 'epm' (Ecartis Plugin Module) files. This allows new commands and functionality to be added on the fly. Ecartis has several useful features, including the ability to have 'flags' set on user accounts (similar to L-soft Listserv), and a very secure remote administration method over e-mail. Errors to this package should be reported to bugs@ecartis.org or via the web at . NOTE: This package used to be named Listar, but has recently changed name due to trademark issues. %description -l pl.UTF-8 Ecartis jest modułowym narzędziem do zarządzania listami dyskusyjnymi. Cała jego funkcjonalność zawiera się w pojedynczych plikach 'epm' (Ecartis Plugin Module), dzięki czemu można w locie dodawać nowe polecenia i funkcjonalność. Ecartis ma wiele przydatnych funkcji, np. możliwość ustawienia 'flag' na kontach użytkowników (podobnie jak w programie L-soft Listserv), i bardzo bezpieczną metodę zdalnej administracji przy użyciu poczty elektronicznej. Informacje o błędach w pakiecie należy wysyłać na adres bugs@ecartis.org lub zgłaszać na stronie . UWAGA: Pakiet nazywał się kiedyś Listar, jednak nazwa została zmieniona ze względu na problemy ze znakiem handlowym. %package cgi Summary: Web interface for Ecartis Summary(pl.UTF-8): Web interfejs dla Ecartis Group: Applications/Mail Requires: %{name} = %{version}-%{release} Requires: webserver Obsoletes: listar-cgi %description cgi ecartis-cgi program, which provides a web-based front-end for your Ecartis mailing lists. %description cgi -l pl.UTF-8 Program ecartis-cgi, który jest interfejsem WWW do programu zarządzającego Ecartis. %prep %setup -q -n %{name}-%{_ver} %patch0 -p1 %patch1 -p1 %patch2 -p1 %build TEXINPUTS=".:/usr/share/latex2html/texinputs:"; export TEXINPUTS perl -pi -e 's@include templates@include %{_ecartisdata}/templates@' templates/*.lsc %{__make} -C src \ -fMakefile.dist \ WFLAGS="%{rpmcflags} -Wall" %{__make} -C documentation \ LATEX=%{_bindir}/latex \ PDFLATEX=%{_bindir}/pdflatex \ DVIPS=%{_bindir}/dvips \ W3M=%{_bindir}/w3m \ LATEX2HTML=%{_bindir}/latex2html \ WFLAGS="%{rpmcflags} -Wall" %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},logrotate.d,cron.daily} \ $RPM_BUILD_ROOT%{_ecartisdata}/{archive,queue,lists/{test/text,SITEDATA/users}} \ $RPM_BUILD_ROOT%{_ecartisdir}/{modules,scripts,templates} \ $RPM_BUILD_ROOT{%{_cgidir},/var/log} %{__make} -C src install \ -fMakefile.dist install %{name} $RPM_BUILD_ROOT%{_ecartisdir} install modules/*.lpm $RPM_BUILD_ROOT%{_ecartisdir}/modules install scripts/* $RPM_BUILD_ROOT%{_ecartisdir}/scripts install ecartis.cfg.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ecartis.cfg install ecartis.aliases.dist $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ecartis.aliases install banned $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/banned install spam-regexp.sample $RPM_BUILD_ROOT%{_ecartisdir}/spam-regexp.sample install templates/*.lsc $RPM_BUILD_ROOT%{_ecartisdir}/templates install ecartis.hlp $RPM_BUILD_ROOT%{_ecartisdata}/ecartis.hlp install -D lists/test/text/* $RPM_BUILD_ROOT%{_ecartisdata}/lists/test/text install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} > $RPM_BUILD_ROOT%{_var}/log/%{name}.log > $RPM_BUILD_ROOT%{_ecartisdata}/lists/SITEDATA/cookies cat << EOF > $RPM_BUILD_ROOT%{_cgidir}/ecartisgate.cgi #!/bin/sh %{_ecartisdir}/%{name} -lsg2 EOF cat << EOF > $RPM_BUILD_ROOT/etc/cron.daily/%{name} %{_ecartisdir}/%{name} -procbounce %{_ecartisdir}/%{name} -procdigest EOF # For compatibility with Listar: ln -sf %{_ecartisdir}/%{name} $RPM_BUILD_ROOT%{_ecartisdir}/listar ln -sf %{_cgidir}/ecartisgate.cgi $RPM_BUILD_ROOT%{_cgidir}/listargate.cgi %clean rm -rf $RPM_BUILD_ROOT %pre %groupadd -g 64 ecartis %useradd -u 64 -d %{_ecartisdir} -s /bin/false -c "Ecartis User" -g ecartis ecartis %postun if [ "$1" = "0" ]; then %userremove ecartis %groupremove ecartis fi %post # alias: umask 022 if [ -f /etc/mail/aliases ]; then if [ -e /etc/smrsh ]; then if ! grep -q "^%{name}:" /etc/mail/aliases; then echo "%{name}: \"|/etc/smrsh/ecartis\"" >> /etc/mail/aliases newaliases || : fi else if ! grep -q "^%{name}:" /etc/mail/aliases; then echo "%{name}: \"|%{_ecartisdir}/%{name}\"" >> /etc/mail/aliases newaliases || : fi fi fi # mailname: if [ ! -f /etc/mail/mailname -a -d /etc/mail -a -x /bin/hostname ]; then hostname -f > /etc/mail/mailname fi # Detect SMRSH if [ -e /etc/smrsh -a ! -e /etc/smrsh/ecartis ]; then echo "#!/bin/sh" > /etc/smrsh/ecartis echo "%{_ecartisdir}/ecartis \$@" >> /etc/smrsh/ecartis chmod ug+rx /etc/smrsh/ecartis echo "Your installation has been detected to have SMRSH, the SendMail" echo "Restricted SHell, installed. If this is your first install, you" echo "will want to: " echo "" echo "1) add 'listserver-bin-dir = /etc/smrsh' to ecartis.cfg" echo "2) change the address for Ecartis in the aliases file to be" echo " /etc/smrsh/ecartis instead of /home/ecartis/ecartis" chmod a+x /etc/smrsh/ecartis fi # Force the %{_ecartisdir} directory permissions to something sane chmod 711 %{_ecartisdir} # Run upgrade echo "Running \"%{_ecartisdir}/%{name} -upgrade\" now... " %{_ecartisdir}/%{name} -upgrade echo "done." exit 0 %triggerpostun -- listar echo "Upgrading from listar..." if [ -e /etc/smrsh ]; then ln -sf /etc/smrsh/ecartis /etc/smrsh/listar fi echo "Copying lists from listar directories" cp -R /var/lib/listar/lists %{_ecartisdata} chown -R ecartis:ecartis %{_ecartisdata} if [ -e /etc/smrsh ]; then echo "Making link /etc/smrsh/listar to /etc/smrsh/ecartis:" ln -sf ecartis /etc/smrsh/listar fi %files %defattr(644,root,root,755) %doc ECARTIS.TODO NOTE README* src/{CHANGELOG,CREDITS} documentation/ecartis.txt %attr(750,root,root) /etc/cron.daily/%{name} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} %attr(775,ecartis,ecartis) %dir %{_sysconfdir}/%{name} %attr(644,root,ecartis) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/* %attr(640,ecartis,ecartis) %ghost /var/log/%{name}.log %attr(711,ecartis,ecartis) %dir %{_ecartisdir} %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/templates %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/modules %attr(750,ecartis,ecartis) %dir %{_ecartisdir}/scripts %attr(755,ecartis,ecartis) %dir %{_ecartisdata} %attr(751,ecartis,ecartis) %dir %{_ecartisdata}/archive %attr(755,ecartis,ecartis) %dir %{_ecartisdata}/lists %attr(750,ecartis,ecartis) %dir %{_ecartisdata}/queue %attr(750,ecartis,ecartis) %{_ecartisdata}/*.hlp %attr(640,root ,ecartis) %{_ecartisdir}/spam-regexp.sample %attr(750,ecartis,ecartis) %{_ecartisdir}/modules/* %attr(750,ecartis,ecartis) %{_ecartisdir}/scripts/* %attr(4755,ecartis,ecartis) %{_ecartisdir}/ecartis %files cgi %defattr(644,root,root,755) %doc src/modules/lsg2/*.txt %attr(755,root, root) %{_cgidir}/*.cgi %attr(775,root,ecartis) %dir %{_ecartisdata}/lists/SITEDATA %attr(660,root,ecartis) %{_ecartisdata}/lists/SITEDATA/cookies %{_ecartisdir}/templates/*.lsc