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>