Home | History | Annotate | Download | only in cimserver
      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