$(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Pr_xr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_PROVIDER_DIR)
$(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Pr_xr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_PROVIDER_LIB_DIR)
$(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Pr_xr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_PROVIDER_MANAGER_LIB_DIR)
+ $(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prwxr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_SBIN_DIR)
+ $(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prwxr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_BIN_DIR)
stage_PegasusSocketDirectory: FORCE
$(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)
ifeq ($(OS),linux)
ifdef PEGASUS_PAM_AUTHENTICATION
$(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PAM_CONFIG_DIR)
- $(COPY) $(ROOT)/rpm/wbem $(PEGASUS_STAGING_DIR)$(PAM_CONFIG_DIR)/wbem
+ $(COPY) $(ROOT)/rpm/wbem $(PEGASUS_STAGING_DIR)$(PAM_CONFIG_DIR)/$(PAM_CONFIG_FILE)
$(COPY) $(ROOT)/rpm/access.conf $(PEGASUS_STAGING_DIR)$(PEGASUS_CONFIG_DIR)/access.conf
endif
$(MKDIRHIER) $(PEGASUS_STAGING_DIR)/etc/init.d
- $(COPY) $(ROOT)/rpm/preamble-tog-pegasus.rc $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- @$(ECHO-E) "CIMSERVER_BIN=$(PEGASUS_SBIN_DIR)/cimserver" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- @$(ECHO-E) "PEGASUS_SCRIPT_DIR=$(PEGASUS_SCRIPT_DIR)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- @$(ECHO-E) "PEGASUS_SSL_CONF_FILE=$(PEGASUS_PEM_DIR)/ssl.cnf" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- @$(ECHO-E) "PEGASUS_SSL_CERT_FILE=$(PEGASUS_SSL_CERT_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- @$(ECHO-E) "PEGASUS_SSL_KEY_FILE=$(PEGASUS_SSL_KEY_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- @$(ECHO-E) "PEGASUS_SSL_TRUSTSTORE=$(PEGASUS_SSL_CLIENT_TRUSTSTORE)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
- $(CAT) $(ROOT)/rpm/commands-tog-pegasus.rc >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+ $(COPY) $(ROOT)/rpm/preamble-tog-pegasus.rc $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "CIMSERVER_BIN=$(PEGASUS_SBIN_DIR)/cimserver" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "PEGASUS_SCRIPT_DIR=$(PEGASUS_SCRIPT_DIR)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "PEGASUS_SSL_CONF_FILE=$(PEGASUS_PEM_DIR)/ssl.cnf" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "PEGASUS_SSL_CERT_FILE=$(PEGASUS_SSL_CERT_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "PEGASUS_SSL_KEY_FILE=$(PEGASUS_SSL_KEY_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "PEGASUS_SSL_TRUSTSTORE=$(PEGASUS_SSL_CLIENT_TRUSTSTORE)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ @$(ECHO-E) "PEGASUS_FLAVOR=$(PEGASUS_FLAVOR)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
+ $(CAT) $(ROOT)/rpm/commands-tog-pegasus.rc >> $(PEGASUS_STAGING_DIR)/etc/init.d/$(PEGASUS_FLAVOR)-pegasus
endif
setpermissions_PegasusSystemFiles: FORCE
ifeq ($(OS),linux)
ifdef PEGASUS_PAM_AUTHENTICATION
- $(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prw_r__r__)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PAM_CONFIG_DIR)/wbem
+ $(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prw_r__r__)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PAM_CONFIG_DIR)/$(PAM_CONFIG_FILE)
$(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prw_______)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_CONFIG_DIR)/access.conf
endif
- $(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prwxr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)etc/init.d/tog-pegasus
+ $(MAKE) --directory=$(ROOT) -f Makefile.Release setpermissions PERMISSIONS="$(Prwxr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)etc/init.d/$(PEGASUS_FLAVOR)-pegasus
endif
stage_PegasusEmptyFiles: FORCE
>> $(PEGASUS_HOME)/PegasusVerifyInstall
@$(ECHO-E) "ls -ld $(PAM_CONFIG_DIR)" \
>> $(PEGASUS_HOME)/PegasusVerifyInstall
- @$(ECHO-E) "ls -l $(PAM_CONFIG_DIR)/wbem" \
+ @$(ECHO-E) "ls -l $(PAM_CONFIG_DIR)/$(PAM_CONFIG_FILE)" \
>> $(PEGASUS_HOME)/PegasusVerifyInstall
@$(ECHO-E) "$(ECHO-E) \"\nPEGASUS TRACE FILES\"" \
>> $(PEGASUS_HOME)/PegasusVerifyInstall
@$(ECHO-E) "" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
_append_PreambleToSpecFile: FORCE
+ @$(ECHO-E) "%define Flavor $(PEGASUS_FLAVOR)" \
+ >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "%define packageVersion $(PEGASUS_PACKAGE_VERSION)" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "Version: $(PEGASUS_PRODUCT_VERSION)" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) " /usr/sbin/groupadd $(CIMSERVERMAIN_GRP) > /dev/null" \
"2>&1 || :;" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
- @$(ECHO-E) " /usr/sbin/useradd -c \"tog-pegasus OpenPegasus"\
+ @$(ECHO-E) " /usr/sbin/useradd -c \"$(PEGASUS_FLAVOR)-pegasus OpenPegasus"\
"WBEM/CIM services\" \\" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) " -g $(CIMSERVERMAIN_GRP) -s /sbin/nologin -r -d" \
"%PEGASUS_VARDATA_DIR $(CIMSERVERMAIN_USR) \\" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) " if [ \"\044isRunning\" ]; then" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
- @$(ECHO-E) " /etc/init.d/tog-pegasus stop" \
+ @$(ECHO-E) " /etc/init.d/$(PEGASUS_FLAVOR)-pegasus stop" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) " fi" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) " if [ -d %PEGASUS_PREV_REPOSITORY_DIR ]; then" \
endif
@$(ECHO-E) " if [ \"\044isRunning\" ]; then" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
- @$(ECHO-E) " /etc/init.d/tog-pegasus start" \
+ @$(ECHO-E) " /etc/init.d/$(PEGASUS_FLAVOR)-pegasus start" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) " fi" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "fi" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
"$(PEGASUS_TRACE_DIR)" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "%config %attr($(Prwxr_x___),$(INSTALL_USR),$(INSTALL_GRP))"\
- "/etc/init.d/tog-pegasus" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
+ "/etc/init.d/$(PEGASUS_FLAVOR)-pegasus" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "%config(noreplace)" \
"%attr($(Prw_r__r__),$(CIMSERVER_USR),$(CIMSERVER_GRP))" \
"$(PEGASUS_VARDATA_DIR)/$(PEGASUS_PLANNED_CONFIG_FILE)" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "%config(noreplace) $(PEGASUS_CONFIG_DIR)/access.conf" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
- @$(ECHO-E) "%config(noreplace) $(PAM_CONFIG_DIR)/wbem" \
+ @$(ECHO-E) "%config(noreplace) $(PAM_CONFIG_DIR)/$(PAM_CONFIG_FILE)" \
>> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
@$(ECHO-E) "%ghost %config(noreplace)" \
titled "Configuration Properties" for additional detail.<br>
</ul>
+<h5>PEGASUS_FLAVOR</h5>
+<ul>
+ <b>Description: </b> This variable is used for configuring Multi CIMOM
+ on same OS by eliminating single point for storage of PID's and configuration
+ files. Flavor is used in structuring the release dirs,configuration file names,
+ log identity and PAM config file.
+ If set, OpenPegasus is built using the flavor value. By default OpenPegasus is
+ built using "tog" as the flavor. RPMs are named using the flavor value.
+ <br>
+ <b>Default Value: </b>tog<br>
+ <b>Recommended Value (Development Build): </b>tog<br>
+ <b>Recommended Value (Release Build): </b>tog<br>
+ <b>Required: </b>No<br>
+ <b>Considerations: </b>
+ To build RPM using flavor, RPM spec file needs to be regenerated after setting the flavor value.
+ This can be done using the create_OpenPegasusRPMSpecFile target in the Makefile.Release.
+ Platforms have to define their own release dir structure using the flavor for release builds.
+ An error will be reported if both PEGASUS_FLAVOR and PEGASUS_USE_RELEASE_DIRS are set and
+ PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS is not set.
+ RPM build on linux defines PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS by default.
+ <br>
+</ul>
+
<h5>PEGASUS_USE_SQLITE_REPOSITORY</h5>
<ul>
<b>Description: </b>If true, new repository stores are created
PEGASUS_ENABLE_INTEROP_PROVIDER=false
+PEGASUS_FLAVOR = tog
+
+ifeq ($(PEGASUS_FLAVOR), tog)
+
PEGASUS_PROD_DIR = /opt/wbem
+PEGASUS_VARDATA_DIR = /var/opt/wbem
+PEGASUS_CONFIG_DIR = /etc/opt/wbem
+PEGASUS_CIMSERVER_START_FILE = /etc/opt/wbem/cimserver_start.conf
+PEGASUS_PEM_DIR = /etc/opt/hp/sslshare
+
+else
+
+PEGASUS_PROD_DIR = /opt/$(PEGASUS_FLAVOR)-wbem
+PEGASUS_VARDATA_DIR = /var/opt/$(PEGASUS_FLAVOR)-wbem
+PEGASUS_CONFIG_DIR = /etc/opt/$(PEGASUS_FLAVOR)-wbem
+PEGASUS_CIMSERVER_START_FILE = /etc/opt/$(PEGASUS_FLAVOR)-wbem/cimserver_start.conf
+PEGASUS_PEM_DIR = /etc/opt/$(PEGASUS_FLAVOR)-hp/sslshare
+
+endif
+
PEGASUS_PRODSHARE_DIR = $(PEGASUS_PROD_DIR)/share
PEGASUS_SCRIPT_DIR = $(PEGASUS_PRODSHARE_DIR)/scripts
PEGASUS_DOC_DIR = $(PEGASUS_PRODSHARE_DIR)/doc
PEGASUS_SBIN_DIR = $(PEGASUS_PROD_DIR)/sbin
PEGASUS_BIN_DIR = $(PEGASUS_PROD_DIR)/bin
-PEGASUS_VARDATA_DIR = /var/opt/wbem
PEGASUS_TRACE_DIR = $(PEGASUS_VARDATA_DIR)/trace
PEGASUS_TRACE_FILE_PATH = $(PEGASUS_VARDATA_CACHE_DIR)/trace/cimserver.trc
PEGASUS_CORE_DIR = $(PEGASUS_TRACE_DIR)
-PEGASUS_CIMSERVER_START_FILE = /etc/opt/wbem/cimserver_start.conf
+
PEGASUS_CIMSERVER_START_LOCK_FILE = $(PEGASUS_VARRUN_DIR)/cimserver_start.lock
PEGASUS_REPOSITORY_PARENT_DIR = $(PEGASUS_VARDATA_DIR)
PEGASUS_REPOSITORY_DIR = $(PEGASUS_REPOSITORY_PARENT_DIR)/repository
PEGASUS_PREV_REPOSITORY_DIR = $(PEGASUS_REPOSITORY_PARENT_DIR)/prev_repository
-PEGASUS_CONFIG_DIR = /etc/opt/wbem
+
PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARDATA_DIR)/socket
PEGASUS_LOCAL_DOMAIN_SOCKET_PATH = $(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)/cimxml.socket
PEGASUS_LOCAL_AUTH_DIR = $(PEGASUS_VARDATA_DIR)/localauth
PEGASUS_LOG_DIR = $(PEGASUS_VARDATA_DIR)/log
PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR)/install.log
-PEGASUS_PEM_DIR = /etc/opt/hp/sslshare
PEGASUS_SSL_KEY_FILE = file.pem
PEGASUS_SSL_KEY_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_KEY_FILE)
PEGASUS_SSL_CERT_FILE = cert.pem
PEGASUS_PACKAGE_VERSION=1
PEGASUS_PRODUCT_STATUS="Development"
-PAM_CONFIG_DIR=/etc/pam.d
-
ifndef PEGASUS_STAGING_DIR
PEGASUS_STAGING_DIR = $(PEGASUS_HOME)/stagingDir
endif
JAVA_SDK=/usr/lib/jvm
JAVA_SDKINC=/usr/lib/gcc/$(PEGASUS_JAVA_ARCH)-redhat-linux/4.1.1
+PEGASUS_FLAVOR = tog
+
+ifeq ($(PEGASUS_FLAVOR), tog)
+
PEGASUS_PROD_DIR = /usr
+PEGASUS_VARDATA_DIR = /var/lib/Pegasus
+PEGASUS_CONFIG_DIR = /etc/Pegasus
+PEGASUS_VARRUN_DIR = /var/run/tog-pegasus
+PAM_CONFIG_FILE=wbem
+
+else
+
+PEGASUS_PROD_DIR = /usr/local/$(PEGASUS_FLAVOR)-pegasus
+PEGASUS_VARDATA_DIR = $(PEGASUS_PROD_DIR)/var/Pegasus
+PEGASUS_CONFIG_DIR = $(PEGASUS_PROD_DIR)/etc/Pegasus
+PEGASUS_VARRUN_DIR = $(PEGASUS_PROD_DIR)/var/run/$(PEGASUS_FLAVOR)-pegasus
+PAM_CONFIG_FILE=wbem$(PEGASUS_FLAVOR)
+
+endif
+
+PAM_CONFIG_DIR=/etc/pam.d
+PEGASUS_DOC_DIR = $(PEGASUS_PROD_DIR)/share/doc/$(PEGASUS_FLAVOR)-pegasus-2.10
+PEGASUS_MAN_DIR = $(PEGASUS_PROD_DIR)/share/man
+PEGASUS_PRODSHARE_DIR = $(PEGASUS_PROD_DIR)/share/Pegasus
+PEGASUS_INCLUDE_DIR = $(PEGASUS_PROD_DIR)/include
+
PEGASUS_SBIN_DIR = $(PEGASUS_PROD_DIR)/sbin
PEGASUS_BIN_DIR = $(PEGASUS_PROD_DIR)/bin
PEGASUS_DEST_LIB_DIR = $(PEGASUS_PROD_DIR)/$(PEGASUS_ARCH_LIB)
PEGASUS_PROVIDER_MANAGER_LIB_DIR = $(PEGASUS_PROVIDER_DIR)/providerManagers
PEGASUS_PROVIDER_MANAGER_LIB_DIR_2 = $(PEGASUS_PROVIDER_DIR_2)/providerManagers
-PEGASUS_DOC_DIR = /usr/share/doc/tog-pegasus-2.10
-PEGASUS_MAN_DIR = /usr/share/man
PEGASUS_MANUSER_DIR = $(PEGASUS_MAN_DIR)/man1
PEGASUS_MANADMIN_DIR = $(PEGASUS_MAN_DIR)/man8
-PEGASUS_PRODSHARE_DIR = /usr/share/Pegasus
PEGASUS_SCRIPT_DIR = $(PEGASUS_PRODSHARE_DIR)/scripts
PEGASUS_MOF_DIR = $(PEGASUS_PRODSHARE_DIR)/mof
-PEGASUS_VARDATA_DIR = /var/lib/Pegasus
PEGASUS_REPOSITORY_PARENT_DIR = $(PEGASUS_VARDATA_DIR)
PEGASUS_REPOSITORY_DIR_NAME = repository
PEGASUS_REPOSITORY_DIR = \
PEGASUS_LOG_DIR = $(PEGASUS_VARDATA_DIR)/log
PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR)/install.log
-PEGASUS_CONFIG_DIR = /etc/Pegasus
-
-PEGASUS_VARRUN_DIR = /var/run/tog-pegasus
PEGASUS_CIMSERVER_START_FILE = $(PEGASUS_VARRUN_DIR)/cimserver.pid
PEGASUS_CIMSERVER_START_LOCK_FILE = $(PEGASUS_VARRUN_DIR)/cimserver_start.lock
PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR)/socket
PEGASUS_SAMPLES_OBJ_DIR = $(PEGASUS_SAMPLES_DIR)/obj
PEGASUS_SAMPLES_LIB_DIR = $(PEGASUS_SAMPLES_DIR)/lib
PEGASUS_SAMPLES_BIN_DIR = $(PEGASUS_SAMPLES_DIR)/bin
-PEGASUS_INCLUDE_DIR = /usr/include
PEGASUS_HTML_DIR = $(PEGASUS_PRODSHARE_DIR)/html
PEGASUS_TEST_DIR = $(PEGASUS_PRODSHARE_DIR)/test
PEGASUS_TEST_REPOSITORY_NAME = testrepository
PEGASUS_SYSTEM_DIRECTORIES = \
- /usr \
- /usr/sbin \
- /usr/bin \
- /usr/share \
- /usr/share/doc \
- /usr/share/man \
- /usr/share/man/man1 \
- /usr/share/man/man8 \
- /etc \
- /var \
- /var/lib \
- /var/run
+ $(PEGASUS_PROD_DIR) \
+ $(PEGASUS_PROD_DIR)/bin \
+ $(PEGASUS_PROD_DIR)/sbin \
+ $(PEGASUS_PROD_DIR)/share \
+ $(PEGASUS_PROD_DIR)/share/doc \
+ $(PEGASUS_PROD_DIR)/share/man \
+ $(PEGASUS_PROD_DIR)/share/man/man1 \
+ $(PEGASUS_PROD_DIR)/share/man/man8 \
+ $(PEGASUS_PROD_DIR)/etc \
+ $(PEGASUS_PROD_DIR)/var \
+ $(PEGASUS_PROD_DIR)/var/lib \
+ $(PEGASUS_PROD_DIR)/var/run
# Only Pegasus-specific directories should be added to this list.
PEGASUS_SPECIFIC_DIRECTORIES = \
$(PEGASUS_DOC_DIR) \
- /usr/share/Pegasus \
- /usr/share/Pegasus/scripts \
- /usr/share/Pegasus/mof \
- /var/lib/Pegasus \
- /var/lib/Pegasus/cache \
- /var/lib/Pegasus/log \
- /var/lib/Pegasus/cache/localauth \
- /var/lib/Pegasus/cache/trace \
- /var/run/tog-pegasus \
- /etc/Pegasus
+ $(PEGASUS_PRODSHARE_DIR) \
+ $(PEGASUS_PRODSHARE_DIR)/scripts \
+ $(PEGASUS_PRODSHARE_DIR)/mof \
+ $(PEGASUS_VARDATA_DIR) \
+ $(PEGASUS_VARDATA_DIR)/cache \
+ $(PEGASUS_VARDATA_DIR)/log \
+ $(PEGASUS_VARDATA_DIR)/cache/localauth \
+ $(PEGASUS_VARDATA_DIR)/cache/trace \
+ $(PEGASUS_VARRUN_DIR) \
+ $(PEGASUS_CONFIG_DIR)
PEGASUS_DIRECTORIES_TO_BE_REMOVED = \
$(PEGASUS_DOC_DIR) \
- /usr/share/Pegasus \
- /var/lib/Pegasus \
- /var/run/tog-pegasus \
- /etc/Pegasus
+ $(PEGASUS_PRODSHARE_DIR) \
+ $(PEGASUS_VARDATA_DIR) \
+ $(PEGASUS_VARRUN_DIR) \
+ $(PEGASUS_CONFIG_DIR)
endif
endif
+
ifeq ($(PEGASUS_HAS_ICU),true)
DEFINES += -DPEGASUS_HAS_ICU
ifndef PLATFORM_CORE_PATTERN
PLATFORM_CORE_PATTERN = core*
endif
+
+ifdef PEGASUS_FLAVOR
+ ifdef PEGASUS_USE_RELEASE_DIRS
+ ifndef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
+ $(error "PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS must be defined when both PEGASUS_FLAVOR and PEGASUS_USE_RELEASE_DIRS options are used")
+ endif
+ endif
+ ifneq ($(PEGASUS_FLAVOR), tog)
+ DEFINES += -DPEGASUS_FLAVOR=\"$(PEGASUS_FLAVOR)\"
+ endif
+endif
GREP:=grep
ECHO:=echo
ECHO-E:=echo -e
-TOG_INSTALLED_RPMS:=$(shell $(RPM) -qa|grep tog-pegasus)
+TOG_INSTALLED_RPMS:=$(shell $(RPM) -qa|grep $(PEGASUS_FLAVOR)-pegasus)
ifdef PEGASUS_BUILD_BRANCH
ifeq ($(PEGASUS_BUILD_BRANCH),MAIN)
endif
TOG_PEGASUS_DIR:=""
else
- TOG_PEGASUS_DIR:=tog-pegasus
+ TOG_PEGASUS_DIR:=$(PEGASUS_FLAVOR)-pegasus
endif
VERSION:=$(PEGASUS_PRODUCT_VERSION)-$(PEGASUS_PACKAGE_VERSION)
-CORE_RPM:=tog-pegasus-$(VERSION).$(PEGASUS_DISTRO_SUFFIX).$(PLATFORM).rpm
-SDK_RPM:=tog-pegasus-devel-$(VERSION).$(PEGASUS_DISTRO_SUFFIX).$(PLATFORM).rpm
-TEST_RPM:=tog-pegasus-test-$(VERSION).$(PEGASUS_DISTRO_SUFFIX).$(PLATFORM).rpm
-SRC_RPM:=tog-pegasus-$(VERSION).src.rpm
-RPM_SRC_DIR:=$(shell echo tog-pegasus-$(PEGASUS_PRODUCT_VERSION))
+CORE_RPM:=$(PEGASUS_FLAVOR)-pegasus-$(VERSION).$(PEGASUS_DISTRO_SUFFIX).$(PLATFORM).rpm
+SDK_RPM:=$(PEGASUS_FLAVOR)-pegasus-devel-$(VERSION).$(PEGASUS_DISTRO_SUFFIX).$(PLATFORM).rpm
+TEST_RPM:=$(PEGASUS_FLAVOR)-pegasus-test-$(VERSION).$(PEGASUS_DISTRO_SUFFIX).$(PLATFORM).rpm
+SRC_RPM:=$(PEGASUS_FLAVOR)-pegasus-$(VERSION).src.rpm
+RPM_SRC_DIR:=$(shell echo $(PEGASUS_FLAVOR)-pegasus-$(PEGASUS_PRODUCT_VERSION))
USAGE = @$(ECHO) $(1)
endef
define startCIMServer
- @/etc/init.d/tog-pegasus status > /dev/null 2>&1; \
+ @/etc/init.d/$(PEGASUS_FLAVOR)-pegasus status > /dev/null 2>&1; \
if [ $$? != 0 ]; then \
- /etc/init.d/tog-pegasus start; \
+ /etc/init.d/$(PEGASUS_FLAVOR)-pegasus start; \
fi
endef
define stopCIMServer
- @/etc/init.d/tog-pegasus status > /dev/null 2>&1; \
+ @/etc/init.d/$(PEGASUS_FLAVOR)-pegasus status > /dev/null 2>&1; \
if [ $$? == 0 ]; then \
- /etc/init.d/tog-pegasus stop; \
+ /etc/init.d/$(PEGASUS_FLAVOR)-pegasus stop; \
fi
endef
@$(MV) pegasus $(RPM_SRC_DIR)
@$(CP) $(RPM_SRC_DIR)/rpm/tog-pegasus.spec \
$(PEGASUS_RPM_DIRECTORY)/SPECS
- @tar czf tog-pegasus-$(VERSION).tar.gz $(RPM_SRC_DIR)
- @$(CP) tog-pegasus-$(VERSION).tar.gz $(PEGASUS_RPM_DIRECTORY)/SOURCES/$(TOG_PEGASUS_DIR)
+ @tar czf $(PEGASUS_FLAVOR)-pegasus-$(VERSION).tar.gz $(RPM_SRC_DIR)
+ @$(CP) $(PEGASUS_FLAVOR)-pegasus-$(VERSION).tar.gz $(PEGASUS_RPM_DIRECTORY)/SOURCES/$(TOG_PEGASUS_DIR)
@$(RPMBUILD) -bs $(PEGASUS_RPM_DIRECTORY)/SPECS/tog-pegasus.spec
createBINRPM:
@$(RPMBUILD) -bb --define 'LINUX_VERSION $(PEGASUS_DISTRO_SUFFIX)' --define 'PEGASUS_BUILD_TEST_RPM 1' $(PEGASUS_RPM_DIRECTORY)/SPECS/tog-pegasus.spec
list:
- @$(RPM) -qa|$(GREP) tog-pegasus
+ @$(RPM) -qa|$(GREP) $(PEGASUS_FLAVOR)-pegasus
tests:
# Start cimserver
$(PEGASUS_SCRIPT_DIR)/genOpenPegasusSSLCerts
cleanRPM:
- $(call removeRPM,tog-pegasus-test);
+ $(call removeRPM,$(PEGASUS_FLAVOR)-pegasus-test);
-$(call startCIMServer)
- $(call removeRPM,tog-pegasus-devel);
- $(call removeRPM,tog-pegasus);
+ $(call removeRPM,$(PEGASUS_FLAVOR)-pegasus-devel);
+ $(call removeRPM,$(PEGASUS_FLAVOR)-pegasus);
-$(RM) -Rf $(RPM_SRC_DIR).old
ifneq ($(wildcard $(RPM_SRC_DIR)), )
$(MV) $(RPM_SRC_DIR) $(RPM_SRC_DIR).old
exit 1;
fi;
-[ -e /etc/sysconfig/tog-pegasus ] && . /etc/sysconfig/tog-pegasus;
+[ -e /etc/sysconfig/${PEGASUS_FLAVOR}-pegasus ] && . /etc/sysconfig/${PEGASUS_FLAVOR}-pegasus;
. /lib/lsb/init-functions
RETVAL=0
if [ ! -e ${PEGASUS_SSL_CONF_FILE} ] || [ ! -e ${PEGASUS_SSL_CERT_FILE} ] ||
[ ! -e ${PEGASUS_SSL_KEY_FILE} ] || [ ! -e ${PEGASUS_SSL_TRUSTSTORE} ]; then
if [ -x $PEGASUS_SCRIPT_DIR/genOpenPegasusSSLCerts ]; then
- echo -n "tog-pegasus: Generating cimserver SSL certificates...";
+ echo -n "$(PEGASUS_FLAVOR)-pegasus: Generating cimserver SSL certificates...";
$PEGASUS_SCRIPT_DIR/genOpenPegasusSSLCerts;
if [ $? -eq 0 ]; then
echo "SSL certificates generated";
stop)
echo -n $"Shutting down CIM server: "
- killproc cimserver
+ killproc $CIMSERVER_BIN
RETVAL=$?
[ "$RETVAL" -eq 0 ] && log_success_msg $"$prog stop" || log_failure_msg $"$prog stop"
echo
# be lost the next time this file is regenerated and submitted to CVS.
#
+%define Flavor tog
%define packageVersion 1
Version: 2.10.0
Release: %{packageVersion}%{?LINUX_VERSION:.%{LINUX_VERSION}}
%{?!JMPI_PROVIDER_REQUESTED: %define JMPI_PROVIDER_REQUESTED 0}
Summary: OpenPegasus WBEM Services for Linux
-Name: tog-pegasus
+Name: %{Flavor}-pegasus
Group: Systems Management/Base
License: Open Group Pegasus Open Source
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
# Start of section pegasus/rpm/tog-specfiles/tog-pegasus-desc.spec
#
Conflicts: openwbem
-Provides: tog-pegasus-cimserver
-BuildConflicts: tog-pegasus
+Provides: %{Flavor}-pegasus-cimserver
+BuildConflicts: %{Flavor}-pegasus
%description
OpenPegasus WBEM Services for Linux enables management solutions that deliver
%package devel
Summary: The OpenPegasus Software Development Kit
Group: Systems Management/Base
-Requires: tog-pegasus >= %{version}
-Obsoletes: tog-pegasus-sdk
+Requires: %{Flavor}-pegasus >= %{version}
+Obsoletes: %{Flavor}-pegasus-sdk
%description devel
The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the
%package test
Summary: The OpenPegasus Tests
Group: Systems Management/Base
-Requires: tog-pegasus >= %{version}
+Requires: %{Flavor}-pegasus >= %{version}
%description test
The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm.
if [ $1 -gt 0 ]; then
# Create the 'pegasus' user and group:
/usr/sbin/groupadd pegasus > /dev/null 2>&1 || :;
- /usr/sbin/useradd -c "tog-pegasus OpenPegasus WBEM/CIM services" \
+ /usr/sbin/useradd -c "%{Flavor}-pegasus OpenPegasus WBEM/CIM services" \
-g pegasus -s /sbin/nologin -r -d %PEGASUS_VARDATA_DIR pegasus \
> /dev/null 2>&1 || :;
fi
if [ $1 -eq 1 ]; then
%if %{AUTOSTART}
- /sbin/chkconfig --add tog-pegasus
+ /sbin/chkconfig --add %{Flavor}-pegasus
%endif
:;
elif [ $1 -gt 0 ]; then
- /etc/init.d/tog-pegasus condrestart
+ /etc/init.d/%{Flavor}-pegasus condrestart
:;
fi
#
if [ "$isRunning" ]; then
%PEGASUS_SBIN_DIR/cimserver -s
fi
- /sbin/chkconfig --del tog-pegasus;
+ /sbin/chkconfig --del %{Flavor}-pegasus;
rm -f %PEGASUS_VARDATA_DIR/cimserver_current.conf;
[ -d %PEGASUS_REPOSITORY_DIR ] && rm -rf %PEGASUS_REPOSITORY_DIR;
[ -d %PEGASUS_VARDATA_CACHE_DIR ] && rm -rf %PEGASUS_VARDATA_CACHE_DIR;
# Start of section pegasus/rpm/tog-specfiles/tog-pegasus-desc.spec
#
Conflicts: openwbem
-Provides: tog-pegasus-cimserver
-BuildConflicts: tog-pegasus
+Provides: %{Flavor}-pegasus-cimserver
+BuildConflicts: %{Flavor}-pegasus
%description
OpenPegasus WBEM Services for Linux enables management solutions that deliver
%{?!JMPI_PROVIDER_REQUESTED: %define JMPI_PROVIDER_REQUESTED 0}
Summary: OpenPegasus WBEM Services for Linux
-Name: tog-pegasus
+Name: %{Flavor}-pegasus
Group: Systems Management/Base
License: Open Group Pegasus Open Source
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%package devel
Summary: The OpenPegasus Software Development Kit
Group: Systems Management/Base
-Requires: tog-pegasus >= %{version}
-Obsoletes: tog-pegasus-sdk
+Requires: %{Flavor}-pegasus >= %{version}
+Obsoletes: %{Flavor}-pegasus-sdk
%description devel
The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the
%package test
Summary: The OpenPegasus Tests
Group: Systems Management/Base
-Requires: tog-pegasus >= %{version}
+Requires: %{Flavor}-pegasus >= %{version}
%description test
The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm.
if [ $1 -eq 1 ]; then
%if %{AUTOSTART}
- /sbin/chkconfig --add tog-pegasus
+ /sbin/chkconfig --add %{Flavor}-pegasus
%endif
:;
elif [ $1 -gt 0 ]; then
- /etc/init.d/tog-pegasus condrestart
+ /etc/init.d/%{Flavor}-pegasus condrestart
:;
fi
#
if [ $1 -gt 0 ]; then
# Create the 'pegasus' user and group:
/usr/sbin/groupadd pegasus > /dev/null 2>&1 || :;
- /usr/sbin/useradd -c "tog-pegasus OpenPegasus WBEM/CIM services" \
+ /usr/sbin/useradd -c "%{Flavor}-pegasus OpenPegasus WBEM/CIM services" \
-g pegasus -s /sbin/nologin -r -d %PEGASUS_VARDATA_DIR pegasus \
> /dev/null 2>&1 || :;
fi
if [ "$isRunning" ]; then
%PEGASUS_SBIN_DIR/cimserver -s
fi
- /sbin/chkconfig --del tog-pegasus;
+ /sbin/chkconfig --del %{Flavor}-pegasus;
rm -f %PEGASUS_VARDATA_DIR/cimserver_current.conf;
[ -d %PEGASUS_REPOSITORY_DIR ] && rm -rf %PEGASUS_REPOSITORY_DIR;
[ -d %PEGASUS_VARDATA_CACHE_DIR ] && rm -rf %PEGASUS_VARDATA_CACHE_DIR;
#include <Executor/Defines.h>
#include <Executor/Socket.h>
+#ifdef PEGASUS_FLAVOR
+# define PAM_CONFIG_FILE "wbem" PEGASUS_FLAVOR
+#else
+# define PAM_CONFIG_FILE "wbem"
+#endif
+
/*
**==============================================================================
**
pconv.appdata_ptr = &data;
- if (pam_start("wbem", username, &pconv, &handle) != PAM_SUCCESS)
+ if (pam_start(PAM_CONFIG_FILE, username, &pconv, &handle) != PAM_SUCCESS)
return -1;
if (pam_authenticate(handle, 0) != PAM_SUCCESS)
pconv.conv = PAMValidateUserCallback;
pconv.appdata_ptr = &data;
- if (pam_start("wbem", username, &pconv, &phandle) != PAM_SUCCESS)
+ if (pam_start(PAM_CONFIG_FILE, username, &pconv, &phandle) != PAM_SUCCESS)
return -1;
if (pam_acct_mgmt(phandle, 0) != PAM_SUCCESS)
#define CIMSERVER_COMMAND_TIMEOUT_SECONDS 240
+#ifdef PEGASUS_FLAVOR
+# define CIMSERVER_LOG_IDENTITY "cimserver" PEGASUS_FLAVOR
+#else
+# define CIMSERVER_LOG_IDENTITY "cimserver"
+#endif
+
/*
**==============================================================================
**
**==============================================================================
*/
+
int main(int argc, char** argv)
{
const char* cimservermainPath;
/* Open the log. */
- OpenLog("cimserver");
+ OpenLog(CIMSERVER_LOG_IDENTITY);
/* Define macros needed by the executor. */
# else
# define PEGASUS_CIMSERVER_STARTFILES_DIR "/tmp"
# endif
+
+#ifdef PEGASUS_FLAVOR
+# define PEGASUS_CIMSERVER_START_FILE \
+ PEGASUS_CIMSERVER_STARTFILES_DIR "/cimserver" PEGASUS_FLAVOR "_start.conf"
+# define PEGASUS_CIMSERVER_START_LOCK_FILE \
+ PEGASUS_CIMSERVER_STARTFILES_DIR "/cimserver" PEGASUS_FLAVOR "_start.lock"
+#else
# define PEGASUS_CIMSERVER_START_FILE \
PEGASUS_CIMSERVER_STARTFILES_DIR "/cimserver_start.conf"
# define PEGASUS_CIMSERVER_START_LOCK_FILE \
PEGASUS_CIMSERVER_STARTFILES_DIR "/cimserver_start.lock"
+#endif
+
# define PEGASUS_REPOSITORY_DIR "repository"
# define PEGASUS_CURRENT_CONFIG_FILE_PATH "cimserver_current.conf"
# define PEGASUS_PLANNED_CONFIG_FILE_PATH "cimserver_planned.conf"
# define PEGASUS_SSLCLIENT_RANDOMFILE "ssl.rnd"
# define PEGASUS_SSLSERVER_RANDOMFILE "cimserver.rnd"
# define PEGASUS_LOCAL_AUTH_DIR PEGASUS_CIMSERVER_STARTFILES_DIR
+
+#ifdef PEGASUS_FLAVOR
+# define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH \
+ PEGASUS_CIMSERVER_STARTFILES_DIR "/cimxml" PEGASUS_FLAVOR ".socket"
+#else
# define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH \
PEGASUS_CIMSERVER_STARTFILES_DIR "/cimxml.socket"
+#endif
+
# define PEGASUS_PAM_STANDALONE_PROC_NAME "bin/cimservera"
# define PEGASUS_PROVIDER_AGENT_PROC_NAME "bin/cimprovagt"
# undef PEGASUS_DEFAULT_MESSAGE_SOURCE /* Not defined */
#endif
// System ID constants for Logger::put and Logger::trace
+#ifdef PEGASUS_FLAVOR
+const String System::CIMLISTENER = "cimlistener" PEGASUS_FLAVOR;
+#else
const String System::CIMLISTENER = "cimlistener"; // Listener systme ID
+#endif
PEGASUS_NAMESPACE_END
// System ID constants for Logger::put and Logger::trace
#if defined(PEGASUS_OS_ZOS)
+# ifdef PEGASUS_FLAVOR
+ const String System::CIMSERVER = "CFZCIM" PEGASUS_FLAVOR;
+# else
const String System::CIMSERVER = "CFZCIM"; // Server system ID
+# endif
+#else
+# ifdef PEGASUS_FLAVOR
+ const String System::CIMSERVER = "cimserver" PEGASUS_FLAVOR;//Server system ID
#else
const String System::CIMSERVER = "cimserver"; // Server system ID
#endif
+#endif
void System::getCurrentTime(Uint32& seconds, Uint32& milliseconds)
{
#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
{"logLevel", "INFORMATION"},
+#ifndef PEGASUS_FLAVOR
{"httpPort", "5988"},
{"httpsPort", "5989"},
+#endif
{"daemon", "true"},
#ifdef PEGASUS_ENABLE_SLP
{"slp", "false"},
#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
{"logLevel", "INFORMATION"},
+#ifndef PEGASUS_FLAVOR
{"httpPort", "5988"},
{"httpsPort", "5989"},
+#endif
{"daemon", "true"},
#ifdef PEGASUS_ENABLE_SLP
{"slp", "false"},
#endif
#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
+#ifndef PEGASUS_FLAVOR
{"httpPort", "5988"},
{"httpsPort", "5989"},
+#endif
#ifdef PEGASUS_ENABLE_SLP
{"slp", "false"},
#endif
#endif
#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
+#ifndef PEGASUS_FLAVOR
{"httpPort", "5988"},
{"httpsPort", "5989"},
+#endif
#ifdef PEGASUS_ENABLE_SLP
{"slp", "false"},
#endif
#define Pegasus_FixedPropertyTableVms_h
#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
+#ifndef PEGASUS_FLAVOR
{"httpPort", "5988"},
{"httpsPort", "5989"},
+#endif
{"daemon", "false"},
#ifdef PEGASUS_ENABLE_SLP
{"slp", "false"},
PEGASUS_CLASSNAME_PG_OBJECTMANAGER.getString());
setPropertyValue(instance, OM_PROPERTY_NAME,
String(PEGASUS_INSTANCEID_GLOBAL_PREFIX) + ":" + Guid::getGuid());
+#ifdef PEGASUS_FLAVOR
+ String elementName(PEGASUS_FLAVOR);
+ elementName.append(Char16('-'));
+ elementName.append("pegasus");
+ setPropertyValue(instance, OM_PROPERTY_ELEMENTNAME, elementName);
+#else
setPropertyValue(instance, OM_PROPERTY_ELEMENTNAME, String("Pegasus"));
+#endif
Array<Uint16> operationalStatus;
operationalStatus.append(2);
setPropertyValue(instance, OM_PROPERTY_OPERATIONALSTATUS,