You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@bloodhound.apache.org by Arthur Kahlich <ar...@millcomputing.com> on 2014/09/12 06:22:31 UTC

Does subversion-python have to be installed before bloodhound?

I went and got the complete subversion version 1.8 for Centos 6 from the
Wandisco site. I installed their packages using their script for Centos 6.

I then went to my machine and ran:

bloodhound@s4:/opt/bloodhound/bhenv/bin>./tracd --port=8000
/opt/bloodhound/environments/main &

followed by browsing to the URL:

http://localhost:8000/main/admin/versioncontrol/repository

When there, I removed the repository I had setup, then added it again.
The page then instructs me to run:

trac-admin $ENV repository resync "rep.15"

to sync up the repository. I have done this for trac previously, but now
I don't know exactly what to put for $ENV for bloodhound.  Also,
'trac-admin' is not on my path the way it was with the trac rpm
installation before.  So I give it my best guess and do this:

bloodhound@s4:/opt/bloodhound/environments/main>../../bhenv/bin/trac-admin
/opt/bloodhound/environments/main repository resync "rep.15"
TracError: Unsupported version control system "svn": No module named svn
bloodhound@s4:/opt/bloodhound/environments/main>rpm -qa | grep subversion
subversion-1.8.10-1.x86_64
subversion-javahl-1.8.10-1.x86_64
subversion-python-1.8.10-1.x86_64
subversion-perl-1.8.10-1.x86_64
subversion-tools-1.8.10-1.x86_64
bloodhound@s4:/opt/bloodhound/environments/main>

where the shell prompt indicates I am the 'bloodhound' user on s4, and
the current directory is '/opt/bloodhound/environments/main'.

My problem is 'trac-admin' still tells me it has no module named svn,
but as you can see from the following rpm listing, the
'subversion-python' package is installed.

As instructed, the file

/opt/bloodhound/environments/main/conf/trac.ini

has these lines added at the end:

[components]
tracopt.versioncontrol.svn.svn_fs.* = enabled

These were added to trac.ini *before* starting the tracd daemon.

I don't know what else I am missing, unless the bloodhound install has
to find 'subversion-python' and create some sort of linkage.

Any further help would be greatly appreciated!

Art

-- 
Arthur Kahlich
CTO - Hardware
Mill Computing, Inc.
Box 1531
Palo Alto CA 94302-1531
Phone: (408)480-3680
--
Faster, Cooler, Safer Computing.
--


Re: Does subversion-python have to be installed before bloodhound?

Posted by Arthur Kahlich <ar...@millcomputing.com>.
I am answering my own question here after some research, trial and error.

The short answer is no, installation order does not matter as long as
both are installed before attempting to access a subversion repository
from within bloodhound.

I used the Wandisco installation script for subversion 1.8, and the
quick fix for Centos 6 with python 2.6.6 is to make sure that PYTHONPATH
contains /usr/lib64/python2.6/site-packages , like so:

    export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.6/site-packages

**********
The rest of this is the tale of how I determined this, in case it helps
anyone else.

I found a clue to answering my question (sort of) at the web page:

    http://trac.edgewall.org/wiki/TracSubversion

Under the heading "Building Subversion" there was a reference to setting
up the PYTHONPATH shell environment variable.

So I checked my PYTHONPATH:

    % echo $PYTHONPATH

    %

and it was undefined. So I did an rpm listing of the subversion-python
package from the Wandisco installation:

    % rpm -ql subversion-python

and the lines of interest were

    /usr/lib64/python2.6/site-packages/libsvn
    /usr/lib64/python2.6/site-packages/svn

which were the directories referenced in the "Building Subversion"
section of the web page that mentioned PYTHONPATH.

NOTE: PYTHONPATH needs to have the directory that *contains* those 2
directories, not the directories themselves. I found this out by trying
the directories themselves and still having nothing work.  I then tried
in my bash shell:

    export PYTHONPATH=/usr/lib64/python2.6/site-packages

followed by

    trac-admin /opt/bloodhound/environments/DEF repository resync "rep.15"

and my repository was finally imported. I also made sure that PYTHONPATH
was setup before running

    tracd --port=8000 /opt/bloodhound/environments/DEF &

My next step is to get this all working with Apache, which in Centos 6
is the httpd package. I will have to figure out how to get the
PYTHONPATH defined for bloodhound from there as well.

It looks like my problem came from the Wandisco installation putting
subversion-python under

    /usr/lib64/python2.6/site-packages

when on my system python 2.6.6 expects all of its packages here:

    /usr/lib/python2.6/site-packages

Unless, of course, the PYTHONPATH is set, indicating additional
directories to search.

The Wandisco installation script has the advantage that it automatically
sets up yum with their repository, giving me automatic updates. The
disadvantage is that their Centos 6 installation script apparently did
not detect that my machine (running Centos 6.5) was using packages from
the /usr/lib directory, not /usr/lib64 .

On 09/11/2014 09:22 PM, Arthur Kahlich wrote:
> I went and got the complete subversion version 1.8 for Centos 6 from the
> Wandisco site. I installed their packages using their script for Centos 6.
>
> I then went to my machine and ran:
>
> bloodhound@s4:/opt/bloodhound/bhenv/bin>./tracd --port=8000
> /opt/bloodhound/environments/main &
>
> followed by browsing to the URL:
>
> http://localhost:8000/main/admin/versioncontrol/repository
>
> When there, I removed the repository I had setup, then added it again.
> The page then instructs me to run:
>
> trac-admin $ENV repository resync "rep.15"
>
> to sync up the repository. I have done this for trac previously, but now
> I don't know exactly what to put for $ENV for bloodhound.  Also,
> 'trac-admin' is not on my path the way it was with the trac rpm
> installation before.  So I give it my best guess and do this:
>
> bloodhound@s4:/opt/bloodhound/environments/main>../../bhenv/bin/trac-admin
> /opt/bloodhound/environments/main repository resync "rep.15"
> TracError: Unsupported version control system "svn": No module named svn
> bloodhound@s4:/opt/bloodhound/environments/main>rpm -qa | grep subversion
> subversion-1.8.10-1.x86_64
> subversion-javahl-1.8.10-1.x86_64
> subversion-python-1.8.10-1.x86_64
> subversion-perl-1.8.10-1.x86_64
> subversion-tools-1.8.10-1.x86_64
> bloodhound@s4:/opt/bloodhound/environments/main>
>
> where the shell prompt indicates I am the 'bloodhound' user on s4, and
> the current directory is '/opt/bloodhound/environments/main'.
>
> My problem is 'trac-admin' still tells me it has no module named svn,
> but as you can see from the following rpm listing, the
> 'subversion-python' package is installed.
>
> As instructed, the file
>
> /opt/bloodhound/environments/main/conf/trac.ini
>
> has these lines added at the end:
>
> [components]
> tracopt.versioncontrol.svn.svn_fs.* = enabled
>
> These were added to trac.ini *before* starting the tracd daemon.
>
> I don't know what else I am missing, unless the bloodhound install has
> to find 'subversion-python' and create some sort of linkage.
>
> Any further help would be greatly appreciated!
>
> Art
>


-- 
Arthur Kahlich
CTO - Hardware
Mill Computing, Inc.
Box 1531
Palo Alto CA 94302-1531
Phone: (408)480-3680
--
Faster, Cooler, Safer Computing.
--