Edgewall Software

Changes between Version 19 and Version 20 of TracOnOpenBSD


Ignore:
Timestamp:
Feb 8, 2008, 11:12:29 AM (16 years ago)
Author:
Alex Holst
Comment:

Remove incorrent statements about expat being broken in OpenBSD 4.1 and go back to using pkg_add to add packages rather than suggesting that users build their own ports. The entire point of ports in OpenBSD is to provide packages that are easily installed.

Legend:

Unmodified
Added
Removed
Modified
  • TracOnOpenBSD

    v19 v20  
    11= Installing Trac on OpenBSD =
    22
    3 trac is in ports now, which helps but in 4.1 and 4.2 require the installation of all X Server base packages.  trac's build in ports is dependent up on expat.  expat is distributed through a commendation of X Server packages. 
    4 
    5 If you did not install those packages, download them from your favorite repository and extract them at the root level while preserving permissions.  The X Server base packages are:  xbase4n.tgz, xetc4n.tgz, xshare4n.tgz, xfont4n.tgz, and xserv4n.tgz.  Where n is the minor version number.  You should be able to build trac without installing the xfont package.  When installing, do not forget to preserve file permissions.  These are not package files installably via add_pkg.  Use the following commands to install the X Server base packages:
     3Trac is in ports now, so simply install the package shipped with the OS as of OpenBSD 4.0:
    64
    75{{{
    8 $ cd /
    9 $ tar xzvphf <package>
    10 }}}
    11 
    12 Once the base system is put together, simply build the package within ports:
    13 
    14 {{{
    15 $ cd /usr/ports/www/trac
    16 $ make install
     6$ export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/`uname -r`/packages/`uname -m`/
     7$ sudo pkg_add trac
    178}}}
    189
    1910This will also install all dependencies. Ports picks python-2.4 instead of python-2.3, and everything appears to work fine.
     11
     12OpenBSD 4.2 unfortunately has expat in xbase42.tgz instead of base42.tgz and hence requires the installation of the X Server base packages as Trac depends on expat. If you did not install xbase42.tgz install set, download it from your favorite mirror and extract them at the root level while preserving permissions:
     13
     14{{{
     15$ sudo tar xzvphf xbase42.tgz -C /
     16}}}
    2017
    2118As of OpenBSD 4.1, Apache httpd 2.2 is also in the ports tree with a package available. If PKG_PATH is already set correctly, simply do:
     
    2724pkg_add automatically installs any dependencies.
    2825
    29 == Manual Install ==
    30 Taken from TracOnRedhat with a few modifications.
    31 [[PageOutline]]
    32 ----
     26== Manual Install Not Needed ==
    3327
    34 === Required Software ===
    35 Note: The OpenBSD project tweaks, packages and tests thousands of pieces of
     28The OpenBSD project tweaks, packages and tests thousands of pieces of
    3629software in the ports tree for every release so you don't have to.
    3730Unless you specifically know why, you should just use packages instead
     
    3932compile the programs yourself.
    4033
    41  * Python-2.3.5.tgz   
    42  * pysqlite-1.0.1.tar.gz
    43  * clearsilver-0.10.1.tar.gz                 
    44  * sqlite-2.8.16.tar.gz
    45  * db-4.4.16.tar.gz           
    46  * SilverCity-0.9.5.tar.gz     
    47  * subversion-1.2.3.tar.gz
    48  * httpd-2.0.55.tar.gz         
    49  * apr-1.2.2.tar.gz           
    50  * swig-1.3.27.tar.gz
    51  * apr-util-1.2.2.tar.gz       
    52  * neon-0.25.4.tar.gz         
    53  * trac-0.9.tar.gz
    54 
    55 == Installation ==
    56 
    57 Make sure you have the latest libtool15 and autoconf259 (Install from ports)
    58 
    59 === Install APR ===
    60 {{{
    61 $ tar -xvzf apr-1.2.2.tar.gz
    62 $ cd apr-1.2.2
    63 $ ./configure --prefix=/usr/local/apr
    64 $ make
    65 $ su root -c 'make install'
    66 }}}
    67 
    68 === Install sleepycat database ===
    69 {{{
    70 $ tar -xvzf db-4.4.16.tar.gz
    71 $ cd db-4.4.16/build_unix
    72 $ ../dist/configure
    73 $ make
    74 $ su root -c 'make install'
    75 }}}
    76 
    77 === Install APR utilities ===
    78 {{{
    79 $ tar -xvzf apr-util-1.2.2.tar.gz
    80 $ cd apr-util-1.2.2
    81 $ export CPPFLAGS="-I/usr/local/BerkeleyDB.4.4/include"
    82 $ export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.4/lib"
    83 $ ./configure --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/BerkeleyDB.4.4
    84 $ make
    85 $ su root -c 'make install'
    86 }}}
    87 
    88 === Install libxml ===
    89 {{{
    90 $ cd /usr/ports/textproc/libxml
    91 $ make install
    92 }}}
    93 
    94 === Install Python 2.3.5 ===
    95 {{{
    96 $ pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/python-2.3.5p2.tgz
    97 }}}
    98 
    99 === Install gmake-3.8 ===
    100 {{{
    101 $ pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/gmake-3.80p1.tgz
    102 }}}
    103 
    104 === Install Neon ===
    105 {{{
    106 $ tar -xvzf neon-0.25.4.tar.gz
    107 $ mv neon-0.25.4 neon
    108 $ cd neon
    109 $ ./configure --prefix=/usr/local/neon --with-ssl
    110 $ make
    111 $ su root -c 'make install'
    112 }}}
    113 
    114 === Install Apache 2 ===
    115 {{{
    116 $ tar -xvzf httpd-2.0.55.tar.gz
    117 $ cd httpd-2.0.55
    118 $ ./configure --prefix=/usr/local/apache2 --enable-dav --enable-dav-fs
    119 $ make
    120 $ su root -c 'make install'
    121 }}}
    122 
    123 === Install SWIG ===
    124 {{{
    125 $ tar -xvzf swig-1.3.27.tar.gz
    126 $ cd swig-1.3.27
    127 $ ./configure --prefix=/usr/local/swig --with-python=/usr/local/bin/python
    128 $ make
    129 $ su root -c 'make install'
    130 }}}
    131 
    132 (note: Had problems with subversion not detecting neon in /usr/local/neon, had
    133 to take out the option --with-neon=/usr/local/neon in the configure, it then
    134 detected neon 0.24.7, presumably the neon folder inside the subversion
    135 folder once untarred.)
    136 
    137 === Install Subversion ===
    138 {{{
    139 $ tar -xvzf subversion-1.2.3.tar.gz
    140 $ cd subversion-1.2.3
    141 $ ./configure --disable-mod-activation --with-zlib \
    142     --enable-swig-bindings=python --with-apr=/usr/local/apr/bin/apr-1-config \
    143     --with-apr-util=/usr/local/apr/bin/apu-1-config --with-apxs=/usr/local/apache2/bin/apxs \
    144     --with-swig=/usr/local/swig --with-httpd=../httpd-2.0.55
    145 $ gmake
    146 $ su root -c 'gmake install'
    147 }}}
    148 
    149 === Fix apr.h ===
    150 Make the following change to {{{/usr/local/apr/include/apr-1/apr.h}}}.
    151 
    152 {{{
    153 #!diff
    154 --- /usr/local/apr/include/apr-1/apr.h.old       Tue Mar 21 13:21:07 2006
    155 +++ /usr/local/apr/include/apr-1/apr.h   Tue Mar 21 13:21:59 2006
    156 @@ -389,6 +389,8 @@
    157  #define APR_PATH_MAX       PATH_MAX
    158  #elif defined(_POSIX_PATH_MAX)
    159  #define APR_PATH_MAX       _POSIX_PATH_MAX
    160 +#elif !defined(PATH_MAX)
    161 +#define PATH_MAX 1024
    162  #else
    163  #error no decision has been made on APR_PATH_MAX for your platform
    164  #endif
    165 }}}
    166 
    167 === Install Python bindings for Subversion ===
    168 {{{
    169 $ gmake swig-py
    170 $ su root -c 'gmake install-swig-py'
    171 }}}
    172 
    173 === Install Sqlite ===
    174 {{{
    175 $ tar -xvzf sqlite-2.8.16.tar.gz
    176 $ ./configure
    177 $ gmake
    178 $ su root -c 'gmake install'
    179 }}}
    180 
    181 === (Optional) Install SilverCity ===
    182 {{{
    183 $ tar -xvzf SilverCity-0.9.5.tar.gz
    184 $ cd SilverCity-0.9.5
    185 $ python setup.py build
    186 $ su root -c 'python setup.py install'
    187 }}}
    188 
    189 === Install ClearSilver ===
    190 {{{
    191 $ tar -xvzf clearsilver-0.10.1.tar.gz
    192 $ cd clearsilver-0.9.6
    193 $ ./configure --with-python=/usr/local/bin/python --with-apache=/usr/local/apache2
    194 $ gmake
    195 $ vi scripts/document.py, change 1st line #!/bin/env python to #!/usr/local/bin/python
    196 $ su root -c 'gmake install'
    197 $ cd python
    198 $ su root -c 'python setup.py install'
    199 }}}
    200 
    201 === Install PySqlite ===
    202 {{{
    203 $ tar -xvzf pysqlite-1.0.1.tar.gz
    204 $ cd pysqlite
    205 $ python setup.py build
    206 $ su root -c 'python setup.py install'
    207 }}}
    208 
    209 === Install Trac ===
    210 {{{
    211 $ tar -xvzf trac-0.9.tar.gz
    212 $ cd trac-0.9
    213 $ python setup.py build
    214 $ su root -c 'python setup.py install'
    215 }}}
    216 
    217 === Fix libsvn paths ===
    218 This will create symbolic link for libsvn library to the Python 2.3 library
    219 {{{
    220 $ cd /usr/local/lib/python2.3/site-packages
    221 $ ln -s /usr/local/lib/svn-python svn-python
    222 $ ln -s /usr/local/lib/svn-python/svn svn
    223 $ ln -s /usr/local/lib/svn-python/libsvn libsvn
    224 }}}
     34== First-time setup ==
    22535
    22636=== Create the Subversion repository ===
    22737{{{
    228 $ svnadmin create --fs-type=fsfs /var/svn
     38$ svnadmin create /var/svn
    22939}}}
    23040
     
    26070If you're using Apache, this config example snippet might be helpful:
    26171
    262     Alias /trac "/usr/local/share/trac/htdocs/"
     72    Alias /trac "/var/www/users/trac/htdocs/"
    26373    <Location "/cgi-bin/trac.cgi">
    26474        SetEnv TRAC_ENV "/var/trac"