1 #!/bin/ksh93 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License (the "License"). 7 # You may not use this file except in compliance with the License. 8 # 9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 # or http://www.opensolaris.org/os/licensing. 11 # See the License for the specific language governing permissions 12 # and limitations under the License. 13 # 14 # When distributing Covered Code, include this CDDL HEADER in each 15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 # If applicable, add the following below this CDDL HEADER, with the 17 # fields enclosed by brackets "[]" replaced with your own identifying 18 # information: Portions Copyright [yyyy] [name of copyright owner] 19 # 20 # CDDL HEADER END 21 # 22 # 23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 #ident "@(#)install-sfw 1.2 09/01/28 SMI" 27 28 VERS=pegasus-2.8.0 29 PREFIX=${ROOT}/usr 30 SBINDIR=${PREFIX}/sbin 31 BINDIR=${PREFIX}/bin 32 LIBDIR=${PREFIX}/lib 33 ETCDIR=${ROOT}/etc 34 SHAREDIR=${PREFIX}/share 35 MAN1DIR=${SHAREDIR}/man/man1 36 MAN8DIR=${SHAREDIR}/man/man8 37 ETCPEGDIR=${ETCDIR}/Pegasus 38 39 INCDIR=${PREFIX}/include/Pegasus 40 41 BLDDIR=${VERS}/build32_${MACH} 42 PEGDIR=${VERS}/pegasus 43 44 . ${SRC}/tools/install.subr 45 46 PEG_INC_ROOT=${PEGDIR}/src/Pegasus 47 48 # Include Files 49 PEG_CLIENT_DIR="Client" 50 PEG_CLIENT_INCLIST="\ 51 ${PEG_CLIENT_DIR}/CIMClient.h \ 52 ${PEG_CLIENT_DIR}/CIMClientException.h \ 53 ${PEG_CLIENT_DIR}/ClientOpPerformanceDataHandler.h \ 54 ${PEG_CLIENT_DIR}/Linkage.h " 55 56 PEG_COMMON_DIR="Common" 57 PEG_COMMON_INCLIST="\ 58 ${PEG_COMMON_DIR}/AcceptLanguageList.h \ 59 ${PEG_COMMON_DIR}/Array.h \ 60 ${PEG_COMMON_DIR}/ArrayInter.h \ 61 ${PEG_COMMON_DIR}/CIMClass.h \ 62 ${PEG_COMMON_DIR}/CIMDateTime.h \ 63 ${PEG_COMMON_DIR}/CIMFlavor.h \ 64 ${PEG_COMMON_DIR}/CIMIndication.h \ 65 ${PEG_COMMON_DIR}/CIMInstance.h \ 66 ${PEG_COMMON_DIR}/CIMMethod.h \ 67 ${PEG_COMMON_DIR}/CIMName.h \ 68 ${PEG_COMMON_DIR}/CIMObject.h \ 69 ${PEG_COMMON_DIR}/CIMObjectPath.h \ 70 ${PEG_COMMON_DIR}/CIMOperationType.h \ 71 ${PEG_COMMON_DIR}/CIMParamValue.h \ 72 ${PEG_COMMON_DIR}/CIMParameter.h \ 73 ${PEG_COMMON_DIR}/CIMProperty.h \ 74 ${PEG_COMMON_DIR}/CIMPropertyList.h \ 75 ${PEG_COMMON_DIR}/CIMQualifier.h \ 76 ${PEG_COMMON_DIR}/CIMQualifierDecl.h \ 77 ${PEG_COMMON_DIR}/CIMScope.h \ 78 ${PEG_COMMON_DIR}/CIMStatusCode.h \ 79 ${PEG_COMMON_DIR}/CIMType.h \ 80 ${PEG_COMMON_DIR}/CIMValue.h \ 81 ${PEG_COMMON_DIR}/Char16.h \ 82 ${PEG_COMMON_DIR}/Config.h \ 83 ${PEG_COMMON_DIR}/ContentLanguageList.h \ 84 ${PEG_COMMON_DIR}/Exception.h \ 85 ${PEG_COMMON_DIR}/LanguageTag.h \ 86 ${PEG_COMMON_DIR}/Linkage.h \ 87 ${PEG_COMMON_DIR}/OperationContext.h \ 88 ${PEG_COMMON_DIR}/ResponseHandler.h \ 89 ${PEG_COMMON_DIR}/SSLContext.h \ 90 ${PEG_COMMON_DIR}/String.h \ 91 ${PEG_COMMON_DIR}/Platform_SOLARIS_CC.h \ 92 ${PEG_COMMON_DIR}/Platform_SOLARIS_SPARC_CC_64.h \ 93 ${PEG_COMMON_DIR}/Platform_SOLARIS_IX86_CC.h \ 94 ${PEG_COMMON_DIR}/Platform_SOLARIS_SPARC_GNU.h \ 95 ${PEG_COMMON_DIR}/Platform_SOLARIS_SPARC_CC.h \ 96 ${PEG_COMMON_DIR}/Platform_SOLARIS_X86_64_CC.h " 97 98 PEG_CONSUMER_DIR="Consumer" 99 PEG_CONSUMER_INCLIST="\ 100 ${PEG_CONSUMER_DIR}/CIMIndicationConsumer.h \ 101 ${PEG_CONSUMER_DIR}/Linkage.h " 102 103 PEG_LISTENER_DIR="Listener" 104 PEG_LISTENER_INCLIST="\ 105 ${PEG_LISTENER_DIR}/CIMListener.h \ 106 ${PEG_LISTENER_DIR}/Linkage.h \ 107 ${PEG_LISTENER_DIR}/CIMListenerIndicationDispatcher.h \ 108 ${PEG_LISTENER_DIR}/List.h " 109 110 PEG_PROVIDER_DIR="Provider" 111 PEG_PROVIDER_INCLIST="\ 112 ${PEG_PROVIDER_DIR}/CIMAssociationProvider.h \ 113 ${PEG_PROVIDER_DIR}/CIMIndicationConsumerProvider.h \ 114 ${PEG_PROVIDER_DIR}/CIMIndicationProvider.h \ 115 ${PEG_PROVIDER_DIR}/CIMInstanceProvider.h \ 116 ${PEG_PROVIDER_DIR}/CIMMethodProvider.h \ 117 ${PEG_PROVIDER_DIR}/CIMOMHandle.h \ 118 ${PEG_PROVIDER_DIR}/CIMProvider.h \ 119 ${PEG_PROVIDER_DIR}/Linkage.h \ 120 ${PEG_PROVIDER_DIR}/ProviderException.h \ 121 ${PEG_PROVIDER_DIR}/CMPI/cmpidt.h \ 122 ${PEG_PROVIDER_DIR}/CMPI/cmpift.h \ 123 ${PEG_PROVIDER_DIR}/CMPI/cmpimacs.h \ 124 ${PEG_PROVIDER_DIR}/CMPI/cmpios.h \ 125 ${PEG_PROVIDER_DIR}/CMPI/cmpipl.h " 126 127 mkdir -p -m 755 ${INCDIR}/Client 128 mkdir -p -m 755 ${INCDIR}/Common 129 mkdir -p -m 755 ${INCDIR}/Consumer 130 mkdir -p -m 755 ${INCDIR}/Listener 131 mkdir -p -m 755 ${INCDIR}/Provider 132 mkdir -p -m 755 ${INCDIR}/Provider/CMPI 133 134 for i in ${PEG_CLIENT_INCLIST} 135 do 136 _install N ${PEG_INC_ROOT}/${i} ${INCDIR}/${i} 444 137 done 138 139 for i in ${PEG_COMMON_INCLIST} 140 do 141 _install N ${PEG_INC_ROOT}/${i} ${INCDIR}/${i} 444 142 done 143 144 for i in ${PEG_CONSUMER_INCLIST} 145 do 146 _install N ${PEG_INC_ROOT}/${i} ${INCDIR}/${i} 444 147 done 148 149 for i in ${PEG_LISTENER_INCLIST} 150 do 151 _install N ${PEG_INC_ROOT}/${i} ${INCDIR}/${i} 444 152 done 153 154 for i in ${PEG_PROVIDER_INCLIST} 155 do 156 _install N ${PEG_INC_ROOT}/${i} ${INCDIR}/${i} 444 157 done 158 159 # Library Files 160 161 PEG_LIBLIST="\ 162 libCIMQueryCapabilitiesProvider.so \ 163 libCIMxmlIndicationHandler.so \ 164 libCertificateProvider.so \ 165 libCMPIProviderManager.so \ 166 libConfigSettingProvider.so \ 167 libDefaultProviderManager.so \ 168 libInteropProvider.so \ 169 libIPProviderModule.so \ 170 libNamespaceProvider.so \ 171 libProviderRegistrationProvider.so \ 172 libUserAuthProvider.so \ 173 libcmpiCppImpl.so \ 174 libpegCLIClientLib.so \ 175 libpegauthentication.so \ 176 libpegclient.so \ 177 libpegcliutils.so \ 178 libpegcommon.so \ 179 libpegcompiler.so \ 180 libpegconfig.so \ 181 libpegcql.so \ 182 libpegexportclient.so \ 183 libpegexportserver.so \ 184 libpeggetoopt.so \ 185 libpeghandlerservice.so \ 186 libpegindicationservice.so \ 187 libpeglistener.so \ 188 libpegpmservice.so \ 189 libpegprm.so \ 190 libpegprovider.so \ 191 libpegprovidermanager.so \ 192 libpegquerycommon.so \ 193 libpegqueryexpression.so \ 194 libpegrepository.so \ 195 libpegserver.so \ 196 libpegservice.so \ 197 libpegslp.so \ 198 libpegslp_client.so \ 199 libpeguser.so \ 200 libpegwql.so \ 201 libsnmpIndicationHandler.so \ 202 libComputerSystemProvider.so \ 203 libOSProvider.so \ 204 libProcessProvider.so \ 205 libProcessorProviderModule.so \ 206 libSLPProvider.so \ 207 libSimpleDisplayConsumer.so \ 208 libpegdynlistener.so \ 209 libpegmanagedclient.so " 210 211 212 mkdir -p -m 755 ${LIBDIR} 213 214 for i in ${PEG_LIBLIST} 215 do 216 _install D ${BLDDIR}/lib/${i} ${LIBDIR}/${i} 755 217 done 218 219 220 # sbin 221 222 PEG_SBINLIST="\ 223 cimauth \ 224 cimconfig \ 225 cimcrl \ 226 cimprovagt \ 227 cimreparchive \ 228 cimserver \ 229 cimtrust \ 230 cimuser \ 231 repupgrade" 232 233 mkdir -p -m 755 ${SBINDIR} 234 235 for i in ${PEG_SBINLIST} 236 do 237 _install E ${BLDDIR}/bin/${i} ${SBINDIR}/${i} 750 238 done 239 240 # bin 241 242 PEG_BINLIST="\ 243 cimcli \ 244 cimmof \ 245 cimmofl \ 246 cimprovider \ 247 cimsub \ 248 osinfo \ 249 wbemexec" 250 251 mkdir -p -m 755 ${BINDIR} 252 253 for i in ${PEG_BINLIST} 254 do 255 _install E ${BLDDIR}/bin/${i} ${BINDIR}/${i} 755 256 done 257 258 # man8 259 PEG_MAN8LIST="\ 260 cimauth.8 \ 261 cimcrl.8 \ 262 cimserver.8 \ 263 cimuser.8 \ 264 cimconfig.8 \ 265 cimreparchive.8 \ 266 cimtrust.8" 267 268 MANSCRIPT=sunman-stability 269 270 mkdir -p -m 755 ${MAN8DIR} 271 272 for i in ${PEG_MAN8LIST} 273 do 274 _install M ${PEGDIR}/rpm/manLinux/man8.Z/${i} ${MAN8DIR}/${i} 444 275 done 276 277 # man1 278 PEG_MAN1LIST="\ 279 cimmof.1 \ 280 cimprovider.1 \ 281 osinfo.1 \ 282 cimmofl.1 \ 283 cimsub.1 \ 284 wbemexec.1" 285 286 mkdir -p -m 755 ${MAN1DIR} 287 288 for i in ${PEG_MAN1LIST} 289 do 290 _install M ${PEGDIR}/rpm/manLinux/man1.Z/${i} ${MAN1DIR}/${i} 444 291 done 292 293 # MOF files 294 PEG_MOFLIST=`cd ${PEGDIR}; find Schemas -name "*.mof" -print` 295 PEG_MOFDIRS=`cd ${PEGDIR}; find Schemas -type d -print` 296 297 for i in ${PEG_MOFDIRS} 298 do 299 mkdir -p -m 755 ${ETCPEGDIR}/${i} 300 done 301 302 for i in ${PEG_MOFLIST} 303 do 304 _install N ${PEGDIR}/${i} ${ETCPEGDIR}/${i} 444 305 done 306 307 # config files 308 _install N Solaris/genOpenPegasusSSLCerts ${ROOT}/etc/Pegasus/genOpenPegasusSSLCerts 555 309 mkdir -p -m 755 ${ETCPEGDIR}/ssl 310 311 # SMF 312 313 mkdir -p -m 755 ${ROOT}/lib/svc/method 314 mkdir -p -m 755 ${ROOT}/var/svc/manifest/network 315 316 _install S Solaris/svc-cimserver ${ROOT}/lib/svc/method/svc-cimserver 555 317 _install N Solaris/cimserver.xml ${ROOT}/var/svc/manifest/network/cimserver.xml 444 318 319 # supporting directories 320 mkdir -p -m 755 ${ROOT}/var/Pegasus 321 mkdir -p -m 755 ${ROOT}/var/Pegasus/localauth 322 mkdir -p -m 755 ${ROOT}/var/Pegasus/repository 323 mkdir -p -m 755 ${ROOT}/var/Pegasus/repository/root 324 mkdir -p -m 755 ${ROOT}/var/Pegasus/repository/root/classes 325 mkdir -p -m 755 ${ROOT}/var/Pegasus/repository/root/instances 326 mkdir -p -m 755 ${ROOT}/var/Pegasus/repository/root/qualifiers 327 328 exit 0 329