Установка Trac с Subversion 1.6 - PullRequest
       23

Установка Trac с Subversion 1.6

1 голос
/ 16 ноября 2009

Я пытаюсь настроить Trac на моем сервере и успешно установил его, скомпилировал байт-код и запустил сервер tracd. Единственная проблема в том, что он не читает мой SVN-репозиторий.

Ошибка, которую я получаю:

Предупреждение: не удается синхронизироваться с хранилищем (Не удалось открыть хранилище Subversion / data1 / repos: SubversionException: ("Ожидаемый формат FS '2'; найден формат '4'", 160043)). Посмотрите в журнале Trac для получения дополнительной информации.

(Да, мой единственный репозиторий находится в папке с именем "repos" - я не установил этот бит)

trac.ini выглядит так:

repository_dir = /data1/repos
repository_type = svn

Я работаю: Trac 0.11.5, Python 2.4.3, Collabnet SVN 1.6.5, SWIG 1.3.29

Ответы [ 4 ]

3 голосов
/ 16 ноября 2009

вы должны убедиться, что привязка Python соответствует вашей версии SVN.

Чтобы получить привязку, вы можете использовать исходный код SVN и скомпилировать оболочку, install дает обзор процесса создания этой привязки.

сначала вам нужно скачать svn source

СОЗДАНИЕ СВИНГОВЫХ СВЯЗАНИЙ ДЛЯ SVN НА UNIX

после сборки привязки Swig

Шаг 1. Установите подходящую версию SWIG (который в настоящее время версия swig 1.3.24 - 1.3.31).

* Perhaps your distribution packages a suitable version - if it

делает установите его и перейдите к последнему пункту в этом разделе.

* Go to http://www.swig.org/, download the source tarball, and

распаковывать.

* In the SWIG-1.3.xx directory, run ./configure.

    If you plan to build the Python bindings, and have a system
    with more than one version of Python installed, you may need
    to pass

         --with-python=/path/to/correct/python/binary

    to the configure script.  You need Python 2.4 or above.

    If you plan to build the Perl bindings, and have a system
    with more than one version of perl installed, you may need
    to pass

         --with-perl5=/path/to/correct/perl/binary

    to the configure script.  You need Perl 5.8.0 or above.

* Build and install.

    Run 'make && make install'

* To verify you have SWIG installed correctly, run "swig

-версия» из командной строки. SWIG должен сообщить, что это версия 1.3.24 или новее.

и затем Python вещи

Шаг 3. Установка определенного языка Наручники

  • Python

    1. Запустите 'make swig-py' с вершины дерева исходников Subversion, построить привязки.

      (Это вызовет SWIG для файлов * .i, что приведет к коллекции .c исходных файлов. Затем он скомпилирует и свяжет эти файлы .c в Библиотеки Python.)

    2. Запустите 'make check-swig-py' из верхней части источника Subversion дерево, чтобы проверить привязки

    3. Запустите 'make install-swig-py' (обычно от имени пользователя root) с вершины дерева исходников Subversion. Это будет копировать ваши новые библиотеки Python в соответствующую системную папку.

      Примечание. Если у вас нет доступа к установке пакетов сайта Python каталог, вы можете установить модули Python на свой дом каталог. Вы можете сделать это, запустив 'make install-swig-py swig_pydir = ~'.

      Примечание. Если вы хотите установить альтернативный префикс (обычно только если вы создаете пакеты), вы можете указать здесь префикс. Пример этого для построения RPMS выглядит 'make install-swig-py DESTDIR = $ RPM_BUILD_ROOT / usr'.

    4. Убедитесь, что в любом каталоге установлены привязки в находится в вашем пути поиска Python. Этот каталог зависит от того, как вы установлены; Типичное расположение: /usr/local/lib/svn-python/.

      Есть несколько способов сделать это. Смотрите документацию Python для 'sys.path' и 'PYTHONPATH'. Хороший способ сделать это: $ echo / usr / local / lib / svn-python \

      / USR / Библиотека / python2.x / сайт-пакеты / subversion.pth

      Возможно, вам также потребуется обновить динамический компоновщик операционной системы. Конфигурация, позволяющая Python загружать эти новые библиотеки. На некоторых В системах это выполняется с помощью команды ldconfig.

3 голосов
/ 16 ноября 2009

Обновлена ​​ли ваша библиотека Python SVN? Похоже, это несвежее.

2 голосов
/ 16 ноября 2009

Может случиться так, что привязки Subversion Python скомпилированы со слишком старой версией Subversion, но учитывая, что формат FS 2 равен pre-1.0, , возможно, что-то еще не так. Вы можете получить версию клиентской библиотеки Subversion следующим образом:

>>> import svn.client
>>> svn.client.svn_client_version().major
1
>>> svn.client.svn_client_version().minor
6
>>> svn.client.svn_client_version().patch
5
0 голосов
/ 19 ноября 2009

Похоже, эти ребята довольно подробно ответили на ваш вопрос, но, к вашему сведению: настройте файл журнала, чтобы вы могли прочитать его во время следующей проблемы. В вашем trac.ini где-то:

[logging]
log_file = trac.log
# log_format = <inherited>
log_level = DEBUG
log_type = file

После этого попробуйте развернуть trac в apache, если это возможно - с помощью mod_python или FastCGI в документации по trac сказано, что это намного быстрее, чем запуск tracd.

...