ページ更新: 2008-09-24 (水) (3678日前)

関連: ../CentOS, Linux/RedHat/apt, Linux/Fedora Legacy

2005-09-13

このページの内容は未整理です(試行錯誤中のものや、わざとエラーを出したものも記載している)

  • 古いLinux(Red Hat Linux 8.0)にインストールすることを想定。Trac 0.8.4を使用した。
  • ようするに、提供されてるRPMが使えない古いOSにインストールする手順の記録である。
    • FedoraやRHELやCentOS,WhiteBox,...の、そこそこ新しいのなら提供されてるRPMが使えるだろう。試してないけど。
    • DAG: trac RPM packages for Red Hat/Fedora
    • TracIndexのTracOnXXXXXX (XXXXはOS名称)
    • 実際には、一部だけでも既存のパッケージを使えば(バージョンが許せば)、ここまで手間を掛けなくてもいい。 Subversion, Python, SWIG,...だけでも既存のパッケージを使えば、ずいぶん楽になるはず。
  • パッケージ(rpm, deb)を使わず、全部tar-ballからインストールする。
  • 一般ユーザでインストールする手順も追加するかも (Trac 0.9b2)
  • trac-0.9-ja-1.zipへのアップグレード手順も追加しようと思っているが、どういう操作をしたか忘れつつある……

目次

[編集]

情報源 #

Installing Trac 0.8.4 on Red Hat Linux 9
http://trac.edgewall.org/wiki/TracOnRedhat

[編集]

RedHat 8 + Trac 0.8.4 + ja インストール (2005-09-13) #

[編集]

Red Hat Linux 8.0の準備 #

2005-09-13

  • Red Hat Linux 8.0, Develop関連パッケージをインストール
  • Fedora Legacyでアップデートしておく(aptを使った)
[編集]

ファイルの入手 #

TracInstallを参考に、次のファイルを入手しておく

  • docutils-0.3.9.tar.gz はまだ入れてない。
[編集]

Python-2.3.5 #

2005-09-14

展開する。

$ tar jxvf Python-2.3.5.tar.bz2
 :
 :
$

READMEを読む。

configureスクリプトを実行する。

$ ./configure
 :
 :
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Modules/Setup.config
config.status: creating pyconfig.h
creating Setup
creating Setup.local
creating Makefile
$ 

config.logを眺め、エラーや不都合な点(意図したコンパイラやライブらルが使われていない)があれば原因を修正して再度実行する。

makeを実行する。

$ make
 :
 :
changing mode of build/scripts-2.3/pydoc from 664 to 775
changing mode of build/scripts-2.3/idle from 664 to 775
$ 

make testを実行して、生成されたもののテストを行う。

$ make test
 :
 :
227 tests OK.
28 tests skipped:
    test_aepack test_al test_bsddb185 test_bsddb3 test_bz2 test_cd
    test_cl test_curses test_email_codecs test_gl test_imgfile
    test_linuxaudiodev test_macfs test_macostools test_nis
    test_normalization test_ossaudiodev test_pep277 test_plistlib
    test_scriptpackages test_socket_ssl test_socketserver
    test_sunaudiodev test_timeout test_unicode_file test_urllibnet
    test_winreg test_winsound
1 skip unexpected on linux2:
    test_bz2
$

インストールする。rootに切り替える。/usr/local/bin/ にインストールされる。

$ su
# make install
 :
 :
/usr/bin/install -c -m 644 ../Python-2.3.5/Misc/python.man \
        /usr/local/man/man1/python.1
# exit
$

環境変数PATHの設定。既存のPythonより優先させたいので、/usr/local/bin を /usr/bin より前に持って行く。(手順は省略)

環境変数とバージョンの確認。(Manpage of BASH)

$ which python
/usr/local/bin/python

$ hash -r 

$ python -V
Python 2.3.5

既存のRed Hat 8のパッケージと比較。

$ /usr/bin/python -V
Python 2.2.1
[編集]

clearsilver-0.9.14 (-> Python) #

2005-09-14, 2005-09-15

展開

$ tar zxvf clearsilver-0.9.14.tar.gz
(略)

README, README.python, INSTALLを読む

configure

$ cd clearsilver-0.9.14
$ ./configure
(略)
checking for python includes... found /usr/local/include/python2.3  ★
checking for perl >= 5.006... found /usr/bin/perl
checking for ruby... not found
checking for j2sdk path... found /usr/java/j2sdk1.4.2_09
checking for csharp path... not found
updating cache ./config.cache
creating ./config.status
creating rules.mk
creating cs_config.h
$ make
(略)
Running cs regression tests
Passed
(略)
Checking if your kit is complete...
Looks good
Warning: -L../libs changed to -L/home/admin/trac/clearsilver-0.9.14/perl/../libs
(略)
Writing Makefile for ClearSilver
make[1]: 入ります ディレクトリ `/home/admin/trac/clearsilver-0.9.14/perl'
cp ClearSilver.pm blib/lib/ClearSilver.pm
/usr/bin/perl /usr/lib/perl5/5.8.0/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.8.
0/ExtUtils/typemap -typemap typemap  ClearSilver.xs > ClearSilver.xsc && mv Clea
rSilver.xsc ClearSilver.c
Please specify prototyping behavior for ClearSilver.xs (see perlxs manual)
gcc -c  -I../ -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-st
rict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I
/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686   -DVERSION=\"0.01\" -DXS_
VERSION=\"0.01\" -fPIC "-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   C
learSilver.c
cc1: 警告: changing search order for system directory "/usr/local/include"
cc1: 警告:   as it has already been specified as a non-system directory
(略)
/usr/java/j2sdk1.4.2_09/bin/jar cf clearsilver.jar org
rm -f -r org
/usr/java/j2sdk1.4.2_09/bin/javah -classpath clearsilver.jar -jni org.clearsilve
r.HDF
/usr/java/j2sdk1.4.2_09/bin/javah -classpath clearsilver.jar -jni org.clearsilve
r.CS
(略)
Running java test
Passed java test
make[1]: 出ます ディレクトリ `/home/admin/trac/clearsilver-0.9.14/java-jni'

インストール

# make install
(略)
Running java test
Passed java test
(略)
./mkinstalldirs /usr/local/include/ClearSilver
(略)
./mkinstalldirs /usr/local/bin
./mkinstalldirs /usr/local/lib
./mkinstalldirs /usr/local/man/man3
(略)
../mkinstalldirs /usr/local/include/ClearSilver/util
(略)
../mkinstalldirs /usr/local/include/ClearSilver/cs
(略)
../mkinstalldirs /usr/local/include/ClearSilver/cgi
(略)
../mkinstalldirs /usr/local/lib/python2.3/site-packages
(略)
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/ClearSilver/ClearSilver.so
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/ClearSilver/ClearSilver.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/ClearSilver.pmInstalling /usr/share/man/man3/ClearSilver.3pm
Writing /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/ClearSilver/.packlist
Appending installation info to /usr/lib/perl5/5.8.0/i386-linux-thread-multi/perllocal.pod
(略)
Running java test
Passed java test
/usr/bin/install -c libclearsilver-jni.so /usr/local/lib
/usr/bin/install -c clearsilver.jar /usr/local/lib
make[1]: 出ます ディレクトリ `/home/admin/trac/clearsilver-0.9.14/java-jni'
[編集]

sqlite-3.2.6 #

2005-09-13, 2005-09-21 (sqlite-3.2.6に変更 2005-Sep-16 - Version 3.2.6 - Critical Bug Fix)

展開

$ tar zxvf sqlite-3.2.6.tar.gz
sqlite-3.2.6/
$ cd sqlite-3.2.6

READMEを読む

(略)
The configure script uses autoconf 2.50 and libtool.
(略)
   tar xzf sqlite.tar.gz    ;#  Unpack the source tree into "sqlite"
   mkdir bld                ;#  Build will occur in a sibling directory
   cd bld                   ;#  Change to the build directory
   ../sqlite/configure      ;#  Run the configure script
   make                     ;#  Run the makefile.
   make install             ;#  (Optional) Install the build products
(略)

autoconf, libtoolのバージョンを確認

$ rpm -q autoconf libtool
autoconf-2.53-8
libtool-1.4.2-14.legacy

configure

$ mkdir sqlite-bld
$ cd sqlite-bld
$ ../sqlite-3.2.6/configure
(略)

config.logを確認

$ less config.log
(略)

コンパイル。エラーあり

$ make
(略)
../sqlite-3.2.6/src/tclsqlite.c:1918: warning: passing arg 2 of `Tcl_CreateObjCo
mmand' discards qualifiers from pointer target type

Makefileを修正して、libtclsqlite3.soを作成しないようにした

# The following variable is "1" if the configure script was able to locate
# the tclConfig.sh file.  It is an empty string otherwise.  When this
# variable is "1", the TCL extension library (libtclsqlite3.so) is built
# and installed.
#
# HAVE_TCL = 1   ★この行を今回コメントアウトした。

コンパイル。完了。

$ make clean
(略)
$ make
(略)
creating sqlite3

テスト。コンパイル中にエラー。

$ make test
(略)
../sqlite-3.2.6/src/tclsqlite.c:1918: warning: passing arg 2 of `Tcl_CreateObjCo
mmand' discards qualifiers from pointer target type
make: *** [testfixture] エラー 1

インストール

$ su
# make install
(略)
Libraries have been installed in:
   /usr/local/lib
(略)
/usr/bin/install -c -d /usr/local/bin
./libtool --mode=install /usr/bin/install -c sqlite3 /usr/local/bin
/usr/bin/install -c .libs/sqlite3 /usr/local/bin/sqlite3
/usr/bin/install -c -d /usr/local/include
/usr/bin/install -c -m 0644 sqlite3.h /usr/local/include
/usr/bin/install -c -d /usr/local/lib/pkgconfig;
/usr/bin/install -c -m 0644 sqlite3.pc /usr/local/lib/pkgconfig;

インストールされたファイルを確認。ヘッダ。

$ ls /usr/local/include/
sqlite3.h

インストールされたファイルを確認。ライブラリ。

$ ls /usr/local/lib/libsq*
/usr/local/lib/libsqlite3.a    /usr/local/lib/libsqlite3.so.0@
/usr/local/lib/libsqlite3.la*  /usr/local/lib/libsqlite3.so.0.8.6*
/usr/local/lib/libsqlite3.so@

インストールされたファイルを確認。コマンド。

$ ls /usr/local/bin/sq*
/usr/local/bin/sqlite3*

ちょっとだけ動作確認

$ /usr/local/bin/sqlite3 /tmp/db
SQLite version 3.2.6
Enter ".help" for instructions
sqlite> .quit
[編集]

pysqlite 1.1.6 (->Python, SQLite) #

2005-09-16, 2005-09-21 (sqliteバージョンアップ)

$ tar zxvf pysqlite-1.1.6.tar.gz
pysqlite/
(略)
$ cd pysqlite

READMEによると

 python setup.py build
 python setup.py install
$ python setup.py build
(略)

# python setup.py install
running install
running build
running build_py
running build_ext
running install_lib
creating /usr/local/lib/python2.3/site-packages/sqlite
copying build/lib.linux-i686-2.3/sqlite/__init__.py -> /usr/local/lib/python2.3/
site-packages/sqlite
copying build/lib.linux-i686-2.3/sqlite/main.py -> /usr/local/lib/python2.3/site
-packages/sqlite
copying build/lib.linux-i686-2.3/_sqlite.so -> /usr/local/lib/python2.3/site-pac
kages
byte-compiling /usr/local/lib/python2.3/site-packages/sqlite/__init__.py to __in
it__.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/sqlite/main.py to main.pyc
[編集]

pysqlite 2.0.4 (-> Python, SQLite) #

2005-09-15

こちらはtrac-0.9.X用。

展開

$ tar zxvf pysqlite-2.0.4.tar.gz
pysqlite-2.0.4/
(略)

$ cd pysqlite-2.0.4

$ ls
LICENSE*     PKG-INFO  docutilsupport.py  scripts/   setup.py
MANIFEST.in  doc/      lib/               setup.cfg  src/

インストール手順を読む (doc/install-source.txt) pysqlite installation guide - source distribution

ビルド (Step 2: Compile pysqlite より)

$ which python
/usr/local/bin/python

$ python -V
Python 2.3.5

$ python setup.py build
running build
running build_py
creating build
creating build/lib.linux-i686-2.3
creating build/lib.linux-i686-2.3/pysqlite2
copying lib/__init__.py -> build/lib.linux-i686-2.3/pysqlite2
copying lib/dbapi2.py -> build/lib.linux-i686-2.3/pysqlite2
creating build/lib.linux-i686-2.3/pysqlite2/test
copying lib/test/__init__.py -> build/lib.linux-i686-2.3/pysqlite2/test
copying lib/test/dbapi.py -> build/lib.linux-i686-2.3/pysqlite2/test
copying lib/test/factory.py -> build/lib.linux-i686-2.3/pysqlite2/test
copying lib/test/transactions.py -> build/lib.linux-i686-2.3/pysqlite2/test
copying lib/test/types.py -> build/lib.linux-i686-2.3/pysqlite2/test
copying lib/test/userfunctions.py -> build/lib.linux-i686-2.3/pysqlite2/test
running build_ext
building 'pysqlite2._sqlite' extension
(略)
running build_scripts
creating build/scripts-2.3
copying and adjusting scripts/test-pysqlite -> build/scripts-2.3
changing mode of build/scripts-2.3/test-pysqlite from 664 to 775

インストール (Step 3: Install pysqlite より)

# python setup.py install
running install
running build
running build_py
running build_ext
running build_scripts
running install_lib
creating /usr/local/lib/python2.3/site-packages/pysqlite2
copying build/lib.linux-i686-2.3/pysqlite2/__init__.py -> /usr/local/lib/python2
.3/site-packages/pysqlite2
copying build/lib.linux-i686-2.3/pysqlite2/dbapi2.py -> /usr/local/lib/python2.3
/site-packages/pysqlite2
creating /usr/local/lib/python2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/test/__init__.py -> /usr/local/lib/py
thon2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/test/dbapi.py -> /usr/local/lib/pytho
n2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/test/factory.py -> /usr/local/lib/pyt
hon2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/test/transactions.py -> /usr/local/li
b/python2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/test/types.py -> /usr/local/lib/pytho
n2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/test/userfunctions.py -> /usr/local/l
ib/python2.3/site-packages/pysqlite2/test
copying build/lib.linux-i686-2.3/pysqlite2/_sqlite.so -> /usr/local/lib/python2.
3/site-packages/pysqlite2
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/__init__.py to _
_init__.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/dbapi2.py to dba
pi2.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/test/__init__.py
 to __init__.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/test/dbapi.py to
 dbapi.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/test/factory.py
to factory.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/test/transaction
s.py to transactions.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/test/types.py to
 types.pyc
byte-compiling /usr/local/lib/python2.3/site-packages/pysqlite2/test/userfunctio
ns.py to userfunctions.pyc
running install_scripts
copying build/scripts-2.3/test-pysqlite -> /usr/local/bin
changing mode of /usr/local/bin/test-pysqlite to 775
running install_data
creating /usr/local/pysqlite2-doc
copying doc/install-source.html -> /usr/local/pysqlite2-doc
copying doc/usage-guide.html -> /usr/local/pysqlite2-doc
copying doc/install-source.txt -> /usr/local/pysqlite2-doc
copying doc/usage-guide.txt -> /usr/local/pysqlite2-doc
copying doc/default.css -> /usr/local/pysqlite2-doc
copying doc/docutils.css -> /usr/local/pysqlite2-doc
copying doc/silvercity.css -> /usr/local/pysqlite2-doc
creating /usr/local/pysqlite2-doc/code
copying doc/code/adapter_datetime.py -> /usr/local/pysqlite2-doc/code
copying doc/code/adapter_point_1.py -> /usr/local/pysqlite2-doc/code
copying doc/code/adapter_point_2.py -> /usr/local/pysqlite2-doc/code
copying doc/code/connect_db_1.py -> /usr/local/pysqlite2-doc/code
copying doc/code/connect_db_2.py -> /usr/local/pysqlite2-doc/code
copying doc/code/converter_point.py -> /usr/local/pysqlite2-doc/code
copying doc/code/countcursors.py -> /usr/local/pysqlite2-doc/code
copying doc/code/createdb.py -> /usr/local/pysqlite2-doc/code
copying doc/code/execsql_fetchonerow.py -> /usr/local/pysqlite2-doc/code
copying doc/code/execsql_printall_1.py -> /usr/local/pysqlite2-doc/code
copying doc/code/execute_1.py -> /usr/local/pysqlite2-doc/code
copying doc/code/execute_2.py -> /usr/local/pysqlite2-doc/code
copying doc/code/execute_3.py -> /usr/local/pysqlite2-doc/code
copying doc/code/executemany_1.py -> /usr/local/pysqlite2-doc/code
copying doc/code/executemany_2.py -> /usr/local/pysqlite2-doc/code
copying doc/code/executescript.py -> /usr/local/pysqlite2-doc/code
copying doc/code/insert_more_people.py -> /usr/local/pysqlite2-doc/code
copying doc/code/md5func.py -> /usr/local/pysqlite2-doc/code
copying doc/code/mysumaggr.py -> /usr/local/pysqlite2-doc/code
copying doc/code/parse_colnames.py -> /usr/local/pysqlite2-doc/code
copying doc/code/pysqlite_datetime.py -> /usr/local/pysqlite2-doc/code
copying doc/code/row_factory.py -> /usr/local/pysqlite2-doc/code
copying doc/code/simple_tableprinter.py -> /usr/local/pysqlite2-doc/code

テスト(Step 4: Test Your pysqlite Installation より)

$ cd scripts

$ cat test-pysqlite
#!/usr/bin/env python
from pysqlite2.test import test
test()

$ ./test-pysqlite
Traceback (most recent call last):
 File "./test-pysqlite", line 2, in ?
    from pysqlite2.test import test
  File "/usr/local/lib/python2.3/site-packages/pysqlite2/test/__init__.py", line
 25, in ?
    from pysqlite2.test import dbapi, types, userfunctions, factory, transactions
  File "/usr/local/lib/python2.3/site-packages/pysqlite2/test/dbapi.py", line 26, in ?
    import pysqlite2.dbapi2 as sqlite
  File "/usr/local/lib/python2.3/site-packages/pysqlite2/dbapi2.py", line 32, in ?
    from pysqlite2._sqlite import *
ImportError: libsqlite3.so.0: cannot open shared object file: No such file or directory

失敗した。libsqlite3.so.0の位置を/etc/ld.so.confに登録する。

libsqlite3.so.0の場所を探す。(/usr/local/libだろうけど、ついでにupdatedbも実行しておく)

# updatedb

$  locate libsqlite3.so.0
/usr/local/lib/libsqlite3.so.0.8.6
/usr/local/lib/libsqlite3.so.0                ★
/home/admin/trac/sqlite-bld/.libs/libsqlite3.so.0.8.6
/home/admin/trac/sqlite-bld/.libs/libsqlite3.so.0

/etc/ld.so.confを編集

/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/qt-3.0.5/lib
/usr/lib/sane
/opt/kakadu
/usr/local/lib    ★この行を追加

ldconfigを実行

# /sbin/ldconfig

再テスト。OK

$ ./test-pysqlite
................................................................................
..............................................................
----------------------------------------------------------------------
Ran 142 tests in 1.021s

OK
[編集]

swig-1.3.25 (-> Subversion) #

2005-09-20

展開する。

$ tar zxvf swig-1.3.25.tar.gz
swig-1.3.25/
 :
 :
$

READMEを読む。

configureスクリプトを実行する。

$ ./configure
 :
 : 
Checking for installed packages.
Note : None of the following packages are required to compile SWIG
 :
 : 
checking for python... python
checking for Python prefix... /usr/local
checking for Python exec-prefix... /usr/local
checking for Python version... python2.3
checking for Python lib dir... lib
checking for Python header files... -I/usr/local/include/python2.3      ★Python2.3が使われることを確認
 -I/usr/local/lib/python2.3/config
checking for Python library... /usr/local/lib/python2.3/config      ★Python2.3が使われることを確認
checking for perl... perl
checking for Perl5 header files... /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE
checking for Perl5 library... perl.so
checking for Perl5 compiler options... -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE
_PIDS -DDEBUGGING -fno-strict-aliasing -isystem /usr/local/include -D_LARGEFILE_
SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
checking for java... java
checking for javac... javac
checking for java include file jni.h... /usr/java/j2sdk1.4.2_09/include
checking for java include file jni_md.h... /usr/java/j2sdk1.4.2_09/include/linux
 :
 :
$

makeを実行する。

$ make
 :
 :
$

make checkを実行する。(結構時間がかかる)

$ make -k check
 :
 :
$

インストール

$ su
# make install
Installing SWIG executable
Installing /usr/local/bin/swig
Installing the SWIG library
Installing /usr/local/share/swig/1.3.25/_std_deque.i
 :
Installing language specific files for tcl
 :
Installing language specific files for perl5
 :
Installing language specific files for python
 :
Installing language specific files for guile
 :
Installing language specific files for java
 :
Installing language specific files for mzscheme
 :
Installing language specific files for ruby
 :
Installing language specific files for php4
 :
Installing language specific files for ocaml
 :
Installing language specific files for pike
 :
Installing language specific files for chicken
 :
Installing language specific files for csharp
 :
Installing language specific files for modula3
 :
Installing language specific files for allegrocl
 :
Installing language specific files for std
 :
Installation complete
$

動作確認

$ which swig
/usr/local/bin/swig

$ hash -r
$ swig -version

SWIG Version 1.3.25
Copyright (c) 1995-1998
University of Utah and the Regents of the University of California
Copyright (c) 1998-2005
University of Chicago
Compiled with g++ [i686-pc-linux-gnu]

Please see http://www.swig.org for reporting bugs and further information
[編集]

subversion-1.2.3 #

$ tar jxvf subversion-1.2.3.tar.bz2

README, INSTALL, subversion/bindings/swig/INSTALLを読む。

$ cd subversion-1.2.3

作業用ディレクトリを作成して、コンパイル

$ mkdir subversion-blt
$ cd subversion-blt
$ ../subversion-1.2.3/configure PYTHON=/usr/local/bin/python2.3
 :
$ make
 :
$ make check
Running all tests in compat-test...success
Running all tests in config-test...success
Running all tests in diff-diff3-test...success
Running all tests in hashdump-test...success
Running all tests in locks-test...success
Running all tests in opt-test...success
Running all tests in path-test...success
Running all tests in ra-local-test...success
Running all tests in random-test...success
Running all tests in repos-test...success
Running all tests in stream-test...success
Running all tests in string-test...success
Running all tests in time-test...success
Running all tests in translate-test...success
Running all tests in utf-test...success
Running all tests in target-test.py...success
Running all tests in getopt_tests.py...success
Running all tests in basic_tests.py...success
Running all tests in commit_tests.py...success
Running all tests in update_tests.py...success
Running all tests in switch_tests.py...success
Running all tests in prop_tests.py...success
Running all tests in schedule_tests.py...success
Running all tests in log_tests.py...success
Running all tests in copy_tests.py...success
Running all tests in diff_tests.py...success
Running all tests in export_tests.py...success
Running all tests in externals_tests.py...success
Running all tests in merge_tests.py...success
Running all tests in revert_tests.py...success
Running all tests in stat_tests.py...success
Running all tests in trans_tests.py...success
Running all tests in autoprop_tests.py...success
Running all tests in blame_tests.py...success
Running all tests in special_tests.py...success
Running all tests in svnadmin_tests.py...success
Running all tests in svnlook_tests.py...success
Running all tests in svnversion_tests.py...success
Running all tests in utf8_tests.py...success
Running all tests in history_tests.py...success
Running all tests in lock_tests.py...success
Running all tests in cat_tests.py...success
Running all tests in import_tests.py...success
Running all tests in changes-test...success
Running all tests in fs-test...success
Running all tests in key-test...success
Running all tests in skel-test...success
Running all tests in strings-reps-test...success
At least one test was SKIPPED, checking /home/admin/trac/subversion-blt/tests.log
SKIP:  revert_tests.py 2: reverting to corrupt text base should fail
SKIP:  utf8_tests.py 1: conversion of paths and logs to/from utf8
# make install

Python-binding

$ make swig-py
 :
# make install-swig-py
 :
# /sbin/ldconfig
 :
# echo /usr/local/lib/svn-python > /usr/local/lib/python2.3/site-packages/subversion.pth
 :

動作確認

$ which svn
/usr/local/bin/svn

$ hash -r

$ svn --version
svn, バージョン 1.2.3 (r15833)
 :

モジュールの動作確認

$ python
Python 2.3.5 (#1, Sep 13 2005, 11:30:14)
[GCC 3.2 20020903 (Red Hat Linux 8.0 3.2-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import svn                 ★svn python bindingが読み込めたので、エラーなし。
>>> import hogehoge            ★存在しないパッケージだとエラーが出る。
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named hogehoge
>>> 
[編集]

trac-0.8.4 #

2005-09-16

$ tar zxvf trac-0.8.4.tar.gz

$ cd trac-0.8.4

$ ls
AUTHORS    MANIFEST.in   RELEASE   contrib/  setup.py*
COPYING    PKG-INFO      THANKS    doc/      templates/
ChangeLog  README        UPGRADE   htdocs/   trac/
INSTALL    README.tracd  cgi-bin/  scripts/  wiki-default/

# python ./setup.py install
running install
running build
running build_py
(略)
running build_scripts
running install_lib
creating /usr/local/lib/python2.3/site-packages/trac
(略)
creating /usr/local/lib/python2.3/site-packages/trac/upgrades
(略)
creating /usr/local/lib/python2.3/site-packages/trac/wikimacros
(略)
creating /usr/local/lib/python2.3/site-packages/trac/mimeviewers
(略)
running install_scripts
(略)
running install_data
creating /usr/local/share/trac/templates
(略)
creating /usr/local/share/trac/htdocs
(略)
creating /usr/local/share/trac/htdocs/css
(略)
creating /usr/local/share/trac/wiki-default
(略)
Thank you for choosing Trac 0.8.4. Enjoy your stay!
Visit the Trac Project at http://trac.edgewall.com/

Trac is brought to you by:
-----------------------------------------------------------------
                E d g e w a l l   S o f t w a r e
        Professional Linux and software development services
              Read more at http://www.edgewall.com/
-----------------------------------------------------------------

Tracの動作確認

$ trac-admin /tmp/trac initenv
Creating a new Trac environment at /tmp/trac

Trac will first ask a few questions about your environment
in order to initalize 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]>
[編集]

trac-0.8.4-ja-1 #

文書はUTF-8で書かれている。

展開する

# unzip trac-0.8.4-ja-1.zip 
Archive:  /home/admin/trac/trac-0.8.4-ja-1.zip
   creating: /usr/local/share/trac-0.8.4-ja-1/
  inflating: /usr/local/share/trac-0.8.4-ja-1/ChangeLog.trac-ja
  inflating: /usr/local/share/trac-0.8.4-ja-1/INSTALL
  inflating: /usr/local/share/trac-0.8.4-ja-1/README
  inflating: /usr/local/share/trac-0.8.4-ja-1/RELEASE
   creating: /usr/local/share/trac-0.8.4-ja-1/templates/
   :
   creating: /usr/local/share/trac-0.8.4-ja-1/wiki-default/
   :

オリジナルに上書きする

# \cp -a trac-0.8.4-ja-1/* /usr/local/share/trac/
[編集]

動作確認 #

[編集]

trac-admin #

$ trac-admin initenv help
trac-admin - The Trac Administration Console 0.8.4

Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]]

Invoking trac-admin without command starts interactive mode.
 
about                                             -- Shows information about trac-admin

help                                              -- Show documentation

initenv                                           -- Create and initialize a new environment interactively

initenv <projectname> <repospath> <templatepath>  -- Create and initialize a new environment from arguments

 :

試しに

$ mkdir /path/to/svn
$ svnadmin create /path/to/svn/sampleproject
$ LANG=C svnadmin verify /path/to/svn/sampleproject
* Verified revision 0.
$ trac-admin /path/to/trac/sampleproject initenv "Sample Project" /path/to/svn/sampleproject /usr/local/share/trac/templates
Creating and Initializing Project
 Inserting default data
 Configuring Project
  trac.repository_dir
  trac.templates_dir
  project.name
 Installing wiki pages
 /usr/local/share/trac/wiki-default/CamelCase => CamelCase
  :
 /usr/local/share/trac/wiki-default/TracTermsJa => TracTermsJa
 Indexing repository
  :
Congratulations!
[編集]

tracd #

$ tracd --port 10080 /path/to/trac/sampleproject

http://localhost:10080/ にアクセスして、Tracの画面を確認しておく。

[編集]

RedHat 8.0, Trac 0.9b2, ユーザのホームディレクトリに (2005-10-28) #

  • /home/admin にインストールする。

使用したソフトの一覧

  • Python-2.3.5.tar.bz2
  • JapaneseCodecs-1.4.11.tar.gz
  • clearsilver-0.9.14.tar.gz
  • sqlite-3.2.6.tar.gz
  • pysqlite-2.0.5.tar.gz
  • swig-1.3.25.tar.gz
  • subversion-1.2.3.tar.bz2
  • trac-0.9b2.tar.gz
[編集]

Python 2.3.5 #

$ tar jxvf Python-2.3.5.tar.bz2
$ cd Python-2.3.5
$ ./configure --prefix=/home/admin
$ make
$ make test
 : 
227 tests OK.
28 tests skipped:
    test_aepack test_al test_bsddb185 test_bsddb3 test_bz2 test_cd
    test_cl test_curses test_email_codecs test_gl test_imgfile
    test_linuxaudiodev test_macfs test_macostools test_nis
    test_normalization test_ossaudiodev test_pep277 test_plistlib
    test_scriptpackages test_socket_ssl test_socketserver
    test_sunaudiodev test_timeout test_unicode_file test_urllibnet
    test_winreg test_winsound
1 skip unexpected on linux2:
    test_bz2

$ ~/bin/python -V
Python 2.3.5
[編集]

JapaneseCodecs version 1.4.11 #

JapaneseCodecs version 1.4.11
http://www.python.jp/Zope/download/JapaneseCodecs

$ tar zxvf JapaneseCodecs-1.4.11.tar.gz
$ cd JapaneseCodecs-1.4.11
$ ~/bin/python setup.py install
[編集]

ClearSilver 0.9.14 #

$ tar zxvf clearsilver-0.9.14.tar.gz
$ cd clearsilver-0.9.14
$ ./configure --prefix=/home/admin --with-python=/home/admin/bin/python --disable-perl
$ make

scripts/document.pyを修正

#!/home/admin/bin/python

インストールする

$ make install
[編集]

SQLite 3.2.6 #

$ tar zxvf sqlite-3.2.6.tar.gz
$ cd sqlite-3.2.6
$ ./configure --prefix=/home/admin

MakefileのHAVE_TCL = 1 をコメントアウト

$ make && make install

make test はTCLを使おうとしてエラーになるので、実行していない。

[編集]

PySQLite 2.0.5 #

$ tar zxvf pysqlite-2.0.5.tar.gz
$ cd pysqlite-2.0.5

setup.cfgを修正

[build_ext]
define=
include_dirs=/usr/local
library_dirs=/usr/local/lib
libraries=sqlite3
[build_ext]
define=
include_dirs=/home/admin
library_dirs=/home/admin/lib
libraries=sqlite3

setup.pyを修正

include_dirs = []
library_dirs = []
libraries = []
runtime_library_dirs = []
extra_objects = []
define_macros = []
include_dirs = ["/home/admin/include"]
library_dirs = []
libraries = []
runtime_library_dirs = []
extra_objects = []
define_macros = []
$ ~/bin/python setup.py build
$ ~/bin/python setup.py install

テスト

$ cd scripts/
$ export LD_LIBRARY_PATH=/home/admin/lib
$ ~/bin/python ./test-pysqlite
................................................................................
..............................................................
----------------------------------------------------------------------
Ran 142 tests in 0.334s

OK
[編集]

SWIG 1.3.25 #

$ tar zxvf swig-1.3.25.tar.gz
$ cd swig-1.3.25
$ ./configure --prefix=/home/admin --with-python=/home/admin/bin/python
$ make
$ make install
[編集]

Subversion 1.2.3 #

$ tar jxvf subversion-1.2.3.tar.bz2
$ cd subversion-1.2.3
$ ./configure PYTHON=/home/admin/bin/python --prefix=/home/admin --with-swig=/home/admin/bin/swig
$ make
$ make install
$ export LD_LIBRARY_PATH=/home/admin/lib
$ make swig-py
$ make install-swig-py
$ echo /home/admin/lib/svn-python > ~/lib/python2.3/site-packages/subversion.pth
$ ~/bin/python
Python 2.3.5 (#1, Oct 28 2005, 12:38:45)
[GCC 3.2 20020903 (Red Hat Linux 8.0 3.2-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import svn
>>>
[編集]

Trac 0.9b2 #

$ tar zxvf trac-0.9b2.tar.gz
$ cd trac-0.9b2
$ ~/bin/python setup.py install
$ head -2 `which trac-admin`
#!/home/admin/bin/python
# -*- coding: iso8859-1 -*-
$ mkdir ~/tmp
$ trac-admin ~/tmp/trac0 initenv
Creating a new Trac environment at /home/admin/tmp/trac0

Trac will first ask a few questions about your environment
in order to initalize 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]> Command failed:
[編集]

動作確認 #

$ mkdir svn
$ mkdir trac
$ svnadmin create ~/svn/rep0
$ trac-admin ~/trac/rep0 initenv
Creating a new Trac environment at /home/admin/trac/rep0

Trac will first ask a few questions about your environment
in order to initalize 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]>

 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]>

 Please specify the absolute path to the project Subversion repository.
 Repository must be local, and trac-admin requires read+write
 permission to initialize the Trac database.

Path to repository [/var/svn/test]> /home/admin/svn/rep0

 Please enter location of Trac page templates.
 Default is the location of the site-wide templates installed with Trac.

Templates directory [/home/admin/share/trac/templates]>
(略)
---------------------------------------------------------------------
Project environment for 'My Project' created.

You may now configure the environment by editing the file:

  /home/admin/trac/rep0/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 /home/admin/trac/rep0

Then point your browser to http://localhost:8000/rep0.
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://projects.edgewall.com/trac/

Congratulations!

ブラウザで http://localhost:8000/rep0/ にアクセス。

[編集]

Timestampマクロを修正 (2005-11-05) #

RedHat8上でtime.strftime('%c')使ってると文字化けするので修正。

~/share/trac/wiki-macros
$ diff -u Timestamp.py.org Timestamp.py
--- Timestamp.py.org    2005-11-05 12:46:28.812500000 +0900
+++ Timestamp.py        2005-11-05 12:46:40.718750000 +0900
@@ -3,4 +3,4 @@
 import time
 def execute(hdf, txt, env):
     t = time.localtime()
-    return "<b>%s</b>" % time.strftime('%c', t)
+    return "<b>%s</b>" % time.strftime('%Y/%m/%d %H:%M:%S', t)

参考 6.10.7 strftime() の振る舞い, 6.10 time -- 時刻データへのアクセスと変換

[編集]

Trac 0.9をtrac-0.9-ja-1.zipに更新する (2005-12-01) #

  • trac-0.9-ja-1.zipを展開
  • tracのプログラムのディレクトリを消す……(のは怖いので、リネームする)
  • setup.py installを実行
  • trac-admin {tracenv} upgrade
  • trac-admin {tracenv} resync (必要なら)
  • trac-admin {tracenv} wiki upgrade
  • 置き換えられなかったファイル(過去に自分で修正したファイル)の名称を変更し、再度setup.py install, trac-admin upgrade, resync, wiki upgrade
  • trac.iniはかなり変化している。古いものをそのまま使うと画面のレイアウトがおかしい。なので、古いtrac.iniはリネームしてから setup.py installを実行した。
  • 置き換えられなかったWikiやカスタムクエリ(過去に自分で修正したファイル)を必要に応じて置き換えた。(別途、tracenvをもう一つ用意しておき、そちらにtrac-0.9-ja-1を入れ、tracdで起動、既存のtracと見比べながら、書き換え)
[編集]

GraphivizPluginのために、Graphvizを入れる (2005-12-07) #

  • 普通はパッケージから入れるか、/usr/local/binに入れるが、今回はroot権限を持たないユーザで作業した。
  • インストール先は /home/username にした。
[編集]

ダウンロード #

Graphviz -> Download -> Source から、次のファイルをダウンロードする。

  • graphviz-2.6.tar.gz
[編集]

コンパイル、インストール #

展開して、コンパイル、インストール。

$ tar zxvf graphviz-2.6.tar.gz

$ cd graphviz-2.6

$ ./configure --prefix=/home/username

$ make
$ make install

こうなる。

$ cd ~
$ ls
bin/  include/  lib/  man/  share/

LD_LIBRARY_PATHにlib/graphviz追加が必要かも。