]>
Commit | Line | Data |
---|---|---|
8d60e1a9 | 1 | To build packages for Solaris 10: |
2 | ||
3 | Requirements: | |
4 | ------------- | |
5 | ||
6 | - Development environment including gcc (eg as shipped with Solaris 10) | |
7 | ||
7d7d0f38 | 8 | - The Package tools from Solaris 10 or Solaris Nevada/Express. |
8d60e1a9 | 9 | |
10 | - i.manifest and r.manifest scripts as supplied with Solaris Express | |
7d7d0f38 | 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. | |
8d60e1a9 | 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 | ||
245a2b29 | 39 | gmake DESTDIR=/var/tmp/qroot install |
8d60e1a9 | 40 | |
7d7d0f38 | 41 | 3. In this directory (solaris/), run make packages, specifying DESTDIR if |
42 | appropriate, eg: | |
8d60e1a9 | 43 | |
245a2b29 | 44 | gmake DESTDIR=/var/tmp/qroot packages |
8d60e1a9 | 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 | |
245a2b29 | 52 | quagga-smf-...-$ARCH.pkg - QUAGGAsmf |
8d60e1a9 | 53 | |
245a2b29 | 54 | QUAGGAlibs and QUAGGAdaemons are needed for daemon runtime. QUAGGAsmf |
55 | provides the required bits for Solaris 10+ SMF support. | |
8d60e1a9 | 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 | ||
245a2b29 | 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 | ||
8d60e1a9 | 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 |