Annotation of embedaddon/quagga/solaris/README.txt, revision 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>