%define name mailman %define version 2.1.5 %define release 15mdk %define order 40 %define uid mail %define gid mail Summary: The GNU Mailing List Management System Name: %{name} Version: %{version} Release: %{release} Group: System/Servers License: GPL URL: http://www.list.org/ Source0: ftp://ftp.gnu.org/gnu/mailman/%{name}-%{version}.tar.bz2 Source1: %{name}.README.mdk.bz2 Source2: %{name}.bash-completion.bz2 Patch0: %{name}-buildroot-check.patch.bz2 Patch4: %{name}-2.1.3-init.patch.bz2 Patch6: %{name}-2.1.2-postfix-aliases.patch.bz2 Patch7: %{name}-2.1.2-grsecurity.patch.bz2 Patch8: %{name}-2.1.5-build.patch.bz2 Patch9: %{name}-2.1.5.Charset.patch.bz2 # Security fixes Patch100: %{name}-2.1.x-CAN-2004-1177.patch.bz2 Patch101: %{name}-2.1.x-CAN-2005-0202.patch.bz2 BuildRequires: libpython-devel BuildRequires: file Prereq: smtpdaemon Prereq: rpm-helper Requires: apache BuildRoot: %{_tmppath}/%{name}-%{version} %description Mailman -- The GNU Mailing List Management System -- is a mailing list management system written mostly in Python. Features: o Most standard mailing list features, including: moderation, mail based commands, digests, etc... o An extensive Web interface, customizable on a per-list basis. o Web based list administration interface for *all* admin-type tasks o Automatic Web based hypermail-style archives (using pipermail or other external archiver), including provisions for private archives o Integrated mail list to newsgroup gatewaying o Integrated newsgroup to mail list gatewaying (polling-based... if you have access to the nntp server, you should be able to easily do non-polling based news->mail list gatewaying; email viega@list.org, I'd like to help get that going and come up with instructions) o Smart bounce detection and correction o Integrated fast bulk mailing o Smart spam protection o Extensible logging o Multiple list owners and moderators are possible o Optional MIME-compliant digests o Nice about which machine you subscribed from if you're from the right domain Conditional build options: mailman uid --with uid %{uid} mailman gid --with gid %{gid} %prep %setup -q bzcat %{SOURCE1} > README.mdk bzcat %{SOURCE2} > %{name}.bash-completion %patch0 -p1 -b .buildroot %patch4 -p1 -b .init %patch6 -p1 -b .chmod %patch7 -p1 -b .grsecure %patch8 cd misc tar xvzf email-2.5.5.tar.gz %patch9 -p2 -b .charset tar cvzf email-2.5.5.tar.gz email-2.5.5 cd .. # Security fixes %patch100 -p1 -b .can-2004-1177 %patch101 -p1 -b .can-2005-0202 # strip away annoying ^M find . -type f|xargs file|grep 'CRLF'|cut -d: -f1|xargs perl -p -i -e 's/\r//' find . -type f|xargs file|grep 'text'|cut -d: -f1|xargs perl -p -i -e 's/\r//' %build # As a normal user, we don't have permissions to do this. %patch0 changes # configure so that the directory check will never fail. ./configure \ --prefix=%{_libdir}/%{name} \ --with-var-prefix=%{_localstatedir}/%{name} \ --with-mail-gid=%{gid} \ --with-cgi-gid=apache \ --with-username=%{uid} \ --with-groupname=%{gid} \ --libdir=%{_libdir} %make # fix encoding typo perl -pi -e 's/gb2132/gb2312/' misc/email-2.5.5/email/Charset.py %install rm -rf %{buildroot} %makeinstall_std # mv icons install -d -m 755 %{buildroot}%{_var}/www/icons mv %{buildroot}%{_libdir}/%{name}/icons/* %{buildroot}%{_var}/www/icons/ rm -rf %{buildroot}%{_libdir}/%{name}/icons # apache conf install -d -m 755 %{buildroot}%{_sysconfdir}/httpd/webapps.d cat >%{buildroot}%{_sysconfdir}/httpd/webapps.d/%{name}.conf <<EOF # Mailman Apache configuration file ScriptAlias /%{name} %{_libdir}/%{name}/cgi-bin Alias /pipermail /var/lib/mailman/archives/public <Directory %{_libdir}/%{name}/cgi-bin> Options ExecCgi Allow from all </Directory> <Directory /var/lib/mailman/archives/public> Options FollowSymlinks Allow from all </Directory> EOF # init script install -d -m 755 %{buildroot}%{_initrddir} install -m 755 misc/mailman %{buildroot}%{_initrddir} # (sb) sendmail mkdir -p %{buildroot}%{_sysconfdir}/smrsh ln -sf %{_libdir}/%{name}/mail/%{name} %{buildroot}%{_sysconfdir}/smrsh/mailman # (sb) grsecure kernel install contrib/check_perms_grsecurity.py %{buildroot}%{_libdir}/%{name}/bin perl -pi -e "s|#! \@PYTHON\@|#!/usr/bin/python|" %{buildroot}%{_libdir}/%{name}/bin/check_perms_grsecurity.py # move logs directory into /var/log install -d -m 755 %{buildroot}/var/log mv %{buildroot}%{_localstatedir}/%{name}/logs %{buildroot}/var/log/%{name} (cd %{buildroot}%{_localstatedir}/%{name} && ln -s ../../log/%{name} logs) # move config file into /etc install -d -m 755 %{buildroot}%{_sysconfdir} mv %{buildroot}%{_libdir}/%{name}/Mailman/mm_cfg.py %{buildroot}%{_sysconfdir}/%{name} (cd %{buildroot}%{_libdir}/%{name}/Mailman && ln -s ../../../..%{_sysconfdir}/%{name} mm_cfg.py) rm -f %{buildroot}%{_libdir}/%{name}/Mailman/mm_cfg.py.dist # fix permissions mess chmod -R go=u-w %{buildroot}%{_libdir}/%{name} chmod go=u-w %{buildroot}%{_localstatedir}/%{name} # logrotate install -d m 755 %{buildroot}%{_sysconfdir}/logrotate.d cat > %{buildroot}%{_sysconfdir}/logrotate.d/%{name} <<EOF /var/log/mailman/smtp-failure { daily missingok rotate 7 } /var/log/mailman/smtp { daily missingok rotate 7 } /var/log/mailman/locks { daily missingok rotate 7 } /var/log/mailman/fromusenet { daily missingok rotate 7 } /var/log/mailman/qrunner { daily missingok rotate 7 } /var/log/mailman/bounce { weekly missingok rotate 4 } /var/log/mailman/digest { monthly missingok rotate 4 } /var/log/mailman/error { weekly missingok rotate 4 } /var/log/mailman/vette { weekly missingok rotate 4 } /var/log/mailman/mischief { weekly missingok rotate 4 } /var/log/mailman/subscribe { monthly missingok rotate 12 } /var/log/mailman/post { monthly missingok rotate 12 } EOF # bash completion install -d -m 755 %{buildroot}%{_sysconfdir}/bash_completion.d install -m 644 %{name}.bash-completion %{buildroot}%{_sysconfdir}/bash_completion.d/%{name} # binaries symlinks from /usr/sbin install -d -m 755 %{buildroot}%{_sbindir} pushd %{buildroot}%{_sbindir} for bin in ../..%{_libdir}/%{name}/bin/*; do ln -s $bin . done # nuke *.pyc files find %{buildroot} -name "*.pyc" | xargs rm -f %pre if [ $1 = "2" ]; then if [ ! -L %{_libdir}/%{name}/Mailman/mm_cfg.py ]; then mv %{_libdir}/%{name}/Mailman/mm_cfg.py %{_sysconfdir}/%{name}.tmp fi if [ ! -L %{_localstatedir}/%{name}/logs ]; then mv %{_localstatedir}/%{name}/logs /var/log/%{name} fi fi %post %_post_service %{name} cd %{_libdir}/%{name} if [ $1 = 1 ]; then # installation # generic tasks hostname=`hostname` # mailman basic configuration cat >>Mailman/mm_cfg.py <<EOF DEFAULT_EMAIL_HOST = '$hostname' DEFAULT_URL_HOST = '$hostname' add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) EOF # locale setup lang=`echo $LANGUAGE | awk -F: '{print $2}'` if [ "$lang" != "en" ] && [ -n "$lang" ]; then cat >>Mailman/mm_cfg.py <<EOF DEFAULT_SERVER_LANGUAGE = '$lang' EOF fi # make sure mail user is allowed to use cron if [ -f %{_sysconfdir}/cron.allow ]; then if ! grep -q %{uid} %{_sysconfdir}/cron.allow; then echo "%{uid}" >> %{_sysconfdir}/cron.allow fi fi # add cron task crontab -u %{uid} %{_libdir}/%{name}/cron/crontab.in # restart web server /sbin/service httpd reload # check mta mta="`readlink /etc/alternatives/mta 2>/dev/null | cut -d . -f 2`" # mta specific tasks if [ "$mta" == "postfix" ]; then cat >>Mailman/mm_cfg.py <<EOF MTA = 'Postfix' EOF postconf -e \ 'owner_request_special = no' \ 'recipient_delimiter = +' \ 'alias_maps = '`/usr/sbin/postconf -h alias_maps`', hash:%{_localstatedir}/%{name}/data/aliases' %create_ghostfile %{_localstatedir}/%{name}/data/aliases %{uid} %{gid} 660 postalias %{_localstatedir}/%{name}/data/aliases fi # check kernel secure if [ `uname -r | grep -c secure` != 0 ]; then echo '' echo '*****' cd %{_libdir}/%{name}/bin echo 'Running kernel-secure, executing' echo '%{_libdir}/%{name}/bin/check_perms_grsecurity.py' echo 'for proper mailman functionality' echo '*****' ./check_perms -f > /dev/null ./check_perms_grsecurity.py -f fi # generate random password passwd=`perl -e 'print map { (a..z,A..Z,0..9)[rand 62] } 0..8'` # site password %{_libdir}/%{name}/bin/mmsitepass $passwd > /dev/null # initial list creation su %{uid} -c "%{_libdir}/%{name}/bin/newlist mailman root@$hostname $passwd" > /dev/null else # upgrade if [ -f %{_sysconfdir}/%{name}.tmp ]; then mv -f %{_sysconfdir}/%{name}.tmp %{_sysconfdir}/%{name} fi fi %preun %_preun_service %{name} %postun if [ $1 = 0 ]; then # generic tasks # remove cron task crontab -u %{uid} -r # restart web server /sbin/service httpd reload # check mta mta="`readlink /etc/alternatives/mta 2>/dev/null | cut -d . -f 2`" # mta specific tasks if [ "$mta" == "postfix" ]; then postconf -e 'alias_maps = '`/usr/sbin/postconf -h alias_maps | sed -e 's|, hash:%{_localstatedir}/%{name}/data/aliases||'` fi fi %clean rm -rf %{buildroot} %files %defattr(-,root,root) %doc ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS README* TODO UPGRADING %doc gnu-COPYING-GPL contrib/README.check_perms_grsecurity # constant files %dir %{_libdir}/%{name} %{_libdir}/%{name}/cron %{_libdir}/%{name}/pythonlib %{_libdir}/%{name}/scripts %{_libdir}/%{name}/tests %{_libdir}/%{name}/messages %{_libdir}/%{name}/templates %{_libdir}/%{name}/bin %{_libdir}/%{name}/Mailman %dir %{_libdir}/%{name}/cgi-bin %attr(02755,root,%{gid}) %{_libdir}/%{name}/cgi-bin/* %dir %{_libdir}/%{name}/mail %attr(02755,root,%{gid}) %{_libdir}/%{name}/mail/* # variable files %dir %{_localstatedir}/%{name} %attr(-,root,%{gid}) %{_localstatedir}/%{name}/* %attr(-,root,%{gid}) /var/log/%{name} # configuration files %{_initrddir}/%{name} %{_sysconfdir}/bash_completion.d/%{name} %config(noreplace) %{_sysconfdir}/httpd/webapps.d/%{name}.conf %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/%{name} %{_sysconfdir}/smrsh/%{name} %{_sbindir}/* %{_var}/www/icons/* %changelog * Wed Mar 02 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 2.1.5-15mdk - fix #13651, MDKSA-2005:037 (CAN-2005-0202) (P101) - nuke *.pyc files * Fri Feb 18 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 2.1.5-14mdk - spec file cleanups, remove the ADVX-build stuff - strip away annoying ^M * Thu Jan 27 2005 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-13mdk - condtional build options documented in package description - spec cleanup * Tue Jan 25 2005 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-12mdk - security update for CAN-2004-1177 (Stew Benedict <sbenedict@mandrakesoft.com>) * Sat Jan 22 2005 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-11mdk - add binaries symlinks in %{_sbindir} - only change %{_sysconfdir}/cron.allow if it already exists - don't shipt duplicated icons - herein document instead of external source whenever possible - apache configuration file in %{_sysconfdir}/httpd/webapps.d - no more order for apache configuration - spec cleanup - don't change test scripts - more complete README.mdk * Tue Dec 07 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-10mdk - charset patch (David Relson <relson@osagesoftware.com>) * Sat Dec 04 2004 Michael Scherer <misc@mandrake.org> 2.1.5-9mdk - Rebuild for new python * Mon Nov 15 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-8mdk - create and hash alias file at the same time as modificating postfix config, so as to prevent postfix crash at startup in full installation scenario (#10180) - make smtpdaemon a prereq, as it is needed at post-installation - silent post-installation - no more python prereq - spec cleanup * Thu Sep 02 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-7mdk - dont specify perms and owner in logrotate configuration (David Relson <relson@osagesoftware.com>) * Sun Aug 29 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-6mdk - use macros to make easier rebuilding with different uid & gid (David Relson <relson@osagesoftware.com>) * Sun Aug 29 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-5mdk - fixed missing file in logrotate config * Sat Jul 24 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-4mdk - patch build to avoid having buildroot in binaries, no more post-install compilation needed * Thu Jul 22 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-3mdk - explicit libdir * Thu Jul 01 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-2mdk - make sure mail user is allowed to use cron - finer logrotate configuration (stolen from Debian) * Tue Jun 01 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.5-1mdk - new version * Wed Apr 07 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.4-4mdk - automatic setup at installation * Wed Mar 31 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.4-3mdk - added bash-completion * Fri Jan 30 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.4-2mdk - handle upgrade better by moving files at new location before install (bug #6983) - drop useless buildrequires * Tue Jan 06 2004 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.4-1mdk - new version - config file as %{_sysconfig}/%{name} * Sun Dec 21 2003 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.3-5mdk - added logrotate config file * Sun Dec 21 2003 Guillaume Rousse <guillomovitch@mandrake.org> 2.1.3-4mdk - untagged localisation files - ADVX macros - logs files under /var/log/mailman - try to reduce the perm/ownership mess a bit, %{_libdir}/%{name} is supposed to be non-writable * Tue Dec 2 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.3-3mdk - rework patch4 - fix initscript so "status" and drakxservices report correctly * Mon Dec 1 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.3-2mdk - mm-icon.png -> /var/www/icons [Bug 6461] - clarify new location of aliases db for postfix for migrations [Bug 5932] - add README.MDK to document RPM packaging variances from tarball install * Thu Nov 20 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.3-1mdk - 2.1.3, disable i18n patch temporarily - (http://sourceforge.net/tracker/?func=detail&aid=670167&group_id=103&atid=300103) - install "en" template files for all locales - set DEFAULT_SERVER_LANGUAGE in mm_cfg.py appropriately for locale - both of above [Bug 6342, 6351] * Sun Oct 5 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.2-10mdk - mail-gid=mail [Bug 5932] - make standard install comply with check_perms - make initial setup command message easy to cut and paste - need to su mail to create initial aliases.db - ensure aliases.db is group writable (patch6) - tell user to start the service after setup - default sendmail config now works without extra %%post action - fix kernel-secure behavior (patch7) * Mon Sep 15 2003 Guillaume Rousse <guillomovitch@linux-mandrake.com> 2.1.2-9mdk - more postfix fixing (/me sux) * Sat Sep 13 2003 Guillaume Rousse <guillomovitch@linux-mandrake.com> 2.1.2-8mdk - fixed postfix post/postun scripts * Mon Sep 08 2003 Guillaume Rousse <guillomovitch@zarb.org> 2.1.2-7mdk - fix my previous fix for postfix, it really needs 'nogroup' for gid - more patching for exotic encoding in attachements - added back missing localised files - constant files under %{_libdir}/%{name}, variable files under %{_localstatedir}/%{name} - better mta integration at %post - turned webserver requires to apache, as we use apache specific macros and configuration - additional files as sources, not patches * Tue Aug 12 2003 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 2.1.2-6mdk - rebuild for new python - use %%makeinstall_std macro - prereq on rpm-helper * Sun Jul 20 2003 Guillaume Rousse <guillomovitch@linux-mandrake.com> 2.1.2-5mdk - applied i18n attachment description in archive patch (http://sourceforge.net/tracker/?func=detail&aid=670167&group_id=103&atid=300103) * Fri Jul 4 2003 Frederic Lepied <flepied@mandrakesoft.com> 2.1.2-4mdk - fixed forgotten mm_cfg.py file in previous change * Sun Jun 29 2003 Guillaume Rousse <guillomovitch@linux-mandrake.com> 2.1.2-3mdk - fixed configure script to work with postfix flawlessy - remove apache1 integration - spec file cleanup - added missing doc files - used %%_post_service and %%_preun_service macros - %file section cleanup * Tue May 27 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.2-2mdk - add README, python script for grsecure kernel operation <Jan Ciger> - add %%post script to enable if secure kernel detected - change MAILHOST, WWWHOST from shell vars to config options - add warning about sendmail DefaultUser setting - add mailman symlink in /etc/smrsh * Fri May 16 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.2-1mdk - 2.1.2 * Mon Apr 28 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.1-2mdk - BuildRequires, distriblint * Mon Apr 14 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.1.1-1mdk - 2.1.1, rework patch0, patch3 - drop patch2, conf file for apache/apache2 setup - chkconfig setup, add patch4, sendmail support for aliases * Fri Nov 29 2002 Vincent Danen <vdanen@mandrakesoft.com> 2.0.13-3mdk - P3 to use DESTDIR instead of passing %%{buildroot} to prefix/var_prefix - compile Mailman python modules in %%post; this seems to be the only way we can strip the buildroot out of the compiled pyc files - force removal of *.pyc files in %%preun if we are removing the package (can't be in %%postun or rpm leaves empty directories behind) - cleanup file list - change location of file list (not in buildroot) - remove unpackaged files (grrr) * Tue Sep 17 2002 Frederic Lepied <flepied@mandrakesoft.com> 2.0.13-2mdk - fixed apache config (patch1) - use a group name instead of an id in cgi-wrapper.c (patch2) * Fri Aug 23 2002 Vincent Danen <vdanen@mandrakesoft.com> 2.0.13-1mdk - 2.0.13 * Tue Jul 16 2002 Vincent Danen <vdanen@mandrakesoft.com> 2.0.12-1mdk - 2.0.12 (more cross-site scripting vulnerabilities) * Thu May 23 2002 Yves Duret <yduret@mandrakesoft.com> 2.0.11-1mdk - version 2.0.11 (fix cross-site vulnerabilites). * Tue Apr 30 2002 Yves Duret <yduret@mandrakesoft.com> 2.0.10-1mdk - version 2.0.10 (mainly security updates). * Tue Apr 30 2002 Yves Duret <yduret@mandrakesoft.com> 2.0.7-2mdk - use gid nogroup instead of depreciated nobody mailman should now works again. * Thu Nov 15 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.0.7-1mdk - 2.0.7 * Mon Sep 12 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.0.6-1mdk - updated by Paul Cox <pcox@linux-mandrake.com> : - 2.0.6 (finally!) - More secure apache config (in mailman.conf), just in case of insane global settings. * Fri Jun 01 2001 Paul Cox <pcox@linux-mandrake.com> 2.0.5-3mdk - Moved Mailman to /var/lib/mailman to be more compliant with FHS. (See archive of mdk-admin at http://freezer-burn.org/archives/mdk-admin/ if you have questions about this.) - Changed --with-mail-gid and --with-cgi-gid to user names instead of user numbers in case they ever change. - Changed --with-mail-gid=nobody as that's how Postfix is setup by default (see default_privs in Postfix's main.cf). - Fixed upgrades (will not overwrite config files, etc.), and tweaked files section (added a 'BuildRequires: perl' as a result). - Made sure that bin/update runs in order to update any existing lists. - Fixed permissions. Mailman will try to fix its permissions on install. - Added mailman.conf for apache configuration (included into httpd.conf). - Install will now attempt to add the required aliases (Postfix only). - Removed mailman user addition (Mailman requires that whatever user and group is passed to the configure script to be the userid and groupid, so since we did --with-username=mail and --with-groupname=mail (so that we don't have to be root to build), creating a mailman user was not necessary). - Fixed crontab.in import. Not in the right format to be simply put in /etc/cron.d, so we have to use crontab to import it (as user mail). - Removed obsolete LEIAME patch. - Changed URL back to the much nicer www.list.org mirror. - Lots and lots of macroization and countless other .spec file changes. * Wed May 16 2001 Vincent Danen <vdanen@mandrakesoft.com> 2.0.5-2mdk - apache runs as gid 48 now, so change --with-cgi-gid from 99 to 48 * Tue May 8 2001 Guillaume Cottenceau <gc@mandrakesoft.com> 2.0.5-1mdk - version 2.0.5 * Tue Mar 06 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.0.2-1mdk - updated to 2.0.2 * Fri Jan 19 2001 Vincent Danen <vdanen@mandrakesoft.com> 2.0.1-1mdk - 2.0.1 - fix url - move /home/httpd to /var/www * Mon Dec 11 2000 Lenny Cartier <lenny@mandrakesoft.com> 2.0-1mdk - change user - used srpm from Stefane Fermigier <sf@fermigier.com> * Mon Jun 05 2000 Andreas Hasenack <andreas@conectiva.com> - now requires smtpdaemon instead of sendmail * Fri May 26 2000 Eliphas Levy Theodoro <eliphas@conectiva.com> - added macros and removed warning-things for the testing environment - added patch to configure so now he don't complain with maildir directory - changed attribute of maildir directory to 02775 in %files * Thu May 25 2000 Gustavo Niemeyer <niemeyer@conectiva.com> - Updated to 2.0beta2 - Updated images * Mon May 15 2000 Elvis Pfützenreuter <epx@conectiva.com> - using stackguard compiler - allows non-root compilation * Wed Sep 15 1999 Rudá Moura <ruda@conectiva.com> - First build for Conectiva - Adopted by Conectiva Linux