Trac on Mandrake Linux
Warning: Mandrake Linux has been renamed to Mandriva Linux, which itself has also been discontinued as of 2011.
Trac is included in the Mandrake Linux contribs repository, version 0.7.1 for 10.1. The latest version is in Mandrake Linux Cooker. Do not install binary Cooker packages on any stable distribution as it will break your installation (#279).
Trac should be available through urpmi or rpmdrake, if you have the proper urpmi source in your configuration file. Simply type:
# urpmi trac
If you want to install Trac on an older release of Mandrake, please be sure to rebuild it (use
rpm --rebuild trac....src.rpm).
If the release tag seems weird, please look at this page http://qa.mandrakesoft.com/twiki/bin/view/Main/DistroSpecificReleaseTag
Once Trac is installed, you can use trac-admin to add a repository and use the example config file provided to start using Trac.
msec 5 Issues
If Mandrake is running at msec 5, Trac will raise errors like the one below when you attempt to access it from your browser.
Oops... Trac detected an internal error: malformed database schema - unable to open a temporary database file for storing temporary tables Traceback (most recent call last): File "/home/misc/rpm/tmp/trac-0.7.1-1mdk-buildroot//usr/lib/python2.3/site-packages/trac/core.py", line 475, in cgi_start File "/home/misc/rpm/tmp/trac-0.7.1-1mdk-buildroot//usr/lib/python2.3/site-packages/trac/core.py", line 453, in real_cgi_start File "/home/misc/rpm/tmp/trac-0.7.1-1mdk-buildroot//usr/lib/python2.3/site-packages/trac/core.py", line 169, in open_environment File "/home/misc/rpm/tmp/trac-0.7.1-1mdk-buildroot//usr/lib/python2.3/site-packages/trac/Environment.py", line 160, in get_version File "/home/misc/rpm/tmp/trac-0.7.1-1mdk-buildroot//usr/lib/python2.3/site-packages/trac/Environment.py", line 88, in get_db_cnx File "/home/misc/rpm/tmp/python-sqlite-0.5.1-1mdk-buildroot//usr/lib/python2.3/site-packages/sqlite/__init__.py", line 61, in connect File "/home/misc/rpm/tmp/python-sqlite-0.5.1-1mdk-buildroot//usr/lib/python2.3/site-packages/sqlite/main.py", line 445, in __init__ DatabaseError: malformed database schema - unable to open a temporary database file for storing temporary tables
If you reduce msec to 3, Trac will work as it should. The problem is, sqlite cannot create temp files in /tmp at msec 5 because /tmp is set to 1733. I tried to work around this by giving apache rwx privileges on /tmp by using acl like so:
setfacl -m u:apache:rwx /tmp
That worked until the next time msec swept through the filesystems and reset the permissions back to what they were defined to be in /usr/share/msec/perm.5 .
That would change the acl mask, which would, once again, result in Trac raising errors like the one above. The solution, as imperfect as it is, is to create a file /etc/security/msec/perm.local into which the following should be entered.
/tmp/ root.root 1777
This specifies an exception to the default permissions defined in /usr/share/msec/perm.5, which prevents msec from changing the permissions on /tmp as it periodically sweeps through the filesystem.
For Mandrake Linux 10.2, a wizard has been added. Install drakwizard-trac, run drakwizard, and follow the instructions.
See also: TracOnMandriva