You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(26) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(5) |
Feb
(16) |
Mar
(5) |
Apr
(5) |
May
(13) |
Jun
(12) |
Jul
(1) |
Aug
(2) |
Sep
(13) |
Oct
(6) |
Nov
(1) |
Dec
(29) |
2008 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(57) |
May
(35) |
Jun
(45) |
Jul
(132) |
Aug
(87) |
Sep
(141) |
Oct
(86) |
Nov
(17) |
Dec
(2) |
2009 |
Jan
(3) |
Feb
(2) |
Mar
(3) |
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2010 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <jc...@us...> - 2006-11-29 23:25:05
|
Revision: 407 http://svn.sourceforge.net/omc/?rev=407&view=rev Author: jcarey Date: 2006-11-29 15:25:03 -0800 (Wed, 29 Nov 2006) Log Message: ----------- Broke out the xml service providers and placed them in the new contrib area Added Paths: ----------- contrib/ contrib/xml-service-provider/ contrib/xml-service-provider/branches/ contrib/xml-service-provider/tags/ contrib/xml-service-provider/trunk/ contrib/xml-service-provider/trunk/AUTHORS contrib/xml-service-provider/trunk/COPYING contrib/xml-service-provider/trunk/ChangeLog contrib/xml-service-provider/trunk/INSTALL contrib/xml-service-provider/trunk/LICENSE contrib/xml-service-provider/trunk/Makefile.am contrib/xml-service-provider/trunk/Makefile.incl.am contrib/xml-service-provider/trunk/NEWS contrib/xml-service-provider/trunk/README contrib/xml-service-provider/trunk/bootstrap.sh contrib/xml-service-provider/trunk/configure.ac contrib/xml-service-provider/trunk/example-services/ contrib/xml-service-provider/trunk/example-services/Makefile.am contrib/xml-service-provider/trunk/example-services/apache/ contrib/xml-service-provider/trunk/example-services/apache/Apache.xml contrib/xml-service-provider/trunk/example-services/apache/Makefile.am contrib/xml-service-provider/trunk/example-services/apache/how-to.txt contrib/xml-service-provider/trunk/example-services/apache/httpdstat.awk contrib/xml-service-provider/trunk/install-sh contrib/xml-service-provider/trunk/mof/ contrib/xml-service-provider/trunk/mof/Makefile.am contrib/xml-service-provider/trunk/mof/xml-service.mof contrib/xml-service-provider/trunk/src/ contrib/xml-service-provider/trunk/src/Makefile.am contrib/xml-service-provider/trunk/src/XMLServiceProvider.cpp contrib/xml-service-provider/trunk/src/XMLServiceProvider.hpp contrib/xml-service-provider/trunk/src/XMLServiceProviderNonRes.cpp contrib/xml-service-provider/trunk/src/servicexml/ contrib/xml-service-provider/trunk/src/servicexml/ConfigTool.cpp contrib/xml-service-provider/trunk/src/servicexml/ConfigTool.hpp contrib/xml-service-provider/trunk/src/servicexml/HealthDataItem.cpp contrib/xml-service-provider/trunk/src/servicexml/HealthDataItem.hpp contrib/xml-service-provider/trunk/src/servicexml/Makefile.am contrib/xml-service-provider/trunk/src/servicexml/ProcessInfo.cpp contrib/xml-service-provider/trunk/src/servicexml/ProcessInfo.hpp contrib/xml-service-provider/trunk/src/servicexml/ServiceXMLParser.cpp contrib/xml-service-provider/trunk/src/servicexml/ServiceXMLParser.hpp contrib/xml-service-provider/trunk/src/servicexml/XMLSvcUtils.cpp contrib/xml-service-provider/trunk/src/servicexml/XMLSvcUtils.hpp contrib/xml-service-provider/trunk/xmlschema/ contrib/xml-service-provider/trunk/xmlschema/Makefile.am contrib/xml-service-provider/trunk/xmlschema/xml-service-provider.xsd contrib/xml-service-provider/trunk/xmlservice.spec Added: contrib/xml-service-provider/trunk/AUTHORS =================================================================== Added: contrib/xml-service-provider/trunk/COPYING =================================================================== Added: contrib/xml-service-provider/trunk/ChangeLog =================================================================== --- contrib/xml-service-provider/trunk/ChangeLog (rev 0) +++ contrib/xml-service-provider/trunk/ChangeLog 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1 @@ +Initial. Added: contrib/xml-service-provider/trunk/INSTALL =================================================================== --- contrib/xml-service-provider/trunk/INSTALL (rev 0) +++ contrib/xml-service-provider/trunk/INSTALL 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,229 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Added: contrib/xml-service-provider/trunk/LICENSE =================================================================== --- contrib/xml-service-provider/trunk/LICENSE (rev 0) +++ contrib/xml-service-provider/trunk/LICENSE 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,31 @@ +/****************************************************************************** +* Copyright (c) [YEARS], Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of the Novell nor the names of its contributors may be +* used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + Added: contrib/xml-service-provider/trunk/Makefile.am =================================================================== --- contrib/xml-service-provider/trunk/Makefile.am (rev 0) +++ contrib/xml-service-provider/trunk/Makefile.am 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,11 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = gnu + +SUBDIRS = \ + . \ + src \ + example-services \ + mof \ + xmlschema + Added: contrib/xml-service-provider/trunk/Makefile.incl.am =================================================================== --- contrib/xml-service-provider/trunk/Makefile.incl.am (rev 0) +++ contrib/xml-service-provider/trunk/Makefile.incl.am 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,11 @@ +# *********************************************************************** +# MACROS and VARIABLES +# *********************************************************************** + +providerdir = $(libdir)/openwbem/c++providers + + +# *********************************************************************** +# TARGETS +# *********************************************************************** + Added: contrib/xml-service-provider/trunk/NEWS =================================================================== --- contrib/xml-service-provider/trunk/NEWS (rev 0) +++ contrib/xml-service-provider/trunk/NEWS 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1 @@ + Added: contrib/xml-service-provider/trunk/README =================================================================== Added: contrib/xml-service-provider/trunk/bootstrap.sh =================================================================== --- contrib/xml-service-provider/trunk/bootstrap.sh (rev 0) +++ contrib/xml-service-provider/trunk/bootstrap.sh 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,9 @@ +#!/bin/sh + +rm -rf config.cache config.guess config.sub depcomp missing mkinstalldirs autom4te.cache + +aclocal \ +&& autoconf \ +&& autoheader \ +&& libtoolize --force --copy \ +&& automake --add-missing Property changes on: contrib/xml-service-provider/trunk/bootstrap.sh ___________________________________________________________________ Name: svn:executable + * Added: contrib/xml-service-provider/trunk/configure.ac =================================================================== --- contrib/xml-service-provider/trunk/configure.ac (rev 0) +++ contrib/xml-service-provider/trunk/configure.ac 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,159 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.57) +AC_INIT(openwbem-xmlservice-providers, 1.0.0) +AM_INIT_AUTOMAKE +AC_CONFIG_SRCDIR([src]) +AC_CONFIG_HEADER([config.h]) +AC_PROG_LIBTOOL + +AC_PREFIX_DEFAULT(/usr) + +# Checks for programs. +AC_PROG_CXX +AC_PROG_CC +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +AC_PROG_LEX +AC_PROG_YACC + +AC_PATH_PROG(RM, rm, rm) +AC_PATH_PROG(MV, mv, mv) +AC_PATH_PROG(CP, cp, cp) + +DEBUG_FLAGS="-DDEBUG -g" # Additional debugging flags. +FULL_DEBUG_FLAGS="-D_GLIBCXX_DEBUG" # Additional debugging flags. +OPT_FLAGS=" -DNDEBUG -O2" # Additional optimization flags. + +##NOTE: whereever CXXFLAGS is used, we need to also use CPPFLAGS, for the AC_CHECK_HEADERS - +## It now uses compile (primarily) but still uses pre-processor for interim transition / backward compatibility +## pre-processor needs the CPPFLAGS + + +####################################################################### +# set the location of the sysconf dir +if test "x$sysconfdir" != "x\${prefix}/etc"; then + tempDir=$sysconfdir +else + if test "x$prefix" != "xNONE"; then + tempDir=${prefix}/etc + else + tempDir=${ac_default_prefix}/etc + fi +fi + +AC_DEFINE_UNQUOTED(XMLSVC_SYSCONF_DIR, "${tempDir}", "Default sysconfig dir") + +####################################################################### +# Process additional search dirs if specified +AC_ARG_WITH(search-dir, + [ --with-search-dir=PATH Specify an additional directory to look for include/ and lib/ sub dirs ], + [ + if test "x$withval" != "xno" ; then + CXXFLAGS="$CXXFLAGS -I$withval/include" + CPPFLAGS="$CPPFLAGS -I$withval/include" + CFLAGS="$CFLAGS -I$withval/include" + LDFLAGS="$LDFLAGS -L$withval/lib" + fi + ] +) + +debuglevel="0" +####################################################################### +# Set the debug flag if specified +AC_ARG_ENABLE(debug-mode, + [--enable-debug-mode Enable debugging mode], + [ + debuglevel="1" + ] +) + +AC_ARG_WITH(debug-level, + [ --with-debug-level=LEVEL Specify a debug level valid values: 0=none 1=partial debug 2=full debug ], + [ + case "x$withval" in + x0|xno) + debuglevel="0";; + x1) + debuglevel="1";; + x2) + debuglevel="2";; + *) + AC_MSG_WARN("Invalid debug level specified. Valid values are 0, 1 or 2") + exit 1;; + esac + ] +) + +case $debuglevel in +1) + AC_DEFINE(SMASH_DEBUG, 1, "Debugging flag.") + CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $DEBUG_FLAGS -Wall" + CFLAGS=" $CFLAGS $DEBUG_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $DEBUG_FLAGS";; +2) + AC_DEFINE(SMASH_DEBUG, 2, "Debugging flag.") + CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + CFLAGS=" $CFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS";; +*) + CXXFLAGS="$CXXFLAGS $OPT_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $OPT_FLAGS -Wall" + CFLAGS=" $CFLAGS $OPT_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $OPT_FLAGS";; +esac + +##################################################### + +# Checks for two basic and common openwbem libraries +AC_CHECK_LIB([owcimomcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +AC_CHECK_LIB([owclient], [main], [LIBS="$LIBS"], [AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) + +# Check for omcbase library +#AC_CHECK_LIB([omcbase], [main], [LIBS="$LIBS"], [AC_MSG_ERROR(Must have openwbem-base-providers-devel or build will fail)]) + +# Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS([openwbem/OW_config.h fcntl.h stdlib.h string.h unistd.h sys/time.h openssl/evp.h sys/param.h sys/vfs.h],,[AC_MSG_ERROR(Missing headers: likely won't compile)]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_HEADER_STDBOOL +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_UID_T +AC_HEADER_TIME +AC_TYPE_MODE_T +AC_TYPE_SIGNAL +AC_TYPE_SIZE_T + +# Checks for library functions. +AC_FUNC_CLOSEDIR_VOID +AC_REPLACE_FNMATCH +AC_FUNC_FORK +AC_FUNC_LSTAT +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_FUNC_CHOWN +AC_FUNC_SETVBUF_REVERSED +AC_FUNC_STAT +AC_FUNC_STRERROR_R + +AC_CHECK_FUNCS([gettimeofday memset regcomp strchr strdup strerror strstr strtol strtoul uname]) + +AC_CONFIG_FILES([Makefile + src/Makefile + src/servicexml/Makefile + example-services/Makefile + example-services/apache/Makefile + mof/Makefile + xmlschema/Makefile + ]) +AC_OUTPUT Added: contrib/xml-service-provider/trunk/example-services/Makefile.am =================================================================== --- contrib/xml-service-provider/trunk/example-services/Makefile.am (rev 0) +++ contrib/xml-service-provider/trunk/example-services/Makefile.am 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1 @@ +SUBDIRS = apache Added: contrib/xml-service-provider/trunk/example-services/apache/Apache.xml =================================================================== --- contrib/xml-service-provider/trunk/example-services/apache/Apache.xml (rev 0) +++ contrib/xml-service-provider/trunk/example-services/apache/Apache.xml 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,250 @@ +<?xml version="1.0"?> +<!-- +Sample Service Description XML Document. + +This file should be placed in /etc/omc/svcinfo.d +It should be named <service name>.xml. The reason for the naming scheme, +is that other services can refer to this service in their dependency list using +the file name minus the '.xml' extension. + +Note: The name of the service is the name of this file without the .xml +file extension. + --> + +<serviceDescription version="1.0"> + + <!-- Caption for display purposes --> + <caption>Apache Web Server</caption> + + <!-- Description of this service --> + <description> + Apache is an open source web server that runs on most commonly used + platforms. Apache has a modular design that provide a variety of + services such as server-side scripting. + </description> + + <!-- + The configurationTool tag allows you to specify a method of + configuring the service. Many congifuration tags may be + specified. The format of the uri element needs to be + specified by the developers that are implementing the + console application that consumes health. + + type = web|c1|script|text_console|xwindows|windows + --> + <configurationTool> + <type>web</type> + <name>AddVirtualServer</name> + <description>Add a virtual host to the server</description> + <uri> + http://www.AddVirtualServer.com + </uri> + </configurationTool> + + <configurationTool> + <type>web</type> + <name>EnableModule</name> + <description>Enable an Apache module</description> + <uri> + http://www.EnableModule.com + </uri> + </configurationTool> + + <!-- + Define the services that this service has a dependency on. + There must be a corresponding Service Description XML file + for the antecedent service in the /etc/omc/svcinfo.d directory. + --> + <dependsOn> + <serviceName>Service1-That-Apache-Depends-On</serviceName> + <serviceName>Service2-That-Apache-Depends-On</serviceName> + </dependsOn> + + <!-- + The startCommand tag specifies the command line that will be + invoked to start the service. The return code from this command + must be as follows: + 0 - success + 1 - generic or unspecified error + 2 - invalid or excess argument(s) + 3 - unimplemented feature (e.g. "reload") + 4 - user had insufficient privileges + 5 - program is not installed + 6 - program is not configured + 7 - program is not running + --> + <startCommand>/usr/sbin/rcapache2 start</startCommand> + + <!-- + The reStartCommand tag specifies the command line that will be + invoked to restart the service. The return code from this command + must be as specified in the startCommand tag. + --> + <reStartCommand>/usr/sbin/rcapache2 restart</reStartCommand> + + <!-- + The stopCommand tag specifies the command line that will be + invoked to stop the service. The return code from this command + must be as specified in the startCommand tag. + --> + <stopCommand>/usr/sbin/rcapache2 stop</stopCommand> + + <!-- + The statusCommand specifies the command line that can be run + that will report on the status of the service. The return code + from this command line should be as follows: + 0 - service up and running + 1 - service dead, but /var/run/ pid file exists + 2 - service dead, but /var/lock/ lock file exists + 3 - service not running (unused) + 4 - service status unknown :-( + --> + <statusCommand>/etc/init.d/apache2 status</statusCommand> + + <!-- + The processInformation tag allows the XML Service provider to + identify the processes that belong to the service. This allows + the ServiceProcess associations to be instrumented. + If the process_information tag is not specifed, the will be no + ServiceProcess association for the service. + --> + + <!-- Following is an example of an Apache process --> + <processInformation> + <name>httpd2-prefork</name> + <modulePath>/usr/sbin/httpd2-prefork</modulePath> + <parameter>-f</parameter> + <parameter>/etc/apache2/httpd.conf</parameter> + </processInformation> + + <!-- + The healthDetailCommand tag specifies the command line that will + provide the health data for the service. This command line + should out put the health variables specified in this XML + document as key value pairs. The return code from this + command line should be identical to the command line + specified in the status_command tag. + --> + <healthDetailCommand format="keyvalue"> + /usr/sbin/rcapache2 details + </healthDetailCommand> + + <!-- + The healthyCommand tag is used to specify a command line that + can be invoked to determine if the service is healthy. This could + be considered a boolean operation, but somewhat backward to be in + line with the normal command line idiom. The return + code from this command line should be as follows: + 0 - service is healthy + > 0 - server is NOT healthy. + It should be noted that if a service is not healthy, the + health_detail_command would provide some insight into the + unhealthy condition. + --> + <healthyCommand>/usr/bin/healthy-apache-command</healthyCommand> + + <!-- + The healthData tag is used to define the characteristics of the health + data for the service. It allows you to specify multiple health data + items for the service and their data types. It also allows you to + specify default thresholds for each data item. It is necessary to + provide some of this information to the XML Service provider so + it has some idea about what to do the the health data. + --> + <healthData> + + <dataItem> + <name>Accesses</name> + <description>Total number of times the web server was accessed</description> + <dataType>uint32</dataType> + <defaultThresholds> + <lowerFatal>10</lowerFatal> + <lowerCritical>20</lowerCritical> + <lowerNonCritical>30</lowerNonCritical> + <upperNonCritical>40</upperNonCritical> + <upperCritical>50</upperCritical> + <upperFatal>60</upperFatal> + </defaultThresholds> + </dataItem> + + <dataItem> + <name>kBytes</name> + <description>Total number of kilobytes served</description> + <dataType>uint32</dataType> + <defaultThresholds> + <upperNonCritical>40</upperNonCritical> + <upperCritical>50</upperCritical> + <upperFatal>60</upperFatal> + </defaultThresholds> + </dataItem> + + <dataItem> + <name>Uptime</name> + <description>Total number of minutes the web server has been running</description> + <dataType>uint32</dataType> + <defaultThresholds> + <lowerFatal>10</lowerFatal> + <lowerCritical>20</lowerCritical> + <lowerNonCritical>30</lowerNonCritical> + </defaultThresholds> + </dataItem> + + <dataItem> + <name>ReqPerSec</name> + <description>Number of client requests per second</description> + <dataType>real64</dataType> + </dataItem> + + <dataItem> + <name>BytesPerSec</name> + <description>Number of bytes served per second</description> + <dataType>real64</dataType> + </dataItem> + + <dataItem> + <name>BytesPerReq</name> + <description>Average bytes served per request</description> + <dataType>real64</dataType> + </dataItem> + + <dataItem> + <name>BusyWorkers</name> + <description>Total number of active worker threads</description> + <dataType>uint32</dataType> + </dataItem> + + <dataItem> + <name>IdleWorkers</name> + <description>Total number of inactive worker threads</description> + <dataType>uint32</dataType> + </dataItem> + +<!-- + <dataItem> + <name>ConnectionsPerMinute</name> + <description>Number of client connection received per minute</description> + <dataType>uint32</dataType> + <defaultThresholds> + <lowerFatal>10</lowerFatal> + <lowerCritical>20</lowerCritical> + <lowerNonCritical>30</lowerNonCritical> + <upperNonCritical>40</upperNonCritical> + <upperCritical>50</upperCritical> + <upperFatal>60</upperFatal> + </defaultThresholds> + </dataItem> + + <dataItem> + <name>MemoryUsage</name> + <description>The amount of memory currently being used by the Apache service</description> + <dataType>uint32</dataType> + <defaultThresholds> + <upperCritical>8000</upperCritical> + <upperFatal>12000</upperFatal> + </defaultThresholds> + </dataItem> +--> + + </healthData> + +</serviceDescription> Added: contrib/xml-service-provider/trunk/example-services/apache/Makefile.am =================================================================== --- contrib/xml-service-provider/trunk/example-services/apache/Makefile.am (rev 0) +++ contrib/xml-service-provider/trunk/example-services/apache/Makefile.am 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,5 @@ +EXTRA_DIST = \ + Apache.xml \ + how-to.txt \ + httpdstat.awk + Added: contrib/xml-service-provider/trunk/example-services/apache/how-to.txt =================================================================== --- contrib/xml-service-provider/trunk/example-services/apache/how-to.txt (rev 0) +++ contrib/xml-service-provider/trunk/example-services/apache/how-to.txt 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,37 @@ +1. Configure the Apache Web server with mod_status enabled + - Use the yast-httpd configuration module to enable mod_status + - Or add the appropriate configuration to a mod_status.conf file and + add the .conf file to /etc/apache2/conf.d + - See http://http.apache.org/docs/2.2/mod/mod_status.html + +2. Add a "details" option to the /etc/init.d/apache2 initd script which makes the + appropriate commandline command that produces the health data + + details) + if [ ! -f $pidfile -a -f $pidfile.rpmsave ]; then mv $pidfile.rpmsave $pidfile; fi + #echo -n "Checking for httpd2: " + # we don't use checkproc here since it is confused when we exchange the binaries + if ! [ -f $pidfile ]; then + # not running + rc_failed 3 + elif [ -s $pidfile -a -d /proc/$(<$pidfile) ]; then + /usr/bin/w3m http://localhost/server-status?auto | /usr/bin/awk -f /etc/apache2/httpdstat.awk + # running + : + else + # stale pid file + rc_failed 1 + #rm -f $pidfile + fi + rc_status + ;; + +3. Create an AWK script that converts the health data produced by mod_status to + key/value pairs. See httpdstat.awk + + /usr/bin/w3m http://localhost/server-status?auto | /usr/bin/awk -f /etc/apache2/httpdstat.awk + +4. Create an Apache.xml document that describes all of the health related commands + and data. This is the .xml file that is consumed by the xml-service + provider. See Apache.xml + Added: contrib/xml-service-provider/trunk/example-services/apache/httpdstat.awk =================================================================== --- contrib/xml-service-provider/trunk/example-services/apache/httpdstat.awk (rev 0) +++ contrib/xml-service-provider/trunk/example-services/apache/httpdstat.awk 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,24 @@ + + +#BEGIN { +# printf(" (APACHE2)\n") +#} + +function output_pair (sym_name, sym_value) { + gsub (/:/, "", sym_name) + printf("%s=%s\n", sym_name, sym_value) +} + +$1~/:/ { + if ($1 != "Scoreboard:") { + output_pair($1,$2) + } +} + +$2~/:/ { + output_pair($2,$3) +} + +#END { +# printf(" %s", line) +#} Added: contrib/xml-service-provider/trunk/install-sh =================================================================== --- contrib/xml-service-provider/trunk/install-sh (rev 0) +++ contrib/xml-service-provider/trunk/install-sh 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,294 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "$0: no input file specified" >&2 + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d "$dst" ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "$0: $src does not exist" >&2 + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "$0: no destination specified" >&2 + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d "$dst" ] + then + dst=$dst/`basename "$src"` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" + +oIFS=$IFS +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp=$pathcomp$1 + shift + + if [ ! -d "$pathcomp" ] ; + then + $mkdirprog "$pathcomp" + else + : + fi + + pathcomp=$pathcomp/ +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd "$dst" && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename "$dst"` + else + : + fi + +# Make a couple of temp file names in the proper directory. + + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && + +# Now rename the file to the real destination. + + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + +fi && + +# The final little trick to "correctly" pass the exit status to the exit trap. + +{ + (exit 0); exit +} Added: contrib/xml-service-provider/trunk/mof/Makefile.am =================================================================== --- contrib/xml-service-provider/trunk/mof/Makefile.am (rev 0) +++ contrib/xml-service-provider/trunk/mof/Makefile.am 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,2 @@ +EXTRA_DIST = xml-service.mof + Added: contrib/xml-service-provider/trunk/mof/xml-service.mof =================================================================== --- contrib/xml-service-provider/trunk/mof/xml-service.mof (rev 0) +++ contrib/xml-service-provider/trunk/mof/xml-service.mof 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,282 @@ +#pragma locale ("en_US") + +// ================================================================== +// OMC_ServiceFromXML +// ================================================================== +[ Description("The OMC_ServiceFromXML class represents a service " + "that is instrumented by the XML service provider") ] +class OMC_ServiceFromXML : CIM_Service +{ + [ Description("HealthPollingInterval specifies how often the " + "XML Service provider will check the health of the service"), + Units("Seconds") ] + uint64 HealthPollingInterval; + + [ Description("RequiredBadHits specifies the number of times " + "a service must report a unhealthy status at poll time " + "before an indication is generated. If this property is " + "not specified the value of 3 is assumed") ] + uint32 RequiredBadHits = 3; + + [ Description ("The BadHealthActions property holds the actions that must " + "be performed when the HealthState property for this service reaches " + "a degraded(10) or major failure(20) state. The only actions that can " + "be performed are stop and re-start. The property is an array of 2 " + "elements with the elements corresponding to the HealthState " + "property as follows:\n" + "Index 0 = Action to perform for degraded state(HealthState==10)\n" + "Index 1 = Action to perform for major failure state(HealthState==20\n" + "The value for each one of the elements can be as follows:\n" + "0 = Do nothing\n" + "1 = Restart the service\n" + "2 = Stop the service"), + ValueMap { "0", "1", "2" }, + Values{ "No Action", "Restart", "Stop" }, + ArrayType ("Indexed"), + ModelCorrespondence { "CIM_ManagedSystemElement.HealthState" } ] + + uint16 BadHealthActions[]; +}; + +// ================================================================== +// OMC_ServiceFromXMLConfigTool +// ================================================================== +class OMC_ServiceFromXMLConfigTool +{ + [ Key, Propagated("OMC_ServiceFromXML.Name"), + Description("This is the name of the service that configuration " + "tool is used for") ] + string ServiceName; + + [ Key, Description("The TaskName property provides a short name for the " + "task this configuration tool is used for") ] + string TaskName; + + [ Description("The Description property provides discriptive test " + "about this task/configuration tool") ] + string Description; + + [ Required, Description("The Type property specifies what type of " + "access is needed to use the configuration tool") ] + string Type; + + [ Required, Description("The Uri property provides the addressing " + "information needed to access the configuration tool") ] + String Uri; +}; + +// ================================================================== +// OMC_ServiceHealthData +// ================================================================== +[ Description("The OMC_ServiceHealthData class represents a single health " + "data item for a service") ] +class OMC_ServiceHealthData +{ + [ Key, Propagated("OMC_ServiceFromXML.Name"), + Description("This is the name of the service that this health data " + "belongs to.") ] + string ServiceName; + + [ Key, Description("The name of the health data being reported by " + "the service") ] + string DataName; + + [ Description("Free form text that describes this health data") ] + string Description; + + [ Description ("The information in the DataValue property and any " + "of the thresholds is presented as string data. However the " + "appropriate datatype for this information may be something " + "else (e.g. signed 32 bit integer). Knowledge of the appropriate " + "data type may be needed for comparison when processing " + "thresholds."), + ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" }, + Values{ "Unknown", "String", "Unsigned 8 bit", "Signed 8 bit", + "Unsigned 16 bit", "Signed 16 bit", "Unsigned 32 bit", + "Signed 32 bit", "Unsigned 64 bit", "Signed 64 bit", + "Real 32 bit", "Real 64 bit" } ] + uint16 DataType; + + [ Description("The value of the health data specified by DataName " + "for the service") ] + string DataValue; + + [ ArrayType ("Indexed"), + Description("These are the default thresholds that have been set by " + "the service provider. They are used if the actual thresholds " + "have not been set by the administrator. This is an array of " + "six elements with each element representing a certain " + "threshold. The array is ordered as follows:\n" + "0 = Lower Fatal threshold\n" + "1 = Lower Critical threshold\n" + "2 = Lower Non-Critical threshold\n" + "3 = Upper Non-Critical threshold\n" + "4 = Upper Critical threshold\n" + "5 = Upper Fatal threshold\n" + "Each element is the string representation of that threshold " + "value."), + ModelCorrespondence { + "OMC_ServiceHealthData.DataType", + "OMC_ServiceHealthData.DataValue" } ] + string DefaultThresholds[]; + + [ Write, ArrayType ("Indexed"), + Description("These are the thresholds specified by the administrator " + "If they are present, the DefaultThresholds are ignored." + "This is an array of six elements with each element representing " + "a certain threshold. The array is ordered as follows:\n" + "0 = Lower Fatal threshold\n" + "1 = Lower Critical threshold\n" + "2 = Lower Non-Critical threshold\n" + "3 = Upper Non-Critical threshold\n" + "4 = Upper Critical threshold\n" + "5 = Upper Fatal threshold\n" + "Each element is the string representation of that threshold " + "value."), + ModelCorrespondence { + "OMC_ServiceHealthData.DataType", + "OMC_ServiceHealthData.DataValue" } ] + string ActualThresholds[]; + + [ Description("The health state the value of the health item " + "represents"), + ValueMap { "0", "5", "10", "20" }, + Values { "Unknown", "OK", "Degraded/Warning", + "Major failure" } ] + uint16 HealthState; +}; + +// ================================================================== +// OMC_AssociatedConfigTool +// ================================================================== +[ Association, Version ( "0.0.1" ), + Description ("The AssociatedConfigTool association related the " + "service to its configuration tools") ] +class OMC_AssociatedConfigTool +{ + [ Key, Min(1), Max(1), Description("The service the health " + "data belongs to") ] + OMC_ServiceFromXML REF Service; + + [ Key, Description("A configuration tool object for the service") ] + OMC_ServiceFromXMLConfigTool REF ConfigTool; +}; + +// ================================================================== +// OMC_AssociatedHealthData +// ================================================================== +[ Association, Version ( "0.0.1" ), + Description ("The AssociatedHealthData association related the " + "ServiceHealthData objects with the ServiceFromXML " + "objects") ] +class OMC_AssociatedHealthData +{ + [ Key, Min(1), Max(1), Description("The service the health " + "data belongs to") ] + OMC_ServiceFromXML REF Service; + + [ Key, Description("A health data object for the service") ] + OMC_ServiceHealthData REF HealthData; +}; + +// ================================================================== +// OMC_XMLServiceProcess +// ================================================================== +[ Association, Version ( "0.0.1" ), + Description ("The XMLService process relates a service " + "to its processes") ] +class OMC_XMLServiceProcess : CIM_ServiceProcess +{ + [ Override("Service"), Key, Description("The ServiceFromXML " + "that is associated to a process.") ] + OMC_ServiceFromXML REF Service; + + [ Override("Process"), Key, Description("The process that " + "the XMLService is running in.") ] + OMC_UnixProcess REF Process; +}; + +// ================================================================== +// OMC_HostedXMLService +// ================================================================== +[ Association, Version ( "0.0.1" ), + Description ("The HostedXMLService relates the service to " + "the computer system it is running on") ] +class OMC_HostedXMLService : CIM_HostedService +{ + [ Override("Antecedent"), Key, Description("The computer system " + "that hosts the service") ] + OMC_UnitaryComputerSystem REF Antecedent; + + [ Override("Dependent"), Key, Description("The service that is hosted " + "on the computer system.") ] + OMC_ServiceFromXML REF Dependent; +}; + +// ================================================================== +// OMC_XMLServiceServiceDependency +// ================================================================== +[ Association, Description("OMC_XMLServiceServiceDependency " + "represents the relationship of one OMC_ServiceFromXML " + "depending on another") ] +class OMC_XMLServiceServiceDependency : CIM_ServiceServiceDependency +{ + [Override ( "Antecedent" ), Description ( + "The required Service.")] + OMC_ServiceFromXML REF Antecedent; + + [Override ( "Dependent" ), Description ( + "The Service that is dependent on an underlying Service.")] + OMC_ServiceFromXML REF Dependent; +}; + +// ================================================================== +// OMC_XMLServiceHealthAlert +// ================================================================== +[ Indication, + Description("The alert that goes out when health data exceeds the " + "critical or fatal thresholds") ] +class OMC_XMLServiceHealthAlert : CIM_AlertIndication +{ + [ Description("The name of the service the alert is for." + "This is one of the keys to the OMC_ServiceHealthData object") ] + string ServiceName; + + [ Description("The name of the health data item that has exceeded " + "the critical or fatal threshold. This is one of the keys to the " + "OMC_ServiceHealthData object") ] + string HealthDataItemName; + + [ Description("The current value of the item specified in by the " + "HealthDataitemName property") ] + string CurrentValue; + + [ Description ("The information in the CurrentValue property and any " + "of the thresholds is presented as string data. However the " + "appropriate datatype for this information may be something " + "else (e.g. signed 32 bit integer). Knowledge of the appropriate " + "data type may be needed for comparison when processing " + "thresholds."), + ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" }, + Values{ "Unknown", "String", "Unsigned 8 bit", "Signed 8 bit", + "Unsigned 16 bit", "Signed 16 bit", "Unsigned 32 bit", + "Signed 32 bit", "Unsigned 64 bit", "Signed 64 bit", + "Real 32 bit", "Real 64 bit" } ] + uint16 DataType; + + [ Description("The threshold the current value has exceeded"), + ValueMap { "0", "1", "2", "3", "4", "5" }, + Values{ "Lower Fatal", "Lower Critical", "Lower Non-Critical", + "Upper Fatal", "Upper Critical", "Upper Non-Critical" } ] + uint16 ThresholdType; + + [ Description("The value of the threshold that has been exceeded") ] + string ThresholdValue; + + [ Description("The health state the ThresholdValue represents"), + ValueMap { "0", "5", "10", "20" }, + Values { "Unknown", "OK", "Degraded/Warning", + "Major failure" } ] + uint16 HealthState; +}; + Added: contrib/xml-service-provider/trunk/src/Makefile.am =================================================================== --- contrib/xml-service-provider/trunk/src/Makefile.am (rev 0) +++ contrib/xml-service-provider/trunk/src/Makefile.am 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,36 @@ +SUBDIRS = servicexml + +include $(top_srcdir)/Makefile.incl.am + +provider_LTLIBRARIES = \ + libomc_xml_service_resident.la \ + libomc_xml_service_nonresident.la + +INCLUDES = -I$(top_srcdir)/src/servicexml -I$(top_builddir) + +libomc_xml_service_resident_la_SOURCES = \ + XMLServiceProvider.cpp \ + XMLServiceProvider.hpp + +libomc_xml_service_resident_la_LDFLAGS = \ + -lpthread \ + -lopenwbem \ + -lowxml \ + -version-info 1 + +libomc_xml_service_resident_la_LIBADD = \ + $(top_builddir)/src/servicexml/libomc_servicexml.la + +libomc_xml_service_nonresident_la_SOURCES = \ + XMLServiceProviderNonRes.cpp + +libomc_xml_service_nonresident_la_LDFLAGS = \ + -lpthread \ + -lopenwbem \ + -lowxml \ + -lomcbase \ + -version-info 1 + +libomc_xml_service_nonresident_la_LIBADD = \ + $(top_builddir)/src/servicexml/libomc_servicexml.la + Added: contrib/xml-service-provider/trunk/src/XMLServiceProvider.cpp =================================================================== --- contrib/xml-service-provider/trunk/src/XMLServiceProvider.cpp (rev 0) +++ contrib/xml-service-provider/trunk/src/XMLServiceProvider.cpp 2006-11-29 23:25:03 UTC (rev 407) @@ -0,0 +1,1310 @@ +/**************************************************************************** + | Copyright (c) 2006 Novell, Inc. + | All Rights Reserved. + | + | This program is free software; you can redistribute it and/or + | modify it under the terms of version 2 of the GNU General Public License as + | published by the Free Software Foundation. + | + | This program is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU General Public License for more details. + | + | You should have received a copy of the GNU General Public License + | along with this program; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |***************************************************************************/ + +// TODO: +// BadHealthActions on Service now. +// Need to honor actions. +// Polling can take place even if there is no subscription (actions). + +#include "XMLServiceProvider.hpp" + +#include <openwbem/OW_CIMValue.hpp> +#include <openwbem/OW_CIMOMHandleIFC.hpp> +#include <openwbem/OW_CIMDataType.hpp> +#include <openwbem/OW_Bool.hpp> +#include <openwbem/OW_Assertion.hpp> +#include <openwbem/OW_Format.hpp> + +#include "omc/CIMUtils.hpp" +#include "omc/ProviderStore.hpp" + +#include <iostream> + +extern "C" +{ +#include <unistd.h> +} + +using namespace OpenWBEM; +using namespace WBEMFlags; +using namespace OMC; +using std::cout; +using std::endl; + +namespace XMLServiceProvider +{ + +namespace +{ + +const char* g_threshNames[] = +{ + "Lower Fatal", + "Lower Critical", + "Lower Non-Critical", + "Upper Non-Critical", + "Upper Critical", + "Upper Fatal" +}; + +////////////////////////////////////////////////////////////////////////////// +time_t +calcPollTime( + UInt32 pollingInterval) +{ + DateTime dtm; + dtm.setToCurrent(); + time_t tm = dtm.get() + time_t(pollingInterval); + return tm; +} + +} // End of unnamed namespace + +////////////////////////////////////////////////////////////////////////////// +ResServiceProvider::ResServiceProvider() + : CppInstanceProviderIFC() + , CppPolledProviderIFC() + , CppIndicationProviderIFC() + , Thread() + , m_env(0) + , m_running(false) + , m_shuttingDown(false) + , m_guard() + , m_qguard() + , m_countGuard() + , m_condition() + , m_threadBarrier(2) + , m_polledServices() + , m_subscriptionCount(0) + , m_pdQueue() + , m_subscribedNamespaces() +{ +} + +////////////////////////////////////////////////////////////////////////////// +ResServiceProvider::~ResServiceProvider() +{ +} + +////////////////////////////////////////////////////////////////////////////// +// TODO: Thread Synchronization? Is is worth it? +void +ResServiceProvider::addSubscribeNamespace(const String ns) +{ + for (StringArray::size_type i = 0; i < m_subscribedNamespaces.size(); i++) + { + if (ns == m_subscribedNamespaces[i]) + return; + } + m_subscribedNamespaces.append(ns); +} + +////////////////////////////////////////////////////////////////////////////// +void +ResServiceProvider::initialize( + const ProviderEnvironmentIFCRef& env) +{ + LoggerRef lgr = logger(env); + OW_LOG_DEBUG(lgr, PREF"initialize called..."); +} + +////////////////////////////////////////////////////////////////////////////// +void +ResServiceProvider::shuttingDown( + const ProviderEnvironmentIFCRef& env) +{ + LoggerRef lgr = logger(env); + OW_LOG_DEBUG(lgr, PREF"shuttingDown called..."); + if (!m_running) + { + OW_LOG_DEBUG(lgr, PREF"shuttingDown called, but not currently " + "running"); + return; + } + + m_shuttingDown = true; + m_condition.notifyAll(); + + OW_LOG_DEBUG(lgr, PREF"shuttingDown: waiting for thread barrier"); + m_threadBarrier.wait(); + OW_LOG_DEBUG(lgr, PREF"shuttingDown: finished. Returning"); +} + +////////////////////////////////////////////////////////////////////////////// +Int32 +ResServiceProvider::run() +{ + LoggerRef lgr = logger(m_env); + OW_LOG_DEBUG(lgr, PREF"run called..."); + m_running = true; + OW_LOG_DEBUG(lgr, PREF"run: waiting on thread barrier"); + m_threadBarrier.wait(); + OW_LOG_DEBUG(lgr, PREF"run: -done- waiting on thread barrier"); + + OW_LOG_DEBUG(lgr, PREF"run: creating thread pool"); + String poolName = COMPONENT"threadpool"; + ThreadPoolRef threadPool = ThreadPoolRef(new ThreadPool( + ThreadPool::DYNAMIC_SIZE, 10, 100, lgr, poolName)); + + NonRecursiveMutexLock localLock(m_guard); + + // Fill polling queue with polling data gathered from the auxiliary + // storage here. + m_pdQueue.clear(); + try + { + ServiceFromXMLRefArray svcs = ServiceFromXML::getServices(m_env); + OW_LOG_DEBUG(lgr, + Format(PREF"run: Got list of services to check. List size: %1", + svcs.size())); + + for (ServiceFromXMLRefArray::size_type i = 0; i < svcs.size(); i++) + { + // Only poll service if polling interval was specified + // and there are actual thresholds. + if (svcs[i]->getPollingInterval() > 0 + && svcs[i]->hasActualThresholds()) + { + OW_LOG_DEBUG(lgr, + Format(PREF"Service %1... [truncated message content] |
From: <bni...@us...> - 2006-11-29 20:09:54
|
Revision: 406 http://svn.sourceforge.net/omc/?rev=406&view=rev Author: bnicholes Date: 2006-11-29 12:09:50 -0800 (Wed, 29 Nov 2006) Log Message: ----------- sync up the alternate configuration file parameter between all of the binaries on a -f Modified Paths: -------------- clp/trunk/src/omcclpc.cpp clp/trunk/src/omcclpd.cpp Modified: clp/trunk/src/omcclpc.cpp =================================================================== --- clp/trunk/src/omcclpc.cpp 2006-11-29 20:05:27 UTC (rev 405) +++ clp/trunk/src/omcclpc.cpp 2006-11-29 20:09:50 UTC (rev 406) @@ -62,7 +62,7 @@ CmdLineParser::Option g_options[] = { {E_CMDOPT_CMD, 'c', "command", CmdLineParser::E_REQUIRED_ARG, 0, "Execute a single command from the command line."}, - {E_CMDOPT_CONFIG, 'd', "config", CmdLineParser::E_REQUIRED_ARG, 0, "Alternate configuration file. Default is omcclp.conf."}, + {E_CMDOPT_CONFIG, 'f', "config", CmdLineParser::E_REQUIRED_ARG, 0, "Alternate configuration file. Default is omcclpc.conf."}, {E_CMDOPT_HELP, 'h', "help", CmdLineParser::E_NO_ARG, 0, "Show help about options."}, {E_CMDOPT_NS, 'n', "ns", CmdLineParser::E_REQUIRED_ARG, 0, "Alternate CIM namespace to be used in place of the namespace specified in the configuration file"}, {E_CMDOPT_URL, 'u', "url", CmdLineParser::E_REQUIRED_ARG, 0, "Alternate CIM URL to be used in place of the URL specified in the configuration file."}, Modified: clp/trunk/src/omcclpd.cpp =================================================================== --- clp/trunk/src/omcclpd.cpp 2006-11-29 20:05:27 UTC (rev 405) +++ clp/trunk/src/omcclpd.cpp 2006-11-29 20:09:50 UTC (rev 406) @@ -165,7 +165,7 @@ { { HELP_OPT, 'h', "help", CmdLineParser::E_NO_ARG, 0, "Show help about command line options"}, { DEBUG_OPT, 'd', "debug", CmdLineParser::E_NO_ARG, 0, "Run in debug mode (Does not detach from the terminal" }, - { CONFIG_FILE_OPT, 'c', "config", CmdLineParser::E_REQUIRED_ARG, 0, "User <arg> instead of the default config file" }, + { CONFIG_FILE_OPT, 'f', "config", CmdLineParser::E_REQUIRED_ARG, 0, "Alternate configuration file. Default is omcclpd.conf." }, { 0, 0, 0, CmdLineParser::E_NO_ARG, 0, 0 } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bni...@us...> - 2006-11-29 20:05:28
|
Revision: 405 http://svn.sourceforge.net/omc/?rev=405&view=rev Author: bnicholes Date: 2006-11-29 12:05:27 -0800 (Wed, 29 Nov 2006) Log Message: ----------- allow each of the omcclpX binaries to use a different configuration file. Modified Paths: -------------- clp/trunk/src/omcclp.cpp clp/trunk/src/omcclpc.cpp clp/trunk/src/omcclpprogram.cpp Modified: clp/trunk/src/omcclp.cpp =================================================================== --- clp/trunk/src/omcclp.cpp 2006-11-29 00:10:32 UTC (rev 404) +++ clp/trunk/src/omcclp.cpp 2006-11-29 20:05:27 UTC (rev 405) @@ -378,6 +378,8 @@ String val = parser.getOptionValue(E_CMDOPT_CONFIG); clpsvrt.setConfFilename(val); } + else + clpsvrt.setConfFilename(OMCCLP_SYSCONF_DIR"/omcclp.conf"); if (parser.isSet(E_CMDOPT_DEBUG)) { clpsvrt.setDebugMode(true); @@ -407,6 +409,8 @@ String val = parser.getOptionValue(E_CMDOPT_CONFIG); clpt.setConfFilename(val); } + else + clpt.setConfFilename(OMCCLP_SYSCONF_DIR"/omcclp.conf"); if (parser.isSet(E_CMDOPT_CMD)) { String val = parser.getOptionValue(E_CMDOPT_CMD); Modified: clp/trunk/src/omcclpc.cpp =================================================================== --- clp/trunk/src/omcclpc.cpp 2006-11-29 00:10:32 UTC (rev 404) +++ clp/trunk/src/omcclpc.cpp 2006-11-29 20:05:27 UTC (rev 405) @@ -692,6 +692,8 @@ String val = parser.getOptionValue(E_CMDOPT_CONFIG); clp.setConfFilename(val); } + else + clp.setConfFilename(OMCCLP_SYSCONF_DIR"/omcclpc.conf"); if (parser.isSet(E_CMDOPT_CMD)) { String val = parser.getOptionValue(E_CMDOPT_CMD); Modified: clp/trunk/src/omcclpprogram.cpp =================================================================== --- clp/trunk/src/omcclpprogram.cpp 2006-11-29 00:10:32 UTC (rev 404) +++ clp/trunk/src/omcclpprogram.cpp 2006-11-29 20:05:27 UTC (rev 405) @@ -284,8 +284,8 @@ bool OMCCLPProgram::initializeCLPSession() { /* Open the main configuration file */ - loadConfigItemsFromFile(getConfigItem(OMCClpdConfigOpts::CONFIG_FILE_opt, - OMCCLPD_DEFAULT_CONFIG_FILE)); + String conffile = getConfFilename(); + loadConfigItemsFromFile(conffile.length() ? conffile : OMCCLPD_DEFAULT_CONFIG_FILE); String url = getCIMURL(); String ns = getCIMNamespace(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <np...@us...> - 2006-11-29 00:10:35
|
Revision: 404 http://svn.sourceforge.net/omc/?rev=404&view=rev Author: npaxton Date: 2006-11-28 16:10:32 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Create branch for 1.0. Any future work to support openWbem 3.2 needs to be in this branch Added Paths: ----------- smash/branches/1.0/ Copied: smash/branches/1.0 (from rev 379, smash/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <np...@us...> - 2006-11-29 00:08:16
|
Revision: 403 http://svn.sourceforge.net/omc/?rev=403&view=rev Author: npaxton Date: 2006-11-28 16:08:16 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Oops... branched current trunk, not modified trunk Removed Paths: ------------- smash/branches/1.0/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <np...@us...> - 2006-11-29 00:07:26
|
Revision: 402 http://svn.sourceforge.net/omc/?rev=402&view=rev Author: npaxton Date: 2006-11-28 16:07:18 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Create branch for 1.0. Any future work to support openWbem 3.2 needs to be in this branch Added Paths: ----------- smash/branches/1.0/ Copied: smash/branches/1.0 (from rev 401, smash/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bni...@us...> - 2006-11-16 19:54:52
|
Revision: 401 http://svn.sourceforge.net/omc/?rev=401&view=rev Author: bnicholes Date: 2006-11-16 11:54:50 -0800 (Thu, 16 Nov 2006) Log Message: ----------- fix segfault when trying to use the logger after it has been destroyed Modified Paths: -------------- clp/trunk/src/omcclp.cpp Modified: clp/trunk/src/omcclp.cpp =================================================================== --- clp/trunk/src/omcclp.cpp 2006-11-16 18:29:03 UTC (rev 400) +++ clp/trunk/src/omcclp.cpp 2006-11-16 19:54:50 UTC (rev 401) @@ -219,9 +219,8 @@ } m_running = false; - OW_LOG_DEBUG(m_logger, "OMCCLPServer::run waiting on thread barrier"); + OW_LOG_DEBUG(m_logger, "OMCCLPServer::run waiting to exit the CLP server thread"); m_threadBarrier.wait(); - OW_LOG_DEBUG(m_logger, "Exiting CLP server thread"); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bni...@us...> - 2006-11-16 18:29:10
|
Revision: 400 http://svn.sourceforge.net/omc/?rev=400&view=rev Author: bnicholes Date: 2006-11-16 10:29:03 -0800 (Thu, 16 Nov 2006) Log Message: ----------- Fix a segfault in start up when the environment can not be initialized. This includes making sure that the client thread is not started if the server thread is not running. Modified Paths: -------------- clp/trunk/src/omcclp.cpp clp/trunk/src/omcclp.h Modified: clp/trunk/src/omcclp.cpp =================================================================== --- clp/trunk/src/omcclp.cpp 2006-11-15 21:38:54 UTC (rev 399) +++ clp/trunk/src/omcclp.cpp 2006-11-16 18:29:03 UTC (rev 400) @@ -142,6 +142,7 @@ Int32 OMCCLPServerThread::run() { int cc; + bool initialized = false; OMCClpdEnvRef env = OMCClpdEnv::instance(); LoggerRef logger(new CerrLogger); NonRecursiveMutexLock localLock(m_guard); @@ -157,51 +158,78 @@ env->init(); m_logger = env->getLogger(OMCClpdEnv::COMPONENT_NAME); - - OW_LOG_DEBUG(m_logger, "clpd Environment initialized"); - - int sig; - env->startServices(); - m_running = true; - OW_LOG_INFO(m_logger, "clpd is now running"); - - m_condition.notifyAll(); - - while(!m_shuttingDown) - { - // runSelectEngine will only return once something has been put into - // the signal pipe or an error has happened - env->runSelectEngine(); - if ((cc = sigPipe->readInt(&sig)) == -1) - { - continue; - } - - OW_LOG_INFO(m_logger, "clp server received shutdown notification." - " Initiating shutdown."); - env->shutdown(); - } + initialized = true; } catch (Exception& e) { - OW_LOG_FATAL_ERROR(m_logger, "* EXCEPTION CAUGHT IN clpd MAIN!"); - OW_LOG_FATAL_ERROR(m_logger, Format("* %1", e)); + cerr << "* EXCEPTION CAUGHT IN clp server startup!" << endl; + cerr << Format("* %1", e) << endl; } catch (std::exception& e) { - OW_LOG_FATAL_ERROR(m_logger, "* std::exception CAUGHT IN clpd MAIN!"); - OW_LOG_FATAL_ERROR(m_logger, Format("* Message: %1", e.what())); + cerr << "* EXCEPTION CAUGHT IN clp server startup!" << endl; + cerr << Format("* Message: %1", e.what()) << endl; } catch (...) { - OW_LOG_FATAL_ERROR(m_logger, "* UNKNOWN EXCEPTION CAUGHT IN clpd MAIN!"); + cerr << "* UNKNOWN EXCEPTION CAUGHT IN clpd MAIN!" << endl; } - m_running = false; - OW_LOG_DEBUG(m_logger, "OMCCLPServer::run waiting on thread barrier"); - m_threadBarrier.wait(); - OW_LOG_DEBUG(m_logger, "Exiting CLP server thread"); + if (initialized) + { + OW_LOG_DEBUG(m_logger, "clpd Environment initialized"); + + try + { + int sig; + env->startServices(); + m_running = true; + OW_LOG_INFO(m_logger, "clpd is now running"); + + m_condition.notifyAll(); + + while(!m_shuttingDown) + { + // runSelectEngine will only return once something has been put into + // the signal pipe or an error has happened + env->runSelectEngine(); + if ((cc = sigPipe->readInt(&sig)) == -1) + { + continue; + } + + OW_LOG_INFO(m_logger, "clp server received shutdown notification." + " Initiating shutdown."); + env->shutdown(); + } + } + catch (Exception& e) + { + OW_LOG_FATAL_ERROR(m_logger, "* EXCEPTION CAUGHT IN clpd MAIN!"); + OW_LOG_FATAL_ERROR(m_logger, Format("* %1", e)); + } + catch (std::exception& e) + { + OW_LOG_FATAL_ERROR(m_logger, "* std::exception CAUGHT IN clpd MAIN!"); + OW_LOG_FATAL_ERROR(m_logger, Format("* Message: %1", e.what())); + } + catch (...) + { + OW_LOG_FATAL_ERROR(m_logger, "* UNKNOWN EXCEPTION CAUGHT IN clpd MAIN!"); + } + m_running = false; + OW_LOG_DEBUG(m_logger, "OMCCLPServer::run waiting on thread barrier"); + m_threadBarrier.wait(); + OW_LOG_DEBUG(m_logger, "Exiting CLP server thread"); + } + else + { + cerr << "Exiting CLP server thread" << endl; + m_condition.notifyAll(); + return -1; + } + return 0; } @@ -330,7 +358,6 @@ { Condition cond; NonRecursiveMutex lock; - OMCCLPClientThread clpt; OMCCLPServerThread clpsvrt(cond, lock); int cc, c; @@ -338,48 +365,94 @@ try { + NonRecursiveMutexLock localLock(lock); + // parse command line, and build the urlList CmdLineParser parser(argc, argv, g_options, CmdLineParser::E_NON_OPTION_ARGS_ALLOWED); - if (parser.isSet(E_CMDOPT_HELP)) { usage(); return 0; } - - if (parser.isSet(E_CMDOPT_URL)) - { - String val = parser.getOptionValue(E_CMDOPT_URL); - clpt.setCIMURL(val); - } - if (parser.isSet(E_CMDOPT_NS)) - { - String val = parser.getOptionValue(E_CMDOPT_NS); - clpt.setCIMNamespace(val); - } if (parser.isSet(E_CMDOPT_CONFIG)) { String val = parser.getOptionValue(E_CMDOPT_CONFIG); - clpt.setConfFilename(val); clpsvrt.setConfFilename(val); } - if (parser.isSet(E_CMDOPT_CMD)) - { - String val = parser.getOptionValue(E_CMDOPT_CMD); - clpt.setExecCmd(val); - } if (parser.isSet(E_CMDOPT_DEBUG)) { clpsvrt.setDebugMode(true); } - clpt.setScriptFilenames(parser.getNonOptionArgs()); + /* Start the server and wait for it to initialize. */ + clpsvrt.start(); + cond.wait(localLock); + localLock.release(); + + if (clpsvrt.running()) + { + OMCCLPClientThread clpt; + + if (parser.isSet(E_CMDOPT_URL)) + { + String val = parser.getOptionValue(E_CMDOPT_URL); + clpt.setCIMURL(val); + } + if (parser.isSet(E_CMDOPT_NS)) + { + String val = parser.getOptionValue(E_CMDOPT_NS); + clpt.setCIMNamespace(val); + } + if (parser.isSet(E_CMDOPT_CONFIG)) + { + String val = parser.getOptionValue(E_CMDOPT_CONFIG); + clpt.setConfFilename(val); + } + if (parser.isSet(E_CMDOPT_CMD)) + { + String val = parser.getOptionValue(E_CMDOPT_CMD); + clpt.setExecCmd(val); + } + clpt.setScriptFilenames(parser.getNonOptionArgs()); + + /* Start the client after the server has completed its startup. */ + clpt.start(); + + setupSigHandler(true); + + SelectTypeArray selArray; + selArray.push_back(sigPipe->getSelectObj()); + sigPipe->setBlocking(UnnamedPipe::E_NONBLOCKING); + + /* This select loop will only return if a signal + has been recieved and the sigpipe has been + written to. */ + do { + Select::select(selArray); + + if ((cc = sigPipe->readInt(&c)) == -1) + { + continue; + } + break; + } while (true); + + /* Call the server and client shutdown to make sure + that everything has been cleaned up. */ + clpt.shutdown(); + clpsvrt.shutdown(); + return 0; + } } catch (CmdLineParserException& e) { printCmdLineParserExceptionMessage(e); usage(); } + catch (AssertionException& a) + { + cerr << "Caught Assertion: " << a << endl; + } catch (CIMException& e) { cerr << "ERROR: CIMException:" << e.getMessage() << endl; @@ -397,52 +470,6 @@ cerr << "ERROR: UnknownException." << endl; } - try - { - NonRecursiveMutexLock localLock(lock); - - /* Start the server and wait for it to initialize. */ - clpsvrt.start(); - cond.wait(localLock); - localLock.release(); - - /* Start the client after the server has completed its startup. */ - clpt.start(); - - setupSigHandler(true); - - SelectTypeArray selArray; - selArray.push_back(sigPipe->getSelectObj()); - sigPipe->setBlocking(UnnamedPipe::E_NONBLOCKING); - - /* This select loop will only return if a signal - has been recieved and the sigpipe has been - written to. */ - do { - Select::select(selArray); - - if ((cc = sigPipe->readInt(&c)) == -1) - { - continue; - } - break; - } while (true); - - /* Call the server and client shutdown to make sure - that everything has been cleaned up. */ - clpt.shutdown(); - clpsvrt.shutdown(); - return 0; - } - catch (AssertionException& a) - { - cerr << "Caught Assertion: " << a << endl; - } - catch (Exception& e) - { - cerr << e << endl; - } - return 1; } Modified: clp/trunk/src/omcclp.h =================================================================== --- clp/trunk/src/omcclp.h 2006-11-15 21:38:54 UTC (rev 399) +++ clp/trunk/src/omcclp.h 2006-11-16 18:29:03 UTC (rev 400) @@ -79,6 +79,7 @@ virtual void shutdown(); virtual Int32 run (); + bool running() {return m_running;} void setDebugMode(bool debug) {m_debugMode = debug;} void setConfFilename (const String filename) {m_data_filename = filename;} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jc...@us...> - 2006-11-15 21:38:54
|
Revision: 399 http://svn.sourceforge.net/omc/?rev=399&view=rev Author: jcarey Date: 2006-11-15 13:38:54 -0800 (Wed, 15 Nov 2006) Log Message: ----------- Testing commit mailing list Modified Paths: -------------- smash/trunk/ChangeLog Modified: smash/trunk/ChangeLog =================================================================== --- smash/trunk/ChangeLog 2006-11-15 18:14:39 UTC (rev 398) +++ smash/trunk/ChangeLog 2006-11-15 21:38:54 UTC (rev 399) @@ -1 +1 @@ -Initial. +Initial Check-in This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jc...@us...> - 2006-11-02 22:13:49
|
Revision: 18 http://svn.sourceforge.net/omc/?rev=18&view=rev Author: jcarey Date: 2006-11-02 14:13:39 -0800 (Thu, 02 Nov 2006) Log Message: ----------- Removing so I can put the old omc repository in place Removed Paths: ------------- LICENSE base/ clp/ cmpibase/ schema/ smash/ tools/ Deleted: LICENSE =================================================================== --- LICENSE 2006-11-02 21:50:53 UTC (rev 17) +++ LICENSE 2006-11-02 22:13:39 UTC (rev 18) @@ -1,93 +0,0 @@ -OMC is a project with many modules / sub-projects. As such it is constrained by various open-source licenses. -Primarily, license differences will occur at the sub-project level. -However, even within a project, some files may have a more restrictive license than the primary license for the project, for various reasons. -For example, within the SMASH sub-project, which is primarily BSD license, the composite-device provider code is constrained by the GPL license. -Likewise, in the BASE sub-project, the syslogng provider is necessarily constrained by the GPL license, as it uses GPL code from syslogng. -This is not meant to be a complete list of license 'abnormalities', but rather just a few examples. -If your use of the code requires such, please pay attention to the license for each file. - -Below are some of the license notices you will encounter throughout the OMC project: - -Notice for Projects/Files Released Under the GPL - -/**************************************************************************** - | - | Copyright (c) [YEARS] Novell, Inc. - | All Rights Reserved. - | - | This program is free software; you can redistribute it and/or - | modify it under the terms of version 2 of the GNU General Public License as - | published by the Free Software Foundation. - | - | This program is distributed in the hope that it will be useful, - | but WITHOUT ANY WARRANTY; without even the implied warranty of - | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - | GNU General Public License for more details. - | - | You should have received a copy of the GNU General Public License - | along with this program; if not, contact Novell, Inc. - | - | To contact Novell about this file by physical or electronic mail, - | you may find current contact information at www.novell.com - | - |*************************************************************************** - - -Notice for Projects/Files Released Under the LGPL - -/**************************************************************************** - | - | Copyright (c) [YEARS] Novell, Inc. - | All Rights Reserved. - | - | This library is free software; you can redistribute it and/or - | modify it under the terms of the GNU Lesser General Public License as - | published by the Free Software Foundation; version 2.1 of the license. - | - | This library is distributed in the hope that it will be useful, - | but WITHOUT ANY WARRANTY; without even the implied warranty of - | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - | GNU Lesser General Public License for more details. - | - | You should have received a copy of the GNU Lesser General Public License - | along with this library; if not, contact Novell, Inc. - | - | To contact Novell about this file by physical or electronic mail, - | you may find current contact information at www.novell.com - | - |*************************************************************************** - - -Notice for Projects/Files Released Under the BSD License - -/****************************************************************************** -* Copyright (c) [YEARS], Novell, Inc. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* - Redistributions of source code must retain the above copyright notice, -* this list of conditions and the following disclaimer. -* -* - Redistributions in binary form must reproduce the above copyright notice, -* this list of conditions and the following disclaimer in the documentation -* and/or other materials provided with the distribution. -* -* - Neither the name of the Novell nor the names of its contributors may be -* used to endorse or promote products derived from this software without -* specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. -******************************************************************************/ - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <np...@us...> - 2006-11-02 21:50:56
|
Revision: 17 http://svn.sourceforge.net/omc/?rev=17&view=rev Author: npaxton Date: 2006-11-02 13:50:53 -0800 (Thu, 02 Nov 2006) Log Message: ----------- Initial TimeZoneSettingData object management Modified Paths: -------------- cmpibase/trunk/configure cmpibase/trunk/src/include/omc/base.h cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h cmpibase/trunk/src/include/omc/ntpServer.h cmpibase/trunk/src/lib/omc/base.c cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c cmpibase/trunk/src/lib/omc/ntpServer.c cmpibase/trunk/src/providers/computer-system/hostNameSettingData.c cmpibase/trunk/src/providers/time-service/remoteTimeServicePort.c cmpibase/trunk/src/providers/time-service/timeZoneSettingData.c Modified: cmpibase/trunk/configure =================================================================== --- cmpibase/trunk/configure 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/configure 2006-11-02 21:50:53 UTC (rev 17) @@ -25081,7 +25081,7 @@ done - ac_config_files="$ac_config_files Makefile src/Makefile src/lib/Makefile src/lib/omc/Makefile src/include/Makefile src/include/omc/Makefile src/providers/Makefile src/providers/processes/Makefile src/providers/computer-system/Makefile src/providers/operating-system/Makefile" + ac_config_files="$ac_config_files Makefile src/Makefile src/lib/Makefile src/lib/omc/Makefile src/include/Makefile src/include/omc/Makefile src/providers/Makefile src/providers/processes/Makefile src/providers/computer-system/Makefile src/providers/operating-system/Makefile src/providers/time-service/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -25666,6 +25666,7 @@ "src/providers/processes/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/providers/processes/Makefile" ;; "src/providers/computer-system/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/providers/computer-system/Makefile" ;; "src/providers/operating-system/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/providers/operating-system/Makefile" ;; + "src/providers/time-service/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/providers/time-service/Makefile" ;; "$ac_config_libobj_dir/fnmatch.h" ) CONFIG_LINKS="$CONFIG_LINKS $ac_config_libobj_dir/fnmatch.h:$ac_config_libobj_dir/fnmatch_.h" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; Modified: cmpibase/trunk/src/include/omc/base.h =================================================================== --- cmpibase/trunk/src/include/omc/base.h 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/include/omc/base.h 2006-11-02 21:50:53 UTC (rev 17) @@ -119,6 +119,7 @@ const char *rpmName); + #ifdef __cplusplus } #endif Modified: cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h =================================================================== --- cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h 2006-11-02 21:50:53 UTC (rev 17) @@ -82,7 +82,41 @@ CMPIStatus *pStatus, const char **properties); + + +CMPIObjectPath* +makeTimeZoneSettingDataObjectPath( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus); + + +CMPIInstance * +makeTimeZoneSettingDataInstance( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus, + const char **properties); + + + + + int isIPV4Address(const char *arg); +/** + * Get the timezone, time, and whether UTC + * @param: timezone [out] preallocated string for timezone + * @param: timezonelen [in] length of timezone - num bytes + * allocated + * @param: utcHwClock [out] int* whether UTC or not + */ +void +omcGetClockInfo( + char *timezone, + int timezoneLen, + int *utcHwClock); + + #endif // TIME_SERVICE_UTILS_H_GUARD__ Modified: cmpibase/trunk/src/include/omc/ntpServer.h =================================================================== --- cmpibase/trunk/src/include/omc/ntpServer.h 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/include/omc/ntpServer.h 2006-11-02 21:50:53 UTC (rev 17) @@ -46,13 +46,65 @@ } NTPServer; -NTPServer *getNTPServers(int *pCount); -int getNTPServer(const char *serverName, NTPServer *out); -int deleteNTPServer(const char *serverName); -int setNTPServer(NTPServer *server); -void copyNTPServer(const NTPServer *in, NTPServer *out); -NTPServer *createAndCopyNTPServer(const NTPServer *in); +/* + Determine if the local computer supports NTPServer +*/ +int +serverSupportsNTP(); +/* + get an array of NTPServers with [pCount] elements + Caller is responsible to free the pointer returned +*/ +NTPServer * +getNTPServers( + int *pCount); + + +/* + get the NTPServer that corresponds with [serverName] + Caller is responsible to free the pointer returned +*/ +NTPServer * +getNTPServer( + const char *serverName); + + +/* + delete the NTPServer that corresponds with [serverName] +*/ +int +deleteNTPServer( + const char *serverName); + + +/* + modify the settings of NTPServer that corresponds with [oldServerName] +*/ +int +setNTPServer( + const char *oldServerName, + NTPServer *server); + + +/* + c version of assignment operator +*/ +void +copyNTPServer( + const NTPServer *in, + NTPServer *out); + + +/* + c version of copy constructor + Caller is responsible to free the pointer returned +*/ +NTPServer * +createAndCopyNTPServer( + const NTPServer *in); + + #endif // NTP_SERVER_UTILS_H_GUARD__ Modified: cmpibase/trunk/src/lib/omc/base.c =================================================================== --- cmpibase/trunk/src/lib/omc/base.c 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/lib/omc/base.c 2006-11-02 21:50:53 UTC (rev 17) @@ -138,20 +138,20 @@ size_t hostNameOutLen) { char namebuf[256]; - if (!hostNameOut || !hostNameOutLen) + if (!hostNameOut || !hostNameOutLen) { errno = EINVAL; return NULL; } gethostname(namebuf, sizeof(namebuf)); - if (!strchr(namebuf, '.')) + if (!strchr(namebuf, '.')) { char lbuf[2048]; int herr = 0; struct hostent hostbuf; struct hostent* hent = &hostbuf; - if (gethostbyname_r(namebuf, &hostbuf, lbuf, sizeof(lbuf), - &hent, &herr) != 0) + if (gethostbyname_r(namebuf, &hostbuf, lbuf, sizeof(lbuf), + &hent, &herr) != 0) { hent = NULL; } @@ -225,4 +225,3 @@ return 0; } - Modified: cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c =================================================================== --- cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c 2006-11-02 21:50:53 UTC (rev 17) @@ -32,6 +32,7 @@ #include <omc/cmpiTimeServiceUtils.h> #include <omc/ntpServer.h> +#include <omc/ioUtils.h> #include <fnmatch.h> #include <ctype.h> @@ -66,6 +67,11 @@ NULL}; +static const char * timezoneSettingDataClassKeys[] = { + "InstanceID", + NULL}; + + /*****************************************************************************/ CMPIObjectPath * makeTimeServiceObjectPath( @@ -225,10 +231,9 @@ CMPIObjectPath *op = makeRemoteTimeServicePortObjectPath(broker, ns, serverName, pStatus); if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) { - NTPServer *server = malloc(sizeof(NTPServer)); + NTPServer *server = getNTPServer(serverName); if (server) { - getNTPServer(serverName, server); instance = CMNewInstance(broker, op, pStatus); if (!CMIsNullObject(instance) && (pStatus->rc == CMPI_RC_OK)) { @@ -314,6 +319,7 @@ if(server->maxPoll) CMSetProperty(instance, "maxpoll", (CMPIValue*)&(server->maxPoll), CMPI_uint16); } + free(server); } } return instance; @@ -322,6 +328,69 @@ /*****************************************************************************/ +CMPIObjectPath* +makeTimeZoneSettingDataObjectPath( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus) +{ + CMPIObjectPath *op = CMNewObjectPath(broker, ns, "OMC_TimeZoneSettingData", pStatus); + if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) + { + char name[128] = {0}; + omcGetComputerSystemName(name, sizeof(name)); + + CMAddKey(op, + "InstanceID", + (CMPIValue *)"omc:timezone", + CMPI_chars); + } + return op; +} + + + +/*****************************************************************************/ +CMPIInstance * +makeTimeZoneSettingDataInstance( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus, + const char **properties) +{ + CMPIInstance *instance = NULL; + CMPIObjectPath *op = makeTimeZoneSettingDataObjectPath(broker, ns, pStatus); + if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) + { + char timezone[32] = {0}; + int utcHwClock = 1; + + omcGetClockInfo(timezone, 32, &utcHwClock); + + instance = CMNewInstance(broker, op, pStatus); + if (!CMIsNullObject(instance) && (pStatus->rc == CMPI_RC_OK)) + { + CMSetPropertyFilter(instance, properties, timezoneSettingDataClassKeys); + // keys + CMSetProperty(instance, + "InstanceID", + (CMPIValue *)"omc:timezone", + CMPI_chars); + + CMSetProperty(instance, + "TimeZone", + (CMPIValue *)timezone, + CMPI_chars); + + CMSetProperty(instance, "UTCHardwareClock", (CMPIValue*)&utcHwClock, CMPI_boolean); + } + } + return instance; +} + + + +/*****************************************************************************/ int isIPV4Address(const char *arg) { @@ -342,3 +411,98 @@ return 1; } + +/*****************************************************************************/ +static int +getKeyValuePair( + const char *line, + char *key, + int keylen, + char *value, + int valuelen) +{ + int retval = 0; + char *delim = strchr(line, '='); + if(delim) + { + int localKeyLen = (int)((char*)delim-(char*)line); + int localValLen = (int)((char*)(line+strlen(line))-(char*)delim); + omcStrNCpy(key, line, (localKeyLen > keylen?keylen:localKeyLen)); + omcStrTrim(key); + omcStrNCpy(value, delim+1, (localValLen > valuelen?valuelen:localValLen)); + omcStrTrim(value); + if (value[0] == '"') + { + omcStrNCpy(value, value+1, strlen(value)-1 ); + } + if (omcStrEndsWith(value, "\"")) + { + value[strlen(value)-1] = '\0'; + } + retval = 1; + } + + return 0; +} + +/*****************************************************************************/ +void omcGetClockInfo( + char *timezone, + int timezoneLen, + int *utcHwClock) +{ + FILE *file; + unsigned int bfrLen = 0; + char *p = NULL, *bufPtr = NULL; + //char* errMsgBfr = NULL; + //unsigned int errMsgBfrLen = 0; + + DEBUGOUT("Entering omcGetClockInfo\n"); + + if (!timezone || !utcHwClock || !timezoneLen) + { + return; + } + + file = fopen("/etc/sysconfig/clock", "r"); + if (!file) + { + //errCond(errMsgBfr, errMsgBfrLen, -1, + // "Failed to open file /etc/sysconfig/clock"); + return; + } + + char key[32] = {0}; + char value[256] = {0}; + + for(p = omcReadLine(file, &bufPtr, &bfrLen); p; + p = omcReadLine(file, &bufPtr, &bfrLen)) + { + DEBUGOUT(" got line: %s\n", bufPtr); + + memset(key, 0, 32); + memset(value, 0, 256); + getKeyValuePair(bufPtr, key, 32, value, 256); + if (strcasecmp(key, "HWCLOCK") == 0) + { + if (strcasecmp(value, "-u") == 0) + { + *utcHwClock = 1; + } + else + { + *utcHwClock = 0; + } + } + else if (strcasecmp(key, "TIMEZONE") == 0) + { + omcStrNCpy(timezone, value, timezoneLen); + } + } + + fclose(file); + + if (bufPtr) + free(bufPtr); +} + Modified: cmpibase/trunk/src/lib/omc/ntpServer.c =================================================================== --- cmpibase/trunk/src/lib/omc/ntpServer.c 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/lib/omc/ntpServer.c 2006-11-02 21:50:53 UTC (rev 17) @@ -31,6 +31,7 @@ ******************************************************************************/ #include <omc/ntpServer.h> +#include <omc/base.h> #include <omc/ioUtils.h> #include <omc/string.h> @@ -53,6 +54,19 @@ +int +serverSupportsNTP() +{ + unsigned long installDate; + installDate = omcGetRPMInstallDate("xntp"); + if (installDate) + { + return 1; + } + return 0; +} + + char * lineFromServer( NTPServer *pServer) @@ -266,7 +280,7 @@ /*****************************************************************************/ -int getNTPServer(const char *serverName, NTPServer *out) +NTPServer *getNTPServer(const char *serverName) { FILE *file; unsigned int bfrLen = 0; @@ -275,16 +289,17 @@ char* errMsgBfr = NULL; unsigned int errMsgBfrLen = 0; - if (!serverName || !out) + if (!serverName) { - return 0; + return NULL; } file = fopen("/etc/ntp.conf", "r"); if (!file) { - return errCond(errMsgBfr, errMsgBfrLen, -1, + errCond(errMsgBfr, errMsgBfrLen, -1, "Failed to open file /etc/ntp.conf"); + return NULL; } for(p = omcReadLine(file, &bufPtr, &bfrLen); p; @@ -295,13 +310,12 @@ serverFromLine(p, &server); if(strcasecmp(server.serverName, serverName) == 0) { - copyNTPServer(&server, out); - return 1; + return createAndCopyNTPServer(&server); } } } - return 0; + return NULL; } @@ -320,7 +334,7 @@ /*****************************************************************************/ -int setNTPServer(NTPServer *server) +int setNTPServer(const char *oldServerName, NTPServer *server) { /* SetServerListener ssl(server); Modified: cmpibase/trunk/src/providers/computer-system/hostNameSettingData.c =================================================================== --- cmpibase/trunk/src/providers/computer-system/hostNameSettingData.c 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/providers/computer-system/hostNameSettingData.c 2006-11-02 21:50:53 UTC (rev 17) @@ -108,7 +108,7 @@ char* errMsgBfr, unsigned int errMsgBfrLen) { - //DEBUGOUT("%s", "writeLine() called\n"); + //DEBUGOUT("writeLine() called\n"); // trim this? if (line[0] == '#') @@ -191,7 +191,7 @@ static int modifyComputerName(const char *curComputerName, const char *newComputerName) { - DEBUGOUT("%s", "modifyComputerName() called\n"); + DEBUGOUT("modifyComputerName() called\n"); int bModified = 0; @@ -226,13 +226,13 @@ char err1[256] = {0}; char err2[256] = {0}; - //DEBUGOUT("%s", "about to call modifyFile on hosts\n"); + //DEBUGOUT("about to call modifyFile on hosts\n"); int r1 = omcModifyFile("/etc/hosts", &fms, err1, 256); - //DEBUGOUT("%s", "about to call modifyFile on HOSTNAME\n"); + //DEBUGOUT("about to call modifyFile on HOSTNAME\n"); int r2 = omcModifyFile("/etc/HOSTNAME", &fms, err2, @@ -278,7 +278,7 @@ } } //exit: - DEBUGOUT("%s", "modifyComputerName() returning\n"); + DEBUGOUT("modifyComputerName() returning\n"); return bModified; } @@ -307,7 +307,7 @@ const CMPIResult * results, const CMPIObjectPath * cop) { - DEBUGOUT("%s", "EnumInstanceNames() called\n"); + DEBUGOUT("EnumInstanceNames() called\n"); CMPIStatus status = {CMPI_RC_OK, NULL}; char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); @@ -345,7 +345,7 @@ static CMPIInstance * CreateSettingDataInstance(const CMPIObjectPath * cop, const char ** properties) { - DEBUGOUT("%s", "CreateSettingDataInstance() called\n"); + DEBUGOUT("CreateSettingDataInstance() called\n"); CMPIStatus status = {CMPI_RC_OK, NULL}; char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); @@ -359,7 +359,7 @@ } else { - DEBUGOUT("%s", "About to set instance properties\n"); + DEBUGOUT("About to set instance properties\n"); status = CMSetPropertyFilter(instance, properties, (const char **)classKeys); @@ -373,7 +373,7 @@ exit: - DEBUGOUT("%s", "Leaving CreateSettingDataInstance()\n"); + DEBUGOUT("Leaving CreateSettingDataInstance()\n"); return instance; } @@ -394,7 +394,7 @@ const CMPIObjectPath * cop, const char ** properties) { - DEBUGOUT("%s", "EnumInstances() called\n"); + DEBUGOUT("EnumInstances() called\n"); CMPIStatus status = {CMPI_RC_OK, NULL}; //char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); @@ -432,7 +432,7 @@ const CMPIObjectPath * cop, const char ** properties) { - DEBUGOUT("%s", "GetInstance() called\n"); + DEBUGOUT("GetInstance() called\n"); CMPIStatus status = {CMPI_RC_OK, NULL}; //char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); @@ -481,7 +481,7 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("%s", "ModifyInstance() called\n"); + DEBUGOUT("ModifyInstance() called\n"); // do work here if supported if (getuid() != 0) @@ -490,11 +490,11 @@ "Insufficient rights to modify the host name setting data"); goto exit; } - DEBUGOUT("%s", "Past getuid\n"); + DEBUGOUT("Past getuid\n"); CMPIData key = CMGetKey(cop, "InstanceID", &status); if (!CMIsNullValue(key)) { - DEBUGOUT("%s", "Past getkey.\n"); + DEBUGOUT("Past getkey.\n"); if (strcmp(CMGetCharPtr(key.value.string), instanceID) == 0) { CMPIData newName = CMGetProperty(newinstance, "ComputerName", &status); @@ -509,7 +509,7 @@ if (strcmp(szNewHostName, csHostName) == 0) { - DEBUGOUT("%s", "HostNameSettingData::modifyInstance - Modified host name is the same as the old name. No action taken.\n"); + DEBUGOUT("HostNameSettingData::modifyInstance - Modified host name is the same as the old name. No action taken.\n"); } else { @@ -546,7 +546,7 @@ { CMPIStatus status = {CMPI_RC_ERR_NOT_SUPPORTED, NULL}; - DEBUGOUT("%s", "CreateInstance() called - Not Supported"); + DEBUGOUT("CreateInstance() called - Not Supported"); // do work here if supported @@ -569,7 +569,7 @@ { CMPIStatus status = {CMPI_RC_ERR_NOT_SUPPORTED, NULL}; - DEBUGOUT("%s", "DeleteInstance() called\n"); + DEBUGOUT("DeleteInstance() called\n"); // do work here if supported @@ -596,7 +596,7 @@ { CMPIStatus status = {CMPI_RC_ERR_NOT_SUPPORTED, NULL}; - DEBUGOUT("%s", "ExecQuery() called - Not Supported"); + DEBUGOUT("ExecQuery() called - Not Supported"); // do work here if supported @@ -617,7 +617,7 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("%s", "Cleanup() called\n"); + DEBUGOUT("Cleanup() called\n"); // do work here if necessary @@ -632,7 +632,7 @@ // **************************************************************************** static void Init(CMPIInstanceMI * self) { - DEBUGOUT("%s", "Initialize() called\n"); + DEBUGOUT("Initialize() called\n"); // do work here if necessary memset(g_szOldHostName, 0, 128); @@ -658,7 +658,7 @@ // **************************************************************************** static void MethodInit(CMPIMethodMI * self) { - DEBUGOUT("%s", "MethodInitialize() called\n"); + DEBUGOUT("MethodInitialize() called\n"); // do work here if necessary @@ -678,7 +678,7 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("%s", "MethodCleanup() called\n"); + DEBUGOUT("MethodCleanup() called\n"); // do work here if necessary @@ -707,7 +707,7 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("%s", "InvokeMethod() called\n"); + DEBUGOUT("InvokeMethod() called\n"); // do work here //CMPIString *class = NULL; Modified: cmpibase/trunk/src/providers/time-service/remoteTimeServicePort.c =================================================================== --- cmpibase/trunk/src/providers/time-service/remoteTimeServicePort.c 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/providers/time-service/remoteTimeServicePort.c 2006-11-02 21:50:53 UTC (rev 17) @@ -126,9 +126,8 @@ DEBUGOUT("RemoteTimeServicePort: EnumInstanceNames() called\n"); - if(omcGetRPMInstallDate("xntp")) + if(serverSupportsNTP()) { - DEBUGOUT(" got RPM Install Date for xntp\n"); int numServers = 0; NTPServer *sra = getNTPServers(&numServers); if (sra && numServers) @@ -148,6 +147,7 @@ CMReturnObjectPath(results, cop); } } + free(sra); } } CMReturnDone(results); @@ -185,9 +185,8 @@ DEBUGOUT("RemoteTimeServicePort: EnumInstances() called\n"); - if(omcGetRPMInstallDate("xntp")) + if(serverSupportsNTP()) { - DEBUGOUT(" got RPM Install Date for xntp\n"); int numServers = 0; NTPServer *sra = getNTPServers(&numServers); if (sra && numServers) @@ -208,6 +207,7 @@ CMReturnInstance(results, inst); } } + free(sra); } } CMReturnDone(results); @@ -241,26 +241,48 @@ const char ** properties) { CMPIStatus status = {CMPI_RC_OK, NULL}; + char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); DEBUGOUT("RemoteTimeServicePort: GetInstance() called\n"); - /* - CMPIObjectPath *op = makeTimeServiceObjectPath(ns, &status); + CMPIData key = CMGetKey(cop, "Name", &status); + if (!CMIsNullValue(key)) + { + char *inServerName = CMGetCharPtr(key.value.string); + DEBUGOUT(" got servername: %s\n", inServerName); - if (omccmpiAreObjectPathsSame(cop, op, &status)) - { - CMPIInstance *inst = makeTimeServiceInstance(ns, &status, properties); - if ((status.rc != CMPI_RC_OK) || CMIsNullObject(inst)) + NTPServer *ntpServer = getNTPServer(inServerName); + if (ntpServer) { - OMC_SETSTATUS(_broker, &status, CMPI_RC_ERROR_SYSTEM, "Failed creating TimeService instance"); - DEBUGOUT("EnumInstances(): makeTimeServiceInstance() failed - %s\n", CMGetCharPtr(status.msg)); + DEBUGOUT(" got NTPServer: %s\n", ntpServer->serverName); + CMPIInstance *inst = makeRemoteTimeServicePortInstance( + _broker, + ns, + ntpServer->serverName, + &status, + properties); + if (!CMIsNullObject(cop)) + { + CMReturnInstance(results, inst); + } + free(ntpServer); + } + else + { + OMC_SETSTATUS(_broker, &status, CMPI_RC_ERR_FAILED, "Didn't find ntpServer in file"); + DEBUGOUT("RemoteTimeServerPort: getNTPServer() failed - %s\n", CMGetCharPtr(status.msg)); return status; } - CMReturnInstance(results, inst); } CMReturnDone(results); - */ + if (status.rc != CMPI_RC_OK) + { + OMC_SETSTATUS(_broker, &status, CMPI_RC_ERROR_SYSTEM, "Failed creating RemotePort instance"); + DEBUGOUT("RemoteTimeServerPort::GetInstance() failed - %s\n", CMGetCharPtr(status.msg)); + return status; + } + DEBUGOUT("RemoteTimeServicePort: Leaving GetInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -285,8 +307,62 @@ DEBUGOUT("RemoteTimeServicePort: ModifyInstance() called - Not Supported\n"); - // do work here if supported + //TODO: this should support ModifyInstance - edit an entry in the file +/* + if (::geteuid() != 0) + { + OW_THROWCIM(CIMException::ACCESS_DENIED); + } + if(!serverSupportsNTP()) + { + OW_THROWCIMMSG(CIMException::NOT_SUPPORTED, + "NTP Support is not available"); + } + + CIMInstance mci = modifiedInstance.createModifiedInstance( + previousInstance, includeQualifiers, propertyList, theClass); + + CIMValue cv = mci.getPropertyValue("Name"); + if(!cv) + { + OW_THROWCIMMSG(CIMException::INVALID_PARAMETER, + "Name property must be specified"); + } + + NTPServer server; + cv.get(server.serverName); + if(server.serverName.empty()) + { + OW_THROWCIMMSG(CIMException::INVALID_PARAMETER, + "Name property must be specified"); + } + + cv = mci.getPropertyValue("Prefer"); + if(cv) + { + Bool prefer; + cv.get(prefer); + server.prefer = prefer; + } + + server.key = getUIntFromCIMValue("key", mci); + server.ntpVersion = getUIntFromCIMValue("ntpversion", mci); + server.minPoll = getUIntFromCIMValue("minpoll", mci); + server.maxPoll = getUIntFromCIMValue("maxpoll", mci); + + if(NTPConf::setServer(server) != 0) + { + OW_THROWCIM(CIMException::FAILED); + } + + String errMsg; + if(restartNTP(errMsg) != 0) + { + OW_THROWCIMMSG(CIMException::FAILED, errMsg.c_str()); + } + +*/ DEBUGOUT("RemoteTimeServicePort: Leaving ModifyInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -310,8 +386,60 @@ DEBUGOUT("RemoteTimeServicePort: CreateInstance() called - Not Supported\n"); - // do work here if supported + //TODO: this should support CreateInstance - add an entry to the file + /* + if (::geteuid() != 0) + { + OW_THROWCIM(CIMException::ACCESS_DENIED); + } + if(!serverSupportsNTP()) + { + OW_THROWCIMMSG(CIMException::NOT_SUPPORTED, + "NTP Support is not available"); + } + + CIMValue cv = cimInstance.getPropertyValue("Name"); + if(!cv) + { + OW_THROWCIMMSG(CIMException::INVALID_PARAMETER, + "Name property must be specified"); + } + + NTPServer server; + cv.get(server.serverName); + if(server.serverName.empty()) + { + OW_THROWCIMMSG(CIMException::INVALID_PARAMETER, + "Name property must be specified"); + } + + if((cv = cimInstance.getPropertyValue("Prefer"))) + { + Bool prefer; + cv.get(prefer); + server.prefer = prefer; + } + + server.key = getUIntFromCIMValue("key", cimInstance); + server.ntpVersion = getUIntFromCIMValue("ntpversion", cimInstance); + server.minPoll = getUIntFromCIMValue("minpoll", cimInstance); + server.maxPoll = getUIntFromCIMValue("maxpoll", cimInstance); + + if(NTPConf::setServer(server) != 0) + { + OW_THROWCIM(CIMException::FAILED); + } + + String errMsg; + if(restartNTP(errMsg) != 0) + { + OW_THROWCIMMSG(CIMException::FAILED, errMsg.c_str()); + } + + return makeRemotePortObjectPath(server.serverName, env, ns); + */ + DEBUGOUT("RemoteTimeServicePort: Leaving CreateInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -333,8 +461,46 @@ DEBUGOUT("RemoteTimeServicePort: DeleteInstance() called\n"); - // do work here if supported + //TODO: this should support DeleteInstance - remove an entry from the file +/* + if (::geteuid() != 0) + { + OW_THROWCIM(CIMException::ACCESS_DENIED); + } + if(!serverSupportsNTP()) + { + OW_THROWCIMMSG(CIMException::NOT_SUPPORTED, + "NTP Support is not available"); + } + + CIMValue cv = cop.getKeyValue("Name"); + if(!cv) + { + OW_THROWCIMMSG(CIMException::INVALID_PARAMETER, + "Name is missing from given object path"); + } + + String serverName; + cv.get(serverName); + if(serverName.length() == 0) + { + OW_THROWCIMMSG(CIMException::INVALID_PARAMETER, + "Name is missing from given object path"); + } + + if(NTPConf::deleteServer(serverName) != 0) + { + OW_THROWCIM(CIMException::FAILED); + } + + String errMsg; + if(restartNTP(errMsg) != 0) + { + OW_THROWCIMMSG(CIMException::FAILED, errMsg.c_str()); + } + +*/ DEBUGOUT("RemoteTimeServicePort: Leaving DeleteInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } Modified: cmpibase/trunk/src/providers/time-service/timeZoneSettingData.c =================================================================== --- cmpibase/trunk/src/providers/time-service/timeZoneSettingData.c 2006-11-02 19:02:03 UTC (rev 16) +++ cmpibase/trunk/src/providers/time-service/timeZoneSettingData.c 2006-11-02 21:50:53 UTC (rev 17) @@ -1,14 +1,53 @@ -// place copyright notice here +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* Author: Norm Paxton (np...@no...) +******************************************************************************/ -#include "cmpidt.h" -#include "cmpift.h" -#include "cmpimacs.h" +#include <cmpidt.h> +#include <cmpift.h> +#include <cmpimacs.h> +#include <stdlib.h> +#include <unistd.h> +#include <omc/base.h> +#include <omc/string.h> +#include <omc/modifyFile.h> +#include <omc/exec.h> + // NULL terminated list of key property names for this class -static char * classKeys[] = {"FooKey", NULL}; +static char className[] = "OMC_TimeZoneSettingData"; +static char * classKeys[] = {"InstanceID", NULL}; +static char instanceID[] = "omc:timezone"; -#ifdef DEBUG +#ifdef OMC_DEBUG #define DEBUGOUT(fmt, args...) printf(fmt,## args) #else #define DEBUGOUT(fmt, args...) @@ -17,7 +56,7 @@ // Global handle to the CIM broker // This is initialized by the CIMOM when the provider is loaded -static CMPIBroker * _broker; +static const CMPIBroker * _broker; // **************************************************************************** @@ -51,6 +90,203 @@ */ + + +char g_szOldTimeZone[128]; +char g_szNewTimeZone[128]; + + +// ************* +// Functions to facilitate modifying the host name setting data +// ************* +// +// //int (*writeLine)(const char* line, FILE* const ostrm, char* errMsgBfr, unsigned int errMsgBfrLen); +/* +static int myWriteLine( const char* line, + FILE* const ostrm, + char* errMsgBfr, + unsigned int errMsgBfrLen) +{ + //DEBUGOUT("writeLine() called\n"); + + // trim this? + if (line[0] == '#') + { + // just write it and ignore it + fputs(line, ostrm); + fputs("\n", ostrm); + return 0; + } + + int bModified = 0; + unsigned int tokenCount = 0; + char** toks = omcStrTokenize(line, ", \t", &tokenCount); + int i=0; + if (toks && toks[i]) + { + //DEBUGOUT("line: %s\n", line); + while (toks[i]) + { + //DEBUGOUT(" toks[%d]: %s\n", i, toks[i]); + if(strcmp(toks[i], g_szOldHostName) == 0) + { + toks[i] = g_szNewHostName; + bModified = 1; + //DEBUGOUT(" matched: %s == %s\n", toks[i], g_szOldHostName); + } + else + { + //DEBUGOUT(" didn't match: %s != %s\n", toks[i], g_szOldHostName); + } + + if(strcmp(toks[i], g_szOldShortName) == 0) + { + toks[i] = g_szNewShortName; + bModified = 1; + //DEBUGOUT(" matched: %s != %s\n", toks[i], g_szOldShortName); + } + else + { + //DEBUGOUT(" didn't match: %s != %s\n", toks[i], g_szOldShortName); + } + + i++; + } + + if(bModified > 0) + { + int newlen = (strlen(line)+1) + (strlen(g_szNewHostName)); + char *newline = (char*) malloc(newlen); + memset(newline, 0, newlen); + i = 0; + while(toks[i]) + { + omcStrAppend(newline, toks[i], newlen); + omcStrAppend(newline, "\t", newlen); + i++; + } + //DEBUGOUT("writing new line: %s\n", newline); + fputs(newline, ostrm); + fputs("\n", ostrm); + free(newline); + } + else + { + // didn't modify this line, just write it back out... + // bModify is still 0, let end return handle it + fputs(line, ostrm); + fputs("\n", ostrm); + } + + } + free(toks); + + //DEBUGOUT("writeLine() returning... modified: %d\n", bModified); + + return bModified; +} + + +static int modifyComputerName(const char *curComputerName, + const char *newComputerName) +{ + DEBUGOUT("modifyComputerName() called\n"); + + int bModified = 0; + + strncpy(g_szOldHostName, curComputerName, 127); + strncpy(g_szNewHostName, newComputerName, 127); + + //DEBUGOUT("Set OldHostName to %s\n", g_szOldHostName ); + //DEBUGOUT("Set NewHostName to %s\n", g_szNewHostName ); + + char * loc = NULL; + int len = 0; + loc = strchr(curComputerName, (int)'.'); + len = (int)((char *)loc - (char *)curComputerName); + if (len > 0) + { + strncpy(g_szOldShortName, curComputerName, len); + //DEBUGOUT("Set OldShortName to %s\n", g_szOldShortName ); + } + + loc = strchr(newComputerName, (int)'.'); + len = (int)((char *)loc - (char *)newComputerName); + if (len > 0) + { + strncpy(g_szNewShortName, newComputerName, len); + //DEBUGOUT("Set NewShortName to %s\n", g_szNewShortName ); + } + + + omcFileModifier_CBS fms = {0}; + fms.writeLine = myWriteLine; + + char err1[256] = {0}; + char err2[256] = {0}; + + //DEBUGOUT("about to call modifyFile on hosts\n"); + int r1 = omcModifyFile("/etc/hosts", + &fms, + err1, + 256); + + //DEBUGOUT("about to call modifyFile on HOSTNAME\n"); + int r2 = omcModifyFile("/etc/HOSTNAME", + &fms, + err2, + 256); + + if (r1 || r2) + { + DEBUGOUT("Modifying File returned error:\n hosts: %s\n HOSTNAME: %s\n Attempting rollback\n", + err1, err2); + r1 = omcModifyRollBack("/etc/hosts", + err1, + 256 ); + r2 = omcModifyRollBack("/etc/HOSTNAME", + err2, + 256 ); + if (r1 || r2) + { + DEBUGOUT("Rollback failed. use .orig file for /etc/hosts and /etc/HOSTNAME\n err1: %s\n err2: %s", + err1, err2); + } + } + else + { + char *cmd[] = {"/bin/hostname", g_szNewShortName}; + int rSys = omcSafeSystem(cmd, NULL); + if (rSys != 0) + { + DEBUGOUT("Call to /bin/hostname failed. Unable to modify hostname"); + //CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, + // "Call to /bin/hostname failed. Unable to modify hostname"); + + r1 = omcModifyRollBack("/etc/hosts", + err1, + 256 ); + r2 = omcModifyRollBack("/etc/HOSTNAME", + err2, + 256 ); + if (r1 || r2) + { + DEBUGOUT("Rollback failed. use .orig file for /etc/hosts and /etc/HOSTNAME\n err1: %s\n err2: %s", + err1, err2); + } + } + } +//exit: + DEBUGOUT("modifyComputerName() returning\n"); + + return bModified; +} +*/ + + + + + // **************************************************************************** // CMPI INSTANCE PROVIDER FUNCTIONS // **************************************************************************** @@ -70,16 +306,27 @@ const CMPIResult * results, const CMPIObjectPath * cop) { + DEBUGOUT("TimeZoneSettingData: EnumInstanceNames() called\n"); + CMPIStatus status = {CMPI_RC_OK, NULL}; char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); - DEBUGOUT("EnumInstanceNames() called"); + CMPIObjectPath *op = makeTimeZoneSettingDataObjectPath(_broker, ns, &status); - // do work here + if ((status.rc != CMPI_RC_OK) || CMIsNullObject(objectpath)) + { + CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, + "Could not create TimeZoneSettingData ObjectPath"); + } + else + { + CMReturnObjectPath(results, op); + } + //close return handler CMReturnDone(results); - DEBUGOUT("Leaving EnumInstanceNames(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving EnumInstanceNames(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -98,16 +345,27 @@ const CMPIObjectPath * cop, const char ** properties) { + DEBUGOUT("EnumInstances() called\n"); + CMPIStatus status = {CMPI_RC_OK, NULL}; char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); - DEBUGOUT("EnumInstances() called"); + CMPIInstance *inst = makeTimeZoneSettingDataInstance(_broker, ns, &status, properties); - // do work here + if ((status.rc != CMPI_RC_OK) || CMIsNullObject(inst)) + { + CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, + "Could not create TimeZoneSettingData Instance"); + } + else + { + CMReturnInstance(results, inst); + } + //close return handler CMReturnDone(results); - DEBUGOUT("Leaving EnumInstances(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving EnumInstances(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -126,14 +384,39 @@ const CMPIObjectPath * cop, const char ** properties) { + DEBUGOUT("GetInstance() called\n"); + CMPIStatus status = {CMPI_RC_OK, NULL}; - char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); + //char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); - DEBUGOUT("GetInstance() called"); - // do work here + CMPIData key = CMGetKey(cop, "InstanceID", &status); + if (!CMIsNullValue(key)) + { + if (strcasecmp(CMGetCharPtr(key.value.string), "omc:timezone") == 0) + { + CMPIStatus status = {CMPI_RC_OK, NULL}; + char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); - DEBUGOUT("Leaving GetInstance(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + CMPIInstance *inst = makeTimeZoneSettingDataInstance(_broker, ns, &status, properties); + + if ((status.rc != CMPI_RC_OK) || CMIsNullObject(inst)) + { + CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, + "Could not create TimeZoneSettingData Instance"); + } + else + { + CMReturnInstance(results, inst); + } + } + + //close return handler + CMReturnDone(results); + } + +exit: + DEBUGOUT("Leaving GetInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -153,13 +436,53 @@ const CMPIInstance * newinstance, const char ** properties) { - CMPIStatus status = {CMPI_RC_ERR_NOT_SUPPORTED, NULL}; + CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("ModifyInstance() called - Not Supported"); + DEBUGOUT("ModifyInstance() called\n"); // do work here if supported + if (getuid() != 0) + { + CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_ACCESS_DENIED, + "Insufficient rights to modify the host name setting data"); + goto exit; + } + DEBUGOUT("Past getuid\n"); + CMPIData key = CMGetKey(cop, "InstanceID", &status); + if (!CMIsNullValue(key)) + { + DEBUGOUT("Past getkey.\n"); + if (strcmp(CMGetCharPtr(key.value.string), instanceID) == 0) + { + CMPIData newName = CMGetProperty(newinstance, "ComputerName", &status); + if (!CMIsNullValue(newName)) + { + char *szNewHostName = CMGetCharPtr(newName.value.string); + DEBUGOUT("newHostName: %s\n", szNewHostName); - DEBUGOUT("Leaving ModifyInstance(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + // get current computer system name, to compare + char csHostName[128] = {0}; + omcGetComputerSystemName(csHostName, 128); + + if (strcmp(szNewHostName, csHostName) == 0) + { + DEBUGOUT("HostNameSettingData::modifyInstance - Modified host name is the same as the old name. No action taken.\n"); + } + else + { + if (modifyComputerName(csHostName, szNewHostName) != 0) + { + CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, + "Failed to modify the computer name via hostNameSettingData"); + goto exit; + } + } + } + } + } + +exit: + DEBUGOUT("Leaving ModifyInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -184,7 +507,7 @@ // do work here if supported - DEBUGOUT("Leaving CreateInstance(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving CreateInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -203,11 +526,11 @@ { CMPIStatus status = {CMPI_RC_ERR_NOT_SUPPORTED, NULL}; - DEBUGOUT("DeleteInstance() called"); + DEBUGOUT("DeleteInstance() called\n"); // do work here if supported - DEBUGOUT("Leaving DeleteInstance(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving DeleteInstance(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -234,7 +557,7 @@ // do work here if supported - DEBUGOUT("Leaving ExecQuery(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving ExecQuery(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -251,11 +574,11 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("Cleanup() called"); + DEBUGOUT("Cleanup() called\n"); // do work here if necessary - DEBUGOUT("Leaving Cleanup(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving Cleanup(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -266,359 +589,22 @@ // **************************************************************************** static void Init(CMPIInstanceMI * self) { - CMPIStatus status = {CMPI_RC_OK, NULL}; + DEBUGOUT("Initialize() called\n"); - DEBUGOUT("Initialize() called"); - // do work here if necessary + memset(g_szOldHostName, 0, 128); + memset(g_szNewHostName, 0, 128); + memset(g_szOldShortName, 0, 128); + memset(g_szNewShortName, 0, 128); - DEBUGOUT("Leaving Initialize(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving Initialize(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); } - +/* // **************************************************************************** -// CMPI ASSOCIATION PROVIDER FUNCTIONS -// **************************************************************************** - - -static char * ASSOC_CLASSNAME = "OMC_ComputerSystemHostNameSettingData"; -static char * LEFT_CLASSNAME = "OMC_UnitaryComputerSystem"; -static char * RIGHT_CLASSNAME = "OMC_HostNameSettingData"; -static char * LEFT_PROPERTYNAME = "ManagedElement"; -static char * RIGHT_PROPERTYNAME = "SettingData"; - -// **************************************************************************** -// doReferences() -// This is the callback called from the SimpleAssociators helper functions -// It "handles" one or more instances of the association class -// to be filtered by the SimpleAssociatior helper functions to return -// the correct object (instance or object path) -// **************************************************************************** -CMPIStatus -doReferences( - omccmpiSimpleAssocCtx ctx, - CMPIAssociationMI* self, - const CMPIBroker *broker, - const CMPIContext* context, - const CMPIResult* results, - const CMPIObjectPath* cop, - const char *assocClass, - const char *resultClass, - const char *role, - const char *resultRole, - const char** properties) -{ - DEBUGOUT("doReferences called\n"); - - CMPIStatus status = {CMPI_RC_OK, NULL}; - char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); - - if (strcasecmp(assocClass, ASSOC_CLASSNAME) == 0) - { - char *objClassName = CMGetCharPtr(CMGetClassName(cop, NULL)); - - if(strcasecmp(objClassName, LEFT_CLASSNAME) == 0) - { - // this is a LEFT_CLASSNAME - // need to get approprate RIGHT_CLASSNAME for ASSOC_CLASSNAME inst - // but if resultClass is set, it must match - - int bHaveMatch = 1; // TRUE - if ((resultClass != NULL) && (*resultClass != 0)) - { - // check - if (!omccmpiClassIsDerivedFrom(RIGHT_CLASSNAME, - resultClass, - _broker,ns,&status)) - { - bHaveMatch = 0; // FALSE - } - } - - if ((resultRole != NULL) && (*resultRole != 0)) - { - // check - if (strcasecmp(resultRole, RIGHT_PROPERTYNAME) != 0) - { - bHaveMatch = 0; // FALSE - } - } - - if (bHaveMatch) - { - // do work here: - // create and return the appropriate association instance(s) - // - // loop, if necesssary - // do appropriate checks - - // the left cop was passed in - CMPIObjectPath *leftCop = cop; - - // get or create right side object path - CMPIObjectPath *rightCop = CMNewObjectPath(_broker, ns, RIGHT_CLASSNAME, &status); - // add keys - - - // create association instance - CMPIInstance *assocInst = omccmpiCreateAssociationInst(_broker, - ns, - ASSOC_CLASSNAME, - classKeys, - properties, - LEFT_PROPERTYNAME, - RIGHT_PROPERTYNAME, - leftCop, - rightCop, - &status); - // "handle" the association - omccmpiSimpleAssocResults(ctx, assocInst, &status); - } - } - else if(strcmp(objClassName, RIGHT_CLASSNAME) == 0) - { - // this is a RIGHT_CLASSNAME - // need to get approprate LEFT_CLASSNAME for ASSOC_CLASSNAME inst - // but if resultClass is set, it must match - - int bHaveMatch = 1; // TRUE - if ((resultClass != NULL) && (*resultClass != 0)) - { - // check - if (!omccmpiClassIsDerivedFrom(LEFT_CLASSNAME, - resultClass, - _broker,ns,&status)) - { - bHaveMatch = 0; // FALSE - } - } - - if ((resultRole != NULL) && (*resultRole != 0)) - { - // check - if (strcasecmp(resultRole, LEFT_PROPERTYNAME) != 0) - { - bHaveMatch = 0; // FALSE - } - } - - if (bHaveMatch) - { - // do work here: - // create and return the appropriate association instance(s) - // - // loop, if necesssary - // do appropriate checks - - // get or create left side object path - CMPIObjectPath *leftCop = CMNewObjectPath(_broker, ns, LEFT_CLASSNAME, &status); - // add keys - - // the right cop was passed in - CMPIObjectPath *rightCop = cop; - - - // create association instance - CMPIInstance *assocInst = omccmpiCreateAssociationInst(_broker, - ns, - ASSOC_CLASSNAME, - classKeys, - properties, - LEFT_PROPERTYNAME, - RIGHT_PROPERTYNAME, - leftCop, - rightCop, - &status); - // "handle" the association - omccmpiSimpleAssocResults(ctx, assocInst, &status); - } - } - else - { - DEBUGOUT("!!! Object type unknown: %s\n", objClassName); - } - } - //close return handler - CMReturnDone(results); - - DEBUGOUT("Leaving doReferences\n"); - return status; -} - - - -// **************************************************************************** -// AssocInit() - init -// params: CMPIAssociationMI* self: [in] Handle to this provider -// **************************************************************************** -static void AssocInit(CMPIAssociationMI * self) -{ - CMPIStatus status = {CMPI_RC_OK, NULL}; - - DEBUGOUT("AssocInit() called"); - - // do work here if necessary - - DEBUGOUT("Leaving AssocInit(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); -} - - - -// **************************************************************************** -// AssociationCleanup() - pre unload -// params: CMPIAssociationMI* self: [in] Handle to this provider -// CMPIContext* context: [in] any additional context info -// CMPIBoolean terminating -// **************************************************************************** -static CMPIStatus AssociationCleanup(CMPIAssociationMI* self, - const CMPIContext* context, - CMPIBoolean terminating) -{ - CMPIStatus status = {CMPI_RC_OK, NULL}; - - DEBUGOUT("AssociationCleanup() called"); - - // do work here if necessary - - DEBUGOUT("Leaving AssociationCleanup(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); - return status; -} - - -// **************************************************************************** -// Associators() -// params: CMPIAssociationMI* self: [in] Handle to this provider -// CMPIContext* context: [in] any additional context info -// CMPIResult* results: [out] Results -// CMPIObjectPath* cop: [in] target namespace and classname, and desired objectpath -// char *assocClass -// char *resultClass -// char *role -// char *resultRole -// char **properties -// **************************************************************************** -static CMPIStatus Associators( CMPIAssociationMI* self, - const CMPIContext* context, - const CMPIResult* results, - const CMPIObjectPath* cop, - const char *assocClass, - const char *resultClass, - const char *role, - const char *resultRole, - const char** properties) -{ - CMPIStatus status = {CMPI_RC_OK, NULL}; - - DEBUGOUT("Associators() called"); - - CMPIStatus status = omccmpiSimpleAssociators( doReferences, self, - _broker, context, results, cop, assocClass, - resultClass, role, resultRole, properties); - - DEBUGOUT("Leaving Associatiors(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); - return status; -} - - -// **************************************************************************** -// Associators() -// params: CMPIAssociationMI* self: [in] Handle to this provider -// CMPIContext* context: [in] any additional context info -// CMPIResult* results: [out] Results -// CMPIObjectPath* cop: [in] target namespace and classname, and desired objectpath -// char *assocClass -// char *resultClass -// char *role -// char *resultRole -// **************************************************************************** -static CMPIStatus AssociatorNames(CMPIAssociationMI* self, - const CMPIContext* context, - const CMPIResult* results, - const CMPIObjectPath* cop, - const char *assocClass, - const char *resultClass, - const char *role, - const char *resultRole) -{ - CMPIStatus status = {CMPI_RC_OK, NULL}; - - DEBUGOUT("AssociatorNames() called"); - - CMPIStatus status = omccmpiSimpleAssociatorNames( doReferences, self, - _broker, context, results, cop, assocClass, - resultClass, role, resultRole); - - DEBUGOUT("Leaving AssociatiorNames(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); - return status; -} - - -// **************************************************************************** -// References() -// params: CMPIAssociationMI* self: [in] Handle to this provider -// CMPIContext* context: [in] any additional context info -// CMPIResult* results: [out] Results -// CMPIObjectPath* cop: [in] target namespace and classname, and desired objectpath -// char *resultClass -// char *role -// char **properties -// **************************************************************************** -static CMPIStatus References( CMPIAssociationMI* self, - const CMPIContext* context, - const CMPIResult* results, - const CMPIObjectPath* cop, - const char *resultClass, - const char *role , - const char** properties) -{ - CMPIStatus status = {CMPI_RC_OK, NULL}; - - DEBUGOUT("References() called"); - - CMPIStatus status = omccmpiSimpleReferences( doReferences, self, - _broker, context, results, cop, NULL, - resultClass, role, NULL, properties); - - DEBUGOUT("Leaving References(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); - return status; -} - - -// **************************************************************************** -// ReferenceNames() -// params: CMPIAssociationMI* self: [in] Handle to this provider -// CMPIContext* context: [in] any additional context info -// CMPIResult* results: [out] Results -// CMPIObjectPath* cop: [in] target namespace and classname, and desired objectpath -// char *resultClass -// char *role -// **************************************************************************** -static CMPIStatus ReferenceNames(CMPIAssociationMI* self, - const CMPIContext* context, - const CMPIResult* results, - const CMPIObjectPath* cop, - const char* resultClass, - const char* role) -{ - CMPIStatus status = {CMPI_RC_OK, NULL}; - - DEBUGOUT("ReferenceNames() called"); - - CMPIStatus status = omccmpiSimpleReferenceNames( doReferences, self, - _broker, context, results, cop, NULL, - resultClass, role, NULL); - - DEBUGOUT("Leaving ReferenceNames(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); - return status; -} - - - - -// **************************************************************************** // CMPI METHOD PROVIDER FUNCTIONS // **************************************************************************** @@ -629,13 +615,11 @@ // **************************************************************************** static void MethodInit(CMPIMethodMI * self) { - CMPIStatus status = {CMPI_RC_OK, NULL}; + DEBUGOUT("MethodInitialize() called\n"); - DEBUGOUT("MethodInitialize() called"); - // do work here if necessary - DEBUGOUT("Leaving MethodInitialize(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving MethodInitialize(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); } @@ -651,11 +635,11 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("MethodCleanup() called"); + DEBUGOUT("MethodCleanup() called\n"); // do work here if necessary - DEBUGOUT("Leaving MethodCleanup(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving MethodCleanup(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -680,23 +664,23 @@ { CMPIStatus status = {CMPI_RC_OK, NULL}; - DEBUGOUT("InvokeMethod() called"); + DEBUGOUT("InvokeMethod() called\n"); // do work here - // CMPIString *class = NULL; - // class = CMGetClassName(ref, &status); - // if (strcasecmp(CMGetCharPtr(class), OMC_FooClass) == 0) && - // strcasecmp("MyMethodName", methodName == 0) - // {} + //CMPIString *class = NULL; + //class = CMGetClassName(ref, &status); + //if (strcasecmp(CMGetCharPtr(class), OMC_FooClass) == 0) && + // strcasecmp("MyMethodName", methodName == 0) + //{ + //} - - DEBUGOUT("Leaving InvokeMethod(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); + DEBUGOUT("Leaving InvokeMethod(): %s\n", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } +*/ - // **************************************************************************** // SETUP CMPI INSTANCE PROVIDER FUNCTION TABLE // **************************************************************************** @@ -714,9 +698,6 @@ If no additional init is required, specify "CMNoHook" */ -CMInstanceMIStub( , OMC_FooClass_Provider, _broker, Init(&mi)); -CMMethodMIStub( , OMC_FooClass_Provider, _broker, MethodInit(&mi)); -CMAssociationMIStub( , OMC_FooAssocClass_Provider, _broker, AssocInit(&mi)); +CMInstanceMIStub( , OMC_HostNameSettingData_Provider, _broker, Init(&mi)); +//CMMethodMIStub( , OMC_HostNameSettingData_Provider, _broker, MethodInit(&mi)); - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bni...@us...> - 2006-11-02 19:02:14
|
Revision: 16 http://svn.sourceforge.net/omc/?rev=16&view=rev Author: bnicholes Date: 2006-11-02 11:02:03 -0800 (Thu, 02 Nov 2006) Log Message: ----------- configure.ac fix so the search for headers occurs after reading --with options from command line and CXXFLAGS is properly set with -I options Submitted by: Jeff McMenomey jeff.mcmenomey hp.com Modified Paths: -------------- clp/trunk/configure.ac Modified: clp/trunk/configure.ac =================================================================== --- clp/trunk/configure.ac 2006-11-02 00:56:40 UTC (rev 15) +++ clp/trunk/configure.ac 2006-11-02 19:02:03 UTC (rev 16) @@ -10,13 +10,6 @@ AM_PROG_LEX AC_PROG_YACC -# Checks for header files. -AC_CHECK_HEADERS([openwbem/OW_config.h],,[AC_MSG_ERROR(Missing OpenWBEM headers: likely won't compile)]) -AC_CHECK_HEADERS([readline/readline.h],,[AC_MSG_ERROR(Missing headers for readline library: likely won't compile)]) - -DEBUG_FLAGS="-DDEBUG -g -O0" # Additional debugging flags. -OPT_FLAGS=" -DNDEBUG -O2" # Additional optimization flags. - if ! env | grep "CXXFLAGS"; then CXXFLAGS="" fi @@ -80,6 +73,13 @@ ] ) +# Checks for header files. +AC_CHECK_HEADERS(openwbem/OW_config.h,,[AC_MSG_ERROR(Missing OpenWBEM headers: likely won't compile)]) +AC_CHECK_HEADERS(readline/readline.h,,[AC_MSG_ERROR(Missing headers for readline library: likely won't compile)]) + +DEBUG_FLAGS="-DDEBUG -g -O0" # Additional debugging flags. +OPT_FLAGS=" -DNDEBUG -O2" # Additional optimization flags. + ####################################################################### AC_ARG_WITH(package-prefix, [ --with-package-prefix=PREFIX specify an optional prefix for @@ -199,7 +199,6 @@ AC_SUBST(PIDFILE_DIR) AC_DEFINE_UNQUOTED(PIDFILE_DIR, "${PIDFILE_DIR}", "PID file directory") - AC_OUTPUT(Makefile src/Makefile src/clpaddrgram/Makefile This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jc...@us...> - 2006-11-02 00:56:42
|
Revision: 15 http://svn.sourceforge.net/omc/?rev=15&view=rev Author: jcarey Date: 2006-11-01 16:56:40 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Fixed command for getting RPM install date Modified Paths: -------------- cmpibase/trunk/src/providers/operating-system/LinuxOSInfo.c Modified: cmpibase/trunk/src/providers/operating-system/LinuxOSInfo.c =================================================================== --- cmpibase/trunk/src/providers/operating-system/LinuxOSInfo.c 2006-11-02 00:14:50 UTC (rev 14) +++ cmpibase/trunk/src/providers/operating-system/LinuxOSInfo.c 2006-11-02 00:56:40 UTC (rev 15) @@ -404,18 +404,19 @@ unsigned int outputSize; const char* distName = omcLinuxOS_getName(); - const char *cmd[5]; + const char *cmd[6]; cmd[0] = "/bin/rpm"; cmd[1] = "-q"; - cmd[2] = "--queryformat %{INSTALLTIME}"; - cmd[3] = NULL; /* Will point to rpm name */ - cmd[4] = NULL; /* NULL termination */ + cmd[2] = "--queryformat"; + cmd[3] = "%{INSTALLTIME}"; + cmd[4] = NULL; /* Will point to rpm name */ + cmd[5] = NULL; /* NULL termination */ /* First attempt to determine the installation date through RPM */ for (i =0; i < INSTALL_RPM_DATA_SIZE; i++) { if (strstr(distName, install_rpm_data[i].distro)) { - cmd[3] = install_rpm_data[i].file; + cmd[4] = install_rpm_data[i].file; output = NULL; if (omcExecuteProcessAndGatherOutputAndError((char* const*) cmd, NULL, &output, &outputSize, -1, NULL, NULL, -1, NULL, &status, -1) == 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ba...@us...> - 2006-11-02 00:14:50
|
Revision: 14 http://svn.sourceforge.net/omc/?rev=14&view=rev Author: bartw Date: 2006-11-01 16:14:50 -0800 (Wed, 01 Nov 2006) Log Message: ----------- fixed segfault Modified Paths: -------------- base/trunk/src/lib/omc/Base.cpp Modified: base/trunk/src/lib/omc/Base.cpp =================================================================== --- base/trunk/src/lib/omc/Base.cpp 2006-11-02 00:13:58 UTC (rev 13) +++ base/trunk/src/lib/omc/Base.cpp 2006-11-02 00:14:50 UTC (rev 14) @@ -146,7 +146,7 @@ *pExitStatus = pstat.exitStatus(); } - if(*pExitStatus == 0) // If status is zero, rpm ran successfully + if(pstat.exitStatus() == 0) // If status is zero, rpm ran successfully { try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ba...@us...> - 2006-11-02 00:14:01
|
Revision: 13 http://svn.sourceforge.net/omc/?rev=13&view=rev Author: bartw Date: 2006-11-01 16:13:58 -0800 (Wed, 01 Nov 2006) Log Message: ----------- ported to OpenWBEM-4 Modified Paths: -------------- smash/trunk/Makefile.incl.am smash/trunk/src/lib/omc-ipmi/IpmiFruBoard.hpp smash/trunk/src/providers/device/ipmi/RawIpmiProvider.cpp smash/trunk/src/providers/ip-interface-profile/IPScanner.cpp Added Paths: ----------- smash/trunk/genreg.py smash/trunk/reglist.in Modified: smash/trunk/Makefile.incl.am =================================================================== --- smash/trunk/Makefile.incl.am 2006-11-01 23:59:10 UTC (rev 12) +++ smash/trunk/Makefile.incl.am 2006-11-02 00:13:58 UTC (rev 13) @@ -2,7 +2,7 @@ # MACROS and VARIABLES # *********************************************************************** -providerdir = $(libdir)/openwbem/c++providers +providerdir = $(libdir)/openwbem/oopproviders # *********************************************************************** Added: smash/trunk/genreg.py =================================================================== --- smash/trunk/genreg.py (rev 0) +++ smash/trunk/genreg.py 2006-11-02 00:13:58 UTC (rev 13) @@ -0,0 +1,79 @@ +#!/usr/bin/python + +import sys + +lines = sys.stdin.readlines() + +dict = {} + +for line in lines: + sline = line.split() + if len(sline) != 11: + continue + if [ sline[5], sline[7]] != ['Registering', 'provider']: + continue + if sline[8][:5] != 'c++::': + continue + klass = sline[10] + ns = None + if klass.count(':') > 0: + tmp = klass.split(':') + klass = tmp[1] + ns = tmp[0] + if klass.find('/') > 0: + klass = klass.split('/')[0] + prov = sline[8][5:] + type = None + stype = sline[6] + if stype == 'instance': + type = '1' + elif stype == 'method': + type = '6' + elif stype == 'associator': + type = '3' + assert (type is not None) + + if ns is None: + ns = '<TODO>' + print "// %s %s %s %s" % (sline[6],prov,ns,klass) + key = (klass,prov) + if key not in dict.keys(): + dict[key] = (klass, prov, [], []) + assert(dict[key][1] == prov) + if type not in dict[key][2]: + dict[key][2].append(type) + if ns not in dict[key][3]: + dict[key][3].append(ns) + +#print str(dict) + +for v in dict.values(): + stype = '{' + for i in v[2]: + stype+= i + if i != v[2][-1]: + stype+= ',' + stype += '}' + sns = '{' + for i in v[3]: + sns+= '"'+i+'"' + if i != v[3][-1]: + sns+= ',' + sns += '}' + + reg = '''instance of OpenWBEM_OOPProviderRegistration +{ + InstanceID = "Novell:SUSE:OMC:smash:%s:%s"; + NamespaceNames = %s; + ClassName = "%s"; + ProviderTypes = %s; + Process = "/usr/lib/openwbem/bin/openwbem/owoopcpp1pr"; + Args = { "--provider=/usr/lib/openwbem/oopproviders/lib%s.so"}; + Protocol = "owcpp1"; + Timeout = "00000000000010.000000:000"; + UserContext = 2; // operation +}; + +''' % (v[1], v[0], sns, v[0], stype, v[1]) + + print reg Property changes on: smash/trunk/genreg.py ___________________________________________________________________ Name: svn:executable + * Added: smash/trunk/reglist.in =================================================================== --- smash/trunk/reglist.in (rev 0) +++ smash/trunk/reglist.in 2006-11-02 00:13:58 UTC (rev 13) @@ -0,0 +1,527 @@ +[103 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxMount for root/cimv2:omc_linuxmount +[103 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxMount for smash:omc_linuxmount +[103 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxExt3FileSystem for root/cimv2:omc_linuxext3filesystem +[103 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxExt3FileSystem for smash:omc_linuxext3filesystem +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxExt2FileSystem for root/cimv2:omc_linuxext2filesystem +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxExt2FileSystem for smash:omc_linuxext2filesystem +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxReiserFileSystem for root/cimv2:omc_linuxreiserfilesystem +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxReiserFileSystem for smash:omc_linuxreiserfilesystem +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxNFS for root/cimv2:omc_linuxnfs +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxNFS for smash:omc_linuxnfs +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_InitdService for root/cimv2:omc_initdservice +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_InitdService for smash:omc_initdservice +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_Runlevel for root/cimv2:omc_runlevel +[104 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_Runlevel for smash:omc_runlevel +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_RunlevelInComputerSystem for root/cimv2:omc_runlevelincomputersystem +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_RunlevelInComputerSystem for smash:omc_runlevelincomputersystem +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_InitdServiceRunlevel for root/cimv2:omc_initdservicerunlevel +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_InitdServiceRunlevel for smash:omc_initdservicerunlevel +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostedInitdService for root/cimv2:omc_hostedinitdservice +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostedInitdService for smash:omc_hostedinitdservice +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ServiceFromXML.res for root/cimv2:omc_servicefromxml +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ServiceFromXML.res for smash:omc_servicefromxml +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ServiceHealthData for root/cimv2:omc_servicehealthdata +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ServiceHealthData for smash:omc_servicehealthdata +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceProcess for root/cimv2:omc_xmlserviceprocess +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceProcess for smash:omc_xmlserviceprocess +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostedXMLService for root/cimv2:omc_hostedxmlservice +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostedXMLService for smash:omc_hostedxmlservice +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedHealthData for root/cimv2:omc_associatedhealthdata +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedHealthData for smash:omc_associatedhealthdata +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ServiceFromXMLConfigTool for root/cimv2:omc_servicefromxmlconfigtool +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ServiceFromXMLConfigTool for smash:omc_servicefromxmlconfigtool +[105 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedConfigTool for root/cimv2:omc_associatedconfigtool +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedConfigTool for smash:omc_associatedconfigtool +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceServiceDependency for root/cimv2:omc_xmlserviceservicedependency +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceServiceDependency for smash:omc_xmlserviceservicedependency +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostNameSettingData for root/cimv2:omc_hostnamesettingdata +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostNameSettingData for smash:omc_hostnamesettingdata +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ComputerSystemHostNameSettingData for root/cimv2:omc_computersystemhostnamesettingdata +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ComputerSystemHostNameSettingData for smash:omc_computersystemhostnamesettingdata +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLog for root/cimv2:omc_syslogngrecordlog +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLog for smash:omc_syslogngrecordlog +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGLogRecord for root/cimv2:omc_syslognglogrecord +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGLogRecord for smash:omc_syslognglogrecord +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGUseOfLog for root/cimv2:omc_syslognguseoflog +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGUseOfLog for smash:omc_syslognguseoflog +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGLogManagesRecord for root/cimv2:omc_syslognglogmanagesrecord +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGLogManagesRecord for smash:omc_syslognglogmanagesrecord +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLogCapabilities for root/cimv2:omc_syslogngrecordlogcapabilities +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLogCapabilities for smash:omc_syslogngrecordlogcapabilities +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLogToCapabilities for root/cimv2:omc_syslogngrecordlogtocapabilities +[106 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLogToCapabilities for smash:omc_syslogngrecordlogtocapabilities +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:omc_unixprocess +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:omc_unixprocess +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ProcessExecutable for root/cimv2:omc_processexecutable +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_ProcessExecutable for smash:omc_processexecutable +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_OSProcess for root/cimv2:omc_osprocess +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_OSProcess for smash:omc_osprocess +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SystemTimeService for root/cimv2:omc_systemtimeservice +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_SystemTimeService for smash:omc_systemtimeservice +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_RemoteTimeServicePort for root/cimv2:omc_remotetimeserviceport +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_RemoteTimeServicePort for smash:omc_remotetimeserviceport +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeZoneSettingData for root/cimv2:omc_timezonesettingdata +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeZoneSettingData for smash:omc_timezonesettingdata +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostedTimeService for root/cimv2:omc_hostedtimeservice +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_HostedTimeService for smash:omc_hostedtimeservice +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAccessBySAP for root/cimv2:omc_timeserviceaccessbysap +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAccessBySAP for smash:omc_timeserviceaccessbysap +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceTimeZoneSettingData for root/cimv2:omc_timeservicetimezonesettingdata +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceTimeZoneSettingData for smash:omc_timeservicetimezonesettingdata +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAvailableToElement for root/cimv2:omc_timeserviceavailabletoelement +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAvailableToElement for smash:omc_timeserviceavailabletoelement +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_OperatingSystem for root/cimv2:omc_operatingsystem +[107 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_OperatingSystem for smash:omc_operatingsystem +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_InstalledOS for root/cimv2:omc_installedos +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_InstalledOS for smash:omc_installedos +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_RunningOS for root/cimv2:omc_runningos +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_RunningOS for smash:omc_runningos +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFile for root/cimv2:omc_linuxfile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFile for smash:omc_linuxfile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFileIdentity for root/cimv2:omc_linuxfileidentity +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFileIdentity for smash:omc_linuxfileidentity +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDataFile for root/cimv2:omc_linuxdatafile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDataFile for smash:omc_linuxdatafile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxBlockDeviceFile for root/cimv2:omc_linuxblockdevicefile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxBlockDeviceFile for smash:omc_linuxblockdevicefile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxCharacterDeviceFile for root/cimv2:omc_linuxcharacterdevicefile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxCharacterDeviceFile for smash:omc_linuxcharacterdevicefile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxSymbolicLink for root/cimv2:omc_linuxsymboliclink +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxSymbolicLink for smash:omc_linuxsymboliclink +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDirectory for root/cimv2:omc_linuxdirectory +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDirectory for smash:omc_linuxdirectory +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFIFOPipeFile for root/cimv2:omc_linuxfifopipefile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFIFOPipeFile for smash:omc_linuxfifopipefile +[108 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDirectoryContainsFile for root/cimv2:omc_linuxdirectorycontainsfile +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDirectoryContainsFile for smash:omc_linuxdirectorycontainsfile +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_LinuxMount for root/cimv2:omc_linuxmount +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_LinuxMount for smash:omc_linuxmount +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_RunlevelInComputerSystem for root/cimv2:omc_runlevelincomputersystem +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_RunlevelInComputerSystem for smash:omc_runlevelincomputersystem +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_InitdServiceRunlevel for root/cimv2:omc_initdservicerunlevel +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_InitdServiceRunlevel for smash:omc_initdservicerunlevel +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_HostedInitdService for root/cimv2:omc_hostedinitdservice +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_HostedInitdService for smash:omc_hostedinitdservice +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceProcess for root/cimv2:omc_xmlserviceprocess +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceProcess for smash:omc_xmlserviceprocess +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_HostedXMLService for root/cimv2:omc_hostedxmlservice +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_HostedXMLService for smash:omc_hostedxmlservice +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedHealthData for root/cimv2:omc_associatedhealthdata +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedHealthData for smash:omc_associatedhealthdata +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedConfigTool for root/cimv2:omc_associatedconfigtool +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_AssociatedConfigTool for smash:omc_associatedconfigtool +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceServiceDependency for root/cimv2:omc_xmlserviceservicedependency +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceServiceDependency for smash:omc_xmlserviceservicedependency +[109 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_ComputerSystemHostNameSettingData for root/cimv2:omc_computersystemhostnamesettingdata +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_ComputerSystemHostNameSettingData for smash:omc_computersystemhostnamesettingdata +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGUseOfLog for root/cimv2:omc_syslognguseoflog +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGUseOfLog for smash:omc_syslognguseoflog +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGLogManagesRecord for root/cimv2:omc_syslognglogmanagesrecord +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGLogManagesRecord for smash:omc_syslognglogmanagesrecord +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLogToCapabilities for root/cimv2:omc_syslogngrecordlogtocapabilities +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLogToCapabilities for smash:omc_syslogngrecordlogtocapabilities +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_ProcessExecutable for root/cimv2:omc_processexecutable +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_ProcessExecutable for smash:omc_processexecutable +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_OSProcess for root/cimv2:omc_osprocess +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_OSProcess for smash:omc_osprocess +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_HostedTimeService for root/cimv2:omc_hostedtimeservice +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_HostedTimeService for smash:omc_hostedtimeservice +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAccessBySAP for root/cimv2:omc_timeserviceaccessbysap +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAccessBySAP for smash:omc_timeserviceaccessbysap +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceTimeZoneSettingData for root/cimv2:omc_timeservicetimezonesettingdata +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceTimeZoneSettingData for smash:omc_timeservicetimezonesettingdata +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAvailableToElement for root/cimv2:omc_timeserviceavailabletoelement +[110 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_TimeServiceAvailableToElement for smash:omc_timeserviceavailabletoelement +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_InstalledOS for root/cimv2:omc_installedos +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_InstalledOS for smash:omc_installedos +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_RunningOS for root/cimv2:omc_runningos +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_RunningOS for smash:omc_runningos +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFileIdentity for root/cimv2:omc_linuxfileidentity +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_LinuxFileIdentity for smash:omc_linuxfileidentity +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDirectoryContainsFile for root/cimv2:omc_linuxdirectorycontainsfile +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering associator provider OOP::Novell:SUSE:OMC:base:OMC_LinuxDirectoryContainsFile for smash:omc_linuxdirectorycontainsfile +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_LinuxReiserFileSystem for root/cimv2:omc_linuxreiserfilesystem +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_LinuxReiserFileSystem for smash:omc_linuxreiserfilesystem +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_InitdService for root/cimv2:omc_initdservice +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_InitdService for smash:omc_initdservice +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_Runlevel for root/cimv2:omc_runlevel +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_Runlevel for smash:omc_runlevel +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_ServiceFromXML.nonres for root/cimv2:omc_servicefromxml +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_ServiceFromXML.nonres for smash:omc_servicefromxml +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLog for root/cimv2:omc_syslogngrecordlog +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_SyslogNGRecordLog for smash:omc_syslogngrecordlog +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:omc_unixprocess +[111 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_SystemTimeService for root/cimv2:omc_systemtimeservice +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_SystemTimeService for smash:omc_systemtimeservice +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_OperatingSystem for root/cimv2:omc_operatingsystem +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering method provider OOP::Novell:SUSE:OMC:base:OMC_OperatingSystem for smash:omc_operatingsystem +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceHealthAlert for root/cimv2:omc_xmlservicehealthalert +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_XMLServiceHealthAlert for smash:omc_xmlservicehealthalert +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instcreation/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instcreation/omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instcreation/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instcreation/omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instmodification/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instmodification/omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instmodification/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instmodification/omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instdeletion/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instdeletion/omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instdeletion/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instdeletion/omc_unixprocess +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instindication/* +[112 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_instindication/omc_unixprocess +[113 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instindication/* +[113 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_instindication/omc_unixprocess +[113 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_indication/* +[113 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for root/cimv2:cim_indication/omc_unixprocess +[113 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_indication/* +[113 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:212] Registering indication provider OOP::Novell:SUSE:OMC:base:OMC_UnixProcess for smash:cim_indication/omc_unixprocess +[627 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_memberof_firmware_collection for smash:omc_memberoffirmwarecollection +[627 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpprotocolendpoint +[627 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpserverremoteaccesspoint +[627 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpsettingdata +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpcapabilities +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcphostedaccesspoint +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpelementsettingdata +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpelementcapabilities +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpremoteaccessavailabletoelement +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcpsapsapdependency +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_provider for smash:omc_dhcptoiporderedcomponent +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_dhcp_client_profile for interop:omc_elementconformstodhcpclientprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_dhcp_client_profile for smash:omc_elementconformstodhcpclientprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_profile_registration_profile for interop:omc_registeredprofileregistrationprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_powersupply_profile for interop:omc_registeredpowersupplyprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_powersupply_profile for interop:omc_elementconformstopowersupplyprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_powersupply_profile for smash:omc_elementconformstopowersupplyprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for interop:omc_registereddnsclientprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsprotocolendpoint +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnssettingdata +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsgeneralsettingdata +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsserverremoteaccesspoint +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnscapabilities +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for interop:omc_elementconformstodnsclientprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_elementconformstodnsclientprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsgeneralelementsettingdata +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsendpointelementsettingdata +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsendpointhostedaccesspoint +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnsserveraccessavailabletodnsendpointelement +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnssapsapdependency +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dns_client_profile for smash:omc_dnselementcapabilities +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_sysfs_provider for smash/sysfs:omc_ethernetport +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_sysfs_provider for smash/sysfs:omc_processor +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_sysfs_provider for smash/sysfs:omc_devicecapabilities +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_profile for interop:omc_registeredsshserviceprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_cpu_profile for interop:omc_registeredcpuprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_cpu_associated_cache_memory_provider for smash:omc_associatedcpucachememory +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_base_server for interop:omc_elementconformstobaseserverprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_base_server for smash:omc_elementconformstobaseserverprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_memberofhardwarecollection_provider for smash:omc_memberofhardwarecollection +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_base_server_profile for interop:omc_registeredbaseserverprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_libhd_provider for smash/libhd:omc_physicalconnector +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_libhd_provider for smash/libhd:omc_slot +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_libhd_provider for smash/libhd:omc_cachememory +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_libhd_provider for smash/libhd:omc_smashfirmwareidentity +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_libhd_provider for smash/libhd:omc_processor +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_libhd_provider for smash/libhd:omc_devicecapabilities +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_clp_admin_domain_profile for interop:omc_registeredclpadmindomainprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_dhcp_client_profile for interop:omc_registereddhcpclientprofile +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_systemmemory_provider for smash:omc_memoryrealizes +[628 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_systemmemory_provider for smash:omc_memorysystemdevice +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_physical_capabilities for smash:omc_physicalassetcapabilities +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_physical_capabilities for smash:omc_elementphysicalassetcapabilities +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_fan_profile for interop:omc_registeredfanprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_fan_profile for interop:omc_elementconformstofanprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_fan_profile for smash:omc_elementconformstofanprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_firmware_inv_profile for interop:omc_registeredfirmwareinventoryprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_firmware_inv_profile for interop:omc_elementconformstofirmwareinventoryprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_firmware_inv_profile for smash:omc_elementconformstofirmwareinventoryprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_firmware_collection_provider for smash:omc_installedfirmwareidentitycollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_firmware_collection_provider for smash:omc_availablefirmwareidentitycollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_firmware_collection_provider for smash:omc_servablefirmwareidentitycollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_memberoflogscollection_provider for smash:omc_memberoflogscollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_memberofsettingscollection_provider for smash:omc_memberofsettingscollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_memberofconsolescollection_provider for smash:omc_memberofconsolescollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_associated_sensor for smash:omc_associatedsensor +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_memberofsensorscollection_provider for smash:omc_memberofsensorscollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_systemcollection_provider for smash:omc_systemcollection +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_systemcollection_provider for smash:omc_owningsystemcollectionelement +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_profile_registration for interop:omc_elementconformstoprofileregistrationprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_profile_registration for smash:omc_elementconformstoprofileregistrationprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_cpu_profile for interop:omc_elementconformstocpuprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_cpu_profile for smash:omc_elementconformstocpuprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_sensor_profile for interop:omc_registeredsensorprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_sensor_profile for interop:omc_elementconformstosensorprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_sensor_profile for smash:omc_elementconformstosensorprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_registered_profile_in_namespace for interop:omc_registeredprofileinnamespace +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshprotocolservice +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshcapabilities +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_ssh_sshprotocolendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_ssh_tcpprotocolendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshsettingdata +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_hostedsshservice +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshelementcapabilities +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshserviceprocess +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshendpointprocess +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshserviceaccessbysap +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshhostedtcpprotocolendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshhostedsshprotocolendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshserviceprovidessshendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshserviceelementsettingdata +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_sshendpointelementsettingdata +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_ssh_sshendpointbindstotcpendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ssh_service_provider for smash:omc_ssh_tcpendpointbindstoipendpoint +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_clp_admin_domain_profile for interop:omc_elementconformstoclpadmindomainprofile +[629 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_element_conforms_to_clp_admin_domain_profile for smash:omc_elementconformstoclpadmindomainprofile +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for interop:omc_registeredbootcontrolprofile +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootservice +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootconfigsetting +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootsourcesetting +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootservicecapabilities +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for interop:omc_elementconformstobootcontrolprofile +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_elementconformstobootcontrolprofile +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_hostedbootservice +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootserviceaffectscomputersystem +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootserviceaffectsbootconfigsetting +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_hostedbootconfigsetting +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootconfigcomponent +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_boot_control_profile for smash:omc_bootservicetocapabilities +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for smash:omc_lanendpoint +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for smash:omc_lanendpointcapabilities +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for smash:omc_hostedlanendpointaccesspoint +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for smash:omc_ethernetdevicesapimplementation +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for smash:omc_lanendpointelementcapabilities +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for interop:omc_registeredethernetportprofile +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for interop:omc_elementconformstoethernetportprofile +[630 3078416048 DEBUG ow.owcimomd.ProviderManager OW_ProviderManager.cpp:189] Registering instance provider c++::omc_ethernet_port_profile for smash:omc_elementconformstoethernetportprofile +[630 3078416048 DEBUG ow.o... [truncated message content] |
From: <np...@us...> - 2006-11-01 23:59:19
|
Revision: 12 http://svn.sourceforge.net/omc/?rev=12&view=rev Author: npaxton Date: 2006-11-01 15:59:10 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Original merge of diffs from transition to sourceforge Modified Paths: -------------- cmpibase/trunk/configure.ac cmpibase/trunk/src/include/omc/Makefile.am cmpibase/trunk/src/include/omc/base.h cmpibase/trunk/src/lib/omc/Makefile.am cmpibase/trunk/src/lib/omc/base.c cmpibase/trunk/src/lib/omc/cmpiSimpleAssoc.c cmpibase/trunk/src/lib/omc/cmpiUtils.c cmpibase/trunk/src/providers/Makefile.am cmpibase/trunk/src/providers/computer-system/computerSystemHostNameSettingData.c cmpibase/trunk/src/providers/template/cmpi-providerTemplate.c Added Paths: ----------- cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h cmpibase/trunk/src/include/omc/ntpServer.h cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c cmpibase/trunk/src/lib/omc/ntpServer.c cmpibase/trunk/src/providers/computer-system/mof/ComputerSystemProviderReg.mof cmpibase/trunk/src/providers/time-service/ cmpibase/trunk/src/providers/time-service/Makefile.am cmpibase/trunk/src/providers/time-service/Makefile.in cmpibase/trunk/src/providers/time-service/hostedTimeService.c cmpibase/trunk/src/providers/time-service/mof/ cmpibase/trunk/src/providers/time-service/mof/TimeServiceProviderReg.mof cmpibase/trunk/src/providers/time-service/mof/cleanmof.sh cmpibase/trunk/src/providers/time-service/mof/genmof.sh cmpibase/trunk/src/providers/time-service/mof/importmof.sh cmpibase/trunk/src/providers/time-service/mof/omc-computer-system.mof cmpibase/trunk/src/providers/time-service/mof/omc-computer-system.reg.mof cmpibase/trunk/src/providers/time-service/mof/provider-register.sh cmpibase/trunk/src/providers/time-service/remoteTimeServicePort.c cmpibase/trunk/src/providers/time-service/systemTimeService.c cmpibase/trunk/src/providers/time-service/timeServiceAccessBySAP.c cmpibase/trunk/src/providers/time-service/timeServiceAvailableToElement.c cmpibase/trunk/src/providers/time-service/timeServiceTimeZoneSettingData.c cmpibase/trunk/src/providers/time-service/timeZoneSettingData.c Modified: cmpibase/trunk/configure.ac =================================================================== --- cmpibase/trunk/configure.ac 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/configure.ac 2006-11-01 23:59:10 UTC (rev 12) @@ -29,7 +29,7 @@ OPT_FLAGS=" -DNDEBUG -O2" # Additional optimization flags. -##NOTE: whereever CXXFLAGS is used, we need to also use CPPFLAGS, for the AC_CHECK_HEADERS - +##NOTE: whereever CXXFLAGS is used, we need to also use CPPFLAGS, for the AC_CHECK_HEADERS - ## It now uses compile (primarily) but still uses pre-processor for interim transition / backward compatibility ## pre-processor needs the CPPFLAGS @@ -40,10 +40,10 @@ [ --with-search-dir=PATH Specify an additional directory to look for include/ and lib/ sub dirs ], [ if test "x$withval" != "xno" ; then - CXXFLAGS="$CXXFLAGS -I$withval/include" - CPPFLAGS="$CPPFLAGS -I$withval/include" - CFLAGS="$CFLAGS -I$withval/include" - LDFLAGS="$LDFLAGS -L$withval/lib" + CXXFLAGS="$CXXFLAGS -I$withval/include" + CPPFLAGS="$CPPFLAGS -I$withval/include" + CFLAGS="$CFLAGS -I$withval/include" + LDFLAGS="$LDFLAGS -L$withval/lib" fi ] ) @@ -55,10 +55,10 @@ [ --with-cmpi-include-dir=PATH Specify locaction of the CMPI header files ], [ if test "x$withval" != "xno" ; then - CXXFLAGS="$CXXFLAGS -I$withval" - CPPFLAGS="$CPPFLAGS -I$withval" - CFLAGS="$CFLAGS -I$withval" - cmpiIncDir="$withval" + CXXFLAGS="$CXXFLAGS -I$withval" + CPPFLAGS="$CPPFLAGS -I$withval" + CFLAGS="$CFLAGS -I$withval" + cmpiIncDir="$withval" fi ] ) @@ -190,5 +190,6 @@ src/providers/processes/Makefile src/providers/computer-system/Makefile src/providers/operating-system/Makefile + src/providers/time-service/Makefile ]) AC_OUTPUT Modified: cmpibase/trunk/src/include/omc/Makefile.am =================================================================== --- cmpibase/trunk/src/include/omc/Makefile.am 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/include/omc/Makefile.am 2006-11-01 23:59:10 UTC (rev 12) @@ -9,4 +9,6 @@ string.h \ linuxProcUtils.h \ cmpiUtils.h \ - cmpiSimpleAssoc.h + cmpiSimpleAssoc.h \ + cmpiTimeServiceUtils.h \ + ntpServer.h Modified: cmpibase/trunk/src/include/omc/base.h =================================================================== --- cmpibase/trunk/src/include/omc/base.h 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/include/omc/base.h 2006-11-01 23:59:10 UTC (rev 12) @@ -109,6 +109,16 @@ char* instanceIdOut, size_t instanceIdOutLen); + +/** + * Get the install date of an RPM (as a time_t?) + * @param rpmName The name of the rpm to get the install date for. + */ +unsigned long long +omcGetRPMInstallDate( + const char *rpmName); + + #ifdef __cplusplus } #endif Added: cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h =================================================================== --- cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h (rev 0) +++ cmpibase/trunk/src/include/omc/cmpiTimeServiceUtils.h 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,88 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* Author: Norm Paxton (np...@no...) +******************************************************************************/ +#ifndef TIME_SERVICE_UTILS_H_GUARD__ +#define TIME_SERVICE_UTILS_H_GUARD__ + +#include <cmpidt.h> +#include <cmpift.h> +#include <cmpimacs.h> + +#include <omc/base.h> +#include <omc/cmpiUtils.h> +#include <omc/cmpiSimpleAssoc.h> +#include <omc/string.h> + +#include <stdlib.h> +#include <unistd.h> + +#ifdef __cplusplus +extern "C" { +#endif + + + +CMPIObjectPath * +makeTimeServiceObjectPath( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus); + + +CMPIInstance * +makeTimeServiceInstance( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus, + const char **properties); + + + +CMPIObjectPath* +makeRemoteTimeServicePortObjectPath( + const CMPIBroker *broker, + const char *ns, + const char *serverName, + CMPIStatus *pStatus); + + +CMPIInstance * +makeRemoteTimeServicePortInstance( + const CMPIBroker *broker, + const char *ns, + const char *serverName, + CMPIStatus *pStatus, + const char **properties); + +int isIPV4Address(const char *arg); + + +#endif // TIME_SERVICE_UTILS_H_GUARD__ Added: cmpibase/trunk/src/include/omc/ntpServer.h =================================================================== --- cmpibase/trunk/src/include/omc/ntpServer.h (rev 0) +++ cmpibase/trunk/src/include/omc/ntpServer.h 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,58 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* Author: Norm Paxton (np...@no...) +******************************************************************************/ +#ifndef NTP_SERVER_UTILS_H_GUARD__ +#define NTP_SERVER_UTILS_H_GUARD__ + + +#define NTP_SERVER_NAME_LEN 256 + +typedef struct +{ + char serverName[NTP_SERVER_NAME_LEN]; + int prefer; + int key; + int ntpVersion; + int minPoll; + int maxPoll; +} NTPServer; + + +NTPServer *getNTPServers(int *pCount); +int getNTPServer(const char *serverName, NTPServer *out); +int deleteNTPServer(const char *serverName); +int setNTPServer(NTPServer *server); +void copyNTPServer(const NTPServer *in, NTPServer *out); +NTPServer *createAndCopyNTPServer(const NTPServer *in); + + +#endif // NTP_SERVER_UTILS_H_GUARD__ + Modified: cmpibase/trunk/src/lib/omc/Makefile.am =================================================================== --- cmpibase/trunk/src/lib/omc/Makefile.am 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/lib/omc/Makefile.am 2006-11-01 23:59:10 UTC (rev 12) @@ -16,12 +16,14 @@ ioUtils.c \ modifyFile.c \ string.c \ -linuxProcUtils.c +linuxProcUtils.c \ +ntpServer.c libomc_cmpi_la_LDFLAGS = -version-info 1 libomc_cmpi_la_SOURCES = \ cmpiUtils.c \ -cmpiSimpleAssoc.c +cmpiSimpleAssoc.c \ +cmpiTimeServiceUtils.c Modified: cmpibase/trunk/src/lib/omc/base.c =================================================================== --- cmpibase/trunk/src/lib/omc/base.c 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/lib/omc/base.c 2006-11-01 23:59:10 UTC (rev 12) @@ -41,6 +41,19 @@ #include <sys/param.h> #include <sys/utsname.h> +#include <omc/exec.h> +#include <stdlib.h> + +#define LOCAL_DEBUG + +#ifdef LOCAL_DEBUG +#define DEBUGOUT(fmt, args...) printf(fmt,## args) +#else +#define DEBUGOUT(fmt, args...) +#endif + + + #define OSCLASSNAME "OMC_OperatingSystem" #define CSCLASSNAME "OMC_UnitaryComputerSystem" #define OSNAME "Linux" @@ -152,3 +165,64 @@ omcStrNCpy(hostNameOut, namebuf, hostNameOutLen); return hostNameOut; } + + +/*****************************************************************************/ +unsigned long long +omcGetRPMInstallDate(const char *rpmName) +{ + DEBUGOUT("Entering omcGetRPMInstallDate for rpmName: %s\n", rpmName); + + unsigned long rv = 0; + int status; + char *endptr, *output; + unsigned int outputSize; + + const char *cmd[6]; + + if (!rpmName || (*rpmName==0)) + { + DEBUGOUT(" returning - empty rpmName\n"); + return 0; + } + + cmd[0] = "/bin/rpm"; + cmd[1] = "-q"; + cmd[2] = "--queryformat"; + cmd[3] = "%{INSTALLTIME}"; + cmd[4] = rpmName; + cmd[5] = NULL; /* NULL termination */ + + output = NULL; + + char *errOutput = NULL; + unsigned long ulErrOutputSize = 0; + + if (omcExecuteProcessAndGatherOutputAndError((char* const*) cmd, NULL, &output, + &outputSize, -1, &errOutput, &ulErrOutputSize, -1, NULL, &status, -1) == 0) + { + DEBUGOUT(" execute returned status: %d outputSize: %d\n output: %s\n", status, outputSize, output); + if (status == 0) + { + rv = strtoul(output, &endptr, 10); + if (endptr == output || *endptr) + { + rv = 0; + } + free(output); + return (1000000 * (unsigned long long)rv); + } + else + { + DEBUGOUT(" received error: %s\n", errOutput); + } + } + if (output) + { + free(output); + } + + return 0; +} + + Modified: cmpibase/trunk/src/lib/omc/cmpiSimpleAssoc.c =================================================================== --- cmpibase/trunk/src/lib/omc/cmpiSimpleAssoc.c 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/lib/omc/cmpiSimpleAssoc.c 2006-11-01 23:59:10 UTC (rev 12) @@ -40,7 +40,7 @@ #include <stdio.h> -#define LOCAL_DEBUG +//#define LOCAL_DEBUG #ifdef LOCAL_DEBUG #define DEBUGOUT(fmt, args...) printf(fmt,## args) Added: cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c =================================================================== --- cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c (rev 0) +++ cmpibase/trunk/src/lib/omc/cmpiTimeServiceUtils.c 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,344 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* Author: Norm Paxton (np...@no...) +******************************************************************************/ + +#include <omc/cmpiTimeServiceUtils.h> +#include <omc/ntpServer.h> +#include <fnmatch.h> +#include <ctype.h> + +#define LOCAL_DEBUG + +#ifdef LOCAL_DEBUG +#define DEBUGOUT(fmt, args...) printf(fmt,## args) +#else +#define DEBUGOUT(fmt, args...) +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + + +// NULL terminated list of key property names for this class +static const char * systemTimeServiceClassKeys[] = { + "SystemCreationClassName", + "SystemName", + "CreationClassName", + "Name", + NULL}; + + +static const char * remoteTimeServicePortClassKeys[] = { + "SystemCreationClassName", + "SystemName", + "CreationClassName", + "Name", + NULL}; + + +/*****************************************************************************/ +CMPIObjectPath * +makeTimeServiceObjectPath( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus) +{ + DEBUGOUT("EnumInstanceNames() called\n"); + + CMPIObjectPath *op = CMNewObjectPath(broker, ns, "OMC_SystemTimeService", pStatus); + if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) + { + char name[128] = {0}; + omcGetComputerSystemName(name, sizeof(name)); + + CMAddKey(op, + "SystemCreationClassName", + (CMPIValue *)(char *)omcGetComputerSystemClassName(), + CMPI_chars); + CMAddKey(op, + "SystemName", + (CMPIValue *)&name, + CMPI_chars); + CMAddKey(op, + "CreationClassName", + (CMPIValue *)"OMC_SystemTimeService", + CMPI_chars); + CMAddKey(op, + "Name", + (CMPIValue *)"timeservice", + CMPI_chars); + } + return op; +} + + +/*****************************************************************************/ +CMPIInstance * +makeTimeServiceInstance( + const CMPIBroker *broker, + const char *ns, + CMPIStatus *pStatus, + const char **properties) +{ + CMPIInstance *instance = NULL; + CMPIObjectPath *op = makeTimeServiceObjectPath(broker, ns, pStatus); + if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) + { + instance = CMNewInstance(broker, op, pStatus); + if (!CMIsNullObject(instance) && (pStatus->rc == CMPI_RC_OK)) + { + CMSetPropertyFilter(instance, properties, systemTimeServiceClassKeys); + // keys + char name[128] = {0}; + omcGetComputerSystemName(name, sizeof(name)); + + CMSetProperty(instance, + "SystemCreationClassName", + (CMPIValue *)(char *)omcGetComputerSystemClassName(), + CMPI_chars); + CMSetProperty(instance, + "SystemName", + (CMPIValue *)&name, + CMPI_chars); + CMSetProperty(instance, + "CreationClassName", + (CMPIValue *)"OMC_SystemTimeService", + CMPI_chars); + CMSetProperty(instance, + "Name", + (CMPIValue *)"timeservice", + CMPI_chars); + + unsigned int enabledState = 2; + CMSetProperty(instance, "EnabledState", (CMPIValue*)&enabledState, CMPI_uint16); + unsigned int requestedState = 12; + CMSetProperty(instance, "RequestedState", (CMPIValue*)&requestedState, CMPI_uint16); + unsigned int enabledDefault = 2; + CMSetProperty(instance, "EnabledDefault", (CMPIValue*)&enabledDefault, CMPI_uint16); + unsigned int started = 1; + CMSetProperty(instance, "Started", (CMPIValue*)&started, CMPI_boolean); + unsigned int healthState = 5; + CMSetProperty(instance, "HealthState", (CMPIValue*)&healthState, CMPI_uint16); + + CMPIDateTime *lastStateChange = CMNewDateTime(broker, NULL); + CMSetProperty(instance, "TimeOfLastStateChange", (CMPIValue*)&lastStateChange, CMPI_dateTime); + + + // TODO: Get the real one, move LinuxOS_get*** into common library? + // get from the linux os instance? + //CMPIDateTime *installDate = CMNewDateTimeFromBinary(broker, omcLinuxOS_getInstallDate(), 0, NULL); + CMPIDateTime *installDate = CMNewDateTime(broker, NULL); + CMSetProperty(instance, "InstallDate", (CMPIValue*)&installDate, CMPI_dateTime); + + CMSetProperty(instance, "Status", (CMPIValue*)"OK", CMPI_chars); + CMSetProperty(instance, "StartMode", (CMPIValue*)"Automatic", CMPI_chars); + + CMPIArray *pra = CMNewArray(broker, 1, CMPI_uint16, NULL); + if (!CMIsNullObject(pra)) + { + unsigned int opStatus = 2; + CMSetArrayElementAt(pra, 0, (CMPIValue*)&opStatus, CMPI_uint16); + CMSetProperty(instance, "OperationalStatus", (CMPIValue*)&pra, CMPI_uint16A); + } + } + } + return instance; +} + + + +/*****************************************************************************/ +CMPIObjectPath* +makeRemoteTimeServicePortObjectPath( + const CMPIBroker *broker, + const char *ns, + const char *serverName, + CMPIStatus *pStatus) +{ + CMPIObjectPath *op = CMNewObjectPath(broker, ns, "OMC_RemoteTimeServicePort", pStatus); + if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) + { + char name[128] = {0}; + omcGetComputerSystemName(name, sizeof(name)); + + CMAddKey(op, + "SystemCreationClassName", + (CMPIValue *)(char *)omcGetComputerSystemClassName(), + CMPI_chars); + CMAddKey(op, + "SystemName", + (CMPIValue *)&name, + CMPI_chars); + CMAddKey(op, + "CreationClassName", + (CMPIValue *)"OMC_RemoteTimeServicePort", + CMPI_chars); + CMAddKey(op, + "Name", + (CMPIValue *)serverName, + CMPI_chars); + } + return op; +} + + +/*****************************************************************************/ +CMPIInstance * +makeRemoteTimeServicePortInstance( + const CMPIBroker *broker, + const char *ns, + const char *serverName, + CMPIStatus *pStatus, + const char **properties) +{ + CMPIInstance *instance = NULL; + CMPIObjectPath *op = makeRemoteTimeServicePortObjectPath(broker, ns, serverName, pStatus); + if (!CMIsNullObject(op) && (pStatus->rc == CMPI_RC_OK)) + { + NTPServer *server = malloc(sizeof(NTPServer)); + if (server) + { + getNTPServer(serverName, server); + instance = CMNewInstance(broker, op, pStatus); + if (!CMIsNullObject(instance) && (pStatus->rc == CMPI_RC_OK)) + { + CMSetPropertyFilter(instance, properties, remoteTimeServicePortClassKeys); + // keys + char name[128] = {0}; + omcGetComputerSystemName(name, sizeof(name)); + + CMSetProperty(instance, + "SystemCreationClassName", + (CMPIValue *)(char *)omcGetComputerSystemClassName(), + CMPI_chars); + CMSetProperty(instance, + "SystemName", + (CMPIValue *)&name, + CMPI_chars); + CMSetProperty(instance, + "CreationClassName", + (CMPIValue *)"OMC_RemoteTimeServicePort", + CMPI_chars); + CMSetProperty(instance, + "Name", + (CMPIValue *)serverName, + CMPI_chars); + + CMSetProperty(instance, + "AccessInfo", + (CMPIValue *)serverName, + CMPI_chars); + + int infoFmt = (isIPV4Address(serverName)) ? 3 : 2; + CMSetProperty(instance, "InfoFormat", (CMPIValue*)&infoFmt, CMPI_uint16); + + unsigned int enabledState = 2; + CMSetProperty(instance, "EnabledState", (CMPIValue*)&enabledState, CMPI_uint16); + + unsigned int requestedState = 12; + CMSetProperty(instance, "RequestedState", (CMPIValue*)&requestedState, CMPI_uint16); + + unsigned int enabledDefault = 2; + CMSetProperty(instance, "EnabledDefault", (CMPIValue*)&enabledDefault, CMPI_uint16); + + unsigned int started = 1; + CMSetProperty(instance, "Started", (CMPIValue*)&started, CMPI_boolean); + + unsigned int healthState = 5; + CMSetProperty(instance, "HealthState", (CMPIValue*)&healthState, CMPI_uint16); + + CMPIDateTime *lastStateChange = CMNewDateTime(broker, NULL); + CMSetProperty(instance, "TimeOfLastStateChange", (CMPIValue*)&lastStateChange, CMPI_dateTime); + + + // TODO: Get the real one, move LinuxOS_get*** into common library? + // get from the linux os instance? + //CMPIDateTime *installDate = CMNewDateTimeFromBinary(broker, omcLinuxOS_getInstallDate(), 0, NULL); + CMPIDateTime *installDate = CMNewDateTime(broker, NULL); + CMSetProperty(instance, "InstallDate", (CMPIValue*)&installDate, CMPI_dateTime); + + CMSetProperty(instance, "Status", (CMPIValue*)"OK", CMPI_chars); + CMSetProperty(instance, "StartMode", (CMPIValue*)"Automatic", CMPI_chars); + + CMPIArray *pra = CMNewArray(broker, 1, CMPI_uint16, NULL); + if (!CMIsNullObject(pra)) + { + unsigned int opStatus = 2; + CMSetArrayElementAt(pra, 0, (CMPIValue*)&opStatus, CMPI_uint16); + CMSetProperty(instance, "OperationalStatus", (CMPIValue*)&pra, CMPI_uint16A); + } + + unsigned int portProtocol = 2; + CMSetProperty(instance, "PortProtocol", (CMPIValue*)&portProtocol, CMPI_uint16); + + CMPIBoolean prefer = 0; + prefer = (CMPIBoolean)(server->prefer); + CMSetProperty(instance, "Prefer", (CMPIValue*)&prefer, CMPI_boolean); + + if(server->key) + CMSetProperty(instance, "key", (CMPIValue*)&(server->key), CMPI_uint16); + if(server->ntpVersion) + CMSetProperty(instance, "ntpversion", (CMPIValue*)&(server->ntpVersion), CMPI_uint16); + if(server->minPoll) + CMSetProperty(instance, "minpoll", (CMPIValue*)&(server->minPoll), CMPI_uint16); + if(server->maxPoll) + CMSetProperty(instance, "maxpoll", (CMPIValue*)&(server->maxPoll), CMPI_uint16); + } + } + } + return instance; +} + + + +/*****************************************************************************/ +int +isIPV4Address(const char *arg) +{ + const char *p = arg; + if(fnmatch("*.*.*.*", p, 0) != 0) + { + return 0; + } + + for(; *p; p++) + { + if(*p != '.' && !isdigit(*p)) + { + return 0; + } + } + + return 1; +} + Modified: cmpibase/trunk/src/lib/omc/cmpiUtils.c =================================================================== --- cmpibase/trunk/src/lib/omc/cmpiUtils.c 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/lib/omc/cmpiUtils.c 2006-11-01 23:59:10 UTC (rev 12) @@ -40,7 +40,7 @@ #include <cmpift.h> #include <cmpimacs.h> -#define LOCAL_DEBUG +//#define LOCAL_DEBUG #ifdef LOCAL_DEBUG #define DEBUGOUT(fmt, args...) printf(fmt,## args) Added: cmpibase/trunk/src/lib/omc/ntpServer.c =================================================================== --- cmpibase/trunk/src/lib/omc/ntpServer.c (rev 0) +++ cmpibase/trunk/src/lib/omc/ntpServer.c 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,363 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* Author: Norm Paxton (np...@no...) +******************************************************************************/ + +#include <omc/ntpServer.h> +#include <omc/ioUtils.h> +#include <omc/string.h> + +#include <stdlib.h> +#include <stdio.h> +#include <stdarg.h> + +#define LOCAL_DEBUG + +#ifdef LOCAL_DEBUG +#define DEBUGOUT(fmt, args...) printf(fmt,## args) +#else +#define DEBUGOUT(fmt, args...) +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + + + +char * +lineFromServer( + NTPServer *pServer) +{ + char *line = (char *)malloc(256); + char temp[16] = {0}; + + if (line) + { + omcStrAppend(line, "server ", 256); + omcStrAppend(line, pServer->serverName, 256); + + if(pServer->prefer) + { + omcStrAppend(line, " prefer", 256); + } + if(pServer->key) + { + omcStrAppend(line, " key ", 256); + sprintf(temp, "%ul", pServer->key); + omcStrAppend(line, temp, 256); + } + if(pServer->ntpVersion) + { + omcStrAppend(line, " version ", 256); + sprintf(temp, "%ul", pServer->ntpVersion); + omcStrAppend(line, temp, 256); + } + if(pServer->minPoll) + { + omcStrAppend(line, " minpoll ", 256); + sprintf(temp, "%ul", pServer->minPoll); + omcStrAppend(line, temp, 256); + } + if(pServer->maxPoll) + { + omcStrAppend(line, " maxpoll ", 256); + sprintf(temp, "%ul", pServer->maxPoll); + omcStrAppend(line, temp, 256); + } + } + + DEBUGOUT(" lineFromServer returning: %s\n", line); + return line; +} + + +static void +serverFromLine( + const char *line, + NTPServer *pServer) +{ + if (!pServer) + return; + + DEBUGOUT(" into serverFromLine with line: %s\n", line); + + unsigned int i = 0; + unsigned int iTokenCount = 0; + char** tokens = omcStrTokenize(line, " ,", &iTokenCount); + + for(i = 0; i < iTokenCount; i++) + { + DEBUGOUT(" token: %d: %s\n", i, tokens[i]); + } + + if(iTokenCount > 1) + { + // strip serverName... including # from end + strncpy(pServer->serverName, tokens[1], NTP_SERVER_NAME_LEN); + while(pServer->serverName[strlen(pServer->serverName)-1]=='#') + { + pServer->serverName[strlen(pServer->serverName)-1]='\0'; + } + omcStrRTrim(pServer->serverName); + if(iTokenCount > 2) + { + for(i = 2; i < iTokenCount; i++) + { + if(strcasecmp(tokens[i],"prefer") == 0) + { + pServer->prefer = 1; + continue; + } + if(i < iTokenCount-1) + { + if(strcasecmp(tokens[i],"key") == 0) + { + i++; + pServer->key = (unsigned long)atol(tokens[i]); + } + else if(strcasecmp(tokens[i],"version") == 0) + { + i++; + pServer->ntpVersion = (unsigned long)atol(tokens[i]); + } + else if(strcasecmp(tokens[i],"mode") == 0) + { + i++; + // Ignore + } + else if(strcasecmp(tokens[i],"minpoll") == 0) + { + i++; + pServer->minPoll = (unsigned long)atol(tokens[i]); + } + else if(strcasecmp(tokens[i],"maxpoll") == 0) + { + i++; + pServer->maxPoll = (unsigned long)atol(tokens[i]); + } + } + } + } + } +} + + +/****************************************************************************/ +static int +errCond( + char* errMsgBfr, + unsigned int errMsgBfrLen, + int cc, + const char* fmt, + ...) +{ + va_list ap; + + if (!errMsgBfr || !errMsgBfrLen) { + return cc; + } + + va_start(ap, fmt); + vsnprintf(errMsgBfr, errMsgBfrLen, fmt, ap); + va_end(ap); + return cc; +} + + + +/*****************************************************************************/ +NTPServer *getNTPServers(int *pCount) +{ + FILE *file; + unsigned int bfrLen = 0; + char *p = NULL, *bufPtr = NULL; + NTPServer server = {{0},0,0,0,0}; + char* errMsgBfr = NULL; + unsigned int errMsgBfrLen = 0; + int i=0; + int iCount = 0; + + DEBUGOUT("Entering getNTPServers\n"); + + if (!pCount) + { + return 0; + } + + file = fopen("/etc/ntp.conf", "r"); + if (!file) + { + errCond(errMsgBfr, errMsgBfrLen, -1, + "Failed to open file /etc/ntp.conf"); + return NULL; + } + + for(p = omcReadLine(file, &bufPtr, &bfrLen); p; + p = omcReadLine(file, &bufPtr, &bfrLen)) + { + DEBUGOUT(" got line: %s\n", bufPtr); + + if (omcStrStartsWith(p, "server")) + { + iCount++; + } + } + + *pCount = iCount; + DEBUGOUT(" malloc'ing for %d servers in ra\n", iCount); + NTPServer *ra = (NTPServer*)malloc(iCount * sizeof(NTPServer)); + + // reset file pointer + rewind(file); + + i = 0; + for(p = omcReadLine(file, &bufPtr, &bfrLen); p; + p = omcReadLine(file, &bufPtr, &bfrLen)) + { + DEBUGOUT(" got line: %s\n", bufPtr); + + if (omcStrStartsWith(p, "server")) + { + serverFromLine(p, &server); + DEBUGOUT(" Resulted in NTPServer in list: serverName: %s\n", server.serverName); + copyNTPServer(&server, &ra[i]); + + DEBUGOUT(" Adding NTPServer: %s\n", ra[i].serverName); + i++; + } + } + + fclose(file); + + if (bufPtr) + free(bufPtr); + + return ra; +} + + +/*****************************************************************************/ +int getNTPServer(const char *serverName, NTPServer *out) +{ + FILE *file; + unsigned int bfrLen = 0; + char *p, *bufPtr = NULL; + NTPServer server = {{0},0,0,0,0}; + char* errMsgBfr = NULL; + unsigned int errMsgBfrLen = 0; + + if (!serverName || !out) + { + return 0; + } + + file = fopen("/etc/ntp.conf", "r"); + if (!file) + { + return errCond(errMsgBfr, errMsgBfrLen, -1, + "Failed to open file /etc/ntp.conf"); + } + + for(p = omcReadLine(file, &bufPtr, &bfrLen); p; + p = omcReadLine(file, &bufPtr, &bfrLen)) + { + if (omcStrStartsWith(p, "server")) + { + serverFromLine(p, &server); + if(strcasecmp(server.serverName, serverName) == 0) + { + copyNTPServer(&server, out); + return 1; + } + } + } + + return 0; +} + + +/*****************************************************************************/ +int deleteNTPServer(const char *serverName) +{ + /* + DeleteServerListener dsl(serverName); + OMC::FileModifier fm("/etc/ntp.conf", &dsl); + String errMsg; + bool modified; + return fm.processFile(modified, errMsg); + */ + return 0; +} + + +/*****************************************************************************/ +int setNTPServer(NTPServer *server) +{ + /* + SetServerListener ssl(server); + OMC::FileModifier fm("/etc/ntp.conf", &ssl); + String errMsg; + bool modified; + return fm.processFile(modified, errMsg); + */ + return 0; +} + + +/*****************************************************************************/ +void copyNTPServer(const NTPServer *in, NTPServer *out) +{ + if (in && out) + { + strncpy(out->serverName, in->serverName, NTP_SERVER_NAME_LEN); + out->prefer = in->prefer; + out->key = in->key; + out->ntpVersion = in->ntpVersion; + out->minPoll = in->minPoll; + out->maxPoll = in->maxPoll; + } +} + + +/*****************************************************************************/ +NTPServer *createAndCopyNTPServer(const NTPServer* in) +{ + if (!in) + return NULL; + NTPServer *out = (NTPServer *)malloc(sizeof(NTPServer)); + if (out) + { + copyNTPServer(in, out); + } + return out; +} + Modified: cmpibase/trunk/src/providers/Makefile.am =================================================================== --- cmpibase/trunk/src/providers/Makefile.am 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/providers/Makefile.am 2006-11-01 23:59:10 UTC (rev 12) @@ -3,5 +3,6 @@ SUBDIRS = \ processes \ computer-system \ - operating-system + operating-system \ + time-service Modified: cmpibase/trunk/src/providers/computer-system/computerSystemHostNameSettingData.c =================================================================== --- cmpibase/trunk/src/providers/computer-system/computerSystemHostNameSettingData.c 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/providers/computer-system/computerSystemHostNameSettingData.c 2006-11-01 23:59:10 UTC (rev 12) @@ -41,7 +41,7 @@ #include <stdlib.h> #include <string.h> -#define LOCAL_DEBUG +//#define LOCAL_DEBUG #ifdef LOCAL_DEBUG #define DEBUGOUT(fmt, args...) printf(fmt,## args) Added: cmpibase/trunk/src/providers/computer-system/mof/ComputerSystemProviderReg.mof =================================================================== --- cmpibase/trunk/src/providers/computer-system/mof/ComputerSystemProviderReg.mof (rev 0) +++ cmpibase/trunk/src/providers/computer-system/mof/ComputerSystemProviderReg.mof 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,85 @@ + +instance of PG_ProviderModule +{ + Name = "OMC_CS_HostNameSettingData_Module"; + Location = "omccmpi_cshostnamesettingdata"; + Vendor = "SBLIM"; + Version = "2.0.0"; + InterfaceType = "CMPI"; + InterfaceVersion = "2.0.0"; +}; + +instance of PG_ProviderModule +{ + Name = "OMC_HostNameSettingData_Module"; + Location = "omccmpi_hostnamesettingdata"; + Vendor = "SBLIM"; + Version = "2.0.0"; + InterfaceType = "CMPI"; + InterfaceVersion = "2.0.0"; +}; + +instance of PG_ProviderModule +{ + Name = "OMC_UnitaryComputerSystem_Module"; + Location = "omccmpi_computer_system"; + Vendor = "SBLIM"; + Version = "2.0.0"; + InterfaceType = "CMPI"; + InterfaceVersion = "2.0.0"; +}; + +instance of PG_Provider +{ + Name = "OMC_CS_HostNameSettingData_Provider"; + ProviderModuleName = "OMC_CS_HostNameSettingData_Module"; +}; + +instance of PG_Provider +{ + Name = "OMC_HostNameSettingData_Provider"; + ProviderModuleName = "OMC_HostNameSettingData_Module"; +}; + +instance of PG_Provider +{ + Name = "OMC_UnitaryComputerSystem_Provider"; + ProviderModuleName = "OMC_UnitaryComputerSystem_Module"; +}; + +instance of PG_ProviderCapabilities +{ + ProviderModuleName = "OMC_UnitaryComputerSystem_Module"; + ProviderName = "OMC_UnitaryComputerSystem_Provider"; + ClassName = "OMC_UnitaryComputerSystem"; + ProviderType = { 2 }; + Namespaces = {"smash"}; + SupportedProperties = NULL; + SupportedMethods = NULL; + CapabilityID = "OMC_UnitaryComputerSystem-1"; +}; + +instance of PG_ProviderCapabilities +{ + ProviderModuleName = "OMC_HostNameSettingData_Module"; + ProviderName = "OMC_HostNameSettingData_Provider"; + ClassName = "OMC_HostNameSettingData"; + ProviderType = { 2, 5 }; + Namespaces = {"smash"}; + SupportedProperties = NULL; + SupportedMethods = NULL; + CapabilityID = "OMC_HostNameSettingData-2"; +}; + +instance of PG_ProviderCapabilities +{ + ProviderModuleName = "OMC_CS_HostNameSettingData_Module"; + ProviderName = "OMC_CS_HostNameSettingData_Provider"; + ClassName = "OMC_ComputerSystemHostNameSettingData"; + ProviderType = { 2, 3 }; + Namespaces = {"smash"}; + SupportedProperties = NULL; + SupportedMethods = NULL; + CapabilityID = "OMC_ComputerSystemHostNameSettingData-3"; +}; + Modified: cmpibase/trunk/src/providers/template/cmpi-providerTemplate.c =================================================================== --- cmpibase/trunk/src/providers/template/cmpi-providerTemplate.c 2006-11-01 20:01:25 UTC (rev 11) +++ cmpibase/trunk/src/providers/template/cmpi-providerTemplate.c 2006-11-01 23:59:10 UTC (rev 12) @@ -1,12 +1,46 @@ -// place copyright notice here +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* Author: Joe Smith (ab...@do...) +******************************************************************************/ -#include "cmpidt.h" -#include "cmpift.h" -#include "cmpimacs.h" +#include <cmpidt.h> +#include <cmpift.h> +#include <cmpimacs.h> +#include <omc/base.h> +#include <omc/cmpiUtils.h> +#include <omc/cmpiSimpleAssoc.h> +#include <omc/string.h> // NULL terminated list of key property names for this class -static char * classKeys[] = {"FooKey", NULL}; +static char * classKeys[] = {"FooKey1", "FooKey2", NULL}; #ifdef DEBUG #define DEBUGOUT(fmt, args...) printf(fmt,## args) @@ -17,7 +51,7 @@ // Global handle to the CIM broker // This is initialized by the CIMOM when the provider is loaded -static CMPIBroker * _broker; +static const CMPIBroker * _broker; // **************************************************************************** @@ -284,39 +318,34 @@ // **************************************************************************** - -// **************************************************************************** -// associatorsHelper() -// params: CMPIAssociationMI* self: [in] Handle to this provider -// CMPIContext* context: [in] any additional context info -// CMPIResult* results: [out] Results -// CMPIObjectPath* cop: [in] target namespace and classname, and desired objectpath -// char *assocClass -// char *resultClass -// char *role -// char *resultRole -// char **properties -// int namesOnly -// **************************************************************************** static char * ASSOC_CLASSNAME = "OMC_ComputerSystemHostNameSettingData"; static char * LEFT_CLASSNAME = "OMC_UnitaryComputerSystem"; static char * RIGHT_CLASSNAME = "OMC_HostNameSettingData"; static char * LEFT_PROPERTYNAME = "ManagedElement"; static char * RIGHT_PROPERTYNAME = "SettingData"; -static CMPIStatus associatorsHelper( CMPIAssociationMI* self, - const CMPIContext* context, - const CMPIResult* results, - const CMPIObjectPath* cop, - const char *assocClass, - const char *resultClass, - const char *role, - const char *resultRole, - const char** properties, - int namesOnly, - int refs ) +// **************************************************************************** +// doReferences() +// This is the callback called from the SimpleAssociators helper functions +// It "handles" one or more instances of the association class +// to be filtered by the SimpleAssociatior helper functions to return +// the correct object (instance or object path) +// **************************************************************************** +CMPIStatus +doReferences( + omccmpiSimpleAssocCtx ctx, + CMPIAssociationMI* self, + const CMPIBroker *broker, + const CMPIContext* context, + const CMPIResult* results, + const CMPIObjectPath* cop, + const char *assocClass, + const char *resultClass, + const char *role, + const char *resultRole, + const char** properties) { - DEBUGOUT("associatorsHelper: namesOnly: %d refs: %d\n", namesOnly, refs); + DEBUGOUT("doReferences called\n"); CMPIStatus status = {CMPI_RC_OK, NULL}; char * ns = CMGetCharPtr(CMGetNameSpace(cop, NULL)); @@ -327,184 +356,129 @@ if(strcasecmp(objClassName, LEFT_CLASSNAME) == 0) { - // this is a <LEFT_CLASSNAME>, returning a <RIGHT_CLASSNAME> - //DEBUGOUT("ResultClass: %s\n", resultClass?resultClass:"<empty>"); + // this is a LEFT_CLASSNAME + // need to get approprate RIGHT_CLASSNAME for ASSOC_CLASSNAME inst + // but if resultClass is set, it must match + + int bHaveMatch = 1; // TRUE if ((resultClass != NULL) && (*resultClass != 0)) { - //DEBUGOUT("Is resultClass (%s) a parent of %s?\n", resultClass, RIGHT_CLASSNAME); - if (!omccmpiClassIsDerivedFrom( RIGHT_CLASSNAME, - resultClass, - _broker, - ns )) + // check + if (!omccmpiClassIsDerivedFrom(RIGHT_CLASSNAME, + resultClass, + _broker,ns,&status)) { - goto exit; + bHaveMatch = 0; // FALSE } } - // TODO - - // check the incoming cop for anything to help determine results - // see example below for comparing incoming computerSystemName with - // 'this' computer system name - /* - char name[128] = {0}; - omcGetComputerSystemName(name, 128); - - CMPIData data = CMGetKey(cop, "Name", &status); - char *inName = CMGetCharPtr(data.value.string); - DEBUGOUT("Comparing inName: %s with name: %s\n", inName, name); - if (strcasecmp(inName, name) == 0) - */ + if ((resultRole != NULL) && (*resultRole != 0)) { - // create the <right_classname> cop that I'll use below - CMPIObjectPath *rightcop = CMNewObjectPath(_broker, ns, RIGHT_CLASSNAME, &status); - if ((status.rc != CMPI_RC_OK) || CMIsNullObject(rightcop)) + // check + if (strcasecmp(resultRole, RIGHT_PROPERTYNAME) != 0) { - CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, - "Could not create <RIGHT_CLASSNAME> object path"); - goto exit; + bHaveMatch = 0; // FALSE } - else - { - // add keys to the RIGHT_ object class - /* - char instanceID[] = "omc:computername"; - CMAddKey(rightcop, "InstanceID", (CMPIValue *)instanceID, CMPI_chars); - */ - } + } - // Create and populate results - if (namesOnly) - { - if (refs) - { - // create an association object path with the <rightcop> - DEBUGOUT("associatorsHelper: creating association path: %s\n", ""); - CMPIObjectPath *assocCop = omccmpiCreateAssociationPath(_broker, - ns, - ASSOC_CLASSNAME, - LEFT_PROPERTYNAME, - RIGHT_PROPERTYNAME, - cop, // cop sent in - rightcop ); - CMReturnObjectPath(results, assocCop); - } - else - { - // return the <rightcop> - CMReturnObjectPath(results, rightcop); - } - } - else - { - if (refs) - { - // create an association instance with the <rightcop> - CMPIInstance *assocInst = omccmpiCreateAssociationInst(_broker, - ns, - ASSOC_CLASSNAME, - LEFT_PROPERTYNAME, - RIGHT_PROPERTYNAME, - cop, - rightcop ); - CMReturnInstance(results, assocInst); - } - else - { - // return the instance from <rightcop> - CMPIInstance *rightInst = CBGetInstance(_broker, context, rightcop, properties, &status); - CMReturnInstance(results, rightInst); - } - } + if (bHaveMatch) + { + // do work here: + // create and return the appropriate association instance(s) + // + // loop, if necesssary + // do appropriate checks + + // the left cop was passed in + CMPIObjectPath *leftCop = cop; + + // get or create right side object path + CMPIObjectPath *rightCop = CMNewObjectPath(_broker, ns, RIGHT_CLASSNAME, &status); + // add keys + + + // create association instance + CMPIInstance *assocInst = omccmpiCreateAssociationInst(_broker, + ns, + ASSOC_CLASSNAME, + classKeys, + properties, + LEFT_PROPERTYNAME, + RIGHT_PROPERTYNAME, + leftCop, + rightCop, + &status); + // "handle" the association + omccmpiSimpleAssocResults(ctx, assocInst, &status); } } else if(strcmp(objClassName, RIGHT_CLASSNAME) == 0) { - // this is a <RIGHT_CLASSNAME>, returning a <LEFT_CLASSNAME> - //DEBUGOUT("ResultClass: %s\n", resultClass?resultClass:"<empty>"); + // this is a RIGHT_CLASSNAME + // need to get approprate LEFT_CLASSNAME for ASSOC_CLASSNAME inst + // but if resultClass is set, it must match + + int bHaveMatch = 1; // TRUE if ((resultClass != NULL) && (*resultClass != 0)) { - //DEBUGOUT("Is resultClass (%s) a parent of %s?\n", resultClass, LEFT_CLASSNAME); - if (!omccmpiClassIsDerivedFrom( LEFT_CLASSNAME, - resultClass, - _broker, - ns )) + // check + if (!omccmpiClassIsDerivedFrom(LEFT_CLASSNAME, + resultClass, + _broker,ns,&status)) { - goto exit; + bHaveMatch = 0; // FALSE } } - // TODO - - // check the incoming cop for anything to help determine results - // see example below for comparing incoming computerSystemName with - // 'this' computer system name - /* - CMPIData data = CMGetKey(cop, "InstanceID", &status); - char *inName = CMGetCharPtr(data.value.string); - DEBUGOUT("comparing inName (%s) with name (%s)\n", inName, "omc:computername"); - if (strcasecmp(inName, "omc:computername") == 0) - */ + if ((resultRole != NULL) && (*resultRole != 0)) { - // create the <left_classname> cop that I'll use below - CMPIObjectPath *leftcop = omccmpiCreateCSObjectPath( _broker, ns); - if ((status.rc != CMPI_RC_OK) || CMIsNullObject(leftcop)) + // check + if (strcasecmp(resultRole, LEFT_PROPERTYNAME) != 0) { - CMSetStatusWithChars(_broker, &status, CMPI_RC_ERR_FAILED, - "Could not create <left_classname> cop"); - goto exit; + bHaveMatch = 0; // FALSE } + } - // create and populate results - if (namesOnly) - { - if (refs) - { - // create an association object path with the <leftcop> - CMPIObjectPath *assocCop = omccmpiCreateAssociationPath(_broker, - ns, - ASSOC_CLASSNAME, - LEFT_PROPERTYNAME, - RIGHT_PROPERTYNAME, - leftcop, - cop ); - CMReturnObjectPath(results, assocCop); - } - else - { - // return the <leftcop> - CMReturnObjectPath(results, leftcop); - } - } - else - { - if (refs) - { - // create an association instance with the <leftcop> - CMPIInstance *assocInst = omccmpiCreateAssociationInst(_broker, - ns, - ASSOC_CLASSNAME, - LEFT_PROPERTYNAME, - RIGHT_PROPERTYNAME, - leftcop, - cop ); - CMReturnInstance(results, assocInst); - } - else - { - // return the instance from <leftcop> - CMPIInstance *rightInst = CBGetInstance(_broker, context, rightcop, properties, &status); - CMReturnInstance(results, rightInst); - } - } + if (bHaveMatch) + { + // do work here: + // create and return the appropriate association instance(s) + // + // loop, if necesssary + // do appropriate checks + + // get or create left side object path + CMPIObjectPath *leftCop = CMNewObjectPath(_broker, ns, LEFT_CLASSNAME, &status); + // add keys + + // the right cop was passed in + CMPIObjectPath *rightCop = cop; + + + // create association instance + CMPIInstance *assocInst = omccmpiCreateAssociationInst(_broker, + ns, + ASSOC_CLASSNAME, + classKeys, + properties, + LEFT_PROPERTYNAME, + RIGHT_PROPERTYNAME, + leftCop, + rightCop, + &status); + // "handle" the association + omccmpiSimpleAssocResults(ctx, assocInst, &status); } } else { - DEBUGOUT("!!! Object type unknown: %s\n", objsClassName); + DEBUGOUT("!!! Object type unknown: %s\n", objClassName); } } -exit: + //close return handler + CMReturnDone(results); + + DEBUGOUT("Leaving doReferences\n"); return status; } @@ -574,19 +548,10 @@ DEBUGOUT("Associators() called"); - CMPIStatus status = associatorsHelper( self, - context, - results, - cop, - assocClass, - resultClass, - role, - resultRole, - properties, - 0, // not names only - 0 ); // not ref + CMPIStatus status = omccmpiSimpleAssociators( doReferences, self, + _broker, context, results, cop, assocClass, + resultClass, role, resultRole, properties); -exit: DEBUGOUT("Leaving Associatiors(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -616,19 +581,10 @@ DEBUGOUT("AssociatorNames() called"); - CMPIStatus status = associatorsHelper( self, - context, - results, - cop, - assocClass, - resultClass, - role, - resultRole, - properties, - 1, // names only - 0 ); // not ref + CMPIStatus status = omccmpiSimpleAssociatorNames( doReferences, self, + _broker, context, results, cop, assocClass, + resultClass, role, resultRole); -exit: DEBUGOUT("Leaving AssociatiorNames(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -656,19 +612,10 @@ DEBUGOUT("References() called"); - CMPIStatus status = associatorsHelper( self, - context, - results, - cop, - resultClass, - NULL, - role, - NULL, - properties, - 0, // not names only - 1 ); // refs + CMPIStatus status = omccmpiSimpleReferences( doReferences, self, + _broker, context, results, cop, NULL, + resultClass, role, NULL, properties); -exit: DEBUGOUT("Leaving References(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } @@ -694,19 +641,10 @@ DEBUGOUT("ReferenceNames() called"); - CMPIStatus status = associatorsHelper( self, - context, - results, - cop, - resultClass, - NULL, - role, - NULL, - properties, - 1, // names only - 1 ); // refs + CMPIStatus status = omccmpiSimpleReferenceNames( doReferences, self, + _broker, context, results, cop, NULL, + resultClass, role, NULL); -exit: DEBUGOUT("Leaving ReferenceNames(): %s", (status.rc == CMPI_RC_OK)? "succeeded":"failed"); return status; } Added: cmpibase/trunk/src/providers/time-service/Makefile.am =================================================================== --- cmpibase/trunk/src/providers/time-service/Makefile.am (rev 0) +++ cmpibase/trunk/src/providers/time-service/Makefile.am 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,96 @@ +include $(top_srcdir)/Makefile.incl.am + +provider_LTLIBRARIES = libomccmpi_systemTimeService.la \ + libomccmpi_remoteTimeServicePort.la +# libomccmpi_hostedTimeService.la \ +# libomccmpi_timeServiceAccessBySAP.la \ +# libomccmpi_timeServiceAvailableToElement.la \ +# libomccmpi_timeServiceTimeZoneSettingData.la \ +# libomccmpi_timeZoneSettingData.la + + +INCLUDES = -I$(top_srcdir)/src/include + +libomccmpi_systemTimeService_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +libomccmpi_systemTimeService_la_SOURCES = \ + systemTimeService.c + +libomccmpi_systemTimeService_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + + +libomccmpi_remoteTimeServicePort_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +libomccmpi_remoteTimeServicePort_la_SOURCES = \ + remoteTimeServicePort.c + +libomccmpi_remoteTimeServicePort_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + + +#libomccmpi_hostedTimeService_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +#libomccmpi_hostedTimeService_la_SOURCES = \ + hostedTimeService.c + +#libomccmpi_hostedTimeService_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + + +#libomccmpi_timeServiceAccessBySAP_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +#libomccmpi_timeServiceAccessBySAP_la_SOURCES = \ + timeServiceAccessBySAP.c + +#libomccmpi_timeServiceAccessBySAP_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + + +#libomccmpi_timeServiceAvailableToElement_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +#libomccmpi_timeServiceAvailableToElement_la_SOURCES = \ + timeServiceAvailableToElement.c + +#libomccmpi_timeServiceAvailableToElement_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + + +#libomccmpi_timeServiceTimeZoneSettingData_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +#libomccmpi_timeServiceTimeZoneSettingData_la_SOURCES = \ + timeServiceTimeZoneSettingData.c + +#libomccmpi_timeServiceTimeZoneSettingData_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + + +#libomccmpi_timeZoneSettingData_la_LIBADD = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la + +#libomccmpi_timeZoneSettingData_la_SOURCES = \ + timeZoneSettingData.c + +#libomccmpi_timeZoneSettingData_la_LDFLAGS = \ + -lpthread \ + -version-info 1 + Added: cmpibase/trunk/src/providers/time-service/Makefile.in =================================================================== --- cmpibase/trunk/src/providers/time-service/Makefile.in (rev 0) +++ cmpibase/trunk/src/providers/time-service/Makefile.in 2006-11-01 23:59:10 UTC (rev 12) @@ -0,0 +1,566 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# *********************************************************************** +# MACROS and VARIABLES +# *********************************************************************** + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/Makefile.incl.am +subdir = src/providers/time-service +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(providerdir)" +providerLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(provider_LTLIBRARIES) +libomccmpi_remoteTimeServicePort_la_DEPENDENCIES = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(top_builddir)/src/lib/omc/libomc_cbase.la +am_libomccmpi_remoteTimeServicePort_la_OBJECTS = \ + remoteTimeServicePort.lo +libomccmpi_remoteTimeServicePort_la_OBJECTS = \ + $(am_libomccmpi_remoteTimeServicePort_la_OBJECTS) +libomccmpi_systemTimeService_la_DEPENDENCIES = \ + $(top_builddir)/src/lib/omc/libomc_cmpi.la \ + $(to... [truncated message content] |
From: <jc...@us...> - 2006-11-01 20:01:52
|
Revision: 11 http://svn.sourceforge.net/omc/?rev=11&view=rev Author: jcarey Date: 2006-11-01 12:01:25 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Initial import Added Paths: ----------- clp/ clp/branches/ clp/tags/ clp/trunk/ clp/trunk/LICENSE clp/trunk/Makefile.am clp/trunk/README clp/trunk/bootstrap.sh clp/trunk/config/ clp/trunk/config/ltmain.sh clp/trunk/config.h.in clp/trunk/configure.ac clp/trunk/docs/ clp/trunk/src/ clp/trunk/src/Makefile.am clp/trunk/src/clpaddrgram/ clp/trunk/src/clpaddrgram/Makefile.am clp/trunk/src/clpaddrgram/clpaddressing.abnf clp/trunk/src/clpaddrgram/clpaddrlexer.ll clp/trunk/src/clpaddrgram/clpaddrparser.yy clp/trunk/src/clpcmdgram/ clp/trunk/src/clpcmdgram/Makefile.am clp/trunk/src/clpcmdgram/clpcmd.abnf clp/trunk/src/clpcmdgram/clpcmdlexer.ll clp/trunk/src/clpcmdgram/clpcmdparser.yy clp/trunk/src/mof/ clp/trunk/src/mof/NCLP_ConcreteJob.mof clp/trunk/src/mof/OMC_CLPProtocolService.mof clp/trunk/src/oemextensions.ini clp/trunk/src/omcclp.conf clp/trunk/src/omcclp.cpp clp/trunk/src/omcclp.h clp/trunk/src/omcclpaddr.ini clp/trunk/src/omcclpc.cpp clp/trunk/src/omcclpc.h clp/trunk/src/omcclpcache.cpp clp/trunk/src/omcclpcache.h clp/trunk/src/omcclpcmdalias.cpp clp/trunk/src/omcclpcmdalias.h clp/trunk/src/omcclpcmdcd.cpp clp/trunk/src/omcclpcmdcd.h clp/trunk/src/omcclpcmdcreate.cpp clp/trunk/src/omcclpcmdcreate.h clp/trunk/src/omcclpcmddelete.cpp clp/trunk/src/omcclpcmddelete.h clp/trunk/src/omcclpcmddump.cpp clp/trunk/src/omcclpcmddump.h clp/trunk/src/omcclpcmdexit.cpp clp/trunk/src/omcclpcmdexit.h clp/trunk/src/omcclpcmdhelp.cpp clp/trunk/src/omcclpcmdhelp.h clp/trunk/src/omcclpcmdload.cpp clp/trunk/src/omcclpcmdload.h clp/trunk/src/omcclpcmdmapping.cpp clp/trunk/src/omcclpcmdmapping.h clp/trunk/src/omcclpcmdreset.cpp clp/trunk/src/omcclpcmdreset.h clp/trunk/src/omcclpcmdset.cpp clp/trunk/src/omcclpcmdset.h clp/trunk/src/omcclpcmdshow.cpp clp/trunk/src/omcclpcmdshow.h clp/trunk/src/omcclpcmdstart.cpp clp/trunk/src/omcclpcmdstart.h clp/trunk/src/omcclpcmdstop.cpp clp/trunk/src/omcclpcmdstop.h clp/trunk/src/omcclpcmdversion.cpp clp/trunk/src/omcclpcmdversion.h clp/trunk/src/omcclpcommand.cpp clp/trunk/src/omcclpcommand.h clp/trunk/src/omcclpcommandline.cpp clp/trunk/src/omcclpcommandstatus.cpp clp/trunk/src/omcclpcommandstatus.h clp/trunk/src/omcclpcommon.cpp clp/trunk/src/omcclpcommon.h clp/trunk/src/omcclpconf.cpp clp/trunk/src/omcclpconf.h clp/trunk/src/omcclpd.conf clp/trunk/src/omcclpd.cpp clp/trunk/src/omcclpd.h clp/trunk/src/omcclpdconfig.cpp clp/trunk/src/omcclpdconfig.h clp/trunk/src/omcclpdconfigopts.h clp/trunk/src/omcclpdenv.cpp clp/trunk/src/omcclpdenv.h clp/trunk/src/omcclpdpidfile.cpp clp/trunk/src/omcclpdpidfile.h clp/trunk/src/omcclpdserver.cpp clp/trunk/src/omcclpdserver.h clp/trunk/src/omcclpdsvrconnection.cpp clp/trunk/src/omcclpdsvrconnection.h clp/trunk/src/omcclpdsyslogappender.cpp clp/trunk/src/omcclpdsyslogappender.h clp/trunk/src/omcclphelp.ini clp/trunk/src/omcclpoption.cpp clp/trunk/src/omcclpoption.h clp/trunk/src/omcclpprint.cpp clp/trunk/src/omcclpprint.h clp/trunk/src/omcclpprogram.cpp clp/trunk/src/omcclpprogram.h clp/trunk/src/omcclpproperty.h clp/trunk/src/omcclptargetpath.cpp clp/trunk/src/omcclptargetpath.h clp/trunk/src/spec/ clp/trunk/src/spec/omcclp.spec clp/trunk/src/stlini.cpp clp/trunk/src/stlini.h clp/trunk/src/version.h clp/trunk/test/ clp/trunk/test/gomultiproc.exp clp/trunk/test/gouniproc.exp clp/trunk/test/script.exp Added: clp/trunk/LICENSE =================================================================== --- clp/trunk/LICENSE (rev 0) +++ clp/trunk/LICENSE 2006-11-01 20:01:25 UTC (rev 11) @@ -0,0 +1,324 @@ +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it +to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you can +do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions translate +to certain responsibilities for you if you distribute copies of the software, or if +you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a +fee, you must give the recipients all the rights that you have. You must make sure +that they, too, receive or can get the source code. And you must show them these +terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer +you this license which gives you legal permission to copy, distribute and/or modify +the software. + +Also, for each author's protection and ours, we want to make certain that everyone +understands that there is no warranty for this free software. If the software is +modified by someone else and passed on, we want its recipients to know that what +they have is not the original, so that any problems introduced by others will not +reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to +avoid the danger that redistributors of a free program will individually obtain patent +licenses, in effect making the program proprietary. To prevent this, we have made it +clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed +by the copyright holder saying it may be distributed under the terms of this General +Public License. The "Program", below, refers to any such program or work, and a +"work based on the Program" means either the Program or any derivative work under +copyright law: that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another language. +(Hereinafter, translation is included without limitation in the term "modification".) +Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is not +restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by running +the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any warranty; and +give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your +option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications or +work under the terms of Section 1 above, provided that you also meet all of these +conditions: + + a) You must cause the modified files to carry prominent notices stating that + you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the most + ordinary way, to print or display an announcement including an appropriate + copyright notice and a notice that there is no warranty (or else, saying + that you provide a warranty) and that users may redistribute the program + under these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but does not + normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Program, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend to +the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with +the Program (or with a work based on the Program) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 +and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 + above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, + to give any third party, for a charge no more than your cost of + physically performing source distribution, a complete machine-readable + copy of the corresponding source code, to be distributed under the + terms of Sections 1 and 2 above on a medium customarily used for + software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed + only for noncommercial distribution and only if you received the + program in object code or executable form with such an offer, in + accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and +installation of the executable. However, as a special exception, the +source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major components +(compiler, kernel, and so on) of the operating system on which the executable +runs, unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access +to copy from a designated place, then offering equivalent access to copy +the source code from the same place counts as distribution of the source +code, even though third parties are not compelled to copy the source along +with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except +as expressly provided under this License. Any attempt otherwise to copy, +modify, sublicense or distribute the Program is void, and will automatically +terminate your rights under this License. However, parties who have received +copies, or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the +Program or its derivative works. These actions are prohibited by law if +you do not accept this License. Therefore, by modifying or distributing +the Program (or any work based on the Program), you indicate your acceptance +of this License to do so, and all its terms and conditions for copying, +distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are +imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from +the conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of +that system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an +explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus excluded. +In such case, this License incorporates the limitation as if written in the +body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that +version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse +of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST +OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR +DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR +A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + +one line to give the program's name and an idea of what it does. + +Copyright (C) yyyy name of author + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details +type `show w'. This is free software, and you are welcome +to redistribute it under certain conditions; type `show c' +for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and +`show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright +interest in the program `Gnomovision' +(which makes passes at compilers) written +by James Hacker. + +signature of Ty Coon, 1 April 1989 +Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, +you may consider it more useful to permit linking proprietary applications +with the library. If this is what you want to do, use the GNU Lesser +General Public License instead of this License. Added: clp/trunk/Makefile.am =================================================================== --- clp/trunk/Makefile.am (rev 0) +++ clp/trunk/Makefile.am 2006-11-01 20:01:25 UTC (rev 11) @@ -0,0 +1,5 @@ +# not a GNU package. You can remove this line, if +# have all needed files, that a GNU package needs +AUTOMAKE_OPTIONS = foreign 1.4 + +SUBDIRS = src Added: clp/trunk/README =================================================================== --- clp/trunk/README (rev 0) +++ clp/trunk/README 2006-11-01 20:01:25 UTC (rev 11) @@ -0,0 +1,11 @@ +- SESSION Keyword Support + The OMC-CLP relies on the existance of specific + CLP CIM classes in order to fully support the SESSION + keyword. The mof file src/mof/OMC_CLPProtocolService.mof + provides the necessary classes and must be compiled + and loaded in to the CIMOM. To compile and install + the mof file into an OpenWBEM CIMOM, use the following + command + + owmofc -u https://<your-server> -n <namespace> -s /usr/share/mof/cim-current OMC_CLPProtocolService.mof + Added: clp/trunk/bootstrap.sh =================================================================== --- clp/trunk/bootstrap.sh (rev 0) +++ clp/trunk/bootstrap.sh 2006-11-01 20:01:25 UTC (rev 11) @@ -0,0 +1,7 @@ +#! /bin/sh + +aclocal \ +&& touch NEWS README AUTHORS ChangeLog \ +&& automake --add-missing \ +&& autoconf + Property changes on: clp/trunk/bootstrap.sh ___________________________________________________________________ Name: svn:executable + Added: clp/trunk/config/ltmain.sh =================================================================== --- clp/trunk/config/ltmain.sh (rev 0) +++ clp/trunk/config/ltmain.sh 2006-11-01 20:01:25 UTC (rev 11) @@ -0,0 +1,6343 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <go...@gn...>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit 0 +fi + +# The name of this program. +progname=`$echo "$0" | ${SED} 's%^.*/%%'` +modename="$progname" + +# Constants. +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5a +TIMESTAMP=" (1.1240 2003/06/26 06:55:19)" + +default_mode= +help="Try \`$progname --help' for more information." +magic="%%%MAGIC variable%%%" +mkdir="mkdir" +mv="mv -f" +rm="rm -f" + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +# test EBCDIC or ASCII +case `echo A|tr A '\301'` in + A) # EBCDIC based system + SP2NL="tr '\100' '\n'" + NL2SP="tr '\r\n' '\100\100'" + ;; + *) # Assume ASCII based system + SP2NL="tr '\040' '\012'" + NL2SP="tr '\015\012' '\040\040'" + ;; +esac + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +# We save the old values to restore during execute mode. +if test "${LC_ALL+set}" = set; then + save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL +fi +if test "${LANG+set}" = set; then + save_LANG="$LANG"; LANG=C; export LANG +fi + +# Make sure IFS has a sensible default +: ${IFS=" "} + +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +win32_libid () { + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` + if test "X$win32_nmres" = "Ximport" ; then + win32_libid_type="x86 archive import" + else + win32_libid_type="x86 archive static" + fi + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + +# End of Shell function definitions +##################################### + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit 1 + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2003 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit 0 + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" + done + exit 0 + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit 0 + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + ;; + + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 +fi + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_output= + arg_mode=normal + libobj= + + for arg + do + case "$arg_mode" in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + arg_mode=target + continue + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit 1 + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit 1 + ;; + esac + + # Infer tagged configuration to use if any are available and + # if one wasn't chosen via the "--tag" command line option. + # Only attempt this if the compiler in the base compile + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case "$base_compile " in + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit 1 +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + $echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T <<EOF +# $libobj - a libtool object file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +EOF + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $srcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $srcfile" + fi + + if test ! -d "${xdir}$objdir"; then + $show "$mkdir ${xdir}$objdir" + $run $mkdir ${xdir}$objdir + status=$? + if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then + exit $status + fi + fi + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + command="$command -o $lobj" + fi + + $run $rm "$lobj" "$output_obj" + + $show "$command" + if $run eval "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object='$objdir/$objname' + +EOF + + # Allow error messages only from the first compilation. + suppress_output=' >/dev/null 2>&1' + else + # No PIC object so indicate it doesn't exist in the libtool + # object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object=none + +EOF + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $srcfile" + else + command="$base_compile $srcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + $run $rm "$obj" "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object='$objname' + +EOF + else + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object=none + +EOF + fi + + $run $mv "${libobj}T" "${libobj}" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi + + exit 0 + ;; + + # libtool link mode + link | relink) + modename="$modename: link" + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + base_compile="$nonopt" + compile_command="$nonopt" + finalize_command="$nonopt" + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + add_flags= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -all-static | -static) + if test "X$arg" = "X-all-static"; then + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + base_compile="$base_compile $arg" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit 1 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit 1 + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit 1 + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-openbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # gcc -m* arguments should be passed to the linker via $compiler_flags + # in order to pass architecture information to the linker + # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo + # but this is not reliable with gcc because gcc may use -mfoo to + # select a different linker, different libraries, etc, while + # -Wl,-mfoo simply passes -mfoo to the linker. + -m*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivale... [truncated message content] |
From: <jc...@us...> - 2006-11-01 18:06:07
|
Revision: 5 http://svn.sourceforge.net/omc/?rev=5&view=rev Author: jcarey Date: 2006-11-01 10:05:45 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Initial import Added Paths: ----------- cmpibase/ cmpibase/branches/ cmpibase/tags/ cmpibase/trunk/ cmpibase/trunk/AUTHORS cmpibase/trunk/COPYING cmpibase/trunk/ChangeLog cmpibase/trunk/INSTALL cmpibase/trunk/LICENSE cmpibase/trunk/Makefile.am cmpibase/trunk/Makefile.incl.am cmpibase/trunk/NEWS cmpibase/trunk/README cmpibase/trunk/bootstrap.sh cmpibase/trunk/configure cmpibase/trunk/configure.ac cmpibase/trunk/docs/ cmpibase/trunk/etc/ cmpibase/trunk/install-sh cmpibase/trunk/src/ cmpibase/trunk/src/Makefile.am cmpibase/trunk/src/include/ cmpibase/trunk/src/include/Makefile.am cmpibase/trunk/src/include/omc/ cmpibase/trunk/src/include/omc/Makefile.am cmpibase/trunk/src/include/omc/base.h cmpibase/trunk/src/include/omc/cmpiSimpleAssoc.h cmpibase/trunk/src/include/omc/cmpiUtils.h cmpibase/trunk/src/include/omc/exec.h cmpibase/trunk/src/include/omc/ioUtils.h cmpibase/trunk/src/include/omc/linuxProcUtils.h cmpibase/trunk/src/include/omc/modifyFile.h cmpibase/trunk/src/include/omc/string.h cmpibase/trunk/src/lib/ cmpibase/trunk/src/lib/Makefile.am cmpibase/trunk/src/lib/omc/ cmpibase/trunk/src/lib/omc/Makefile.am cmpibase/trunk/src/lib/omc/base.c cmpibase/trunk/src/lib/omc/cmpiSimpleAssoc.c cmpibase/trunk/src/lib/omc/cmpiUtils.c cmpibase/trunk/src/lib/omc/exec.c cmpibase/trunk/src/lib/omc/ioUtils.c cmpibase/trunk/src/lib/omc/linuxProcUtils.c cmpibase/trunk/src/lib/omc/modifyFile.c cmpibase/trunk/src/lib/omc/string.c cmpibase/trunk/src/providers/ cmpibase/trunk/src/providers/Makefile.am cmpibase/trunk/src/providers/computer-system/ cmpibase/trunk/src/providers/computer-system/Makefile.am cmpibase/trunk/src/providers/computer-system/computerSystem.c cmpibase/trunk/src/providers/computer-system/computerSystemHostNameSettingData.c cmpibase/trunk/src/providers/computer-system/hostNameSettingData.c cmpibase/trunk/src/providers/computer-system/mof/ cmpibase/trunk/src/providers/computer-system/mof/30236.mof cmpibase/trunk/src/providers/computer-system/mof/cleanmof.sh cmpibase/trunk/src/providers/computer-system/mof/genmof.sh cmpibase/trunk/src/providers/computer-system/mof/importmof.sh cmpibase/trunk/src/providers/computer-system/mof/omc-computer-system.mof cmpibase/trunk/src/providers/computer-system/mof/omc-computer-system.reg.mof cmpibase/trunk/src/providers/computer-system/mof/provider-register.sh cmpibase/trunk/src/providers/operating-system/ cmpibase/trunk/src/providers/operating-system/LinuxInstalledOS.c cmpibase/trunk/src/providers/operating-system/LinuxOSInfo.c cmpibase/trunk/src/providers/operating-system/LinuxOSInfo.h cmpibase/trunk/src/providers/operating-system/LinuxOSProvider.c cmpibase/trunk/src/providers/operating-system/LinuxOSProviderReg.mof cmpibase/trunk/src/providers/operating-system/LinuxRunningOS.c cmpibase/trunk/src/providers/operating-system/Makefile.am cmpibase/trunk/src/providers/operating-system/temp.mof cmpibase/trunk/src/providers/processes/ cmpibase/trunk/src/providers/processes/LinuxProcessProvider.c cmpibase/trunk/src/providers/processes/LinuxProcessProviderReg.mof cmpibase/trunk/src/providers/processes/Makefile.am cmpibase/trunk/src/providers/samples/ cmpibase/trunk/src/providers/samples/c/ cmpibase/trunk/src/providers/samples/c/27808.mof cmpibase/trunk/src/providers/samples/c/28020.mof cmpibase/trunk/src/providers/samples/c/29735.mof cmpibase/trunk/src/providers/samples/c/30157.mof cmpibase/trunk/src/providers/samples/c/32116.mof cmpibase/trunk/src/providers/samples/c/computerSystem.c cmpibase/trunk/src/providers/samples/c/libomc_unitary_computer_system_provider.so cmpibase/trunk/src/providers/samples/c/omc-computer-system.dereg.mof cmpibase/trunk/src/providers/samples/c/omc-computer-system.mof cmpibase/trunk/src/providers/samples/c/omc-computer-system.reg.mof cmpibase/trunk/src/providers/samples/c/provider-register.sh cmpibase/trunk/src/providers/samples/cimple/ cmpibase/trunk/src/providers/samples/cimple/computerSystem/ cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ComputerSystem.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ComputerSystem.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ConcreteJob.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ConcreteJob.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ElementSettingData.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ElementSettingData.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_EnabledLogicalElement.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_EnabledLogicalElement.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_Job.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_Job.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_LogicalElement.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_LogicalElement.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ManagedElement.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ManagedElement.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ManagedSystemElement.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_ManagedSystemElement.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_SettingData.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_SettingData.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_System.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_System.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_UnitaryComputerSystem.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/CIM_UnitaryComputerSystem.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_ComputerSystemHostNameSettingData.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_ComputerSystemHostNameSettingData.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_ComputerSystemHostNameSettingData_Provider.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_ComputerSystemHostNameSettingData_Provider.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_HostNameSettingData.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_HostNameSettingData.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_HostNameSettingData_Provider.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_HostNameSettingData_Provider.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_UnitaryComputerSystem.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_UnitaryComputerSystem.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_UnitaryComputerSystem_Provider.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/OMC_UnitaryComputerSystem_Provider.h cmpibase/trunk/src/providers/samples/cimple/computerSystem/libomc_computer_system.so cmpibase/trunk/src/providers/samples/cimple/computerSystem/module.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/omc-computer-system.mof cmpibase/trunk/src/providers/samples/cimple/computerSystem/repository.cpp cmpibase/trunk/src/providers/samples/cimple/computerSystem/repository.h cmpibase/trunk/src/providers/samples/test/ cmpibase/trunk/src/providers/samples/test/NormTest.cpp cmpibase/trunk/src/providers/samples/test/NormTest.h cmpibase/trunk/src/providers/samples/test/NormTest_Provider.cpp cmpibase/trunk/src/providers/samples/test/NormTest_Provider.h cmpibase/trunk/src/providers/samples/test/libNormTest.so cmpibase/trunk/src/providers/samples/test/module.cpp cmpibase/trunk/src/providers/samples/test/repository.cpp cmpibase/trunk/src/providers/samples/test/repository.h cmpibase/trunk/src/providers/samples/test/test.mof cmpibase/trunk/src/providers/template/ cmpibase/trunk/src/providers/template/cmpi-providerTemplate.c cmpibase/trunk/src/providers/template/pg_registration.mof.tmpl cmpibase/trunk/src/tools/ cmpibase/trunk/test/ Added: cmpibase/trunk/AUTHORS =================================================================== Added: cmpibase/trunk/COPYING =================================================================== Added: cmpibase/trunk/ChangeLog =================================================================== --- cmpibase/trunk/ChangeLog (rev 0) +++ cmpibase/trunk/ChangeLog 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1 @@ +Initial. Added: cmpibase/trunk/INSTALL =================================================================== --- cmpibase/trunk/INSTALL (rev 0) +++ cmpibase/trunk/INSTALL 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1,229 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Added: cmpibase/trunk/LICENSE =================================================================== --- cmpibase/trunk/LICENSE (rev 0) +++ cmpibase/trunk/LICENSE 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1,91 @@ +OMC is primarily constrained by BSD License. +However, some files have a more restrictive license (GPL): +* SysLog-NG + +Please pay attention to the license for each file. + +Below are some of the license notices you will encounter throughout the OMC project: + +Notice for Projects/Files Released Under the GPL + +/**************************************************************************** + | + | Copyright (c) [YEARS] Novell, Inc. + | All Rights Reserved. + | + | This program is free software; you can redistribute it and/or + | modify it under the terms of version 2 of the GNU General Public License as + | published by the Free Software Foundation. + | + | This program is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU General Public License for more details. + | + | You should have received a copy of the GNU General Public License + | along with this program; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |*************************************************************************** + + +Notice for Projects/Files Released Under the LGPL + +/**************************************************************************** + | + | Copyright (c) [YEARS] Novell, Inc. + | All Rights Reserved. + | + | This library is free software; you can redistribute it and/or + | modify it under the terms of the GNU Lesser General Public License as + | published by the Free Software Foundation; version 2.1 of the license. + | + | This library is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU Lesser General Public License for more details. + | + | You should have received a copy of the GNU Lesser General Public License + | along with this library; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |*************************************************************************** + + +Notice for Projects/Files Released Under the BSD License + +/****************************************************************************** +* Copyright (c) [YEARS], Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of the Novell nor the names of its contributors may be +* used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + Added: cmpibase/trunk/Makefile.am =================================================================== --- cmpibase/trunk/Makefile.am (rev 0) +++ cmpibase/trunk/Makefile.am 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1,9 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = gnu + +SUBDIRS = \ + . \ + src + + Added: cmpibase/trunk/Makefile.incl.am =================================================================== --- cmpibase/trunk/Makefile.incl.am (rev 0) +++ cmpibase/trunk/Makefile.incl.am 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1,10 @@ +# *********************************************************************** +# MACROS and VARIABLES +# *********************************************************************** + +providerdir = $(libdir)/cmpi + +# *********************************************************************** +# TARGETS +# *********************************************************************** + Added: cmpibase/trunk/NEWS =================================================================== --- cmpibase/trunk/NEWS (rev 0) +++ cmpibase/trunk/NEWS 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1 @@ + Added: cmpibase/trunk/README =================================================================== Added: cmpibase/trunk/bootstrap.sh =================================================================== --- cmpibase/trunk/bootstrap.sh (rev 0) +++ cmpibase/trunk/bootstrap.sh 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1,9 @@ +#!/bin/sh + +rm -rf config.cache config.guess config.sub depcomp missing mkinstalldirs autom4te.cache + +aclocal \ +&& autoconf \ +&& autoheader \ +&& libtoolize --force --copy \ +&& automake --add-missing Property changes on: cmpibase/trunk/bootstrap.sh ___________________________________________________________________ Name: svn:executable + Added: cmpibase/trunk/configure =================================================================== --- cmpibase/trunk/configure (rev 0) +++ cmpibase/trunk/configure 2006-11-01 18:05:45 UTC (rev 5) @@ -0,0 +1,26685 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for omccmpi 1.0.1. +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='omccmpi' +PACKAGE_TARNAME='omccmpi' +PACKAGE_VERSION='1.0.1' +PACKAGE_STRING='omccmpi 1.0.1' +PACKAGE_BUGREPORT='' + +ac_unique_file="src" +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#if HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# if HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#if HAVE_STRINGS_H +# include <strings.h> +#endif +#if HAVE_INTTYPES_H +# include <inttypes.h> +#else +# if HAVE_STDINT_H +# include <stdint.h> +# endif +#endif +#if HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_default_prefix=/usr +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LEX LEXLIB LEX_OUTPUT_ROOT YACC RM MV CP ALLOCA LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP +ac_env_CXX_set=${CXX+set} +ac_env_CXX_value=$CXX +ac_cv_env_CXX_set=${CXX+set} +ac_cv_env_CXX_value=$CXX +ac_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_env_CXXFLAGS_value=$CXXFLAGS +ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_cv_env_CXXFLAGS_value=$CXXFLAGS +ac_env_CXXCPP_set=${CXXCPP+set} +ac_env_CXXCPP_value=$CXXCPP +ac_cv_env_CXXCPP_set=${CXXCPP+set} +ac_cv_env_CXXCPP_value=$CXXCPP +ac_env_F77_set=${F77+set} +ac_env_F77_value=$F77 +ac_cv_env_F77_set=${F77+set} +ac_cv_env_F77_value=$F77 +ac_env_FFLAGS_set=${FFLAGS+set} +ac_env_FFLAGS_value=$FFLAGS +ac_cv_env_FFLAGS_set=${FFLAGS+set} +ac_cv_env_FFLAGS_value=$FFLAGS + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures omccmpi 1.0.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of omccmpi 1.0.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-shared[=PKGS] + build shared libraries [default=yes] + --enable-static[=PKGS] + build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --disable-libtool-lock avoid locki... [truncated message content] |
From: <jc...@us...> - 2006-11-01 18:05:37
|
Revision: 4 http://svn.sourceforge.net/omc/?rev=4&view=rev Author: jcarey Date: 2006-11-01 10:04:59 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Initial import Added Paths: ----------- clp/ clp/branches/ clp/tags/ clp/trunk/ clp/trunk/LICENSE clp/trunk/Makefile.am clp/trunk/README clp/trunk/bootstrap.sh clp/trunk/config/ clp/trunk/config/ltmain.sh clp/trunk/config.h.in clp/trunk/configure.ac clp/trunk/docs/ clp/trunk/src/ clp/trunk/src/Makefile.am clp/trunk/src/clpaddrgram/ clp/trunk/src/clpaddrgram/Makefile.am clp/trunk/src/clpaddrgram/clpaddressing.abnf clp/trunk/src/clpaddrgram/clpaddrlexer.ll clp/trunk/src/clpaddrgram/clpaddrparser.yy clp/trunk/src/clpcmdgram/ clp/trunk/src/clpcmdgram/Makefile.am clp/trunk/src/clpcmdgram/clpcmd.abnf clp/trunk/src/clpcmdgram/clpcmdlexer.ll clp/trunk/src/clpcmdgram/clpcmdparser.yy clp/trunk/src/mof/ clp/trunk/src/mof/NCLP_ConcreteJob.mof clp/trunk/src/mof/OMC_CLPProtocolService.mof clp/trunk/src/oemextensions.ini clp/trunk/src/omcclp.conf clp/trunk/src/omcclp.cpp clp/trunk/src/omcclp.h clp/trunk/src/omcclpaddr.ini clp/trunk/src/omcclpc.cpp clp/trunk/src/omcclpc.h clp/trunk/src/omcclpcache.cpp clp/trunk/src/omcclpcache.h clp/trunk/src/omcclpcmdalias.cpp clp/trunk/src/omcclpcmdalias.h clp/trunk/src/omcclpcmdcd.cpp clp/trunk/src/omcclpcmdcd.h clp/trunk/src/omcclpcmdcreate.cpp clp/trunk/src/omcclpcmdcreate.h clp/trunk/src/omcclpcmddelete.cpp clp/trunk/src/omcclpcmddelete.h clp/trunk/src/omcclpcmddump.cpp clp/trunk/src/omcclpcmddump.h clp/trunk/src/omcclpcmdexit.cpp clp/trunk/src/omcclpcmdexit.h clp/trunk/src/omcclpcmdhelp.cpp clp/trunk/src/omcclpcmdhelp.h clp/trunk/src/omcclpcmdload.cpp clp/trunk/src/omcclpcmdload.h clp/trunk/src/omcclpcmdmapping.cpp clp/trunk/src/omcclpcmdmapping.h clp/trunk/src/omcclpcmdreset.cpp clp/trunk/src/omcclpcmdreset.h clp/trunk/src/omcclpcmdset.cpp clp/trunk/src/omcclpcmdset.h clp/trunk/src/omcclpcmdshow.cpp clp/trunk/src/omcclpcmdshow.h clp/trunk/src/omcclpcmdstart.cpp clp/trunk/src/omcclpcmdstart.h clp/trunk/src/omcclpcmdstop.cpp clp/trunk/src/omcclpcmdstop.h clp/trunk/src/omcclpcmdversion.cpp clp/trunk/src/omcclpcmdversion.h clp/trunk/src/omcclpcommand.cpp clp/trunk/src/omcclpcommand.h clp/trunk/src/omcclpcommandline.cpp clp/trunk/src/omcclpcommandstatus.cpp clp/trunk/src/omcclpcommandstatus.h clp/trunk/src/omcclpcommon.cpp clp/trunk/src/omcclpcommon.h clp/trunk/src/omcclpconf.cpp clp/trunk/src/omcclpconf.h clp/trunk/src/omcclpd.conf clp/trunk/src/omcclpd.cpp clp/trunk/src/omcclpd.h clp/trunk/src/omcclpdconfig.cpp clp/trunk/src/omcclpdconfig.h clp/trunk/src/omcclpdconfigopts.h clp/trunk/src/omcclpdenv.cpp clp/trunk/src/omcclpdenv.h clp/trunk/src/omcclpdpidfile.cpp clp/trunk/src/omcclpdpidfile.h clp/trunk/src/omcclpdserver.cpp clp/trunk/src/omcclpdserver.h clp/trunk/src/omcclpdsvrconnection.cpp clp/trunk/src/omcclpdsvrconnection.h clp/trunk/src/omcclpdsyslogappender.cpp clp/trunk/src/omcclpdsyslogappender.h clp/trunk/src/omcclphelp.ini clp/trunk/src/omcclpoption.cpp clp/trunk/src/omcclpoption.h clp/trunk/src/omcclpprint.cpp clp/trunk/src/omcclpprint.h clp/trunk/src/omcclpprogram.cpp clp/trunk/src/omcclpprogram.h clp/trunk/src/omcclpproperty.h clp/trunk/src/omcclptargetpath.cpp clp/trunk/src/omcclptargetpath.h clp/trunk/src/spec/ clp/trunk/src/spec/omcclp.spec clp/trunk/src/stlini.cpp clp/trunk/src/stlini.h clp/trunk/src/version.h clp/trunk/test/ clp/trunk/test/gomultiproc.exp clp/trunk/test/gouniproc.exp clp/trunk/test/script.exp Added: clp/trunk/LICENSE =================================================================== --- clp/trunk/LICENSE (rev 0) +++ clp/trunk/LICENSE 2006-11-01 18:04:59 UTC (rev 4) @@ -0,0 +1,324 @@ +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it +to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you can +do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions translate +to certain responsibilities for you if you distribute copies of the software, or if +you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a +fee, you must give the recipients all the rights that you have. You must make sure +that they, too, receive or can get the source code. And you must show them these +terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer +you this license which gives you legal permission to copy, distribute and/or modify +the software. + +Also, for each author's protection and ours, we want to make certain that everyone +understands that there is no warranty for this free software. If the software is +modified by someone else and passed on, we want its recipients to know that what +they have is not the original, so that any problems introduced by others will not +reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to +avoid the danger that redistributors of a free program will individually obtain patent +licenses, in effect making the program proprietary. To prevent this, we have made it +clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed +by the copyright holder saying it may be distributed under the terms of this General +Public License. The "Program", below, refers to any such program or work, and a +"work based on the Program" means either the Program or any derivative work under +copyright law: that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another language. +(Hereinafter, translation is included without limitation in the term "modification".) +Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is not +restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by running +the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any warranty; and +give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your +option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications or +work under the terms of Section 1 above, provided that you also meet all of these +conditions: + + a) You must cause the modified files to carry prominent notices stating that + you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the most + ordinary way, to print or display an announcement including an appropriate + copyright notice and a notice that there is no warranty (or else, saying + that you provide a warranty) and that users may redistribute the program + under these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but does not + normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Program, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend to +the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with +the Program (or with a work based on the Program) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 +and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 + above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, + to give any third party, for a charge no more than your cost of + physically performing source distribution, a complete machine-readable + copy of the corresponding source code, to be distributed under the + terms of Sections 1 and 2 above on a medium customarily used for + software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed + only for noncommercial distribution and only if you received the + program in object code or executable form with such an offer, in + accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and +installation of the executable. However, as a special exception, the +source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major components +(compiler, kernel, and so on) of the operating system on which the executable +runs, unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access +to copy from a designated place, then offering equivalent access to copy +the source code from the same place counts as distribution of the source +code, even though third parties are not compelled to copy the source along +with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except +as expressly provided under this License. Any attempt otherwise to copy, +modify, sublicense or distribute the Program is void, and will automatically +terminate your rights under this License. However, parties who have received +copies, or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the +Program or its derivative works. These actions are prohibited by law if +you do not accept this License. Therefore, by modifying or distributing +the Program (or any work based on the Program), you indicate your acceptance +of this License to do so, and all its terms and conditions for copying, +distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are +imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from +the conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of +that system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an +explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus excluded. +In such case, this License incorporates the limitation as if written in the +body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that +version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse +of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST +OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR +DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR +A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + +one line to give the program's name and an idea of what it does. + +Copyright (C) yyyy name of author + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details +type `show w'. This is free software, and you are welcome +to redistribute it under certain conditions; type `show c' +for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and +`show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright +interest in the program `Gnomovision' +(which makes passes at compilers) written +by James Hacker. + +signature of Ty Coon, 1 April 1989 +Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, +you may consider it more useful to permit linking proprietary applications +with the library. If this is what you want to do, use the GNU Lesser +General Public License instead of this License. Added: clp/trunk/Makefile.am =================================================================== --- clp/trunk/Makefile.am (rev 0) +++ clp/trunk/Makefile.am 2006-11-01 18:04:59 UTC (rev 4) @@ -0,0 +1,5 @@ +# not a GNU package. You can remove this line, if +# have all needed files, that a GNU package needs +AUTOMAKE_OPTIONS = foreign 1.4 + +SUBDIRS = src Added: clp/trunk/README =================================================================== --- clp/trunk/README (rev 0) +++ clp/trunk/README 2006-11-01 18:04:59 UTC (rev 4) @@ -0,0 +1,11 @@ +- SESSION Keyword Support + The OMC-CLP relies on the existance of specific + CLP CIM classes in order to fully support the SESSION + keyword. The mof file src/mof/OMC_CLPProtocolService.mof + provides the necessary classes and must be compiled + and loaded in to the CIMOM. To compile and install + the mof file into an OpenWBEM CIMOM, use the following + command + + owmofc -u https://<your-server> -n <namespace> -s /usr/share/mof/cim-current OMC_CLPProtocolService.mof + Added: clp/trunk/bootstrap.sh =================================================================== --- clp/trunk/bootstrap.sh (rev 0) +++ clp/trunk/bootstrap.sh 2006-11-01 18:04:59 UTC (rev 4) @@ -0,0 +1,7 @@ +#! /bin/sh + +aclocal \ +&& touch NEWS README AUTHORS ChangeLog \ +&& automake --add-missing \ +&& autoconf + Property changes on: clp/trunk/bootstrap.sh ___________________________________________________________________ Name: svn:executable + Added: clp/trunk/config/ltmain.sh =================================================================== --- clp/trunk/config/ltmain.sh (rev 0) +++ clp/trunk/config/ltmain.sh 2006-11-01 18:04:59 UTC (rev 4) @@ -0,0 +1,6343 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <go...@gn...>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit 0 +fi + +# The name of this program. +progname=`$echo "$0" | ${SED} 's%^.*/%%'` +modename="$progname" + +# Constants. +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5a +TIMESTAMP=" (1.1240 2003/06/26 06:55:19)" + +default_mode= +help="Try \`$progname --help' for more information." +magic="%%%MAGIC variable%%%" +mkdir="mkdir" +mv="mv -f" +rm="rm -f" + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +# test EBCDIC or ASCII +case `echo A|tr A '\301'` in + A) # EBCDIC based system + SP2NL="tr '\100' '\n'" + NL2SP="tr '\r\n' '\100\100'" + ;; + *) # Assume ASCII based system + SP2NL="tr '\040' '\012'" + NL2SP="tr '\015\012' '\040\040'" + ;; +esac + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +# We save the old values to restore during execute mode. +if test "${LC_ALL+set}" = set; then + save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL +fi +if test "${LANG+set}" = set; then + save_LANG="$LANG"; LANG=C; export LANG +fi + +# Make sure IFS has a sensible default +: ${IFS=" "} + +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +win32_libid () { + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` + if test "X$win32_nmres" = "Ximport" ; then + win32_libid_type="x86 archive import" + else + win32_libid_type="x86 archive static" + fi + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + +# End of Shell function definitions +##################################### + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit 1 + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2003 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit 0 + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" + done + exit 0 + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit 0 + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + ;; + + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 +fi + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_output= + arg_mode=normal + libobj= + + for arg + do + case "$arg_mode" in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + arg_mode=target + continue + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit 1 + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit 1 + ;; + esac + + # Infer tagged configuration to use if any are available and + # if one wasn't chosen via the "--tag" command line option. + # Only attempt this if the compiler in the base compile + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case "$base_compile " in + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit 1 +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + $echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T <<EOF +# $libobj - a libtool object file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +EOF + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $srcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $srcfile" + fi + + if test ! -d "${xdir}$objdir"; then + $show "$mkdir ${xdir}$objdir" + $run $mkdir ${xdir}$objdir + status=$? + if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then + exit $status + fi + fi + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + command="$command -o $lobj" + fi + + $run $rm "$lobj" "$output_obj" + + $show "$command" + if $run eval "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object='$objdir/$objname' + +EOF + + # Allow error messages only from the first compilation. + suppress_output=' >/dev/null 2>&1' + else + # No PIC object so indicate it doesn't exist in the libtool + # object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object=none + +EOF + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $srcfile" + else + command="$base_compile $srcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + $run $rm "$obj" "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object='$objname' + +EOF + else + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object=none + +EOF + fi + + $run $mv "${libobj}T" "${libobj}" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi + + exit 0 + ;; + + # libtool link mode + link | relink) + modename="$modename: link" + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + base_compile="$nonopt" + compile_command="$nonopt" + finalize_command="$nonopt" + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + add_flags= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -all-static | -static) + if test "X$arg" = "X-all-static"; then + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + base_compile="$base_compile $arg" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit 1 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit 1 + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit 1 + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-openbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # gcc -m* arguments should be passed to the linker via $compiler_flags + # in order to pass architecture information to the linker + # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo + # but this is not reliable with gcc because gcc may use -mfoo to + # select a different linker, different libraries, etc, while + # -Wl,-mfoo simply passes -mfoo to the linker. + -m*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was ... [truncated message content] |
From: <jc...@us...> - 2006-11-01 18:04:06
|
Revision: 3 http://svn.sourceforge.net/omc/?rev=3&view=rev Author: jcarey Date: 2006-11-01 10:03:28 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Initial import Added Paths: ----------- base/ base/branches/ base/branches/1.0/ base/branches/1.0/AUTHORS base/branches/1.0/COPYING base/branches/1.0/ChangeLog base/branches/1.0/INSTALL base/branches/1.0/LICENSE base/branches/1.0/Makefile.am base/branches/1.0/Makefile.incl.am base/branches/1.0/NEWS base/branches/1.0/README base/branches/1.0/bootstrap.sh base/branches/1.0/configure.ac base/branches/1.0/etc/ base/branches/1.0/etc/openwbem.conf base/branches/1.0/install-sh base/branches/1.0/src/ base/branches/1.0/src/Makefile.am base/branches/1.0/src/include/ base/branches/1.0/src/include/Makefile.am base/branches/1.0/src/include/omc/ base/branches/1.0/src/include/omc/Base.hpp base/branches/1.0/src/include/omc/CIMUtils.hpp base/branches/1.0/src/include/omc/FileDefs.hpp base/branches/1.0/src/include/omc/FileFilter.hpp base/branches/1.0/src/include/omc/FileTools.hpp base/branches/1.0/src/include/omc/LinuxProcess.hpp base/branches/1.0/src/include/omc/Makefile.am base/branches/1.0/src/include/omc/ProviderStore.hpp base/branches/1.0/src/lib/ base/branches/1.0/src/lib/Makefile.am base/branches/1.0/src/lib/omc/ base/branches/1.0/src/lib/omc/Base.cpp base/branches/1.0/src/lib/omc/CIMUtils.cpp base/branches/1.0/src/lib/omc/FileFilter.cpp base/branches/1.0/src/lib/omc/FileTools.cpp base/branches/1.0/src/lib/omc/LinuxProcess.cpp base/branches/1.0/src/lib/omc/Makefile.am base/branches/1.0/src/lib/omc/ProviderStore.cpp base/branches/1.0/src/providers/ base/branches/1.0/src/providers/Makefile.am base/branches/1.0/src/providers/computer-system/ base/branches/1.0/src/providers/computer-system/HostNameModifier.cpp base/branches/1.0/src/providers/computer-system/HostNameModifier.hpp base/branches/1.0/src/providers/computer-system/HostsFileModifier.cpp base/branches/1.0/src/providers/computer-system/HostsFileModifier.hpp base/branches/1.0/src/providers/computer-system/LinuxComputerSystem.cpp base/branches/1.0/src/providers/computer-system/Makefile.am base/branches/1.0/src/providers/file-system/ base/branches/1.0/src/providers/file-system/LinuxFileSystem.cpp base/branches/1.0/src/providers/file-system/LinuxMount.cpp base/branches/1.0/src/providers/file-system/LinuxResidesOnExtent.cpp base/branches/1.0/src/providers/file-system/Makefile.am base/branches/1.0/src/providers/initd/ base/branches/1.0/src/providers/initd/Makefile.am base/branches/1.0/src/providers/initd/initdprovider.cpp base/branches/1.0/src/providers/initd/initdprovider.hpp base/branches/1.0/src/providers/initd/initdprovidertest.xml base/branches/1.0/src/providers/operating-system/ base/branches/1.0/src/providers/operating-system/Makefile.am base/branches/1.0/src/providers/operating-system/linux_installed_os.cpp base/branches/1.0/src/providers/operating-system/linux_os.cpp base/branches/1.0/src/providers/operating-system/linux_os.hpp base/branches/1.0/src/providers/operating-system/linux_running_os.cpp base/branches/1.0/src/providers/operating-system/linuxos.cpp base/branches/1.0/src/providers/operating-system/linuxos.hpp base/branches/1.0/src/providers/operating-system/local_debug.hpp base/branches/1.0/src/providers/operating-system/proc.hpp base/branches/1.0/src/providers/operating-system/proc_meminfo.cpp base/branches/1.0/src/providers/operating-system/proc_meminfo.hpp base/branches/1.0/src/providers/operating-system/proc_stat.cpp base/branches/1.0/src/providers/operating-system/proc_stat.hpp base/branches/1.0/src/providers/operating-system/proc_vmstat.cpp base/branches/1.0/src/providers/operating-system/proc_vmstat.hpp base/branches/1.0/src/providers/posix-file-elements/ base/branches/1.0/src/providers/posix-file-elements/LinuxLogicalFile.cpp base/branches/1.0/src/providers/posix-file-elements/LinuxPosixFile.cpp base/branches/1.0/src/providers/posix-file-elements/Makefile.am base/branches/1.0/src/providers/processes/ base/branches/1.0/src/providers/processes/LinuxProcessProvider.cpp base/branches/1.0/src/providers/processes/Makefile.am base/branches/1.0/src/providers/syslog/ base/branches/1.0/src/providers/syslog/Makefile.am base/branches/1.0/src/providers/syslog/SyslogNGProvider.cpp base/branches/1.0/src/providers/syslog/SyslogNGProvider.hpp base/branches/1.0/src/providers/syslog/cfg-grammar.y base/branches/1.0/src/providers/syslog/cfg-lex.l base/branches/1.0/src/providers/syslog/cfgfile.c base/branches/1.0/src/providers/syslog/cfgfile.h base/branches/1.0/src/providers/syslog/syslogngprovidertest.xml base/branches/1.0/src/providers/time-service/ base/branches/1.0/src/providers/time-service/ClockConf.cpp base/branches/1.0/src/providers/time-service/ClockConf.hpp base/branches/1.0/src/providers/time-service/Makefile.am base/branches/1.0/src/providers/time-service/NTPConf.cpp base/branches/1.0/src/providers/time-service/NTPConf.hpp base/branches/1.0/src/providers/time-service/TimeServiceProvider.cpp base/branches/1.0/src/providers/time-service/Utils.cpp base/branches/1.0/src/providers/time-service/Utils.hpp base/branches/1.0/src/providers/xml-service/ base/branches/1.0/src/providers/xml-service/ConfigTool.cpp base/branches/1.0/src/providers/xml-service/ConfigTool.hpp base/branches/1.0/src/providers/xml-service/HealthDataItem.cpp base/branches/1.0/src/providers/xml-service/HealthDataItem.hpp base/branches/1.0/src/providers/xml-service/Makefile.am base/branches/1.0/src/providers/xml-service/ProcessInfo.cpp base/branches/1.0/src/providers/xml-service/ProcessInfo.hpp base/branches/1.0/src/providers/xml-service/ServiceXMLParser.cpp base/branches/1.0/src/providers/xml-service/ServiceXMLParser.hpp base/branches/1.0/src/providers/xml-service/XMLServiceProvider.cpp base/branches/1.0/src/providers/xml-service/XMLServiceProvider.hpp base/branches/1.0/src/providers/xml-service/XMLServiceProviderNonRes.cpp base/branches/1.0/src/providers/xml-service/XMLSvcUtils.cpp base/branches/1.0/src/providers/xml-service/XMLSvcUtils.hpp base/branches/1.0/src/providers/xml-service/example-services/ base/branches/1.0/src/providers/xml-service/example-services/apache/ base/branches/1.0/src/providers/xml-service/example-services/apache/Apache.xml base/branches/1.0/src/providers/xml-service/example-services/apache/how-to.txt base/branches/1.0/src/providers/xml-service/example-services/apache/httpdstat.awk base/branches/1.0/src/providers/xml-service/xmlschema/ base/branches/1.0/src/providers/xml-service/xmlschema/xml-service-provider.xsd base/branches/1.0/test/ base/branches/1.0/test/Makefile.am base/branches/1.0/test/unit/ base/branches/1.0/test/unit/Makefile.am base/tags/ base/trunk/ base/trunk/AUTHORS base/trunk/COPYING base/trunk/ChangeLog base/trunk/INSTALL base/trunk/LICENSE base/trunk/Makefile.am base/trunk/Makefile.incl.am base/trunk/NEWS base/trunk/README base/trunk/bootstrap.sh base/trunk/configure.ac base/trunk/etc/ base/trunk/etc/openwbem.conf base/trunk/install-sh base/trunk/reg.mof base/trunk/src/ base/trunk/src/Makefile.am base/trunk/src/include/ base/trunk/src/include/Makefile.am base/trunk/src/include/omc/ base/trunk/src/include/omc/Base.hpp base/trunk/src/include/omc/CIMUtils.hpp base/trunk/src/include/omc/FileDefs.hpp base/trunk/src/include/omc/FileFilter.hpp base/trunk/src/include/omc/FileTools.hpp base/trunk/src/include/omc/LinuxProcess.hpp base/trunk/src/include/omc/Makefile.am base/trunk/src/include/omc/ProviderStore.hpp base/trunk/src/lib/ base/trunk/src/lib/Makefile.am base/trunk/src/lib/omc/ base/trunk/src/lib/omc/Base.cpp base/trunk/src/lib/omc/CIMUtils.cpp base/trunk/src/lib/omc/FileFilter.cpp base/trunk/src/lib/omc/FileTools.cpp base/trunk/src/lib/omc/LinuxProcess.cpp base/trunk/src/lib/omc/Makefile.am base/trunk/src/lib/omc/ProviderStore.cpp base/trunk/src/providers/ base/trunk/src/providers/Makefile.am base/trunk/src/providers/computer-system/ base/trunk/src/providers/computer-system/HostNameModifier.cpp base/trunk/src/providers/computer-system/HostNameModifier.hpp base/trunk/src/providers/computer-system/HostsFileModifier.cpp base/trunk/src/providers/computer-system/HostsFileModifier.hpp base/trunk/src/providers/computer-system/LinuxComputerSystem.cpp base/trunk/src/providers/computer-system/Makefile.am base/trunk/src/providers/file-system/ base/trunk/src/providers/file-system/LinuxFileSystem.cpp base/trunk/src/providers/file-system/LinuxMount.cpp base/trunk/src/providers/file-system/LinuxResidesOnExtent.cpp base/trunk/src/providers/file-system/Makefile.am base/trunk/src/providers/initd/ base/trunk/src/providers/initd/Makefile.am base/trunk/src/providers/initd/initdprovider.cpp base/trunk/src/providers/initd/initdprovider.hpp base/trunk/src/providers/initd/initdprovidertest.xml base/trunk/src/providers/operating-system/ base/trunk/src/providers/operating-system/Makefile.am base/trunk/src/providers/operating-system/linux_installed_os.cpp base/trunk/src/providers/operating-system/linux_os.cpp base/trunk/src/providers/operating-system/linux_os.hpp base/trunk/src/providers/operating-system/linux_running_os.cpp base/trunk/src/providers/operating-system/linuxos.cpp base/trunk/src/providers/operating-system/linuxos.hpp base/trunk/src/providers/operating-system/local_debug.hpp base/trunk/src/providers/operating-system/proc.hpp base/trunk/src/providers/operating-system/proc_meminfo.cpp base/trunk/src/providers/operating-system/proc_meminfo.hpp base/trunk/src/providers/operating-system/proc_stat.cpp base/trunk/src/providers/operating-system/proc_stat.hpp base/trunk/src/providers/operating-system/proc_vmstat.cpp base/trunk/src/providers/operating-system/proc_vmstat.hpp base/trunk/src/providers/posix-file-elements/ base/trunk/src/providers/posix-file-elements/LinuxLogicalFile.cpp base/trunk/src/providers/posix-file-elements/LinuxPosixFile.cpp base/trunk/src/providers/posix-file-elements/Makefile.am base/trunk/src/providers/processes/ base/trunk/src/providers/processes/LinuxProcessProvider.cpp base/trunk/src/providers/processes/Makefile.am base/trunk/src/providers/syslog/ base/trunk/src/providers/syslog/Makefile.am base/trunk/src/providers/syslog/SyslogNGProvider.cpp base/trunk/src/providers/syslog/SyslogNGProvider.hpp base/trunk/src/providers/syslog/cfg-grammar.y base/trunk/src/providers/syslog/cfg-lex.l base/trunk/src/providers/syslog/cfgfile.c base/trunk/src/providers/syslog/cfgfile.h base/trunk/src/providers/syslog/syslogngprovidertest.xml base/trunk/src/providers/time-service/ base/trunk/src/providers/time-service/ClockConf.cpp base/trunk/src/providers/time-service/ClockConf.hpp base/trunk/src/providers/time-service/Makefile.am base/trunk/src/providers/time-service/NTPConf.cpp base/trunk/src/providers/time-service/NTPConf.hpp base/trunk/src/providers/time-service/TimeServiceProvider.cpp base/trunk/src/providers/time-service/Utils.cpp base/trunk/src/providers/time-service/Utils.hpp base/trunk/src/providers/xml-service/ base/trunk/src/providers/xml-service/ConfigTool.cpp base/trunk/src/providers/xml-service/ConfigTool.hpp base/trunk/src/providers/xml-service/HealthDataItem.cpp base/trunk/src/providers/xml-service/HealthDataItem.hpp base/trunk/src/providers/xml-service/Makefile.am base/trunk/src/providers/xml-service/ProcessInfo.cpp base/trunk/src/providers/xml-service/ProcessInfo.hpp base/trunk/src/providers/xml-service/ServiceXMLParser.cpp base/trunk/src/providers/xml-service/ServiceXMLParser.hpp base/trunk/src/providers/xml-service/XMLServiceProvider.cpp base/trunk/src/providers/xml-service/XMLServiceProvider.hpp base/trunk/src/providers/xml-service/XMLServiceProviderNonRes.cpp base/trunk/src/providers/xml-service/XMLSvcUtils.cpp base/trunk/src/providers/xml-service/XMLSvcUtils.hpp base/trunk/src/providers/xml-service/doc/ base/trunk/src/providers/xml-service/doc/Diagram1.dia base/trunk/src/providers/xml-service/doc/Diagram1.png base/trunk/src/providers/xml-service/doc/XMLServiceProvider-Functional-Spec.odt base/trunk/src/providers/xml-service/doc/XMLServiceProviderInterface-Proposal.odt base/trunk/src/providers/xml-service/example-services/ base/trunk/src/providers/xml-service/example-services/apache/ base/trunk/src/providers/xml-service/example-services/apache/Apache.xml base/trunk/src/providers/xml-service/example-services/apache/how-to.txt base/trunk/src/providers/xml-service/example-services/apache/httpdstat.awk base/trunk/src/providers/xml-service/slickproj.vpj base/trunk/src/providers/xml-service/slickproj.vpw base/trunk/src/providers/xml-service/slickproj.vpwhistu base/trunk/src/providers/xml-service/slickproj.vtg base/trunk/src/providers/xml-service/xmlschema/ base/trunk/src/providers/xml-service/xmlschema/xml-service-provider.xsd base/trunk/test/ base/trunk/test/Makefile.am base/trunk/test/unit/ base/trunk/test/unit/Makefile.am Added: base/branches/1.0/AUTHORS =================================================================== Added: base/branches/1.0/COPYING =================================================================== Added: base/branches/1.0/ChangeLog =================================================================== --- base/branches/1.0/ChangeLog (rev 0) +++ base/branches/1.0/ChangeLog 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1 @@ +Initial. Added: base/branches/1.0/INSTALL =================================================================== --- base/branches/1.0/INSTALL (rev 0) +++ base/branches/1.0/INSTALL 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,229 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Added: base/branches/1.0/LICENSE =================================================================== --- base/branches/1.0/LICENSE (rev 0) +++ base/branches/1.0/LICENSE 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,91 @@ +OMC-base is primarily constrained by BSD License. +However, some files have a more restrictive license (GPL): +* SysLog-NG + +Please pay attention to the license for each file. + +Below are some of the license notices you will encounter throughout the OMC project: + +Notice for Projects/Files Released Under the GPL + +/**************************************************************************** + | + | Copyright (c) [YEARS] Novell, Inc. + | All Rights Reserved. + | + | This program is free software; you can redistribute it and/or + | modify it under the terms of version 2 of the GNU General Public License as + | published by the Free Software Foundation. + | + | This program is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU General Public License for more details. + | + | You should have received a copy of the GNU General Public License + | along with this program; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |*************************************************************************** + + +Notice for Projects/Files Released Under the LGPL + +/**************************************************************************** + | + | Copyright (c) [YEARS] Novell, Inc. + | All Rights Reserved. + | + | This library is free software; you can redistribute it and/or + | modify it under the terms of the GNU Lesser General Public License as + | published by the Free Software Foundation; version 2.1 of the license. + | + | This library is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU Lesser General Public License for more details. + | + | You should have received a copy of the GNU Lesser General Public License + | along with this library; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |*************************************************************************** + + +Notice for Projects/Files Released Under the BSD License + +/****************************************************************************** +* Copyright (c) [YEARS], Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of the Novell nor the names of its contributors may be +* used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + Added: base/branches/1.0/Makefile.am =================================================================== --- base/branches/1.0/Makefile.am (rev 0) +++ base/branches/1.0/Makefile.am 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,10 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = gnu + +SUBDIRS = \ + . \ + src \ + test + + Added: base/branches/1.0/Makefile.incl.am =================================================================== --- base/branches/1.0/Makefile.incl.am (rev 0) +++ base/branches/1.0/Makefile.incl.am 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,11 @@ +# *********************************************************************** +# MACROS and VARIABLES +# *********************************************************************** + +providerdir = $(libdir)/openwbem/c++providers + + +# *********************************************************************** +# TARGETS +# *********************************************************************** + Added: base/branches/1.0/NEWS =================================================================== --- base/branches/1.0/NEWS (rev 0) +++ base/branches/1.0/NEWS 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1 @@ + Added: base/branches/1.0/README =================================================================== Added: base/branches/1.0/bootstrap.sh =================================================================== --- base/branches/1.0/bootstrap.sh (rev 0) +++ base/branches/1.0/bootstrap.sh 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,9 @@ +#!/bin/sh + +rm -rf config.cache config.guess config.sub depcomp missing mkinstalldirs autom4te.cache + +aclocal \ +&& autoconf \ +&& autoheader \ +&& libtoolize --force --copy \ +&& automake --add-missing Property changes on: base/branches/1.0/bootstrap.sh ___________________________________________________________________ Name: svn:executable + Added: base/branches/1.0/configure.ac =================================================================== --- base/branches/1.0/configure.ac (rev 0) +++ base/branches/1.0/configure.ac 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,193 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.57) +AC_INIT(omc-base, 1.0.1) +AM_INIT_AUTOMAKE +AC_CONFIG_SRCDIR([src]) +AC_CONFIG_HEADER([config.h]) +AC_PROG_LIBTOOL + +AC_PREFIX_DEFAULT(/usr) + +# Checks for programs. +AC_PROG_CXX +AC_PROG_CC +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +AC_PROG_LEX +AC_PROG_YACC + +AC_PATH_PROG(RM, rm, rm) +AC_PATH_PROG(MV, mv, mv) +AC_PATH_PROG(CP, cp, cp) + +DEBUG_FLAGS="-DDEBUG -g" # Additional debugging flags. +FULL_DEBUG_FLAGS="-D_GLIBCXX_DEBUG" # Additional debugging flags. +OPT_FLAGS=" -DNDEBUG -O2" # Additional optimization flags. + + +##NOTE: whereever CXXFLAGS is used, we need to also use CPPFLAGS, for the AC_CHECK_HEADERS - +## It now uses compile (primarily) but still uses pre-processor for interim transition / backward compatibility +## pre-processor needs the CPPFLAGS + + +####################################################################### +# Process additional search dirs if specified +AC_ARG_WITH(search-dir, + [ --with-search-dir=PATH Specify an additional directory to look for include/ and lib/ sub dirs ], + [ + if test "x$withval" != "xno" ; then + CXXFLAGS="$CXXFLAGS -I$withval/include" + CPPFLAGS="$CPPFLAGS -I$withval/include" + CFLAGS="$CFLAGS -I$withval/include" + LDFLAGS="$LDFLAGS -L$withval/lib" + fi + ] +) + +####################################################################### +interop_namespace="root/interop" +AC_ARG_WITH(interop-namespace, + [ --with-interop-namespace=NS Specifiy the namespace for INTEROP specific data. default = root/interop ], + [ + if test "x$withval" != "xno" ; then + interop_namespace="$withval" + fi + ] +) + +AC_DEFINE_UNQUOTED(INTEROP_NAMESPACE, "${interop_namespace}", "The namespace for INTEROP specific data") + +debuglevel="0" +####################################################################### +# Set the debug flag if specified +AC_ARG_ENABLE(debug-mode, + [--enable-debug-mode Enable debugging mode], + [ + debuglevel="1" + ] +) + +AC_ARG_WITH(debug-level, + [ --with-debug-level=LEVEL Specify a debug level valid values: 0=none 1=partial debug 2=full debug ], + [ + case "x$withval" in + x0|xno) + debuglevel="0";; + x1) + debuglevel="1";; + x2) + debuglevel="2";; + *) + AC_MSG_WARN("Invalid debug level specified. Valid values are 0, 1 or 2") + exit 1;; + esac + ] +) + +case $debuglevel in +1) + AC_DEFINE(SMASH_DEBUG, 1, "Debugging flag.") + CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $DEBUG_FLAGS -Wall" + CFLAGS=" $CFLAGS $DEBUG_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $DEBUG_FLAGS";; +2) + AC_DEFINE(SMASH_DEBUG, 2, "Debugging flag.") + CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + CFLAGS=" $CFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS";; +*) + CXXFLAGS="$CXXFLAGS $OPT_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $OPT_FLAGS -Wall" + CFLAGS=" $CFLAGS $OPT_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $OPT_FLAGS";; +esac + +##################################################### + +# Checks for libraries. +#AC_CHECK_LIB([owcimomcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owclient], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owcppprovifc], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owdb], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owhttpclient], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owhttpcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owhttpxmllistener], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owprovider], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owrepositoryhdb], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owserver], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owservicehttp], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owwql], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owwqlcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owxml], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([pthread], [main], [LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([crypto], [main], [LIBS="$LIBS"], [AC_MSG_ERROR(Must have libcrypto \(openssl-devel\) or build will fail)]) + +# Checks for two basic and common openwbem libraries +AC_CHECK_LIB([owcimomcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +AC_CHECK_LIB([owclient], [main], [LIBS="$LIBS"], [AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) + + +LIMAL_RUNLEVEL_LIBS=`pkg-config --libs limal-runlevel` +AC_SUBST(LIMAL_RUNLEVEL_LIBS) + +# Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS([openwbem/OW_config.h fcntl.h stdlib.h string.h unistd.h sys/time.h openssl/evp.h sys/param.h sys/vfs.h],,[AC_MSG_ERROR(Missing headers: likely won't compile)]) + +# Only build init.d provider if limal headers are present +AC_CHECK_HEADER([limal/runlevel/config.h],[HAVE_LIMAL_RUNLEVEL="1"],[HAVE_LIMAL_RUNLEVEL="0"]) +AM_CONDITIONAL(DO_INITD_PROVIDER, test "$HAVE_LIMAL_RUNLEVEL" = 1) + +# Checks for typedefs, structures, and compiler characteristics. +AC_HEADER_STDBOOL +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_UID_T +AC_HEADER_TIME +AC_TYPE_MODE_T +AC_TYPE_SIGNAL +AC_TYPE_SIZE_T + +# Checks for library functions. +AC_FUNC_CLOSEDIR_VOID +AC_REPLACE_FNMATCH +AC_FUNC_FORK +AC_FUNC_LSTAT +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_FUNC_CHOWN +AC_FUNC_SETVBUF_REVERSED +AC_FUNC_STAT +AC_FUNC_STRERROR_R + +AC_CHECK_FUNCS([gettimeofday memset regcomp strchr strdup strerror strstr strtol strtoul uname]) + +AC_CONFIG_FILES([Makefile + src/Makefile + src/lib/Makefile + src/lib/omc/Makefile + src/include/Makefile + src/include/omc/Makefile + src/providers/Makefile + src/providers/processes/Makefile + src/providers/operating-system/Makefile + src/providers/computer-system/Makefile + src/providers/posix-file-elements/Makefile + src/providers/file-system/Makefile + src/providers/time-service/Makefile + src/providers/initd/Makefile + src/providers/syslog/Makefile + src/providers/xml-service/Makefile + test/Makefile + test/unit/Makefile + ]) +AC_OUTPUT Added: base/branches/1.0/etc/openwbem.conf =================================================================== --- base/branches/1.0/etc/openwbem.conf (rev 0) +++ base/branches/1.0/etc/openwbem.conf 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,15 @@ +################################################################################ +# A space-separated list of namespaces that the providers in +# openwbem-base-providers will explicitly register for. The openwbem-provider-base +# providers will always do non-explicit namespace registration for the +# classes they instrument. This option causes them to register explicitly for +# the specified namespaces. This option will typically be used to allow +# the openwbem-provider-base providers to instrument their classes in +# namespaces that have been specified in the +# owcimomd.explicit_registration_namespaces option in the openwbem.conf file. +# Example: +# omc.register_explicitly = root/smash root/openwbem/ipmi +;omc.register_explicitly = smash + + + Added: base/branches/1.0/install-sh =================================================================== --- base/branches/1.0/install-sh (rev 0) +++ base/branches/1.0/install-sh 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,294 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "$0: no input file specified" >&2 + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d "$dst" ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "$0: $src does not exist" >&2 + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "$0: no destination specified" >&2 + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d "$dst" ] + then + dst=$dst/`basename "$src"` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" + +oIFS=$IFS +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp=$pathcomp$1 + shift + + if [ ! -d "$pathcomp" ] ; + then + $mkdirprog "$pathcomp" + else + : + fi + + pathcomp=$pathcomp/ +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd "$dst" && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename "$dst"` + else + : + fi + +# Make a couple of temp file names in the proper directory. + + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && + +# Now rename the file to the real destination. + + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + +fi && + +# The final little trick to "correctly" pass the exit status to the exit trap. + +{ + (exit 0); exit +} Added: base/branches/1.0/src/Makefile.am =================================================================== --- base/branches/1.0/src/Makefile.am (rev 0) +++ base/branches/1.0/src/Makefile.am 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,8 @@ + +AUTOMAKE_OPTIONS = gnu + +SUBDIRS = \ + lib \ + providers \ + include + Added: base/branches/1.0/src/include/Makefile.am =================================================================== --- base/branches/1.0/src/include/Makefile.am (rev 0) +++ base/branches/1.0/src/include/Makefile.am 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1 @@ +SUBDIRS = omc Added: base/branches/1.0/src/include/omc/Base.hpp =================================================================== --- base/branches/1.0/src/include/omc/Base.hpp (rev 0) +++ base/branches/1.0/src/include/omc/Base.hpp 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,141 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + +// Author: Jon Carey (jc...@no...) + +#ifndef __LINUX_COMMON_HPP__ +#define __LINUX_COMMON_HPP__ + +#include <openwbem/OW_String.hpp> +#include <openwbem/OW_CIMDateTime.hpp> +#include <openwbem/OW_CIMObjectPath.hpp> + +namespace OMC +{ + +/** + * Get the class name that represents the operating system + * @return A string that contains the class name that should be used + * in OSCreationClassName properties. + */ +OpenWBEM::String getOperatingSystemClassName(); + +/** + * Get the class name that represents the ComputerSystem. + * @return A string that contains the class name that should be used + * in CSCreationClassName properties. + */ +OpenWBEM::String getComputerSystemClassName(); + +/** + * Get the common value used for the computer system. + * @return A string that contains the computer system name. To be + * used in values of the CSName property. + */ +OpenWBEM::String getComputerSystemName(); + +/** + * Get the object path of the OMC_UnitaryComputerSystem + * object. + * @param ns The name space for the object. + * @return The object path for the computer system object. + */ +OpenWBEM::CIMObjectPath getComputerSystemObjectPath( + const OpenWBEM::String& ns); + + +/** + * Get the object path of the OMC_OperatingSystem + * object. + * @param ns The name space for the object. + * @return The object path for the computer system object. + */ +OpenWBEM::CIMObjectPath getOperatingSystemObjectPath( + const OpenWBEM::String& ns); + + +/** + * Determine if an object path points to the computer + * system object path. + * @param ns The namespace we're checking for. + * @param cop The object path to check. + * @return true if the object path points to the computer + * system object. Otherwise false. + */ +bool isComputerSystemObjectPath( + const OpenWBEM::String& ns, + const OpenWBEM::CIMObjectPath& cop); + +/** + * Get the common value used for the operating system. + * @return A string that contains the OS name. To be used in values + * of the OSName property. + */ +OpenWBEM::String getOperatingSystemName(); + +/** + * Generate an instance id that has a prefix that is consistent + * with all instance IDs used as keys for various NIM classes. + * This would typically be used by providers of sub-classes + * of CIM_SettingData, but it's use is not restricted to this. + * The instance id will take the form of novell:suse:<uniquepart> + * where uniquepart is provided by the caller. + * @parm uniqueParm The unique part of the final instance id. + * @return The instance id that will be used for a key value. + */ +OpenWBEM::String makeInstanceID(const OpenWBEM::String& uniquePart); + +/** + * Get the install date of an RPM as a CIMDateTime. + * @param rpmName The name of the rpm to get the install date for. + * @param pExitStatus If specified, the exit status of the RPM + * command will be stored here. + * @return A CIMDateTime object that represents the install date + * of the given rpm on success. Otherwise a NULL CIMDateTime + * object will be returned. + */ +OpenWBEM::CIMDateTime getRPMInstallDate( + const OpenWBEM::String& rpmName, + int *pExitStatus=NULL); + + + +/** + * Get the name of the interop namespace + * @return A string that contains the name of the interop namespace + * + */ +OpenWBEM::String getInteropNamespaceName(); + +#define OMC_REG_PROV_EXPLICITLY_opt "omc.register_explicitly" + +} // End of namespace OMC + +#endif // __LINUX_COMMON_HPP__ Added: base/branches/1.0/src/include/omc/CIMUtils.hpp =================================================================== --- base/branches/1.0/src/include/omc/CIMUtils.hpp (rev 0) +++ base/branches/1.0/src/include/omc/CIMUtils.hpp 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,116 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +*******************************************************************************/ +#ifndef __CIMUTILS_HPP__ +#define __CIMUTILS_HPP__ + +#include <openwbem/OW_config.h> +#include <openwbem/OW_CIMFwd.hpp> +#include <openwbem/OW_String.hpp> +#include <openwbem/OW_CIMOMHandleIFC.hpp> +#include <openwbem/OW_CIMObjectPath.hpp> +#include <openwbem/OW_CIMInstance.hpp> + +namespace OMC +{ + +class CIMUtils +{ +public: + + static bool classIsDerivedFrom( + const OpenWBEM::String& derived, + const OpenWBEM::String& super, + OpenWBEM::CIMOMHandleIFCRef lch, + const OpenWBEM::String& ns); + + /** + * Get the specified string key value from the given + * object path. + * @param op The object path to get the string value from. + * @param propertyName The name of the property to get the + * value for. + * @return A String object that contains the property value. + * If the property doesn't exist or isn't a String + * data type, the returned String object will be empty. + */ + static OpenWBEM::String getStringKey( + const OpenWBEM::CIMObjectPath& op, + const OpenWBEM::String& propertyName); + + /** + * Get the specified object path key value from the given + * object path. + * @param op The object path to get the key value from. + * @param propertyName The name of the property to get the + * value for. + * @return A CIMObjectPath object that contains the property value. + * If the property doesn't exist or isn't a String + * data type, the returned CIMObjectPath will be NULL. + */ + static OpenWBEM::CIMObjectPath getObjectPathKey( + const OpenWBEM::CIMObjectPath& op, + const OpenWBEM::String& propertyName); + + /** + * Get the string value from the specified property of a given + * CIM_Instance object.. + * @param inst The instance to get the property from. + * @param propName The name of the property to get the value for. + * @param throwIfAbsent Throw an invalid parm if prop not there. + * @return A String object that contains the property value. + * If the property doesn't exist or isn't a String + * data type, the returned String object will be empty. + */ + static OpenWBEM::String getStringProp( + const OpenWBEM::CIMInstance& inst, + const OpenWBEM::String& propName, + bool throwIfAbsent=false); + + /** + * Get the boolean value from the specified property of a given + * CIM_Instance object.. + * @param inst The instance to get the property from. + * @param propName The name of the property to get the value for. + * @param throwIfAbsent Throw an invalid parm if prop not there. + * @return A boolean value that represents the property value. + * If the property doesn't exist or isn't a bool, then + * false will be returned. + */ + static bool getBoolProp( + const OpenWBEM::CIMInstance& inst, + const OpenWBEM::String& propName, + bool defaultValue=false, + bool throwIfAbsent=false); +}; + +} // End of namespace OMC + +#endif // __CIMUTILS_HPP__ + Added: base/branches/1.0/src/include/omc/FileDefs.hpp =================================================================== --- base/branches/1.0/src/include/omc/FileDefs.hpp (rev 0) +++ base/branches/1.0/src/include/omc/FileDefs.hpp 2006-11-01 18:03:28 UTC (rev 3) @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * - Neither the name of Novell, Inc. nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************/ + +/** + * @author Bart Whiteley + */ + +#ifndef _FILE_DEFS_HPP_INCLUDE_GUARD_ +#define _FILE_DEFS_HPP_INCLUDE_GUARD_ + +#define BADORMISSINGSTR(arg) "Bad or Missing \""arg"\" Parameter" + +namespace OMC +{ +namespace FileDefs +{ + typedef const char* const sccc; + + //static sccc extern_filetool = DEFAULT_LIBEXEC_DIR"/life/lifefiletool"; + + static sccc Mount_class = "OMC_LinuxMount"; + static sccc FileStorage_class = "OMC_LinuxFileStorage"; + static sccc BootOSFromFS_class = "OMC_LinuxBootOSFromFS"; + static sccc HostedFileSystem_class = "OMC_LinuxHostedFileSystem"; + static sccc NFS_class = "OMC_LinuxNFS"; + static sccc ReiserFS_class = "OMC_LinuxReiserFileSystem"; + static sccc Ext3_class = "OMC_LinuxExt3FileSystem"; + static sccc Ext2_class = "OMC_LinuxExt2FileSystem"; + + static sccc DataFile_class = "OMC_LinuxDataFile"; + static sccc BlockDeviceFile_class = "OMC_LinuxBlockDeviceFile"; + static sccc CharacterDeviceFile_class = "OMC_LinuxCharacterDeviceFile"; + static sccc SymbolicLink_class = "OMC_LinuxSy... [truncated message content] |
From: <jc...@us...> - 2006-11-01 18:02:26
|
Revision: 2 http://svn.sourceforge.net/omc/?rev=2&view=rev Author: jcarey Date: 2006-11-01 10:02:21 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Clean up previous mistake Removed Paths: ------------- branches/ tags/ trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jc...@us...> - 2006-11-01 17:58:34
|
Revision: 1 http://svn.sourceforge.net/omc/?rev=1&view=rev Author: jcarey Date: 2006-11-01 09:58:02 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Initial import Added Paths: ----------- branches/ branches/1.0/ branches/1.0/AUTHORS branches/1.0/COPYING branches/1.0/ChangeLog branches/1.0/INSTALL branches/1.0/LICENSE branches/1.0/Makefile.am branches/1.0/Makefile.incl.am branches/1.0/NEWS branches/1.0/README branches/1.0/bootstrap.sh branches/1.0/configure.ac branches/1.0/etc/ branches/1.0/etc/openwbem.conf branches/1.0/install-sh branches/1.0/src/ branches/1.0/src/Makefile.am branches/1.0/src/include/ branches/1.0/src/include/Makefile.am branches/1.0/src/include/omc/ branches/1.0/src/include/omc/Base.hpp branches/1.0/src/include/omc/CIMUtils.hpp branches/1.0/src/include/omc/FileDefs.hpp branches/1.0/src/include/omc/FileFilter.hpp branches/1.0/src/include/omc/FileTools.hpp branches/1.0/src/include/omc/LinuxProcess.hpp branches/1.0/src/include/omc/Makefile.am branches/1.0/src/include/omc/ProviderStore.hpp branches/1.0/src/lib/ branches/1.0/src/lib/Makefile.am branches/1.0/src/lib/omc/ branches/1.0/src/lib/omc/Base.cpp branches/1.0/src/lib/omc/CIMUtils.cpp branches/1.0/src/lib/omc/FileFilter.cpp branches/1.0/src/lib/omc/FileTools.cpp branches/1.0/src/lib/omc/LinuxProcess.cpp branches/1.0/src/lib/omc/Makefile.am branches/1.0/src/lib/omc/ProviderStore.cpp branches/1.0/src/providers/ branches/1.0/src/providers/Makefile.am branches/1.0/src/providers/computer-system/ branches/1.0/src/providers/computer-system/HostNameModifier.cpp branches/1.0/src/providers/computer-system/HostNameModifier.hpp branches/1.0/src/providers/computer-system/HostsFileModifier.cpp branches/1.0/src/providers/computer-system/HostsFileModifier.hpp branches/1.0/src/providers/computer-system/LinuxComputerSystem.cpp branches/1.0/src/providers/computer-system/Makefile.am branches/1.0/src/providers/file-system/ branches/1.0/src/providers/file-system/LinuxFileSystem.cpp branches/1.0/src/providers/file-system/LinuxMount.cpp branches/1.0/src/providers/file-system/LinuxResidesOnExtent.cpp branches/1.0/src/providers/file-system/Makefile.am branches/1.0/src/providers/initd/ branches/1.0/src/providers/initd/Makefile.am branches/1.0/src/providers/initd/initdprovider.cpp branches/1.0/src/providers/initd/initdprovider.hpp branches/1.0/src/providers/initd/initdprovidertest.xml branches/1.0/src/providers/operating-system/ branches/1.0/src/providers/operating-system/Makefile.am branches/1.0/src/providers/operating-system/linux_installed_os.cpp branches/1.0/src/providers/operating-system/linux_os.cpp branches/1.0/src/providers/operating-system/linux_os.hpp branches/1.0/src/providers/operating-system/linux_running_os.cpp branches/1.0/src/providers/operating-system/linuxos.cpp branches/1.0/src/providers/operating-system/linuxos.hpp branches/1.0/src/providers/operating-system/local_debug.hpp branches/1.0/src/providers/operating-system/proc.hpp branches/1.0/src/providers/operating-system/proc_meminfo.cpp branches/1.0/src/providers/operating-system/proc_meminfo.hpp branches/1.0/src/providers/operating-system/proc_stat.cpp branches/1.0/src/providers/operating-system/proc_stat.hpp branches/1.0/src/providers/operating-system/proc_vmstat.cpp branches/1.0/src/providers/operating-system/proc_vmstat.hpp branches/1.0/src/providers/posix-file-elements/ branches/1.0/src/providers/posix-file-elements/LinuxLogicalFile.cpp branches/1.0/src/providers/posix-file-elements/LinuxPosixFile.cpp branches/1.0/src/providers/posix-file-elements/Makefile.am branches/1.0/src/providers/processes/ branches/1.0/src/providers/processes/LinuxProcessProvider.cpp branches/1.0/src/providers/processes/Makefile.am branches/1.0/src/providers/syslog/ branches/1.0/src/providers/syslog/Makefile.am branches/1.0/src/providers/syslog/SyslogNGProvider.cpp branches/1.0/src/providers/syslog/SyslogNGProvider.hpp branches/1.0/src/providers/syslog/cfg-grammar.y branches/1.0/src/providers/syslog/cfg-lex.l branches/1.0/src/providers/syslog/cfgfile.c branches/1.0/src/providers/syslog/cfgfile.h branches/1.0/src/providers/syslog/syslogngprovidertest.xml branches/1.0/src/providers/time-service/ branches/1.0/src/providers/time-service/ClockConf.cpp branches/1.0/src/providers/time-service/ClockConf.hpp branches/1.0/src/providers/time-service/Makefile.am branches/1.0/src/providers/time-service/NTPConf.cpp branches/1.0/src/providers/time-service/NTPConf.hpp branches/1.0/src/providers/time-service/TimeServiceProvider.cpp branches/1.0/src/providers/time-service/Utils.cpp branches/1.0/src/providers/time-service/Utils.hpp branches/1.0/src/providers/xml-service/ branches/1.0/src/providers/xml-service/ConfigTool.cpp branches/1.0/src/providers/xml-service/ConfigTool.hpp branches/1.0/src/providers/xml-service/HealthDataItem.cpp branches/1.0/src/providers/xml-service/HealthDataItem.hpp branches/1.0/src/providers/xml-service/Makefile.am branches/1.0/src/providers/xml-service/ProcessInfo.cpp branches/1.0/src/providers/xml-service/ProcessInfo.hpp branches/1.0/src/providers/xml-service/ServiceXMLParser.cpp branches/1.0/src/providers/xml-service/ServiceXMLParser.hpp branches/1.0/src/providers/xml-service/XMLServiceProvider.cpp branches/1.0/src/providers/xml-service/XMLServiceProvider.hpp branches/1.0/src/providers/xml-service/XMLServiceProviderNonRes.cpp branches/1.0/src/providers/xml-service/XMLSvcUtils.cpp branches/1.0/src/providers/xml-service/XMLSvcUtils.hpp branches/1.0/src/providers/xml-service/example-services/ branches/1.0/src/providers/xml-service/example-services/apache/ branches/1.0/src/providers/xml-service/example-services/apache/Apache.xml branches/1.0/src/providers/xml-service/example-services/apache/how-to.txt branches/1.0/src/providers/xml-service/example-services/apache/httpdstat.awk branches/1.0/src/providers/xml-service/xmlschema/ branches/1.0/src/providers/xml-service/xmlschema/xml-service-provider.xsd branches/1.0/test/ branches/1.0/test/Makefile.am branches/1.0/test/unit/ branches/1.0/test/unit/Makefile.am tags/ trunk/ trunk/AUTHORS trunk/COPYING trunk/ChangeLog trunk/INSTALL trunk/LICENSE trunk/Makefile.am trunk/Makefile.incl.am trunk/NEWS trunk/README trunk/bootstrap.sh trunk/configure.ac trunk/etc/ trunk/etc/openwbem.conf trunk/install-sh trunk/reg.mof trunk/src/ trunk/src/Makefile.am trunk/src/include/ trunk/src/include/Makefile.am trunk/src/include/omc/ trunk/src/include/omc/Base.hpp trunk/src/include/omc/CIMUtils.hpp trunk/src/include/omc/FileDefs.hpp trunk/src/include/omc/FileFilter.hpp trunk/src/include/omc/FileTools.hpp trunk/src/include/omc/LinuxProcess.hpp trunk/src/include/omc/Makefile.am trunk/src/include/omc/ProviderStore.hpp trunk/src/lib/ trunk/src/lib/Makefile.am trunk/src/lib/omc/ trunk/src/lib/omc/Base.cpp trunk/src/lib/omc/CIMUtils.cpp trunk/src/lib/omc/FileFilter.cpp trunk/src/lib/omc/FileTools.cpp trunk/src/lib/omc/LinuxProcess.cpp trunk/src/lib/omc/Makefile.am trunk/src/lib/omc/ProviderStore.cpp trunk/src/providers/ trunk/src/providers/Makefile.am trunk/src/providers/computer-system/ trunk/src/providers/computer-system/HostNameModifier.cpp trunk/src/providers/computer-system/HostNameModifier.hpp trunk/src/providers/computer-system/HostsFileModifier.cpp trunk/src/providers/computer-system/HostsFileModifier.hpp trunk/src/providers/computer-system/LinuxComputerSystem.cpp trunk/src/providers/computer-system/Makefile.am trunk/src/providers/file-system/ trunk/src/providers/file-system/LinuxFileSystem.cpp trunk/src/providers/file-system/LinuxMount.cpp trunk/src/providers/file-system/LinuxResidesOnExtent.cpp trunk/src/providers/file-system/Makefile.am trunk/src/providers/initd/ trunk/src/providers/initd/Makefile.am trunk/src/providers/initd/initdprovider.cpp trunk/src/providers/initd/initdprovider.hpp trunk/src/providers/initd/initdprovidertest.xml trunk/src/providers/operating-system/ trunk/src/providers/operating-system/Makefile.am trunk/src/providers/operating-system/linux_installed_os.cpp trunk/src/providers/operating-system/linux_os.cpp trunk/src/providers/operating-system/linux_os.hpp trunk/src/providers/operating-system/linux_running_os.cpp trunk/src/providers/operating-system/linuxos.cpp trunk/src/providers/operating-system/linuxos.hpp trunk/src/providers/operating-system/local_debug.hpp trunk/src/providers/operating-system/proc.hpp trunk/src/providers/operating-system/proc_meminfo.cpp trunk/src/providers/operating-system/proc_meminfo.hpp trunk/src/providers/operating-system/proc_stat.cpp trunk/src/providers/operating-system/proc_stat.hpp trunk/src/providers/operating-system/proc_vmstat.cpp trunk/src/providers/operating-system/proc_vmstat.hpp trunk/src/providers/posix-file-elements/ trunk/src/providers/posix-file-elements/LinuxLogicalFile.cpp trunk/src/providers/posix-file-elements/LinuxPosixFile.cpp trunk/src/providers/posix-file-elements/Makefile.am trunk/src/providers/processes/ trunk/src/providers/processes/LinuxProcessProvider.cpp trunk/src/providers/processes/Makefile.am trunk/src/providers/syslog/ trunk/src/providers/syslog/Makefile.am trunk/src/providers/syslog/SyslogNGProvider.cpp trunk/src/providers/syslog/SyslogNGProvider.hpp trunk/src/providers/syslog/cfg-grammar.y trunk/src/providers/syslog/cfg-lex.l trunk/src/providers/syslog/cfgfile.c trunk/src/providers/syslog/cfgfile.h trunk/src/providers/syslog/syslogngprovidertest.xml trunk/src/providers/time-service/ trunk/src/providers/time-service/ClockConf.cpp trunk/src/providers/time-service/ClockConf.hpp trunk/src/providers/time-service/Makefile.am trunk/src/providers/time-service/NTPConf.cpp trunk/src/providers/time-service/NTPConf.hpp trunk/src/providers/time-service/TimeServiceProvider.cpp trunk/src/providers/time-service/Utils.cpp trunk/src/providers/time-service/Utils.hpp trunk/src/providers/xml-service/ trunk/src/providers/xml-service/ConfigTool.cpp trunk/src/providers/xml-service/ConfigTool.hpp trunk/src/providers/xml-service/HealthDataItem.cpp trunk/src/providers/xml-service/HealthDataItem.hpp trunk/src/providers/xml-service/Makefile.am trunk/src/providers/xml-service/ProcessInfo.cpp trunk/src/providers/xml-service/ProcessInfo.hpp trunk/src/providers/xml-service/ServiceXMLParser.cpp trunk/src/providers/xml-service/ServiceXMLParser.hpp trunk/src/providers/xml-service/XMLServiceProvider.cpp trunk/src/providers/xml-service/XMLServiceProvider.hpp trunk/src/providers/xml-service/XMLServiceProviderNonRes.cpp trunk/src/providers/xml-service/XMLSvcUtils.cpp trunk/src/providers/xml-service/XMLSvcUtils.hpp trunk/src/providers/xml-service/doc/ trunk/src/providers/xml-service/doc/Diagram1.dia trunk/src/providers/xml-service/doc/Diagram1.png trunk/src/providers/xml-service/doc/XMLServiceProvider-Functional-Spec.odt trunk/src/providers/xml-service/doc/XMLServiceProviderInterface-Proposal.odt trunk/src/providers/xml-service/example-services/ trunk/src/providers/xml-service/example-services/apache/ trunk/src/providers/xml-service/example-services/apache/Apache.xml trunk/src/providers/xml-service/example-services/apache/how-to.txt trunk/src/providers/xml-service/example-services/apache/httpdstat.awk trunk/src/providers/xml-service/slickproj.vpj trunk/src/providers/xml-service/slickproj.vpw trunk/src/providers/xml-service/slickproj.vpwhistu trunk/src/providers/xml-service/slickproj.vtg trunk/src/providers/xml-service/xmlschema/ trunk/src/providers/xml-service/xmlschema/xml-service-provider.xsd trunk/test/ trunk/test/Makefile.am trunk/test/unit/ trunk/test/unit/Makefile.am Added: branches/1.0/AUTHORS =================================================================== Added: branches/1.0/COPYING =================================================================== Added: branches/1.0/ChangeLog =================================================================== --- branches/1.0/ChangeLog (rev 0) +++ branches/1.0/ChangeLog 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1 @@ +Initial. Added: branches/1.0/INSTALL =================================================================== --- branches/1.0/INSTALL (rev 0) +++ branches/1.0/INSTALL 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,229 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Added: branches/1.0/LICENSE =================================================================== --- branches/1.0/LICENSE (rev 0) +++ branches/1.0/LICENSE 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,91 @@ +OMC-base is primarily constrained by BSD License. +However, some files have a more restrictive license (GPL): +* SysLog-NG + +Please pay attention to the license for each file. + +Below are some of the license notices you will encounter throughout the OMC project: + +Notice for Projects/Files Released Under the GPL + +/**************************************************************************** + | + | Copyright (c) [YEARS] Novell, Inc. + | All Rights Reserved. + | + | This program is free software; you can redistribute it and/or + | modify it under the terms of version 2 of the GNU General Public License as + | published by the Free Software Foundation. + | + | This program is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU General Public License for more details. + | + | You should have received a copy of the GNU General Public License + | along with this program; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |*************************************************************************** + + +Notice for Projects/Files Released Under the LGPL + +/**************************************************************************** + | + | Copyright (c) [YEARS] Novell, Inc. + | All Rights Reserved. + | + | This library is free software; you can redistribute it and/or + | modify it under the terms of the GNU Lesser General Public License as + | published by the Free Software Foundation; version 2.1 of the license. + | + | This library is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU Lesser General Public License for more details. + | + | You should have received a copy of the GNU Lesser General Public License + | along with this library; if not, contact Novell, Inc. + | + | To contact Novell about this file by physical or electronic mail, + | you may find current contact information at www.novell.com + | + |*************************************************************************** + + +Notice for Projects/Files Released Under the BSD License + +/****************************************************************************** +* Copyright (c) [YEARS], Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of the Novell nor the names of its contributors may be +* used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + Added: branches/1.0/Makefile.am =================================================================== --- branches/1.0/Makefile.am (rev 0) +++ branches/1.0/Makefile.am 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,10 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = gnu + +SUBDIRS = \ + . \ + src \ + test + + Added: branches/1.0/Makefile.incl.am =================================================================== --- branches/1.0/Makefile.incl.am (rev 0) +++ branches/1.0/Makefile.incl.am 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,11 @@ +# *********************************************************************** +# MACROS and VARIABLES +# *********************************************************************** + +providerdir = $(libdir)/openwbem/c++providers + + +# *********************************************************************** +# TARGETS +# *********************************************************************** + Added: branches/1.0/NEWS =================================================================== --- branches/1.0/NEWS (rev 0) +++ branches/1.0/NEWS 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1 @@ + Added: branches/1.0/README =================================================================== Added: branches/1.0/bootstrap.sh =================================================================== --- branches/1.0/bootstrap.sh (rev 0) +++ branches/1.0/bootstrap.sh 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,9 @@ +#!/bin/sh + +rm -rf config.cache config.guess config.sub depcomp missing mkinstalldirs autom4te.cache + +aclocal \ +&& autoconf \ +&& autoheader \ +&& libtoolize --force --copy \ +&& automake --add-missing Property changes on: branches/1.0/bootstrap.sh ___________________________________________________________________ Name: svn:executable + Added: branches/1.0/configure.ac =================================================================== --- branches/1.0/configure.ac (rev 0) +++ branches/1.0/configure.ac 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,193 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.57) +AC_INIT(omc-base, 1.0.1) +AM_INIT_AUTOMAKE +AC_CONFIG_SRCDIR([src]) +AC_CONFIG_HEADER([config.h]) +AC_PROG_LIBTOOL + +AC_PREFIX_DEFAULT(/usr) + +# Checks for programs. +AC_PROG_CXX +AC_PROG_CC +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +AC_PROG_LEX +AC_PROG_YACC + +AC_PATH_PROG(RM, rm, rm) +AC_PATH_PROG(MV, mv, mv) +AC_PATH_PROG(CP, cp, cp) + +DEBUG_FLAGS="-DDEBUG -g" # Additional debugging flags. +FULL_DEBUG_FLAGS="-D_GLIBCXX_DEBUG" # Additional debugging flags. +OPT_FLAGS=" -DNDEBUG -O2" # Additional optimization flags. + + +##NOTE: whereever CXXFLAGS is used, we need to also use CPPFLAGS, for the AC_CHECK_HEADERS - +## It now uses compile (primarily) but still uses pre-processor for interim transition / backward compatibility +## pre-processor needs the CPPFLAGS + + +####################################################################### +# Process additional search dirs if specified +AC_ARG_WITH(search-dir, + [ --with-search-dir=PATH Specify an additional directory to look for include/ and lib/ sub dirs ], + [ + if test "x$withval" != "xno" ; then + CXXFLAGS="$CXXFLAGS -I$withval/include" + CPPFLAGS="$CPPFLAGS -I$withval/include" + CFLAGS="$CFLAGS -I$withval/include" + LDFLAGS="$LDFLAGS -L$withval/lib" + fi + ] +) + +####################################################################### +interop_namespace="root/interop" +AC_ARG_WITH(interop-namespace, + [ --with-interop-namespace=NS Specifiy the namespace for INTEROP specific data. default = root/interop ], + [ + if test "x$withval" != "xno" ; then + interop_namespace="$withval" + fi + ] +) + +AC_DEFINE_UNQUOTED(INTEROP_NAMESPACE, "${interop_namespace}", "The namespace for INTEROP specific data") + +debuglevel="0" +####################################################################### +# Set the debug flag if specified +AC_ARG_ENABLE(debug-mode, + [--enable-debug-mode Enable debugging mode], + [ + debuglevel="1" + ] +) + +AC_ARG_WITH(debug-level, + [ --with-debug-level=LEVEL Specify a debug level valid values: 0=none 1=partial debug 2=full debug ], + [ + case "x$withval" in + x0|xno) + debuglevel="0";; + x1) + debuglevel="1";; + x2) + debuglevel="2";; + *) + AC_MSG_WARN("Invalid debug level specified. Valid values are 0, 1 or 2") + exit 1;; + esac + ] +) + +case $debuglevel in +1) + AC_DEFINE(SMASH_DEBUG, 1, "Debugging flag.") + CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $DEBUG_FLAGS -Wall" + CFLAGS=" $CFLAGS $DEBUG_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $DEBUG_FLAGS";; +2) + AC_DEFINE(SMASH_DEBUG, 2, "Debugging flag.") + CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + CFLAGS=" $CFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $DEBUG_FLAGS $FULL_DEBUG_FLAGS";; +*) + CXXFLAGS="$CXXFLAGS $OPT_FLAGS -Wall" + CPPFLAGS="$CPPFLAGS $OPT_FLAGS -Wall" + CFLAGS=" $CFLAGS $OPT_FLAGS -Wall" + LDFLAGS=" $LDFLAGS $OPT_FLAGS";; +esac + +##################################################### + +# Checks for libraries. +#AC_CHECK_LIB([owcimomcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owclient], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owcppprovifc], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owdb], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owhttpclient], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owhttpcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owhttpxmllistener], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owprovider], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owrepositoryhdb], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owserver], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owservicehttp], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owwql], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owwqlcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([owxml], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([pthread], [main], [LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +#AC_CHECK_LIB([crypto], [main], [LIBS="$LIBS"], [AC_MSG_ERROR(Must have libcrypto \(openssl-devel\) or build will fail)]) + +# Checks for two basic and common openwbem libraries +AC_CHECK_LIB([owcimomcommon], [main],[LIBS="$LIBS"],[AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) +AC_CHECK_LIB([owclient], [main], [LIBS="$LIBS"], [AC_MSG_ERROR(Must have openwbem-devel or build will fail)]) + + +LIMAL_RUNLEVEL_LIBS=`pkg-config --libs limal-runlevel` +AC_SUBST(LIMAL_RUNLEVEL_LIBS) + +# Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS([openwbem/OW_config.h fcntl.h stdlib.h string.h unistd.h sys/time.h openssl/evp.h sys/param.h sys/vfs.h],,[AC_MSG_ERROR(Missing headers: likely won't compile)]) + +# Only build init.d provider if limal headers are present +AC_CHECK_HEADER([limal/runlevel/config.h],[HAVE_LIMAL_RUNLEVEL="1"],[HAVE_LIMAL_RUNLEVEL="0"]) +AM_CONDITIONAL(DO_INITD_PROVIDER, test "$HAVE_LIMAL_RUNLEVEL" = 1) + +# Checks for typedefs, structures, and compiler characteristics. +AC_HEADER_STDBOOL +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_UID_T +AC_HEADER_TIME +AC_TYPE_MODE_T +AC_TYPE_SIGNAL +AC_TYPE_SIZE_T + +# Checks for library functions. +AC_FUNC_CLOSEDIR_VOID +AC_REPLACE_FNMATCH +AC_FUNC_FORK +AC_FUNC_LSTAT +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_FUNC_CHOWN +AC_FUNC_SETVBUF_REVERSED +AC_FUNC_STAT +AC_FUNC_STRERROR_R + +AC_CHECK_FUNCS([gettimeofday memset regcomp strchr strdup strerror strstr strtol strtoul uname]) + +AC_CONFIG_FILES([Makefile + src/Makefile + src/lib/Makefile + src/lib/omc/Makefile + src/include/Makefile + src/include/omc/Makefile + src/providers/Makefile + src/providers/processes/Makefile + src/providers/operating-system/Makefile + src/providers/computer-system/Makefile + src/providers/posix-file-elements/Makefile + src/providers/file-system/Makefile + src/providers/time-service/Makefile + src/providers/initd/Makefile + src/providers/syslog/Makefile + src/providers/xml-service/Makefile + test/Makefile + test/unit/Makefile + ]) +AC_OUTPUT Added: branches/1.0/etc/openwbem.conf =================================================================== --- branches/1.0/etc/openwbem.conf (rev 0) +++ branches/1.0/etc/openwbem.conf 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,15 @@ +################################################################################ +# A space-separated list of namespaces that the providers in +# openwbem-base-providers will explicitly register for. The openwbem-provider-base +# providers will always do non-explicit namespace registration for the +# classes they instrument. This option causes them to register explicitly for +# the specified namespaces. This option will typically be used to allow +# the openwbem-provider-base providers to instrument their classes in +# namespaces that have been specified in the +# owcimomd.explicit_registration_namespaces option in the openwbem.conf file. +# Example: +# omc.register_explicitly = root/smash root/openwbem/ipmi +;omc.register_explicitly = smash + + + Added: branches/1.0/install-sh =================================================================== --- branches/1.0/install-sh (rev 0) +++ branches/1.0/install-sh 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,294 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "$0: no input file specified" >&2 + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d "$dst" ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "$0: $src does not exist" >&2 + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "$0: no destination specified" >&2 + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d "$dst" ] + then + dst=$dst/`basename "$src"` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" + +oIFS=$IFS +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp=$pathcomp$1 + shift + + if [ ! -d "$pathcomp" ] ; + then + $mkdirprog "$pathcomp" + else + : + fi + + pathcomp=$pathcomp/ +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd "$dst" && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename "$dst"` + else + : + fi + +# Make a couple of temp file names in the proper directory. + + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && + +# Now rename the file to the real destination. + + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + +fi && + +# The final little trick to "correctly" pass the exit status to the exit trap. + +{ + (exit 0); exit +} Added: branches/1.0/src/Makefile.am =================================================================== --- branches/1.0/src/Makefile.am (rev 0) +++ branches/1.0/src/Makefile.am 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,8 @@ + +AUTOMAKE_OPTIONS = gnu + +SUBDIRS = \ + lib \ + providers \ + include + Added: branches/1.0/src/include/Makefile.am =================================================================== --- branches/1.0/src/include/Makefile.am (rev 0) +++ branches/1.0/src/include/Makefile.am 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1 @@ +SUBDIRS = omc Added: branches/1.0/src/include/omc/Base.hpp =================================================================== --- branches/1.0/src/include/omc/Base.hpp (rev 0) +++ branches/1.0/src/include/omc/Base.hpp 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,141 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + +// Author: Jon Carey (jc...@no...) + +#ifndef __LINUX_COMMON_HPP__ +#define __LINUX_COMMON_HPP__ + +#include <openwbem/OW_String.hpp> +#include <openwbem/OW_CIMDateTime.hpp> +#include <openwbem/OW_CIMObjectPath.hpp> + +namespace OMC +{ + +/** + * Get the class name that represents the operating system + * @return A string that contains the class name that should be used + * in OSCreationClassName properties. + */ +OpenWBEM::String getOperatingSystemClassName(); + +/** + * Get the class name that represents the ComputerSystem. + * @return A string that contains the class name that should be used + * in CSCreationClassName properties. + */ +OpenWBEM::String getComputerSystemClassName(); + +/** + * Get the common value used for the computer system. + * @return A string that contains the computer system name. To be + * used in values of the CSName property. + */ +OpenWBEM::String getComputerSystemName(); + +/** + * Get the object path of the OMC_UnitaryComputerSystem + * object. + * @param ns The name space for the object. + * @return The object path for the computer system object. + */ +OpenWBEM::CIMObjectPath getComputerSystemObjectPath( + const OpenWBEM::String& ns); + + +/** + * Get the object path of the OMC_OperatingSystem + * object. + * @param ns The name space for the object. + * @return The object path for the computer system object. + */ +OpenWBEM::CIMObjectPath getOperatingSystemObjectPath( + const OpenWBEM::String& ns); + + +/** + * Determine if an object path points to the computer + * system object path. + * @param ns The namespace we're checking for. + * @param cop The object path to check. + * @return true if the object path points to the computer + * system object. Otherwise false. + */ +bool isComputerSystemObjectPath( + const OpenWBEM::String& ns, + const OpenWBEM::CIMObjectPath& cop); + +/** + * Get the common value used for the operating system. + * @return A string that contains the OS name. To be used in values + * of the OSName property. + */ +OpenWBEM::String getOperatingSystemName(); + +/** + * Generate an instance id that has a prefix that is consistent + * with all instance IDs used as keys for various NIM classes. + * This would typically be used by providers of sub-classes + * of CIM_SettingData, but it's use is not restricted to this. + * The instance id will take the form of novell:suse:<uniquepart> + * where uniquepart is provided by the caller. + * @parm uniqueParm The unique part of the final instance id. + * @return The instance id that will be used for a key value. + */ +OpenWBEM::String makeInstanceID(const OpenWBEM::String& uniquePart); + +/** + * Get the install date of an RPM as a CIMDateTime. + * @param rpmName The name of the rpm to get the install date for. + * @param pExitStatus If specified, the exit status of the RPM + * command will be stored here. + * @return A CIMDateTime object that represents the install date + * of the given rpm on success. Otherwise a NULL CIMDateTime + * object will be returned. + */ +OpenWBEM::CIMDateTime getRPMInstallDate( + const OpenWBEM::String& rpmName, + int *pExitStatus=NULL); + + + +/** + * Get the name of the interop namespace + * @return A string that contains the name of the interop namespace + * + */ +OpenWBEM::String getInteropNamespaceName(); + +#define OMC_REG_PROV_EXPLICITLY_opt "omc.register_explicitly" + +} // End of namespace OMC + +#endif // __LINUX_COMMON_HPP__ Added: branches/1.0/src/include/omc/CIMUtils.hpp =================================================================== --- branches/1.0/src/include/omc/CIMUtils.hpp (rev 0) +++ branches/1.0/src/include/omc/CIMUtils.hpp 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,116 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +*******************************************************************************/ +#ifndef __CIMUTILS_HPP__ +#define __CIMUTILS_HPP__ + +#include <openwbem/OW_config.h> +#include <openwbem/OW_CIMFwd.hpp> +#include <openwbem/OW_String.hpp> +#include <openwbem/OW_CIMOMHandleIFC.hpp> +#include <openwbem/OW_CIMObjectPath.hpp> +#include <openwbem/OW_CIMInstance.hpp> + +namespace OMC +{ + +class CIMUtils +{ +public: + + static bool classIsDerivedFrom( + const OpenWBEM::String& derived, + const OpenWBEM::String& super, + OpenWBEM::CIMOMHandleIFCRef lch, + const OpenWBEM::String& ns); + + /** + * Get the specified string key value from the given + * object path. + * @param op The object path to get the string value from. + * @param propertyName The name of the property to get the + * value for. + * @return A String object that contains the property value. + * If the property doesn't exist or isn't a String + * data type, the returned String object will be empty. + */ + static OpenWBEM::String getStringKey( + const OpenWBEM::CIMObjectPath& op, + const OpenWBEM::String& propertyName); + + /** + * Get the specified object path key value from the given + * object path. + * @param op The object path to get the key value from. + * @param propertyName The name of the property to get the + * value for. + * @return A CIMObjectPath object that contains the property value. + * If the property doesn't exist or isn't a String + * data type, the returned CIMObjectPath will be NULL. + */ + static OpenWBEM::CIMObjectPath getObjectPathKey( + const OpenWBEM::CIMObjectPath& op, + const OpenWBEM::String& propertyName); + + /** + * Get the string value from the specified property of a given + * CIM_Instance object.. + * @param inst The instance to get the property from. + * @param propName The name of the property to get the value for. + * @param throwIfAbsent Throw an invalid parm if prop not there. + * @return A String object that contains the property value. + * If the property doesn't exist or isn't a String + * data type, the returned String object will be empty. + */ + static OpenWBEM::String getStringProp( + const OpenWBEM::CIMInstance& inst, + const OpenWBEM::String& propName, + bool throwIfAbsent=false); + + /** + * Get the boolean value from the specified property of a given + * CIM_Instance object.. + * @param inst The instance to get the property from. + * @param propName The name of the property to get the value for. + * @param throwIfAbsent Throw an invalid parm if prop not there. + * @return A boolean value that represents the property value. + * If the property doesn't exist or isn't a bool, then + * false will be returned. + */ + static bool getBoolProp( + const OpenWBEM::CIMInstance& inst, + const OpenWBEM::String& propName, + bool defaultValue=false, + bool throwIfAbsent=false); +}; + +} // End of namespace OMC + +#endif // __CIMUTILS_HPP__ + Added: branches/1.0/src/include/omc/FileDefs.hpp =================================================================== --- branches/1.0/src/include/omc/FileDefs.hpp (rev 0) +++ branches/1.0/src/include/omc/FileDefs.hpp 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * - Neither the name of Novell, Inc. nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL Novell, Inc. OR THE CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************/ + +/** + * @author Bart Whiteley + */ + +#ifndef _FILE_DEFS_HPP_INCLUDE_GUARD_ +#define _FILE_DEFS_HPP_INCLUDE_GUARD_ + +#define BADORMISSINGSTR(arg) "Bad or Missing \""arg"\" Parameter" + +namespace OMC +{ +namespace FileDefs +{ + typedef const char* const sccc; + + //static sccc extern_filetool = DEFAULT_LIBEXEC_DIR"/life/lifefiletool"; + + static sccc Mount_class = "OMC_LinuxMount"; + static sccc FileStorage_class = "OMC_LinuxFileStorage"; + static sccc BootOSFromFS_class = "OMC_LinuxBootOSFromFS"; + static sccc HostedFileSystem_class = "OMC_LinuxHostedFileSystem"; + static sccc NFS_class = "OMC_LinuxNFS"; + static sccc ReiserFS_class = "OMC_LinuxReiserFileSystem"; + static sccc Ext3_class = "OMC_LinuxExt3FileSystem"; + static sccc Ext2_class = "OMC_LinuxExt2FileSystem"; + + static sccc DataFile_class = "OMC_LinuxDataFile"; + static sccc BlockDeviceFile_class = "OMC_LinuxBlockDeviceFile"; + static sccc CharacterDeviceFile_class = "OMC_LinuxCharacterDeviceFile"; + static sccc SymbolicLink_class = "OMC_LinuxSymbolicLink"; + static sccc Directory_class = "OMC_LinuxDirectory"; + static sccc FIFO_class = "OMC_LinuxFIFOPipeFile"; + static sccc UnixFile_class = "OMC_LinuxFile"; + static sccc DirectoryContainsFile_class = "OMC_LinuxDirectoryContainsFile"; + static sccc FileIdentity_class = "OMC_LinuxFileIdentity"; +} +} + +#endif // #ifndef _FILE_DEFS_HPP_INCLUDE_GUARD_ Added: branches/1.0/src/include/omc/FileFilter.hpp =================================================================== --- branches/1.0/src/include/omc/FileFilter.hpp (rev 0) +++ branches/1.0/src/include/omc/FileFilter.hpp 2006-11-01 17:58:02 UTC (rev 1) @@ -0,0 +1,173 @@ +/******************************************************************************* +* Copyright (C) 2005, 2006 Novell, Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* - Neither the name of Novell, Inc. nor the names of its +* contributors may be used to endorse or promote products derived from this +* ... [truncated message content] |