Hello community,
here is the log from the commit of package yast2-pkg-bindings
checked in at Mon Jul 23 21:21:26 CEST 2007.
--------
--- yast2-pkg-bindings/yast2-pkg-bindings.changes 2007-07-18 16:18:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-pkg-bindings/yast2-pkg-bindings.changes 2007-07-23 17:21:12.204653000 +0200
@@ -1,0 +2,6 @@
+Mon Jul 23 17:11:28 CEST 2007 - lslezak@suse.cz
+
+- added RepositoryAdd(), RepositoryScan() and RepositoryProbe()
+- 2.15.32
+
+-------------------------------------------------------------------
Old:
----
yast2-pkg-bindings-2.15.31.tar.bz2
New:
----
yast2-pkg-bindings-2.15.32.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-pkg-bindings.spec ++++++
--- /var/tmp/diff_new_pack.ZU7275/_old 2007-07-23 21:19:14.000000000 +0200
+++ /var/tmp/diff_new_pack.ZU7275/_new 2007-07-23 21:19:14.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-pkg-bindings (Version 2.15.31)
+# spec file for package yast2-pkg-bindings (Version 2.15.32)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-pkg-bindings
-Version: 2.15.31
+Version: 2.15.32
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-pkg-bindings-2.15.31.tar.bz2
+Source0: yast2-pkg-bindings-2.15.32.tar.bz2
prefix: /usr
BuildRequires: blocxx-devel boost boost-devel dbus-1-devel docbook-xsl-stylesheets doxygen gcc-c++ hal-devel libgcrypt-devel libxcrypt-devel libxslt perl-XML-Writer rpm-devel sgml-skel yast2-core-devel yast2-devtools
BuildRequires: libzypp-devel >= 3.11.8
@@ -40,7 +40,7 @@
Stanislav Visnovsky
%prep
-%setup -n yast2-pkg-bindings-2.15.31
+%setup -n yast2-pkg-bindings-2.15.32
%build
%{prefix}/bin/y2tool y2autoconf
@@ -71,6 +71,9 @@
%doc %{prefix}/share/doc/packages/yast2-pkg-bindings
%changelog
+* Mon Jul 23 2007 - lslezak@suse.cz
+- added RepositoryAdd(), RepositoryScan() and RepositoryProbe()
+- 2.15.32
* Wed Jul 18 2007 - lslezak@suse.cz
- SourceLoad(), SourceRefreshNow() - rebuild cache after
refreshing metadata
++++++ yast2-pkg-bindings-2.15.31.tar.bz2 -> yast2-pkg-bindings-2.15.32.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-pkg-bindings-2.15.31/configure new/yast2-pkg-bindings-2.15.32/configure
--- old/yast2-pkg-bindings-2.15.31/configure 2007-07-18 16:17:17.000000000 +0200
+++ new/yast2-pkg-bindings-2.15.32/configure 2007-07-23 17:15:23.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for yast2-pkg-bindings 2.15.31.
+# Generated by GNU Autoconf 2.60 for yast2-pkg-bindings 2.15.32.
#
# Report bugs to http://bugs.opensuse.org/.
#
@@ -713,8 +713,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-pkg-bindings'
PACKAGE_TARNAME='yast2-pkg-bindings'
-PACKAGE_VERSION='2.15.31'
-PACKAGE_STRING='yast2-pkg-bindings 2.15.31'
+PACKAGE_VERSION='2.15.32'
+PACKAGE_STRING='yast2-pkg-bindings 2.15.32'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1429,7 +1429,7 @@
# 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 yast2-pkg-bindings 2.15.31 to adapt to many kinds of systems.
+\`configure' configures yast2-pkg-bindings 2.15.32 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1500,7 +1500,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-pkg-bindings 2.15.31:";;
+ short | recursive ) echo "Configuration of yast2-pkg-bindings 2.15.32:";;
esac
cat <<\_ACEOF
@@ -1608,7 +1608,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-pkg-bindings configure 2.15.31
+yast2-pkg-bindings configure 2.15.32
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1622,7 +1622,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-pkg-bindings $as_me 2.15.31, which was
+It was created by yast2-pkg-bindings $as_me 2.15.32, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2423,7 +2423,7 @@
# Define the identity of the package.
PACKAGE='yast2-pkg-bindings'
- VERSION='2.15.31'
+ VERSION='2.15.32'
cat >>confdefs.h <<_ACEOF
@@ -2650,7 +2650,7 @@
-VERSION="2.15.31"
+VERSION="2.15.32"
RPMNAME="yast2-pkg-bindings"
MAINTAINER="Ladislav Slezák "
@@ -21612,7 +21612,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-pkg-bindings $as_me 2.15.31, which was
+This file was extended by yast2-pkg-bindings $as_me 2.15.32, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21665,7 +21665,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-pkg-bindings config.status 2.15.31
+yast2-pkg-bindings config.status 2.15.32
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-pkg-bindings-2.15.31/configure.in new/yast2-pkg-bindings-2.15.32/configure.in
--- old/yast2-pkg-bindings-2.15.31/configure.in 2007-07-18 16:17:04.000000000 +0200
+++ new/yast2-pkg-bindings-2.15.32/configure.in 2007-07-23 17:15:10.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-pkg-bindings, 2.15.31, http://bugs.opensuse.org/, yast2-pkg-bindings)
+AC_INIT(yast2-pkg-bindings, 2.15.32, http://bugs.opensuse.org/, yast2-pkg-bindings)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.15.31"
+VERSION="2.15.32"
RPMNAME="yast2-pkg-bindings"
MAINTAINER="Ladislav Slezák "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-pkg-bindings-2.15.31/src/PkgModuleFunctions.h new/yast2-pkg-bindings-2.15.32/src/PkgModuleFunctions.h
--- old/yast2-pkg-bindings-2.15.31/src/PkgModuleFunctions.h 2007-07-18 13:08:01.000000000 +0200
+++ new/yast2-pkg-bindings-2.15.32/src/PkgModuleFunctions.h 2007-07-23 09:09:07.000000000 +0200
@@ -126,6 +126,10 @@
// table for converting libzypp source type to Yast type (for backward compatibility)
std::map type_conversion_table;
+ // conversion methods for type string between Yast and libzypp (for backward compatibility)
+ std::string zypp2yastType(const std::string &type);
+ std::string yast2zyppType(const std::string &type);
+
bool DoProvideNameKind( const std::string & name, zypp::Resolvable::Kind kind, zypp::Arch architecture,
const std::string& version, const bool onlyNeeded = false);
bool DoRemoveNameKind( const std::string & name, zypp::Resolvable::Kind kind);
@@ -136,6 +140,7 @@
void RemoveResolvablesFrom(const std::string &alias);
bool AnyResolvableFrom(const std::string &alias);
bool LoadResolvablesFrom(const zypp::RepoInfo &repoinfo);
+ std::string UniqueAlias(const std::string &alias);
YCPValue GetPkgLocation(const YCPString& p, bool full_path);
YCPValue PkgProp( zypp::PoolItem_Ref item );
@@ -466,6 +471,12 @@
YCPValue SourceEditSet (const YCPList& args);
/* TYPEINFO: list<integer>(string,string)*/
YCPValue SourceScan (const YCPString& media, const YCPString& product_dir);
+ /* TYPEINFO: string(string)*/
+ YCPValue RepositoryProbe(const YCPString& url);
+ /* TYPEINFO: list(string)*/
+ YCPValue RepositoryScan(const YCPString& url);
+ /* TYPEINFO: integer(map)*/
+ YCPValue RepositoryAdd(const YCPMap ¶ms);
// target related
/* TYPEINFO: boolean(string,boolean)*/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-pkg-bindings-2.15.31/src/Source.cc new/yast2-pkg-bindings-2.15.32/src/Source.cc
--- old/yast2-pkg-bindings-2.15.31/src/Source.cc 2007-07-18 14:39:36.000000000 +0200
+++ new/yast2-pkg-bindings-2.15.32/src/Source.cc 2007-07-23 17:10:52.000000000 +0200
@@ -38,12 +38,12 @@
#include
#include
#include
-#include
#include
#include
#include
#include
+#include
#include
@@ -54,6 +54,17 @@
Textdomain "pkg-bindings"
*/
+zypp::MediaProductSet scanProducts(const zypp::Url &url)
+{
+ // scan available products
+ zypp::MediaProductSet products;
+
+ y2milestone("Scanning products in %s ...", url.asString().c_str());
+ zypp::productsInMedia(url, products);
+
+ return products;
+}
+
void PkgModuleFunctions::CallSourceReportStart(const std::string &text)
{
// get the YCP callback handler
@@ -636,23 +647,8 @@
if (!repo)
return YCPVoid ();
- if (type_conversion_table.empty())
- {
- // initialize the conversion map
- type_conversion_table["rpm-md"] = "YUM";
- type_conversion_table["yast2"] = "YaST";
- type_conversion_table["plaindir"] = "Plaindir";
- }
-
// convert type to the old strings ("YaST", "YUM" or "Plaindir")
- std::string srctype = repo->repoInfo().type().asString();
- std::mapstd::string,std::string::const_iterator it = type_conversion_table.find(srctype);
-
- // found in the conversion table
- if (it != type_conversion_table.end())
- {
- srctype = it->second;
- }
+ std::string srctype = zypp2yastType(repo->repoInfo().type().asString());
data->add( YCPString("enabled"), YCPBoolean(repo->repoInfo().enabled()));
data->add( YCPString("autorefresh"), YCPBoolean(repo->repoInfo().autorefresh()));
@@ -1157,6 +1153,28 @@
return alias;
}
+std::string PkgModuleFunctions::UniqueAlias(const std::string &alias)
+{
+ // make a copy
+ std::string ret = alias;
+
+ unsigned int id = 0;
+ while(aliasExists(ret))
+ {
+ y2milestone("Alias %s already found: %d", ret.c_str(), logFindAlias(ret));
+
+ // the alias already exists - add a counter
+ std::ostringstream ostr;
+ ostr << alias << "_" << id;
+
+ ret = ostr.str();
+
+ y2milestone("Using alias %s", ret.c_str());
+ ++id;
+ }
+
+ return ret;
+}
/** Create a Source and immediately put it into the SourceManager.
* \return the SourceId
@@ -1200,9 +1218,7 @@
{
// do conversion from the Yast type ("YaST", "YUM", "Plaindir")
// to libzypp type ("yast", "yum", "plaindir")
- // we can simply use toLower instead of a conversion table
- // in this case
- repotype.parse(zypp::str::toLower(type));
+ repotype = repotype.parse(yast2zyppType(type));
}
catch (zypp::repo::RepoUnknownTypeException &e)
{
@@ -1240,23 +1256,7 @@
y2milestone("Name of the repository: '%s'", name.c_str());
- // make a copy
- std::string alias_copy = alias;
-
- unsigned int id = 0;
- while(aliasExists(alias))
- {
- y2milestone("Alias %s already found: %d", alias.c_str(), logFindAlias(alias));
-
- // the alias already exists - add a counter
- std::ostringstream ostr;
- ostr << alias_copy << "_" << id;
-
- alias = ostr.str();
-
- y2milestone("Using alias %s", alias.c_str());
- ++id;
- }
+ alias = UniqueAlias(alias);
repo.setAlias(alias);
repo.setName(name);
@@ -1290,6 +1290,158 @@
}
/****************************************************************************************
+ * @builtin RepositoryAdd
+ *
+ * @short Register a new repository
+ * @description
+ * Adds a new repository to the internal structures. The repository is only registered,
+ * metadata is not downloaded, use Pkg::SourceRefreshNow() for that. The metadata is also loaded
+ * automatically when loading the repository content (Pkg::SourceLoad())
+ *
+ * @param map map with repository parameters: $[ "enabled" : boolean, "autorefresh" : boolean, "name" : string,
+ * "alias" : string, "base_urls" : list<string>, "prod_dir" : string, "type" : string ]
+ * @return integer Repository ID or nil on error
+ **/
+YCPValue PkgModuleFunctions::RepositoryAdd(const YCPMap ¶ms)
+{
+ zypp::RepoInfo repo;
+
+ // turn on the repo by default
+ repo.setEnabled(true);
+ // enable autorefresh by default
+ repo.setAutorefresh(true);
+
+ if (!params->value( YCPString("enabled") ).isNull() && params->value(YCPString("enabled"))->isBoolean())
+ {
+ repo.setEnabled(params->value(YCPString("enabled"))->asBoolean()->value());
+ }
+
+ if (!params->value( YCPString("autorefresh") ).isNull() && params->value(YCPString("autorefresh"))->isBoolean())
+ {
+ repo.setAutorefresh(params->value(YCPString("autorefresh"))->asBoolean()->value());
+ }
+
+ std::string alias;
+
+ if (!params->value( YCPString("alias") ).isNull() && params->value(YCPString("alias"))->isString())
+ {
+ alias = params->value(YCPString("alias"))->asString()->value();
+ }
+
+ if (alias.empty())
+ {
+ alias = timestamp();
+
+ // the alias must be unique
+ alias = UniqueAlias(alias);
+ }
+ else
+ {
+ if (aliasExists(alias))
+ {
+ ycperror("alias %s already exists", alias.c_str());
+ return YCPVoid();
+ }
+ }
+
+ repo.setAlias(alias);
+
+ // use the first base URL as a fallback name
+ std::string first_url;
+
+ if (!params->value( YCPString("base_urls") ).isNull() && params->value(YCPString("base_urls"))->isList())
+ {
+ YCPList lst(params->value(YCPString("base_urls"))->asList());
+
+ for (int index = 0; index < lst->size(); ++index)
+ {
+ if( ! lst->value(index)->isString() )
+ {
+ ycperror( "Pkg::RepositoryAdd(): entry not a string at index %d: %s", index, lst->toString().c_str());
+ return YCPVoid();
+ }
+
+ zypp::Url url;
+
+ try
+ {
+ url = lst->value(index)->asString()->value();
+ zypp::Url url_new;
+
+ std::string name = removeAlias(url, url_new);
+
+ if (!name.empty())
+ {
+ repo.setName(name);
+ url = url_new;
+ }
+ }
+ catch(const zypp::Exception & expt)
+ {
+ y2error("Invalid URL: %s", expt.asString().c_str());
+ _last_error.setLastError(expt.asUserString());
+ return YCPVoid();
+ }
+
+ if (index == 0)
+ {
+ first_url = url.asString();
+ }
+
+ repo.addBaseUrl(url);
+ }
+ }
+ else
+ {
+ ycperror("Missing \"base_urls\" key in the map");
+ return YCPVoid();
+ }
+
+ // check name parameter
+ if (!params->value( YCPString("name") ).isNull() && params->value(YCPString("name"))->isString())
+ {
+ repo.setName(params->value(YCPString("name"))->asString()->value());
+ }
+ else
+ {
+ // if the key "name" is missing and the name hasn't been set by ?alias= in the URL
+ // then use the first URL as the name
+ if (repo.name().empty())
+ {
+ repo.setName(first_url);
+ }
+ }
+
+ if (!params->value( YCPString("type") ).isNull() && params->value(YCPString("type"))->isString())
+ {
+ std::string type = yast2zyppType(params->value(YCPString("type"))->asString()->value());
+
+ try
+ {
+ zypp::repo::RepoType repotype(type);
+ repo.setType(repotype);
+ }
+ catch (zypp::repo::RepoUnknownTypeException &e)
+ {
+ ycperror("Unknown source type '%s': %s", type.c_str(), e.asString().c_str());
+ _last_error.setLastError(e.asUserString());
+ return YCPVoid();
+ }
+
+ }
+
+ if (!params->value( YCPString("prod_dir") ).isNull() && params->value(YCPString("prod_dir"))->isString())
+ {
+ #warning FIXME TODO: add product directory support
+ }
+
+ repos.push_back(new YRepo(repo));
+
+ // the new source is at the end of the list
+ return YCPInteger(repos.size() - 1);
+}
+
+/****************************************************************************************
* @builtin SourceCacheCopyTo
*
* @short Copy cache data of all installation sources to the target
@@ -1487,8 +1639,7 @@
zypp::MediaProductSet products;
try {
- y2milestone("Scanning products in %s ...", url.asString().c_str());
- zypp::productsInMedia(url, products);
+ products = scanProducts(url);
}
catch ( const zypp::Exception& excpt)
{
@@ -1510,28 +1661,13 @@
try
{
std::vectorzypp::RepoInfo::size_type id = createManagedSource(url, it->_dir, base, type);
-
YRepo_Ptr repo = logFindRepository(id);
- repo->repoInfo().setEnabled(true);
-
- zypp::RepoManager repomanager = CreateRepoManager();
-
- // update Repository
- zypp::Repository r = repomanager.createFromCache(repo->repoInfo());
- // add resolvables
- zypp_ptr()->addResolvables(r.resolvables());
-
- CallSourceReportInit();
- CallSourceReportStart(_("Parsing files..."));
- zypp_ptr()->addResolvables (r.resolvables());
- CallSourceReportEnd(_("Parsing files..."));
- CallSourceReportDestroy();
+ LoadResolvablesFrom(repo->repoInfo());
// return the id of the first product
if ( it == products.begin() )
ret = id;
-
}
catch ( const zypp::Exception& excpt)
{
@@ -1551,15 +1687,7 @@
YRepo_Ptr repo = logFindRepository(ret);
repo->repoInfo().setEnabled(true);
- zypp::RepoManager repomanager = CreateRepoManager();
- // update Repository
- zypp::Repository r = repomanager.createFromCache(repo->repoInfo());
-
- CallSourceReportInit();
- CallSourceReportStart(_("Parsing files..."));
- zypp_ptr()->addResolvables (r.resolvables());
- CallSourceReportEnd(_("Parsing files..."));
- CallSourceReportDestroy();
+ LoadResolvablesFrom(repo->repoInfo());
}
catch ( const zypp::Exception& excpt)
{
@@ -2039,12 +2167,12 @@
}
zypp::Repository repository = repomanager.createFromCache(repoinfo);
+ const zypp::ResStore &store = repository.resolvables();
// load resolvables
- zypp::ResStore store = repository.resolvables();
zypp_ptr()->addResolvables(store);
- y2milestone("Found %d resolvables", store.size());
+ y2milestone("Loaded %d resolvables", store.size());
}
catch(const zypp::repo::RepoNotCachedException &excpt )
{
@@ -2068,3 +2196,119 @@
return success;
}
+
+/****************************************************************************************
+ * @builtin RepositoryProbe
+ *
+ * @short Probe type of the repository
+ * @param url specifies the path to the repository
+ * @return string repository type ("NONE" if type could be determined, nil if an error occurred (e.g. resolving the hostname)
+ **/
+YCPValue PkgModuleFunctions::RepositoryProbe(const YCPString& url)
+{
+ y2milestone("Probing repository type: '%s'...", url->value().c_str());
+ zypp::RepoManager repomanager = CreateRepoManager();
+ std::string ret;
+
+ try
+ {
+ zypp::Url probe_url(url->value());
+
+ // autoprobe type of the repository
+ zypp::repo::RepoType repotype = repomanager.probe(probe_url);
+
+ ret = zypp2yastType(repotype.asString());
+ y2milestone("Detected type: '%s'...", ret.c_str());
+ }
+ catch (const zypp::Exception& excpt)
+ {
+ _last_error.setLastError(excpt.asUserString());
+ y2error( "Cannot detect the repository type" );
+ return YCPVoid();
+ }
+
+ return YCPString(ret);
+}
+
+/****************************************************************************************
+ * @builtin RepositoryScan
+ *
+ * @short Scan available products in the repository
+ * @param url specifies the path to the repository
+ * @return list list of the products: [ [ ], ...]
+ **/
+YCPValue PkgModuleFunctions::RepositoryScan(const YCPString& url)
+{
+ zypp::MediaProductSet products;
+
+ try
+ {
+ zypp::Url baseurl(url->value());
+ products = scanProducts(baseurl);
+ }
+ catch ( const zypp::Exception& excpt)
+ {
+ _last_error.setLastError(excpt.asUserString());
+ y2error( "Cannot read the product list from the media" );
+ return YCPList();
+ }
+
+ YCPList ret;
+
+ for( zypp::MediaProductSet::const_iterator it = products.begin();
+ it != products.end() ; ++it )
+ {
+ YCPList prod;
+
+ // add product directory
+ prod.add(YCPString(it->_name));
+ // add product name
+ prod.add(YCPString(it->_dir.asString()));
+
+ ret.add(prod);
+ }
+
+ y2milestone("Found products: %s", ret->toString().c_str());
+
+ return ret;
+}
+
+// convert libzypp type to yast strings ("YaST", "YUM" or "Plaindir")
+std::string PkgModuleFunctions::zypp2yastType(const std::string &type)
+{
+ std::string ret(type);
+
+ if (type_conversion_table.empty())
+ {
+ // initialize the conversion map
+ type_conversion_table["rpm-md"] = "YUM";
+ type_conversion_table["yast2"] = "YaST";
+ type_conversion_table["plaindir"] = "Plaindir";
+ type_conversion_table["NONE"] = "NONE";
+ }
+
+ std::mapstd::string,std::string::const_iterator it = type_conversion_table.find(type);
+
+ // found in the conversion table
+ if (it != type_conversion_table.end())
+ {
+ ret = it->second;
+ }
+ else
+ {
+ y2error("Cannot convert type '%s'", type.c_str());
+ }
+
+ return ret;
+}
+
+std::string PkgModuleFunctions::yast2zyppType(const std::string &type)
+{
+ // do conversion from the Yast type ("YaST", "YUM", "Plaindir")
+ // to libzypp type ("yast", "yum", "plaindir")
+ // we can simply use toLower instead of a conversion table
+ // in this case
+ return zypp::str::toLower(type);
+}
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-pkg-bindings-2.15.31/VERSION new/yast2-pkg-bindings-2.15.32/VERSION
--- old/yast2-pkg-bindings-2.15.31/VERSION 2007-07-18 16:15:11.000000000 +0200
+++ new/yast2-pkg-bindings-2.15.32/VERSION 2007-07-23 17:11:19.000000000 +0200
@@ -1 +1 @@
-2.15.31
+2.15.32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org