Annotation of embedaddon/quagga/solaris/README.txt, revision 1.1.1.1

1.1       misho       1: To build packages for Solaris 10:
                      2: 
                      3: Requirements:
                      4: -------------
                      5: 
                      6: - Development environment including gcc (eg as shipped with Solaris 10)
                      7: 
                      8: - The Package tools from Solaris 10 or Solaris Nevada/Express.
                      9: 
                     10: - i.manifest and r.manifest scripts as supplied with Solaris Express
                     11:   in /usr/sadm/install/scripts/ or from OpenSolaris.org:
                     12: 
                     13:   http://cvs.opensolaris.org/source/xref/usr/src/pkgdefs/common_files/i.manifest
                     14:   http://cvs.opensolaris.org/source/xref/usr/src/pkgdefs/common_files/r.manifest
                     15:   
                     16:   i.manifest must be at least version 1.5. Place these scripts in
                     17:   this directory if you are using Solaris 10 GA (which does not ship with
                     18:   these scripts), or in the solaris/ directory in the Quagga source.
                     19: 
                     20: 
                     21: Package creation instructions:
                     22: ------------------------------
                     23: 
                     24: 1. Configure and build Quagga in the top level build directory as per
                     25: normal, eg:
                     26: 
                     27:        ./configure --prefix=/usr/local/quagga \
                     28:                --localstatedir=/var/run/quagga
                     29:                --enable-gcc-rdynamic --enable-opaque-lsa --enable-ospf-te \
                     30:                --enable-multipath=64 --enable-user=quagga \
                     31:                --enable-ospfclient=yes --enable-ospfapi=yes  \
                     32:                --enable-group=quagga --enable-nssa --enable-opaque-lsa
                     33: 
                     34: You will need /usr/sfw/bin and /usr/ccs/bin in your path.
                     35: 
                     36: 2. make install in the top-level build directory, it's a good idea to make
                     37: use of DESTDIR to install to an alternate root, eg:
                     38: 
                     39:        gmake DESTDIR=/var/tmp/qroot install
                     40: 
                     41: 3. In this directory (solaris/), run make packages, specifying DESTDIR if
                     42: appropriate, eg:
                     43: 
                     44:        gmake DESTDIR=/var/tmp/qroot packages
                     45: 
                     46: This should result in 4 packages being created:
                     47: 
                     48:        quagga-libs-...-$ARCH.pkg       - QUAGGAlibs
                     49:        quagga-daemons-...-$ARCH.pkg    - QUAGGAdaemons
                     50:        quagga-doc-...-$ARCH.pkg        - QUAGGAdoc
                     51:        quagga-dev-...-$ARCH.pkg        - QUAGGAdev
                     52:        quagga-smf-...-$ARCH.pkg        - QUAGGAsmf
                     53: 
                     54: QUAGGAlibs and QUAGGAdaemons are needed for daemon runtime. QUAGGAsmf
                     55: provides the required bits for Solaris 10+ SMF support.
                     56: 
                     57: 
                     58: Install and post-install configuration notes:
                     59: ---------------------------------------------
                     60: 
                     61: - If you specified a user/group which does not exist per default on Solaris
                     62:   (eg quagga/quagga) you *must* create these before installing these on a
                     63:   system. The packages do *not* create the users.
                     64: 
                     65: - The configuration files are not created. You must create the configuration
                     66:   file yourself, either with your complete desired configuration, or else if
                     67:   you wish to use the telnet interface for further configuration you must
                     68:   create them containing at least:
                     69: 
                     70:         password whatever
                     71: 
                     72:   The user which quagga runs as must have write permissions on this file, no
                     73:   other user should have read permissions, and you would also have to enable
                     74:   the telnet interface (see below).
                     75: 
                     76: - SMF notes:
                     77: 
                     78:   - QUAGGAsmf installs a svc:/network/routing/quagga service, with an
                     79:     instance for each daemon
                     80:   
                     81:   - The state of all instances of quagga service can be inspected with:
                     82:   
                     83:        svcs -l svc:/network/routing/quagga
                     84:   
                     85:     or typically just with a shortcut of 'quagga':
                     86:     
                     87:        svcs -l quagga
                     88:   
                     89:   - A specific instance of the quagga service can be inspected by specifying
                     90:     the daemon name as the instance, ie quagga:<daemon>:
                     91:     
                     92:        svcs -l svc:/network/routing/quagga:zebra
                     93:        svcs -l svc:/network/routing/quagga:ospfd
                     94:        <etc>
                     95: 
                     96:     or typically just with the shortcut of 'quagga:<daemon>' or even
                     97:     <daemon>:
                     98:     
                     99:        svcs -l quagga:zebra
                    100:        svcs -l ospfd
                    101:     
                    102:     Eg:
                    103:     
                    104:     # # svcs -l ripd
                    105:     fmri         svc:/network/routing/quagga:ripd
                    106:     name         Quagga: ripd, RIPv1/2 IPv4 routing protocol daemon.
                    107:     enabled      true
                    108:     state        online
                    109:     next_state   none
                    110:     state_time   Wed Jun 15 16:21:02 2005
                    111:     logfile      /var/svc/log/network-routing-quagga:ripd.log
                    112:     restarter    svc:/system/svc/restarter:default
                    113:     contract_id  93 
                    114:     dependency   require_all/restart svc:/network/routing/quagga:zebra (online)
                    115:     dependency   require_all/restart file://localhost//usr/local/quagga/etc/ripd.conf (online)
                    116:     dependency   require_all/none svc:/system/filesystem/usr:default (online)
                    117:     dependency   require_all/none svc:/network/loopback (online)
                    118: 
                    119:   - Configuration of startup options is by way of SMF properties in a
                    120:     property group named 'quagga'. The defaults should automatically be
                    121:     inline with how you configured Quagga in Step 1 above. 
                    122:   
                    123:   - By default the VTY interface is disabled. To change this, see below for
                    124:     how to set the 'quagga/vty_port' property as appropriate for
                    125:     /each/ service. Also, the VTY is set to listen only to localhost by
                    126:     default, you may change the 'quagga/vty_addr' property as appropriate
                    127:     for both of the 'quagga' service and specific individual instances of
                    128:     the 'quagga' service (ie quagga:zebra, quagga:ospfd, etc..).
                    129:     
                    130:   - Properties belonging to the 'quagga' service are inherited by all
                    131:     instances. Eg:
                    132:     
                    133:     # svcprop -p quagga svc:/network/routing/quagga
                    134:     quagga/group astring root
                    135:     quagga/retain boolean false
                    136:     quagga/user astring root
                    137:     quagga/vty_addr astring 127.1
                    138:     quagga/vty_port integer 0
                    139:     
                    140:     # svcprop -p quagga svc:/network/routing/quagga:ospfd
                    141:     quagga/retain_routes boolean false
                    142:     quagga/group astring root
                    143:     quagga/retain boolean false
                    144:     quagga/user astring root
                    145:     quagga/vty_addr astring 127.1
                    146:     quagga/vty_port integer 0
                    147:     
                    148:     All instances will inherit these properties, unless the instance itself
                    149:     overrides these defaults. This also implies one can modify properties of
                    150:     the 'quagga' service and have them apply to all daemons.
                    151:     
                    152:     # svccfg -s svc:/network/routing/quagga \
                    153:        setprop quagga/vty_addr = astring: ::1
                    154:     
                    155:     # svcprop -p quagga svc:/network/routing/quagga
                    156:     quagga/group astring root
                    157:     quagga/retain boolean false
                    158:     quagga/user astring root
                    159:     quagga/vty_port integer 0
                    160:     quagga/vty_addr astring ::1
                    161:     
                    162:     # # You *must* refresh instances to have the property change
                    163:     # # take affect for the 'running snapshot' of service state.
                    164:     # svcadm refresh quagga:ospfd
                    165:     
                    166:     # svcprop -p quagga svc:/network/routing/quagga:ospfd
                    167:     quagga/retain_routes boolean false
                    168:     quagga/group astring root
                    169:     quagga/retain boolean false
                    170:     quagga/user astring root
                    171:     quagga/vty_port integer 0
                    172:     quagga/vty_addr astring ::1
                    173:     
                    174:     Other daemon-specific options/properties may be available, however they
                    175:     are not yet honoured/used (eg ospfd/apiserver on svc:/network/ospf).
                    176: 
                    177:   - As SMF is dependency aware, restarting network/zebra will restart all the
                    178:     other daemons.
                    179:   
                    180:   - To upgrade from one set of Quagga packages to a newer release, one must
                    181:     first pkgrm the installed packages. When one pkgrm's QUAGGAsmf all
                    182:     property configuration will be lost, and any customisations will have to
                    183:     redone after installing the updated QUAGGAsmf package.
                    184:   
                    185: - These packages are not supported by Sun Microsystems, report bugs via the
                    186:   usual Quagga channels, ie Bugzilla. Improvements/contributions of course
                    187:   would be greatly appreciated.
                    188: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>