blob: 86295e0ac4734540572be19aa8f25af05abbf143 [file] [log] [blame]
To build packages for Solaris 10:
Requirements:
-------------
- Development environment including gcc (eg as shipped with Solaris 10)
- The Package tools from S10
- i.manifest and r.manifest scripts as supplied with Solaris Express
in /usr/sadm/install/scripts/ or alternatively from the
download/binaries/solaris/ directory on quagga.net. i.manifest must be at
least version 1.5. You can place these scripts in this directory if you
are using Solaris 10 GA (which does not ship with these scripts).
Package creation instructions:
------------------------------
1. Configure and build Quagga in the top level build directory as per
normal, eg:
./configure --prefix=/usr/local/quagga \
--localstatedir=/var/run/quagga
--enable-gcc-rdynamic --enable-opaque-lsa --enable-ospf-te \
--enable-multipath=64 --enable-user=quagga \
--enable-ospfclient=yes --enable-ospfapi=yes \
--enable-group=quagga --enable-nssa --enable-opaque-lsa
You will need /usr/sfw/bin and /usr/ccs/bin in your path.
2. make install in the top-level build directory, it's a good idea to make
use of DESTDIR to install to an alternate root, eg:
make DESTDIR=/var/tmp/qroot install
3. In this directory, run make packages, specifying DESTDIR if appropriate,
eg:
make DESTDIR=/var/tmp/qroot packages
This should result in 4 packages being created:
quagga-libs-...-$ARCH.pkg - QUAGGAlibs
quagga-daemons-...-$ARCH.pkg - QUAGGAdaemons
quagga-doc-...-$ARCH.pkg - QUAGGAdoc
quagga-dev-...-$ARCH.pkg - QUAGGAdev
QUAGGAlibs and QUAGGAdaemons are needed for daemon runtime.
Install and post-install configuration notes:
---------------------------------------------
- If you specified a user/group which does not exist per default on Solaris
(eg quagga/quagga) you *must* create these before installing these on a
system. The packages do *not* create the users.
- The configuration files are not created. You must create the configuration
file yourself, either with your complete desired configuration, or else if
you wish to use the telnet interface for further configuration you must
create them containing at least:
password whatever
The user which quagga runs as must have write permissions on this file, no
other user should have read permissions, and you would also have to enable
the telnet interface (see below).
- Configuration of common options are by way of SMF properties named Quagga,
the defaults should be inline with how you configured Quagga in Step 1
above, eg:
Quagga/config_file astring /usr/local/quagga/etc/zebra.conf
Quagga/daemon_name astring zebra
Quagga/group astring quagga
Quagga/pid_file astring /var/run/quagga/zebra.pid
Quagga/stability astring Evolving
Quagga/user astring quagga
Quagga/vty_addr astring 127.1
Quagga/vty_port integer 0
Note that by default the telnet 'vty' interface is disabled -
Quagga/vty_port is set to 0. Other daemon-specific options may be
available, however they are not yet honoured/used (eg ospfd/apiserver on
svc:/network/ospf).
You can change these properties with the 'svccfg' SMF utility, eg:
# svccfg
svc:> select svc:/network/zebra
svc:/network/zebra> listprop Quagga/vty_port
Quagga/vty_port integer 0
svc:/network/zebra> setprop Quagga/vty_port = 2601
svc:/network/zebra> listprop Quagga/vty_port
Quagga/vty_port integer 2601
svc:/network/zebra> quit
# svcprop -p Quagga/vty_port network/zebra
2601
As SMF is dependency aware, restarting network/zebra will restart all the
other daemons.
- These packages are not supported by Sun Microsystems, report bugs via the
usual Quagga channels, ie Bugzilla. Improvements/contributions of course
would be greatly appreciated.