# rationale behind the splitting # every database backend is here to pull the proper database module # every vcs backend is here for the same reason # frontend are here to place specific configuration files, except # wsgi, here to not pull anything ( ie, not pull apache ) or change the configuration # TODO people who want to use fcgi with lighttpd ? %define rel 1 Name: trac Version: 0.10.3.1 Release: %mkrel %rel License: BSD Group: Networking/WWW Summary: Integrated SCM & Project manager Source0: http://ftp.edgewall.com/pub/trac/%{name}-%{version}.tar.bz2 Source1: tracd.init Source2: tracd.sysconfig Source3: Trac.pm Url: http://projects.edgewall.com/trac/wiki/TracDownload BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: python-devel Requires: python-clearsilver Requires: %{name}-frontend %{name}-db_backend %{name}-vcs_backend BuildArch: noarch %description Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. %package cgi Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - cgi frontend Group: Networking/WWW Requires: %{name} # it can work with any cgi webserver, but only apache is covered by the package Requires: webserver Provides: %{name}-frontend %description cgi Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains various files needed to integrate it with apache. %package fcgi Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - cgi frontend Group: Networking/WWW Requires: %{name} # it can work with any fcgi webserver, but only apache is covered by the package Requires: apache-mod_fcgid Provides: %{name}-frontend %description fcgi Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains various files needed to integrate it with apache and fcgi. %package wsgi Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - wsgi frontend Group: Networking/WWW Requires: %{name} Provides: %{name}-frontend %description wsgi Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains various files needed to integrate it with a wsgi (Web Server Gateway Interface) compliant server, such as Twisted or Paste. %package mod_python Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - mod_python frontend Group: Networking/WWW Requires: %{name} Requires: apache-mod_python Provides: %{name}-frontend %description mod_python Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains various files needed to integrate it with apache and mod_python by default. # TODO fast cgi %package -n drakwizard-%{name} Group: System/Configuration/Other Summary: Trac Integrated SCM & Project manager - project creation wizard %description -n drakwizard-%{name} Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package provides a wizard to create trac multiple project repository using tracd. You can access it with drakwizard or with Mandriva control center. %package standalone Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - standalone frontend Requires: %{name} Provides: %{name}-frontend Requires(pre): rpm-helper %description standalone Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains various files needed to run as standalone http server. %package sqlite Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - sqlite database support Requires: %{name} Requires: python-sqlite Provides: %{name}-db_backend %description sqlite Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains the needed modules to use sqlite as trac database backend. %package postgresql Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - postgresql database support Requires: %{name} Requires: python-psycopg Provides: %{name}-db_backend %description postgresql Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains the needed modules to use postgresql as trac database backend. %package mysql Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - mysql database support Requires: %{name} Requires: python-mysql Provides: %{name}-db_backend %description mysql Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains the needed modules to use mysql as trac database backend. Beware, the module is still experimental for the moment. %package svn Group: Networking/WWW Summary: Trac Integrated SCM & Project manager - subversion support Requires: %{name} Requires: python-svn subversion Provides: %{name}-vcs_backend %description svn Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to revision control systems (Subversion), an integrated Wiki and convenient report facilities. This package contains the needed modules to use subversion as trac version control system backend. %prep %setup -q %build cat > README.upgrade.urpmi << EOF Trac changed the format of the database since the last release. See the file UPGRADE, in %_defaultdocdir/%{name}-%{version}/. In order to ease the installation, and provides more modularity, trac package have been split in 2 frontends. You can choose %{name}-standalone for a version with tracd, or %{name}-cgi for the previous system. EOF cat > %{name}.conf << EOF Alias /trac/ "/usr/share/trac/htdocs/" # fix mdk bug #16298 PassEnv LC_ALL PassEnv LANG # fix mdk bug #16298 <Directory "/usr/share/trac/htdocs"> Allow from All </Directory> # Trac need to know where the database is located #<Location "/cgi-bin/trac.cgi"> # SetEnv TRAC_ENV "/somewhere/myproject.env/" #</Location> # You need this to allow users to authenticate #<Location "/cgi-bin/trac.cgi/login"> # AuthType Basic # AuthName "trac" # AuthUserFile /somewhere/trac.htpasswd # Require valid-user #</location> EOF cat > %{name}_mod_python.conf << EOF # fix mdk bug #16298 PassEnv LC_ALL PassEnv LANG # in order to have the project in /projects/myproject # see http://projects.edgewall.com/trac/wiki/TracModPython # for the complete doc #<Location /projects/myproject> # SetHandler mod_python # PythonHandler trac.web.modpython_frontend # PythonOption TracEnv /var/trac/myproject # PythonOption TracUriRoot /projects/myproject #</Location> # #<Location "/projects/myproject/login"> # AuthType Basic # AuthName "myproject" # AuthUserFile /var/trac/myproject/.htaccess # Require valid-user #</Location> EOF cat > %{name}_fcgi.conf << EOF # fix mdk bug #16298 PassEnv LC_ALL PassEnv LANG # see http://projects.edgewall.com/trac/wiki/TracFastCgi # for the complete doc #DefaultInitEnv TRAC_ENV "/var/trac/myproject/" # You need this to allow users to authenticate #<Location "/cgi-bin/trac.fcgi/login"> # AuthType Basic # AuthName "trac" # AuthUserFile /somewhere/trac.htpasswd # Require valid-user #</location> EOF cat > wizard.trac.conf << EOF NAME="Trac" DESCRIPTION="Trac wizard ( project management software )" LONG_DESCRIPTION="A wizard to setup a bugtracking system" EOF cat > README.wizard << EOF Since many people complain that wizards do not help to understand their system, here is a quick summary of this wizard actions, and how to do the same by hand : 1) subversion repository creation ( if it do not exist ) $ svnadmin create --fs-type fsfs \$DIRECTORY fsfs was chosen over bdbd because it is more robust, according to trac developers. 2) trac repository creation $ trac-admin \$TRAC_REPOSITORY_PATH initenv \$PROJECT_NAME 3) integration with tracd in order to use your new trac project, you need to add it to tracd config file, in /etc/sysconfig/tracd. All you need is to add it to PROJECT, and reload tracd, with service tracd restart. EOF %install rm -rf $RPM_BUILD_ROOT python ./setup.py install --root=$RPM_BUILD_ROOT --prefix=%_prefix #change default config perl -pi -e "s#$RPM_BUILD_ROOT##" $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/%{name}/siteconfig.py rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/%{name}/siteconfig.pyc mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf/webapps.d cp %{name}.conf $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf/webapps.d/ cp %{name}_mod_python.conf $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf/webapps.d/ cp %{name}_fcgi.conf $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf/webapps.d/ mkdir -p $RPM_BUILD_ROOT/var/www/cgi-bin mv $RPM_BUILD_ROOT/%{_datadir}/%name/cgi-bin/trac.*cgi $RPM_BUILD_ROOT/var/www/cgi-bin/ mkdir -p $RPM_BUILD_ROOT/%{_initrddir} cat %{SOURCE1} > $RPM_BUILD_ROOT/%{_initrddir}/%{name}d chmod 0755 $RPM_BUILD_ROOT/%{_initrddir}/%{name}d mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/ cat %{SOURCE2} > $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/%{name}d mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/wizard.d/ cp wizard.trac.conf $RPM_BUILD_ROOT/%{_sysconfdir}/wizard.d/%{name}.conf mkdir -p $RPM_BUILD_ROOT/%{perl_vendorlib}/MDK/Wizard/ cat %{SOURCE3} > $RPM_BUILD_ROOT/%{perl_vendorlib}/MDK/Wizard/Trac.pm %clean rm -rf $RPM_BUILD_ROOT %post cgi %{_initrddir}/httpd reload %postun cgi %{_initrddir}/httpd reload %post fcgi %{_initrddir}/httpd reload %postun fcgi %{_initrddir}/httpd reload %post standalone %_post_service tracd %preun standalone %_preun_service tracd %files %defattr(-,root,root) %doc AUTHORS ChangeLog README COPYING %doc INSTALL RELEASE UPGRADE doc THANKS contrib %doc README.upgrade.urpmi %{_datadir}/%{name} %{_bindir}/%{name}-admin %_mandir/man1/* %{py_puresitedir}/%{name}/ %if %{mdkversion} > 200700 %{py_puresitedir}/*.egg-info %endif %exclude %{py_puresitedir}/%{name}/web/modpython_frontend.py* %exclude %{py_puresitedir}/%{name}/web/fcgi_frontend.py* %exclude %{py_puresitedir}/%{name}/web/_fcgi.py* %files standalone %defattr(-,root,root) %doc README.tracd %config(noreplace) %{_initrddir}/%{name}d %config(noreplace) %{_sysconfdir}/sysconfig/%{name}d %{_bindir}/%{name}d %files cgi %defattr(-,root,root) /var/www/cgi-bin/%{name}.cgi %config(noreplace) %{_sysconfdir}/httpd/conf/webapps.d/%{name}.conf %files fcgi %defattr(-,root,root) /var/www/cgi-bin/%{name}.fcgi %config(noreplace) %{_sysconfdir}/httpd/conf/webapps.d/%{name}_fcgi.conf %{py_puresitedir}/%{name}/web/fcgi_frontend.py* %{py_puresitedir}/%{name}/web/_fcgi.py* %files mod_python %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf/webapps.d/%{name}_mod_python.conf %{py_puresitedir}/%{name}/web/modpython_frontend.py* # empty subpackages, to pull deps. # trac already does autodetection, and the default list of component # will try to load the default backend, and trigger a error if it cannot %files sqlite %defattr(-,root,root) %doc COPYING %files postgresql %defattr(-,root,root) %doc COPYING %files mysql %defattr(-,root,root) %doc COPYING %files svn %defattr(-,root,root) %doc COPYING %files wsgi %defattr(-,root,root) %doc COPYING %files -n drakwizard-%{name} %defattr(-,root,root) %doc README.wizard %{perl_vendorlib}/MDK/Wizard/* %config(noreplace) %{_sysconfdir}/wizard.d/%{name}.conf %changelog * Thu Mar 08 2007 Michael Scherer <misc@mandriva.org> 0.10.3.1-1mdv2007.1 + Revision: 138428 - upgrade to 0.10.3.1, security upgrade * Wed Feb 14 2007 Michael Scherer <misc@mandriva.org> 0.10.3-3mdv2007.1 + Revision: 120770 - fix backporting on 2007.0 * Mon Feb 12 2007 Michael Scherer <misc@mandriva.org> 0.10.3-2mdv2007.1 + Revision: 120020 - fix trac-admin default templates, as reported by saispo on irc * Mon Dec 18 2006 Michael Scherer <misc@mandriva.org> 0.10.3-1mdv2007.1 + Revision: 98367 - use the proper release - upgrade to version 0.10.3 * Tue Dec 12 2006 Michael Scherer <misc@mandriva.org> 0.10.2-2mdv2007.1 + Revision: 95704 - Rebuild for python 2.5 * Mon Nov 13 2006 Michael Scherer <misc@mandriva.org> 0.10.2-1mdv2007.1 + Revision: 83945 - 0.10.2 release ( bugfixes ) * Thu Nov 09 2006 Michael Scherer <misc@mandriva.org> 0.10.1-1mdv2007.0 + Revision: 79194 - upgrade to 0.10.1 * Mon Oct 02 2006 Michael Scherer <misc@mandriva.org> 0.10-1mdv2007.1 + Revision: 62825 - fix wizard for the new wizard interface and the new trac-admin - revert changes in packaging, trac ido not work if some parts of it are missing - fix for bug #23317, wizard interface have changed - remove mime-types, leftover of previous bzipped patchs - bunzip additional source files - clean the comment, and some typo - split wsgi from the main codebase, to not pull apache as a requires of a frontend, or use tracd ( activated by default, by policy ) for someone wanting to use wsgi. - place svn in a separate package, in order to support other vcs in the future - version 0.10, with splitted database backend - Import trac * Sat Jul 08 2006 Michael Scherer <misc@mandriva.org> 0.9.6-1mdv2007.0 - New release 0.9.6 * Tue Apr 18 2006 Michael Scherer <misc@mandriva.org> 0.9.5-1mdk - New release 0.9.5 * Tue Mar 07 2006 Michael Scherer <misc@mandriva.org> 0.9.4-5mdk - cgi_frontend.py is needed by standalone, so i place it back in main package * Fri Mar 03 2006 Michael Scherer <misc@mandriva.org> 0.9.4-4mdk - do not ship empty package as the upload script reject them * Fri Mar 03 2006 Michael Scherer <misc@mandriva.org> 0.9.4-3mdk - add fcgi sub package * Wed Mar 01 2006 Michael Scherer <misc@mandriva.org> 0.9.4-2mdk - add mod_python, pgsql and sqlite subpackage * Thu Feb 16 2006 Michael Scherer <misc@mandriva.org> 0.9.4-1mdk - New release 0.9.4 * Wed Jan 11 2006 Michael Scherer <misc@mandriva.org> 0.9.3-2mdk - use new python macro * Mon Jan 09 2006 Michael Scherer <misc@mandriva.org> 0.9.3-1mdk - New release 0.9.3 * Mon Dec 05 2005 Michael Scherer <misc@mandriva.org> 0.9.2-1mdk - New release 0.9.2 * Fri Nov 04 2005 Michael Scherer <misc@mandriva.org> 0.9-3mdk - fix initscript * Thu Nov 03 2005 Michael Scherer <misc@mandriva.org> 0.9-2mdk - whoops, forget to change license * Wed Nov 02 2005 Michael Scherer <misc@mandriva.org> 0.9-1mdk - New release 0.9 - remove patch1, integrated upstream - fix 19386 by supporting multiple $AUTH entries in /etc/sysconfig/trac * Sat Oct 08 2005 Michael Scherer <misc@mandriva.org> 0.8.4-6mdk - install subversion-tools instead of libfsfs_1_0 in the wizard, fix #19073 * Sat Sep 24 2005 Michael Scherer <misc@mandriva.org> 0.8.4-5mdk - fix again ( python-svn => python-subversion ) * Sat Sep 24 2005 Michael Scherer <misc@mandriva.org> 0.8.4-4mdk - fix deps with new subversion package * Fri Sep 02 2005 Michael Scherer <misc@mandriva.org> 0.8.4-3mdk - Fix #16298 * Sat Aug 13 2005 Michael Scherer <misc@mandriva.org> 0.8.4-2mdk - fix location of the apache config file * Mon Jun 20 2005 Michael Scherer <misc@mandriva.org> 0.8.4-1mdk - New release 0.8.4 * Fri Jun 17 2005 Michael Scherer <misc@mandriva.org> 0.8.3-2mdk - fix #16298 * Thu Jun 16 2005 Lenny Cartier <lenny@mandriva.com> 0.8.3-1mdk - 0.8.3 * Fri Jun 03 2005 Michael Scherer <misc@mandriva.org> 0.8.2-1mdk - New release 0.8.2 * Fri Mar 11 2005 Michael Scherer <misc@mandrake.org> 0.8.1-2mdk - add wizard - add %%mkrel * Fri Mar 04 2005 Lenny Cartier <lenny@mandrakesoft.com> 0.8.1-1mdk - 0.8.1 * Sun Dec 05 2004 Michael Scherer <misc@mandrake.org> 0.8-2mdk - Rebuild for new python * Sun Nov 21 2004 Michael Scherer <misc@mandrake.org> 0.8-1mdk - New release 0.8 - split tracd and cgi support - patch for tracd daemonisation * Fri Jun 4 2004 Michael Scherer <misc@mandrake.org> 0.7.1-1mdk - New release 0.7.1 * Wed May 19 2004 Michael Scherer <misc@mandrake.org> 0.7-1mdk - New release 0.7 - update config files * Wed Apr 14 2004 Michael Scherer <misc@mandrake.org> 0.6.1-2mdk - remove compiled config file, with wrong path inside * Mon Apr 12 2004 Michael Scherer <misc@mandrake.org> 0.6.1-1mdk - New release 0.6.1 - add support for rpmbuildupdate * Fri Apr 02 2004 Michael Scherer <misc@mandrake.org> 0.6-1mdk - First Mandrakesoft Package