= Installing and Running Trac on Gentoo = '''WARNING''' This page seems very out of date. Have a look at this first: [http://www.gentoo-wiki.com/HOWTO_Trac HOWTO Trac - Gentoo Wiki] '''Warning: be sure to read the generic TracInstall instructions about the recommended versions of the dependent packages. In particular, pysqlite-1.1.6 is ''no longer'' the recommended version. Use 2.3.2 instead.''' Trac is included in portage as of 2004/04/29. Installing is as simple as: {{{ emerge trac }}} Past that, normal Trac configuration should apply. Someone's put together a really nice guide to setting up trac on gentoo [http://home.dju.elegiac.net/wiki/MultipleTracInstancesOnGentoo here]. There were a couple of little things that were required to make Trac on Gentoo work. * Make sure your berkdb and python use flags are set! * '''If you have any trouble, go down to the bottom and start emerging components this is how I figured out that the svn bindings for Python weren't building, etc..''' Be sure to run the python update script if needed. * Once built, your alias for /trac will be different from the TracInstall doc. It'll look something like this: {{{ Alias /trac "/var/www/yourdomainhere/htdocs/trac/" }}} This makes Trac all pretty, like you're used to seeing! Otherwise it's got essentially no layout. == Install Trac from Source == Attached is the ebuild to build trac from it's source:trunk. To use it save and extract it to your '''PORTDIR_OVERLAY''', normally {{{ /usr/local/portage/www-apps }}} Of course if you already don't have it there, add to your '''make.conf''': {{{ PORTDIR_OVERLAY="/usr/local/portage/" }}} So, from scratch, add the above to your '''make.conf''' and: {{{ mkdir /usr/local/portage/ mkdir /usr/local/portage/www-apps cd /usr/local/portage/www-apps wget http://projects.edgewall.com/trac/attachment/wiki/TracOnGentoo/trac-svn-1.tar tar xvf trac-svn-1.tar rm trac-svn-1.tar mkdir /usr/local/portage/dev-python cd /usr/local/portage/dev-python wget http://projects.edgewall.com/trac/attachment/wiki/TracOnGentoo/pysqlite-1.1.6.tar tar xvf pysqlite-1.1.6.tar rm pysqlite-1.1.6.tar }}} To build from what Gentoo provides, although I havent tested like this, simply do: {{{ emerge trac-svn -va }}} If you want to be on the edge like me: {{{ echo =www-apps/trac-svn-1-r1 ~x86 >> /etc/portage/package.keywords echo =dev-python/pysqlite-1.1.6 ~x86 >> /etc/portage/package.keywords echo =dev-lang/swig-1.3.24 ~x86 >> /etc/portage/package.keywords echo =dev-lang/swig-1.3.24 >> /etc/portage/package.unmask echo =dev-util/subversion-1.2.1 ~x86 >> /etc/portage/package.keywords }}} And you'll probably will also need to(portage will complain): {{{ echo =net-www/apache-2.0.54-r13 ~x86 >> /etc/portage/package.keywords echo =net-www/gentoo-webroot-default-0.2 ~x86 >> /etc/portage/package.keywords echo =dev-libs/apr-0.9.6-r3 ~x86 >> /etc/portage/package.keywords echo =dev-libs/apr-util-0.9.6-r2 ~x86 >> /etc/portage/package.keywords }}} '''Note:''' portage will complain because this is NOT the right way to do it! You need to use the newer method to unmask masked packages. Please see http://gentoo-wiki.com/Masked for the right way to do this. These are the ebuilds I'm using: {{{ dev-lang/python-2.3.5 dev-lang/swig-1.3.24 dev-util/subversion-1.2.1 dev-db/sqlite-3.2.1-r3 dev-python/pysqlite-1.1.6 [cutom ebuild - see attached] dev-libs/clearsilver-0.9.7 dev-python/docutils-0.3.5 app-text/silvercity-0.9.5-r1 }}} == My two cents, 2006-02-24 == (I'm fairly good with Gentoo). I'm not sure berkdb needs to be set as mentioned above by another user. You do need to choose between sqlite and postgresql though. Newer ebuilds don't assume sqlite. It may be a good idea to set this in /etc/portage/package.use. This is what I put in there: {{{ www-apps/trac enscript silvercity sqlite vhosts }}} There may be some instructions in the output from the ebuilds along the way. Pay attention to these. For instance, you may get this while emerging webapp-config: {{{ * Now that you have upgraded webapp-config, you **must** update your * config files in /etc/vhosts/webapp-config before you emerge any * packages that use webapp-config. }}} And later, while emerging trac itself, I got this message because I enabled the vhosts USE flag: {{{ * The 'vhosts' USE flag is switched ON * This means that Portage will not automatically run webapp-config to * complete the installation. * * To install trac-0.9.3 into a virtual host, run the following command: * * webapp-config -I -h -d trac trac 0.9.3 * * For more details, see the webapp-config(8) man page }}} If you do '''not''' want trac installed into a virtual host, you can remove the 'vhosts' USE flag, and the installation will continue through installing it at /trac on the default host: {{{ * vhosts USE flag not set - auto-installing using webapp-config * This is an installation * trac-0.9.3 is not installed - using install mode * Running //usr/sbin/webapp-config -I -h localhost -u root -d /trac trac 0.9.3 * Creating required directories * Linking in required files * This can take several minutes for larger apps * trac-0.9.3 does not install any files from * /usr/share/webapps/trac/0.9.3/htdocs * trac-0.9.3 does not install any files from * /usr/share/webapps/trac/0.9.3/hostroot * Files and directories installed }}}