Trac: Difference between revisions
From charlesreid1
| Line 32: | Line 32: | ||
==Installing== | ==Installing== | ||
<pre> | |||
$ sudo easy_install http://svn.edgewall.org/repos/trac/trunk | |||
</pre> | |||
This stupid command is now broken, apparently, but here's the output you should see: | |||
<pre> | |||
Downloading http://svn.edgewall.org/repos/trac/trunk | |||
Doing subversion checkout from http://svn.edgewall.org/repos/trac/trunk to /tmp/easy_install-zy98nS/trunk | |||
Processing trunk | |||
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-zy98nS/trunk/egg-dist-tmp-5UIpwt | |||
Genshi is needed by Trac setup, pre-installing | |||
Searching for Genshi>=0.6 | |||
Reading http://pypi.python.org/simple/Genshi/ | |||
Reading http://genshi.edgewall.org/ | |||
Reading http://genshi.edgewall.org/wiki/Download | |||
Best match: Genshi 0.6 | |||
Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.6.zip | |||
Processing Genshi-0.6.zip | |||
Running Genshi-0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-zy98nS/trunk/temp/easy_install-9RZMiq/Genshi-0.6/egg-dist-tmp-5XZtQB | |||
warning: no previously-included files found matching 'doc/2000ft.graffle' | |||
warning: no previously-included files matching '*' found under directory 'doc/logo.lineform' | |||
zip_safe flag not set; analyzing archive contents... | |||
Installed /private/tmp/easy_install-zy98nS/trunk/Genshi-0.6-py2.7.egg | |||
Adding Trac 0.13dev-r10872 to easy-install.pth file | |||
Installing trac-admin script to /Library/Frameworks/Python.framework/Versions/2.7/bin | |||
Installing tracd script to /Library/Frameworks/Python.framework/Versions/2.7/bin | |||
Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Trac-0.13dev_r10872-py2.7.egg | |||
Processing dependencies for Trac==0.13dev-r10872 | |||
Searching for Genshi>=0.6 | |||
Reading http://pypi.python.org/simple/Genshi/ | |||
Reading http://genshi.edgewall.org/ | |||
Reading http://genshi.edgewall.org/wiki/Download | |||
Best match: Genshi 0.6 | |||
Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.6.zip | |||
Processing Genshi-0.6.zip | |||
Running Genshi-0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-2cHgRc/Genshi-0.6/egg-dist-tmp-5p6RYV | |||
warning: no previously-included files found matching 'doc/2000ft.graffle' | |||
warning: no previously-included files matching '*' found under directory 'doc/logo.lineform' | |||
zip_safe flag not set; analyzing archive contents... | |||
Adding Genshi 0.6 to easy-install.pth file | |||
Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Genshi-0.6-py2.7.egg | |||
Finished processing dependencies for Trac==0.13dev-r10872 | |||
</pre> | |||
==Creating New Project== | ==Creating New Project== | ||
Revision as of 00:19, 24 November 2011
Trac Installation
Dependencies
(saved terminal output 11-22)
unzipped (or, should have unzipped) to ~/pkg/_sources/Trac-0.12 (wait... what??? I thought I had 0.13???)
I think I downloaded the tarball for 0.12 but I installed Trac via easy_install, using easy_install Trac==0.13. Well... whatever. Just look through terminal saved output.)
Setuptools
Get setuptools script here: http://pypi.python.org/pypi/setuptools
Follow the instructions given to install python's setuptools.
MySQL-Python
Download MySQL-Python tarball here: (link)
Go to extracted MySQL-Python folder and run:
$ python setup.py build $ python setup.py install
Subversion
To install subversion for Trac, loosely follow instructions for 1.7 on this page: SVN
Installing
$ sudo easy_install http://svn.edgewall.org/repos/trac/trunk
This stupid command is now broken, apparently, but here's the output you should see:
Downloading http://svn.edgewall.org/repos/trac/trunk Doing subversion checkout from http://svn.edgewall.org/repos/trac/trunk to /tmp/easy_install-zy98nS/trunk Processing trunk Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-zy98nS/trunk/egg-dist-tmp-5UIpwt Genshi is needed by Trac setup, pre-installing Searching for Genshi>=0.6 Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.6 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.6.zip Processing Genshi-0.6.zip Running Genshi-0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-zy98nS/trunk/temp/easy_install-9RZMiq/Genshi-0.6/egg-dist-tmp-5XZtQB warning: no previously-included files found matching 'doc/2000ft.graffle' warning: no previously-included files matching '*' found under directory 'doc/logo.lineform' zip_safe flag not set; analyzing archive contents... Installed /private/tmp/easy_install-zy98nS/trunk/Genshi-0.6-py2.7.egg Adding Trac 0.13dev-r10872 to easy-install.pth file Installing trac-admin script to /Library/Frameworks/Python.framework/Versions/2.7/bin Installing tracd script to /Library/Frameworks/Python.framework/Versions/2.7/bin Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Trac-0.13dev_r10872-py2.7.egg Processing dependencies for Trac==0.13dev-r10872 Searching for Genshi>=0.6 Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.6 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.6.zip Processing Genshi-0.6.zip Running Genshi-0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-2cHgRc/Genshi-0.6/egg-dist-tmp-5p6RYV warning: no previously-included files found matching 'doc/2000ft.graffle' warning: no previously-included files matching '*' found under directory 'doc/logo.lineform' zip_safe flag not set; analyzing archive contents... Adding Genshi 0.6 to easy-install.pth file Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Genshi-0.6-py2.7.egg Finished processing dependencies for Trac==0.13dev-r10872
Creating New Project
http://trac.edgewall.org/wiki/0.13/TracInstall
Subversion
If you're going to associate a subversion server with this Trac wiki, create the subversion server first:
$ svnadmin create /svn $ svnadmin import /path/to/stuff file:///svn/projectname
Next, start the SVN server:
$ svnserve -d
and test to make sure the svn server is working properly:
$ svn co svn://localhost/svn/projectname
Create Trac Environment
First (failed) try
To create trac environment:
$ trac-admin /path/to/project initenv
Then it whines about no database called "trac":
$ trac-admin $PWD/ucg-trac initenv
Creating a new Trac environment at /Users/reid24/codes/ucg-trac
Trac will first ask a few questions about your environment
in order to initialize and prepare the project database.
Please enter the name of your project.
This name will be used in page titles and descriptions.
Project Name [My Project]> UndergroundCoalGasification
Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).
Database connection string [sqlite:db/trac.db]> mysql://root:root@localhost:8889/trac
Creating and Initializing Project
Initenv for '/Users/reid24/codes/ucg-trac' failed.
Failed to create environment.
(1049, "Unknown database 'trac'")
Traceback (most recent call last):
File "build/bdist.macosx-10.6-intel/egg/trac/admin/console.py", line 437, in do_initenv
options=options)
File "build/bdist.macosx-10.6-intel/egg/trac/core.py", line 124, in __call__
self.__init__(*args, **kwargs)
File "build/bdist.macosx-10.6-intel/egg/trac/env.py", line 262, in __init__
self.create(options)
File "build/bdist.macosx-10.6-intel/egg/trac/env.py", line 549, in create
DatabaseManager(self).init_db()
File "build/bdist.macosx-10.6-intel/egg/trac/db/api.py", line 239, in init_db
connector.init_db(**args)
File "build/bdist.macosx-10.6-intel/egg/trac/db/mysql_backend.py", line 111, in init_db
params)
File "build/bdist.macosx-10.6-intel/egg/trac/db/mysql_backend.py", line 92, in get_connection
cnx = MySQLConnection(path, log, user, password, host, port, params)
File "build/bdist.macosx-10.6-intel/egg/trac/db/mysql_backend.py", line 262, in __init__
port=port, charset='utf8', **opts)
File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "build/bdist.macosx-10.6-intel/egg/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (1049, "Unknown database 'trac'")
That's about when everything starts to crumble apart and the Trac user's manual becomes basically useless. It wants authentication, and a configure file to be edited, and then I'm told to jump around and visit all these other pages about authentication and htpasswd, and somewhere in the middle of it I'm staring at this huge configuration file and I have no idea what I'm even doing.
Then there's a bunch of handwaving, and a message that says "Once you have everything up and running..." - and of course I'm going WHAT???
Where am I supposed to be putting ucg-trac directory? In my htdocs folder? If not, then why does it have its own htdocs folder? And what about config files??? This is so screwed up.
Trac detected an internal error: ProgrammingError: (1146, "Table 'trac.repository' doesn't exist")
What does that even mean? Who was supposed to create the Trac tables? Why didn't they?
Recovering and Making It Work
Make a trac table:
$ mysqladmin -u root -p create trac Enter password: reid24@mach via - 30
Then it fails:
$ trac-admin $PWD/ucg-trac initenv Initenv for '/Users/reid24/codes/ucg-trac' failed. Does an environment already exist?
Ok, so I remove it:
$ rm -rf ucg-trac
Then I try again:
$ trac-admin $PWD/ucg-trac initenv Creating a new Trac environment at /Users/reid24/codes/ucg-trac Trac will first ask a few questions about your environment in order to initialize and prepare the project database. Please enter the name of your project. This name will be used in page titles and descriptions. Project Name [My Project]> UndergroundCoalGasification Please specify the connection string for the database to use. By default, a local SQLite database is created in the environment directory. It is also possible to use an already existing PostgreSQL database (check the Trac documentation for the exact connection string syntax). Database connection string [sqlite:db/trac.db]> mysql://root:root@localhost:8889/trac Creating and Initializing Project Installing default wiki pages CamelCase imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/CamelCase InterMapTxt imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/InterMapTxt InterTrac imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/InterTrac InterWiki imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/InterWiki PageTemplates imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/PageTemplates RecentChanges imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/RecentChanges SandBox imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/SandBox TitleIndex imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TitleIndex TracAccessibility imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracAccessibility TracAdmin imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracAdmin TracBackup imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracBackup TracBrowser imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracBrowser TracCgi imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracCgi TracChangeset imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracChangeset TracEnvironment imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracEnvironment /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Trac-0.13dev_r10872-py2.7.egg/trac/db/util.py:65: Warning: Incorrect string value: '\xE2\x86\x92 Ex...' for column 'text' at row 1 TracFastCgi imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracFastCgi TracFineGrainedPermissions imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracFineGrainedPermissions TracGuide imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracGuide TracImport imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracImport TracIni imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracIni TracInstall imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracInstall TracInterfaceCustomization imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracInterfaceCustomization TracLinks imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracLinks TracLogging imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracLogging TracModPython imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracModPython TracModWSGI imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracModWSGI TracNavigation imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracNavigation TracNotification imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracNotification /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Trac-0.13dev_r10872-py2.7.egg/trac/db/util.py:65: Warning: Incorrect string value: '\xE2\x80\x83 '...' for column 'text' at row 1 TracPermissions imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracPermissions TracPlugins imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracPlugins TracQuery imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracQuery TracReports imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracReports TracRepositoryAdmin imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracRepositoryAdmin TracRevisionLog imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracRevisionLog TracRoadmap imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracRoadmap TracRss imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracRss TracSearch imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracSearch TracStandalone imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracStandalone TracSupport imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracSupport /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Trac-0.13dev_r10872-py2.7.egg/trac/db/util.py:65: Warning: Incorrect string value: '\xE2\x9C\x93 ...' for column 'text' at row 1 TracSyntaxColoring imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracSyntaxColoring TracTickets imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracTickets TracTicketsCustomFields imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracTicketsCustomFields TracTimeline imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracTimeline /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Trac-0.13dev_r10872-py2.7.egg/trac/db/util.py:65: Warning: Incorrect string value: '\xD8\xAA\xD8\xB1\xD8\xA7...' for column 'text' at row 1 TracUnicode imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracUnicode TracUpgrade imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracUpgrade TracWiki imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracWiki TracWorkflow imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/TracWorkflow WikiDeletePage imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiDeletePage WikiFormatting imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiFormatting WikiHtml imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiHtml WikiMacros imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiMacros WikiNewPage imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiNewPage WikiPageNames imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiPageNames WikiProcessors imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiProcessors WikiRestructuredText imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiRestructuredText WikiRestructuredTextLinks imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiRestructuredTextLinks WikiStart imported from /Users/reid24/.python-eggs/Trac-0.13dev_r10872-py2.7.egg-tmp/trac/wiki/default-pages/WikiStart --------------------------------------------------------------------- Project environment for 'UndergroundCoalGasification' created. You may now configure the environment by editing the file: /Users/reid24/codes/ucg-trac/conf/trac.ini If you'd like to take this new project environment for a test drive, try running the Trac standalone web server `tracd`: tracd --port 8000 /Users/reid24/codes/ucg-trac Then point your browser to http://localhost:8000/ucg-trac. There you can also browse the documentation for your installed version of Trac, including information on further setup (such as deploying Trac to a real web server). The latest documentation can also always be found on the project website: http://trac.edgewall.org/ Congratulations!
And when I point browser to http://localhost:8000/ucg-trac, hey, what do you know, it all worked.
Authentication
http://trac.edgewall.org/wiki/TracStandalone#UsingAuthentication
No Trac documentation worked, most documentation was less helpful than it was confusing. I ended up figuring out the stinking process on my own.
Here's what I had to do:
1. add user using htdigest:
$ cd /path/to/trac/project/conf $ htdigest -c users.digest RealmName charles
The RealmName should match the realm name given to tracd when you start the trac browser. Here is the syntax and more info on htdigest: http://httpd.apache.org/docs/2.0/programs/htdigest.html
2. start the tracd server using a start line like this:
$ tracd -s --port 8000 --auth="projectname,/path/to/projectname/conf/users.digest,RealmName" /path/to/projectname
This will use the htdigest-created file for user authentication.
3. once you have done all of this (and tracd is running), you can go to http://localhost:8000/login to get to the login page and test out your username/password.
What really bugs me is that the Trac documentation caused me to waste a bunch of time with htpasswd, because it specifically says to use htpasswd. If I hadn't tried htdigest, I would not have been able to get authentication working with Trac at all. If I had followed their documentation, I would have failed to install their program.
Trac with Apache
This guide covers using Trac with Apache: http://trac.edgewall.org/wiki/TracApacheRecipe
Installing Plugin
As an example procedure, here is how I installed the Account Manger Plugin (http://trac-hacks.org/wiki/AccountManagerPlugin):
Checkout a copy of the account manager plugin from SVN to a directory called trac_acct_mgr_plugin:
$ svn co https://trac-hacks.org/svn/accountmanagerplugin/0.11
Next, build the plugin into a Python "egg":
$ python setup.py bdist_egg running bdist_egg running egg_info creating TracAccountManager.egg-info writing requirements to TracAccountManager.egg-info/requires.txt writing TracAccountManager.egg-info/PKG-INFO writing top-level names to TracAccountManager.egg-info/top_level.txt writing dependency_links to TracAccountManager.egg-info/dependency_links.txt writing entry points to TracAccountManager.egg-info/entry_points.txt writing manifest file 'TracAccountManager.egg-info/SOURCES.txt' reading manifest file 'TracAccountManager.egg-info/SOURCES.txt' writing manifest file 'TracAccountManager.egg-info/SOURCES.txt' installing library code to build/bdist.macosx-10.6-intel/egg running install_lib running build_py creating build creating build/lib creating build/lib/acct_mgr copying acct_mgr/__init__.py -> build/lib/acct_mgr copying acct_mgr/admin.py -> build/lib/acct_mgr copying acct_mgr/api.py -> build/lib/acct_mgr copying acct_mgr/db.py -> build/lib/acct_mgr copying acct_mgr/guard.py -> build/lib/acct_mgr copying acct_mgr/hashlib_compat.py -> build/lib/acct_mgr copying acct_mgr/htfile.py -> build/lib/acct_mgr copying acct_mgr/http.py -> build/lib/acct_mgr copying acct_mgr/md5crypt.py -> build/lib/acct_mgr copying acct_mgr/notification.py -> build/lib/acct_mgr copying acct_mgr/pwhash.py -> build/lib/acct_mgr copying acct_mgr/svnserve.py -> build/lib/acct_mgr copying acct_mgr/util.py -> build/lib/acct_mgr copying acct_mgr/web_ui.py -> build/lib/acct_mgr creating build/lib/acct_mgr/htdocs copying acct_mgr/htdocs/acct_mgr.css -> build/lib/acct_mgr/htdocs copying acct_mgr/htdocs/locked.png -> build/lib/acct_mgr/htdocs copying acct_mgr/htdocs/time-locked.png -> build/lib/acct_mgr/htdocs creating build/lib/acct_mgr/locale copying acct_mgr/locale/.placeholder -> build/lib/acct_mgr/locale creating build/lib/acct_mgr/templates copying acct_mgr/templates/account_details.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/admin_accountsconfig.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/admin_accountsnotification.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/admin_users.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/login.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/prefs_account.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/register.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/reset_password.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/verify_email.html -> build/lib/acct_mgr/templates copying acct_mgr/templates/reset_password_email.txt -> build/lib/acct_mgr/templates copying acct_mgr/templates/user_changes_email.txt -> build/lib/acct_mgr/templates copying acct_mgr/templates/verify_email.txt -> build/lib/acct_mgr/templates creating build/bdist.macosx-10.6-intel creating build/bdist.macosx-10.6-intel/egg creating build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/__init__.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/admin.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/api.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/db.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/guard.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/hashlib_compat.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr creating build/bdist.macosx-10.6-intel/egg/acct_mgr/htdocs copying build/lib/acct_mgr/htdocs/acct_mgr.css -> build/bdist.macosx-10.6-intel/egg/acct_mgr/htdocs copying build/lib/acct_mgr/htdocs/locked.png -> build/bdist.macosx-10.6-intel/egg/acct_mgr/htdocs copying build/lib/acct_mgr/htdocs/time-locked.png -> build/bdist.macosx-10.6-intel/egg/acct_mgr/htdocs copying build/lib/acct_mgr/htfile.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/http.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr creating build/bdist.macosx-10.6-intel/egg/acct_mgr/locale copying build/lib/acct_mgr/locale/.placeholder -> build/bdist.macosx-10.6-intel/egg/acct_mgr/locale copying build/lib/acct_mgr/md5crypt.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/notification.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/pwhash.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/svnserve.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr creating build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/account_details.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/admin_accountsconfig.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/admin_accountsnotification.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/admin_users.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/login.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/prefs_account.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/register.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/reset_password.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/reset_password_email.txt -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/user_changes_email.txt -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/verify_email.html -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/templates/verify_email.txt -> build/bdist.macosx-10.6-intel/egg/acct_mgr/templates copying build/lib/acct_mgr/util.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr copying build/lib/acct_mgr/web_ui.py -> build/bdist.macosx-10.6-intel/egg/acct_mgr byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/__init__.py to __init__.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/admin.py to admin.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/api.py to api.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/db.py to db.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/guard.py to guard.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/hashlib_compat.py to hashlib_compat.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/htfile.py to htfile.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/http.py to http.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/md5crypt.py to md5crypt.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/notification.py to notification.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/pwhash.py to pwhash.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/svnserve.py to svnserve.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/util.py to util.pyc byte-compiling build/bdist.macosx-10.6-intel/egg/acct_mgr/web_ui.py to web_ui.pyc creating build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/PKG-INFO -> build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/SOURCES.txt -> build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/dependency_links.txt -> build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/entry_points.txt -> build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/requires.txt -> build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/top_level.txt -> build/bdist.macosx-10.6-intel/egg/EGG-INFO copying TracAccountManager.egg-info/zip-safe -> build/bdist.macosx-10.6-intel/egg/EGG-INFO creating dist creating 'dist/TracAccountManager-0.3.2-py2.7.egg' and adding 'build/bdist.macosx-10.6-intel/egg' to it removing 'build/bdist.macosx-10.6-intel/egg' (and everything under it)
Finally, move the egg, which si in dist/, into the plugins directory of the Trac project:
$ cp dist/TracAccountManager-0.3.2-py2.7.egg /path/to/trac/projectname/plugins/.
Trac and Subversion
Once again, this was an area where the Trac project's documentation was awful and obfuscated the whole procedure. The "TracSubversion" page (http://trac.edgewall.org/wiki/TracSubversion), which you would EXPECT to be about setting up Trac with Subversion, is only about Subversion and setting up a Subversion repository. Their "TracEnvironment" page, which is about Trac environments and not Subversion, has incomplete information on how to set up the subversion repository. The complete procedure is not covered in detail, nor are any subversion instructions gathered in a central location. I had to visit at least 20 different websites to find instructions on setting up subversion with Trac.
My procedure was as follows:
1. Install Subversion's Python SWIG bindings (see the Subversion page for info on how to do that)
2. Create your SVN repository, e.g.
svnadmin create /svn/repository
3. Bunch of neon and subversion issues, ended up having to recompile neon and subversion 10 times