Notes on using Trac under a DreamHost account (and some more)

This page is a collection of tips & tricks for using Trac (sometimes on DreamHost). If you are looking for installation instructions please see CreamyTrac, as they have been moved in their own page as an updated script.

  1. trac-digestmanager: A Trac oriented HT Digest Manager
  2. Getting AccountManager
  3. Upgrading old projects from an old sqlite version
    1. Example for migrating between two sqlite3 versions
  4. Other tricks
    1. Using And Fixing …
    2. Fixing easy_install
    3. Fixing ConfigObj?
  5. Links

trac-digestmanager: A Trac oriented HT Digest Manager

This is a script to help with managing ht digest files for your projects from a shell:

wget http://trac.mlalonde.net/attachment/wiki/UsingTracOnDreamhost/trac-digestmanager.sh \
	-O $HOME/packages/bin/trac-digestmanager
chmod ag+x $HOME/packages/bin/trac-digestmanager

# Finally run the digest manager and follow the instructions
trac-digestmanager /path/to/trac/project

Note that this script is already included in CreamyTrac.

Getting AccountManager to work with Python 2.3

It is highly suggested that you use CreamyTrac instead of this method as support for Python 2.3 is phasing out!
You've been warned Rebuild it from the source using the following method (follow the comments!):

svn co http://trac-hacks.org/svn/accountmanagerplugin/trunk accountmanagerplugin

# Reverse the following changeset [http://trac-hacks.org/changeset/4640]
# in the this file
nano -w accountmanagerplugin/acct_mgr/admin.py

# Then run
export RUN=$HOME/packages
easy_install --prefix=${RUN} ./accountmanagerplugin/

# if your using fcgi
killall trac.fcgi

Upgrading old projects from an old sqlite version

If you've also upgraded sqlite version (either from a custom install or like it happened to me because DH upgraded the install) you might need to do the following. However try trac-admin /path/to/project upgrade with without these instructions first. Otherwise see Trac UpgradingSQLitefrom2.xto3.x. Note that you will need the old install to be able to upgrade! Worst case scenario you'll have to install an outdated sqlite along side the current install.

Example for migrating between two sqlite3 versions

cd /path/to/trac/project/db
mv trac.db trac-old.db
LD_LIBRARY_PATH=/path/to/old/sqlite/install/lib /path/to/old/sqlite/install/bin/sqlite3 trac-old.db .dump | \
LD_LIBRARY_PATH=/path/to/new/sqlite/install/lib /path/to/old/sqlite/bin/sqlite3 trac.db

Other tricks

Using And Fixing FineGrainPageAuthEditor

svn co http://trac-hacks.org/svn/finegrainedpageauthzeditorplugin/0.11/ finegrainedpageauthzeditorplugin
echo "30a31
> from trac.util import sorted" > finegraineditor.diff
patch ./finegrainedpageauthzeditorplugin/page_authz_policy_editor/pape_admin.py finegraineditor.diff
easy_install ./finegrainedpageauthzeditorplugin

Fixing easy_install

This makes sure easy_install works properly without having to add your local path each time

echo "alias easy_install='easy_install --prefix=${RUN}'" >> ~/.bash_profile

Fixing ConfigObj?

It is highly suggested that you use CreamyTrac instead of this method!
You've been warned

export CONFOBJ_VERSION=4.5.3
export RUN=$HOME/packages
cd ~/build
wget http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=configobj-${CONFOBJ_VERSION}.zip \
    -O configobj-${CONFOBJ_VERSION}.zip
unzip configobj-${CONFOBJ_VERSION}.zip
cd configobj-${CONFOBJ_VERSION}
python setup.py install --prefix=${RUN}

# ignore errors about validate.py if any

Attachments