Hello community, here is the log from the commit of package sblim-wbemcli for openSUSE:Factory checked in at 2014-10-15 18:11:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sblim-wbemcli (Old) and /work/SRC/openSUSE:Factory/.sblim-wbemcli.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sblim-wbemcli" Changes: -------- --- /work/SRC/openSUSE:Factory/sblim-wbemcli/sblim-wbemcli.changes 2012-04-02 19:52:36.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.sblim-wbemcli.new/sblim-wbemcli.changes 2014-10-15 18:11:09.000000000 +0200 @@ -1,0 +2,18 @@ +Wed Oct 15 07:59:50 UTC 2014 - [email protected] + +- Update to 1.6.3 + Bugfix release: + Bugs: + * 3519016 wbemcli does not support EmbeddedObject attr of PARAMVALUE + * 3514126 wbemcli does not compile with GCC 4.7 + * 3495602 Fix for ID 3202420 (CDATA escape) breaks cim clients + * 0002626 Add IPv6 LLA support to wbemcli + * 0002627 Add -w option to wbemcli + * 0002665 Add -e100 option to wbemcli + * 0002629 Do not attempt connect if missing cacert + * 0002721 wbemcli does not accept dot in userid:password + * 0002626 bugfix for IPv6 LLA support + +- Drop sblim-wbemcli-gcc47.patch, upstreamed + +------------------------------------------------------------------- Old: ---- sblim-wbemcli-1.6.2.tar.bz2 sblim-wbemcli-gcc47.patch New: ---- sblim-wbemcli-1.6.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sblim-wbemcli.spec ++++++ --- /var/tmp/diff_new_pack.tGvK8L/_old 2014-10-15 18:11:11.000000000 +0200 +++ /var/tmp/diff_new_pack.tGvK8L/_new 2014-10-15 18:11:11.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package sblim-wbemcli # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,12 +25,11 @@ %endif BuildRequires: curl-devel BuildRequires: gcc-c++ -Version: 1.6.2 +Version: 1.6.3 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Url: http://sblim.wiki.sourceforge.net/ Source: http://prdownloads.sourceforge.net/sblim/%{name}-%{version}.tar.bz2 -Patch0: sblim-wbemcli-gcc47.patch Summary: SBLIM WBEM Command Line Interface License: EPL-1.0 Group: System/Management @@ -48,7 +47,7 @@ %prep %setup -q -%patch0 -p1 + sed -i 's|wbemcli/samples|wbemcli/examples|' man/wbemcli.1.pre.in sed -i 's|wbemcli/samples|wbemcli/examples|' man/wbemcli.1 ++++++ sblim-wbemcli-1.6.2.tar.bz2 -> sblim-wbemcli-1.6.3.tar.bz2 ++++++ ++++ 13727 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/ChangeLog new/sblim-wbemcli-1.6.3/ChangeLog --- old/sblim-wbemcli-1.6.2/ChangeLog 2011-07-13 23:21:36.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/ChangeLog 2014-10-13 18:05:30.000000000 +0200 @@ -1,3 +1,52 @@ +2013-10-13 Dave Heller <[email protected]> + + * CimXml.cpp, NEWS: + + Fixed 0002626: bugfix for IPv6 LLA support + +2014-03-04 Dave Heller <[email protected]> + + * CimXml.cpp, NEWS: + + Fixed 0002721: wbemcli does not accept dot in userid:password + +2013-09-20 Dave Heller <[email protected]> + + * CimCurl.cpp, NEWS: + + Fixed 0002629: Do not attempt connect if missing cacert + +2013-09-19 Dave Heller <[email protected]> + + * CimCurl.cpp, CimXml.cpp, main.cpp, NEWS: + + Fixed 0002665: Add -e100 option to wbemcli + +2013-03-25 Dave Heller <[email protected]> + + * CimCurl.cpp, main.cpp, NEWS: + + Fixed 0002627: Add -w option to wbemcli + +2013-03-25 Dave Heller <[email protected]> + + * CimCurl.cpp, CimXml.cpp, CimXml.h, NEWS: + + Fixed 0002626: Add IPv6 LLA support to wbemcli + +2012-04-18 Dave Heller <[email protected]> + + * CimXml.cpp, NEWS: + + Fixed 3519016: wbemcli does not support EmbeddedObject attr of PARAMVALUE + +2012-04-17 Dave Heller <[email protected]> + + * CimXml.h, CimCurl.cpp, NEWS, contributions.txt: + + Fixed 3514126: wbemcli does not compile with GCC 4.7 + (Patch by Klaus Kampf) + 2011-06-21 Tyrel Datwyler <[email protected]> * CimXml.cpp, NEWS, contributions.txt: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/CimCurl.cpp new/sblim-wbemcli-1.6.3/CimCurl.cpp --- old/sblim-wbemcli-1.6.2/CimCurl.cpp 2009-03-04 20:10:54.000000000 +0100 +++ new/sblim-wbemcli-1.6.3/CimCurl.cpp 2013-09-21 01:26:32.000000000 +0200 @@ -1,5 +1,5 @@ /* - * $Id: CimCurl.cpp,v 1.13 2009/03/04 19:10:54 tyreld Exp $ + * $Id: CimCurl.cpp,v 1.18 2013/09/20 23:26:32 hellerda Exp $ * * CimCurl.cpp * @@ -28,10 +28,14 @@ #endif #include "CimCurl.h" +#include <unistd.h> // for getpass() +#include <cerrno> extern int useNl; extern int dumpXml; extern int reqChunking; +extern int waitTime; +extern int expect100; // These are the constant headers added to all requests static const char *headers[] = { @@ -40,7 +44,6 @@ "CIMProtocolVersion: 1.0", "CIMOperation: MethodCall", "Accept:", - "Expect:", }; #define NUM_HEADERS ((sizeof(headers))/(sizeof(headers[0]))) @@ -154,6 +157,15 @@ /* Initialize curl with the url */ rv = curl_easy_setopt(mHandle, CURLOPT_URL, mUri.c_str()); + + /* Set IPv6 scope (zone) identifier if provided */ + if (url.zone_id >= 0) { +#if LIBCURL_VERSION_NUM >= 0x071300 + rv = curl_easy_setopt(mHandle, CURLOPT_ADDRESS_SCOPE, url.zone_id); +#else + throw URLException("IPv6 zone identifier requires libcurl 7.19 or greater"); +#endif + } /* Disable progress output */ rv = curl_easy_setopt(mHandle, CURLOPT_NOPROGRESS, 1); @@ -212,6 +224,10 @@ object += sb; mHeaders = curl_slist_append(mHeaders, object.c_str()); + // Optionally send "Expect: 100-continue" header + if (expect100) + mHeaders = curl_slist_append(mHeaders, "Expect: 100-continue"); + // Set all of the headers for the request rv = curl_easy_setopt(mHandle, CURLOPT_HTTPHEADER, mHeaders); @@ -279,6 +295,17 @@ if (response.length() == 0) throw HttpException("No data received from server."); + // This is not ideal as we have the response but wait to return it. + // However it is much simpler to implement this here. + if (waitTime > 0) { + printf("waiting %ds...\n", waitTime); + sleep(waitTime); + } + else if (waitTime < 0) { + waitTime = (int) -1; + printf("waiting forever...\n"); + sleep(-1); + } return response; } @@ -312,13 +339,21 @@ throw HttpException("Could not disable peer verification."); } } else if (cacert) { - if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSL_VERIFYPEER,1))) { - cerr << getErrorMessage(rv) << endl; - throw HttpException("Could not enable peer verification."); - } - if ((rv=curl_easy_setopt(mHandle,CURLOPT_CAINFO,cacert))) { - cerr << getErrorMessage(rv) << endl; - throw HttpException("Could not load CA certificate."); + FILE *fp; + if ((fp = fopen(cacert, "r"))) { + if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSL_VERIFYPEER,1))) { + cerr << getErrorMessage(rv) << endl; + throw HttpException("Could not enable peer verification."); + } + if ((rv=curl_easy_setopt(mHandle,CURLOPT_CAINFO,cacert))) { + cerr << getErrorMessage(rv) << endl; + throw HttpException("Could not load CA certificate."); + } + fclose(fp); + } else { + throw HttpException( + string("Could not open CA certificate file: ") + string(cacert) + + string(" (") + string(strerror(errno)) + string(")")); } } else { throw HttpException("Must either specify -noverify or -cacert for https URLs."); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/CimXml.cpp new/sblim-wbemcli-1.6.3/CimXml.cpp --- old/sblim-wbemcli-1.6.2/CimXml.cpp 2011-06-22 07:58:39.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/CimXml.cpp 2014-10-13 18:05:30.000000000 +0200 @@ -1,5 +1,5 @@ /* - * $Id: CimXml.cpp,v 1.71 2011/06/22 05:58:39 tyreld Exp $ + * $Id: CimXml.cpp,v 1.77 2014/10/13 16:05:30 hellerda Exp $ * * CimXml.cpp * @@ -36,6 +36,8 @@ #include <iostream> #include <cstdlib> #include <cstdio> +#include <algorithm> +#include <errno.h> #ifdef WIN32 #include <malloc.h> #define strcasecmp stricmp @@ -59,6 +61,7 @@ int addType=0; /* Append array ([]) and reference (&) indicators */ int openwbem=0; int reqChunking=0; +int expect100=0; /*-------------------------------------------------------*/ /* XmlBuffer support */ @@ -328,7 +331,19 @@ #endif char *start=cur; if (a && a->eTagFound) return NULL; - for (; *cur!='<' && cur<last; cur++); + for (; cur<last; cur++) { + if (*cur == '<') { + if (!strncmp(cur, "<![CDATA[", 9)) { + cur += 9; + char *end = strstr(cur, "]]>"); + if (end == NULL) + throw ParseException("Failed to get CDATA end tag."); + cur = end + 2; /* loop increments cur once more */ + } + else + break; + } + } if (start==cur) return ""; memmove(start-2,start,cur-start); *(cur-2)=0; @@ -960,10 +975,14 @@ sb += ": "; rvl->getReturnData()->toStringBuffer(sb,q); } - if (useNl) sb += "\n"; - else sb += " "; - if (pvll) { - pvll->toStringBuffer(sb,q); + char *sep; + if (useNl) sep = (char*)"\n"; + else sep = (char*)", "; + // This ensures separators are properly printed. Only print sep after rvl if + // more data is to follow, and pass the proper separator to the method call. + if (pvll && !pvll->empty()) { + sb += sep; + pvll->toStringBuffer(sb,sep,q); } } @@ -1673,9 +1692,10 @@ bool ParamvalueXml::initialized(false); void ParamvalueXml::initialize() { - elm.attr = StringArray(2); + elm.attr = StringArray(3); elm.attr[0] = string("NAME"); elm.attr[1] = string("PARAMTYPE"); + elm.attr[2] = string("EmbeddedObject"); initialized=true; } @@ -1701,7 +1721,7 @@ if (!initialized) initialize(); XmlAttr attr; attr.eTagFound = 0; - attr.attr=StringArray(2); + attr.attr=StringArray(3); char *tag; if (xb.tagEquals("PARAMVALUE")) { @@ -1726,7 +1746,8 @@ void ParamvalueXml::toStringBuffer(string &sb, const char *q) { sb += name; - sb += ":"; + sb += " (" + type + ")"; + sb += ": "; sb += q; if (val) val->toStringBuffer(sb,q); } @@ -2747,25 +2768,7 @@ } } - else { - if (!strncmp(xb.cur, "<![CDATA[", 8)) { - char *start = xb.cur; - char *end = strstr(start, "]]>"); - char *cdataval; - - if (end == NULL) - throw ParseException("Failed to get CDATA end tag."); - - start += 9; // skip CDATA begin tag - end--; // skip CDATA end tag - cdataval = strndup(start, ((end - start) + 1)); - val=string(cdataval); - free(cdataval); - xb.cur = (end + 4); // move current pointer past CDATA section - } else { - val=string(xb.getContent(&attr)); - } - } + else val=string(xb.getContent(&attr)); tag=xb.nextTag(); if (xb.nextEquals(tag,"/VALUE")) { @@ -2948,7 +2951,7 @@ URL::URL(const char *U) { int pint,indir=0; - char *p,*q,*phelp,*np,*last,*un,*b; + char *p,*q,*phelp,*np,*last,*un,*b,*h,*z; char *origu, *u; u = origu = strdup(U); @@ -2983,9 +2986,9 @@ u += 7; } phelp=strchr(u,'@'); // potential auth token delimiter - p=strchr(u,'.'); // potential key/host delimiter (doesn't matter) + p=NULL; b=strchr(u,'['); // likely an IPv6 host - if (phelp && ( p==NULL || p > phelp)) { + if (phelp) { // contains auth token[s] -- process them p=strchr(u,':'); if (b != NULL && p != NULL && (p < b)) { @@ -3036,6 +3039,28 @@ port=string(p+1); // we may do that as we are at the end of the string } if (host.size()==0) throw URLException("Could not locate hostname"); + + // Extract IPv6 zone identifier, if present. + if ((z = strchr((h = strdup(host.c_str())),'%'))) { +#ifdef WIN32 + throw URLException("Zone id lookup not supported on win32"); +#else + *(strchr(z,']')) = 0; + z++; + // TODO support percent encoding per rfc6874 + if (*z == 0 || strlen(z) != strlen(strtok(z, "!$%&*=?@^~"))) + throw URLException("Malformed IPv6 zone id"); + if ((zone_id = atoi(z)) <= 0) zone_id = URL::getNetDeviceNum(string(z)); + *(strchr(h,'%')) = ']'; // replace trailing bracket + *(strchr(h,']')+1) = 0; // add null term + host = string(h); // this is now the IPv6 w/o zone identifier + free(h); +#endif + } + else { + zone_id = -1; + } + pint=strtol(port.c_str(),&np,10); if (*np) throw URLException("Invalid port number"); @@ -3124,7 +3149,31 @@ return; } +int URL::getNetDeviceNum(string devName) { +#ifdef WIN32 + throw URLException("Zone id lookup not supported on win32"); +#else + FILE *fp; + string filename = "/proc/net/if_inet6"; + string scnfmt = "%*32s %2x %*2x %*2x %*2x %32s\n"; + char dev_name[32]; // sufficient? + int dev_num; + + if ((fp = fopen(filename.c_str(), "r")) == 0) { + if (DBGX) cerr<<"--- cannot access "<<filename<<" ("<<strerror(errno)<<")"<<endl; + throw URLException("Zone id lookup failure"); + } + + std::transform(devName.begin(), devName.end(), devName.begin(), ::tolower); + while (2 == fscanf(fp, scnfmt.c_str(), &dev_num, dev_name)) { + if (strcmp(devName.c_str(), dev_name) == 0) { /* match */ + return dev_num; + } + } + return -1; // zone id not found in interfaces table +#endif +} int URL::refLookAhead(char *u, char **nu) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/CimXml.h new/sblim-wbemcli-1.6.3/CimXml.h --- old/sblim-wbemcli-1.6.2/CimXml.h 2011-06-22 07:33:02.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/CimXml.h 2013-03-25 05:05:49.000000000 +0100 @@ -1,5 +1,5 @@ /* - * $Id: CimXml.h,v 1.38 2011/06/22 05:33:02 tyreld Exp $ + * $Id: CimXml.h,v 1.40 2013/03/25 04:05:49 hellerda Exp $ * * CimXml.h * @@ -129,9 +129,9 @@ public: ArrayXml() {} ArrayXml<T> * clone() const { return new ArrayXml<T>(*this);} - void add(const T& t) { push_back(t); } + void add(const T& t) { this->push_back(t); } #if !defined(GCC_VERSION) || GCC_VERSION >= 3000 - T& operator[] (size_type n) {return at(n);} + T& operator[] (size_type n) {return this->at(n);} const T& operator[] (size_type n) const {return at(n);} #endif T *get(int n) { return &(*this)[n]; } @@ -821,9 +821,11 @@ class URL { + int getNetDeviceNum(string); public: string scheme; string host; + long zone_id; string port; string cName; string user; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/INSTALL new/sblim-wbemcli-1.6.3/INSTALL --- old/sblim-wbemcli-1.6.2/INSTALL 2008-06-06 21:56:23.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/INSTALL 2012-02-03 12:02:58.000000000 +0100 @@ -1,19 +1,25 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. Basic Installation ================== -Briefly, the shell commands `./configure; make; make install' should + Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for -instructions specific to this package. +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -42,7 +48,7 @@ you want to change it or regenerate `configure' using a newer version of `autoconf'. -The simplest way to compile this package is: + 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. @@ -53,12 +59,22 @@ 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with - the package. + the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and - documentation. + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. - 5. You can remove the program binaries and object files from the + 6. 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 @@ -67,15 +83,22 @@ all sorts of other programs in order to regenerate files that came with the distribution. - 6. Often, you can also type `make uninstall' to remove the installed - files again. + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. 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. + 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 @@ -88,25 +111,41 @@ Compiling For Multiple Architectures ==================================== -You can compile the package for more than one kind of computer at the + 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 can use 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 `..'. +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. With a non-GNU `make', it is safer 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. + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + Installation Names ================== -By default, `make install' installs the package's commands under + By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you @@ -117,16 +156,47 @@ In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' 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. +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= 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 + 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 @@ -138,14 +208,58 @@ you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + 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 + 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: @@ -153,7 +267,8 @@ where SYSTEM can have one of these forms: - OS KERNEL-OS + 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 @@ -171,9 +286,9 @@ 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'. + 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. @@ -182,7 +297,7 @@ Defining Variables ================== -Variables not defined in a site shell script can be set in the + 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 @@ -201,11 +316,19 @@ `configure' Invocation ====================== -`configure' recognizes the following options to control how it operates. + `configure' recognizes the following options to control how it +operates. `--help' `-h' - Print a summary of the options to `configure', and exit. + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. `--version' `-V' @@ -232,6 +355,16 @@ Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/NEWS new/sblim-wbemcli-1.6.3/NEWS --- old/sblim-wbemcli-1.6.2/NEWS 2011-06-22 07:57:57.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/NEWS 2014-10-13 18:05:30.000000000 +0200 @@ -1,3 +1,17 @@ +Changes in Version 1.6.3 +======================== + +Bugs: +- 3519016 wbemcli does not support EmbeddedObject attr of PARAMVALUE +- 3514126 wbemcli does not compile with GCC 4.7 +- 3495602 Fix for ID 3202420 (CDATA escape) breaks cim clients +- 0002626 Add IPv6 LLA support to wbemcli +- 0002627 Add -w option to wbemcli +- 0002665 Add -e100 option to wbemcli +- 0002629 Do not attempt connect if missing cacert +- 0002721 wbemcli does not accept dot in userid:password +- 0002626 bugfix for IPv6 LLA support + Changes in Version 1.6.2 ======================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/config.h.in new/sblim-wbemcli-1.6.3/config.h.in --- old/sblim-wbemcli-1.6.2/config.h.in 2011-07-13 23:23:34.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/config.h.in 2014-10-14 04:14:16.000000000 +0200 @@ -105,6 +105,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/configure.ac new/sblim-wbemcli-1.6.3/configure.ac --- old/sblim-wbemcli-1.6.2/configure.ac 2011-07-13 23:19:42.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/configure.ac 2014-10-14 04:13:16.000000000 +0200 @@ -1,7 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_INIT(SBLIM WBEMCLI, 1.6.2, [email protected],sblim-wbemcli) +AC_INIT(SBLIM WBEMCLI, 1.6.3, [email protected],sblim-wbemcli) AC_CONFIG_SRCDIR([CimXml.cpp]) AC_CANONICAL_HOST diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/main.cpp new/sblim-wbemcli-1.6.3/main.cpp --- old/sblim-wbemcli-1.6.2/main.cpp 2009-06-24 19:44:48.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/main.cpp 2013-09-19 16:34:26.000000000 +0200 @@ -1,5 +1,5 @@ /* - * $Id: main.cpp,v 1.34 2009/06/24 17:44:48 tyreld Exp $ + * $Id: main.cpp,v 1.36 2013/09/19 14:34:26 hellerda Exp $ * * main.cpp * @@ -61,14 +61,15 @@ extern int openwbem; extern int dlmRefs; extern int reqChunking; - +extern int expect100; +int waitTime; static void usage(int indir, int op, char *cmd) { cerr<<"usage:"; cerr<<"\twbemcli gc|gcd|dc|ec|ecn|gi|ci|mi|di|ei|ein|ain|ai|rin|ri|gp|sp|cm|cmx\n" - "\t [-nl] [-dx] [-t] [-cte] [-h] [-v]\n" + "\t [-nl] [-dx] [-t] [-cte] [-h] [-v] [-w <waittime>] [-e100]\n" "\t [-noverify] [-cacert <file>] [-clientcert <file>] [-clientkey <file>]\n" "\t [-ac <assocClass>] [-arc <resultClass>] [-ar <role>] [-arr <resultRole>]\n" "\t objectPath [prop=value,[...]] [props[,...]]\n"<<endl; @@ -117,7 +118,7 @@ int main (int argc, char *argv[]) { int pos, retval = 0; - char *cmd, *params, *opStr=NULL,*urlStr=NULL,*xtraStr=NULL; + char *cmd, *params, *endptr, *opStr=NULL,*urlStr=NULL,*xtraStr=NULL; char *assocClass=NULL,*resultClass=NULL,*role=NULL,*resultRole=NULL; const char *cacert=CACERT, *clientcert=NULL, *clientkey=NULL; int n=1,err=0,op=0,cmdln,help=0,indir=0, noverify=0; @@ -200,8 +201,13 @@ else if (strcmp(*argv,"-arc")==0) resultClass=*(++argv); else if (strcmp(*argv,"-ar")==0) role=*(++argv); else if (strcmp(*argv,"-arr")==0) resultRole=*(++argv); + else if (strcmp(*argv,"-e100")==0) expect100 = 1; + else if (strcmp(*argv,"-w")==0) { + waitTime = (int) strtol(*(++argv),&endptr,0); + if (endptr == *argv) err=1; // no digits found + } else if (strcmp(*argv,"-v")==0) { - cerr<<"* wbemcli Version " PACKAGE_VERSION ", $Date: 2009/06/24 17:44:48 $" <<endl; + cerr<<"* wbemcli Version " PACKAGE_VERSION ", $Date: 2013/09/19 14:34:26 $" <<endl; goto fini; } else err=1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/man/wbemcli.1 new/sblim-wbemcli-1.6.3/man/wbemcli.1 --- old/sblim-wbemcli-1.6.2/man/wbemcli.1 2011-07-13 23:23:34.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/man/wbemcli.1 2014-10-14 04:14:25.000000000 +0200 @@ -11,7 +11,7 @@ permission notice identical to this one. .. -.TH wbemcli 1 "June 2009" "wbemcli Version 1.6.2" +.TH wbemcli 1 "June 2009" "wbemcli Version 1.6.3" .SH NAME wbemcli \- independent command line CIM Client diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/missing new/sblim-wbemcli-1.6.3/missing --- old/sblim-wbemcli-1.6.2/missing 2008-06-06 21:56:23.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/missing 2012-02-03 12:02:58.000000000 +0100 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2006-05-10.23 +scriptversion=2012-01-06.13; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -18,9 +18,7 @@ # 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. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -86,9 +84,11 @@ help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and +\`g' are ignored when checking the name. + Send bug reports to <[email protected]>." exit $? ;; @@ -106,23 +106,21 @@ esac +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect -# the program). +# the program). This is about non-GNU programs, so use $1 not +# $program. case $1 in - lex|yacc) + lex*|yacc*) # Not GNU programs, they don't have --version. ;; - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -138,7 +136,7 @@ # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case $1 in +case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -148,7 +146,7 @@ touch aclocal.m4 ;; - autoconf) + autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -157,7 +155,7 @@ touch configure ;; - autoheader) + autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -187,7 +185,7 @@ while read f; do touch "$f"; done ;; - autom4te) + autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the @@ -210,7 +208,7 @@ fi ;; - bison|yacc) + bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package @@ -218,7 +216,7 @@ \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -240,7 +238,7 @@ fi ;; - lex|flex) + lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package @@ -248,7 +246,7 @@ \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -263,7 +261,7 @@ fi ;; - help2man) + help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the @@ -277,11 +275,11 @@ else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" - exit 1 + exit $? fi ;; - makeinfo) + makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file @@ -310,41 +308,6 @@ touch $file ;; - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. @@ -363,5 +326,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/sblim-wbemcli-1.6.2/sblim-wbemcli.spec new/sblim-wbemcli-1.6.3/sblim-wbemcli.spec --- old/sblim-wbemcli-1.6.2/sblim-wbemcli.spec 2011-07-13 23:23:33.000000000 +0200 +++ new/sblim-wbemcli-1.6.3/sblim-wbemcli.spec 2014-10-14 04:14:24.000000000 +0200 @@ -8,7 +8,7 @@ Summary: SBLIM WBEM Command Line Interface Name: sblim-wbemcli -Version: 1.6.2 +Version: 1.6.3 Release: 1 Group: Systems Management/Base URL: http://www.sblim.org -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
