Author: lslezak Date: Mon Mar 30 16:53:43 2009 New Revision: 56469 URL: http://svn.opensuse.org/viewcvs/yast?rev=56469&view=rev Log: - use zypp::RepoManager::makeStupidAlias() for generating repository alias - 2.18.3 Modified: trunk/pkg-bindings/VERSION trunk/pkg-bindings/package/yast2-pkg-bindings.changes trunk/pkg-bindings/src/Source_Create.cc Modified: trunk/pkg-bindings/VERSION URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/VERSION?rev=56469&r1=56468&r2=56469&view=diff ============================================================================== --- trunk/pkg-bindings/VERSION (original) +++ trunk/pkg-bindings/VERSION Mon Mar 30 16:53:43 2009 @@ -1 +1 @@ -2.18.2 +2.18.3 Modified: trunk/pkg-bindings/package/yast2-pkg-bindings.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/package/yast2-pkg-bindings.changes?rev=56469&r1=56468&r2=56469&view=diff ============================================================================== --- trunk/pkg-bindings/package/yast2-pkg-bindings.changes (original) +++ trunk/pkg-bindings/package/yast2-pkg-bindings.changes Mon Mar 30 16:53:43 2009 @@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Mon Mar 30 16:24:58 CEST 2009 - lslezak@suse.cz + +- return "is_update_repo" flag in Pkg::SourceGeneralData() call + (requires loaded pool) (bnc#459527) +- use zypp::RepoManager::makeStupidAlias() for generating + repository alias +- 2.18.3 + +------------------------------------------------------------------- Wed Mar 25 16:55:36 CET 2009 - lslezak@suse.cz - Fixed Pkg::SourceURL() - remove "credentials" query from URL Modified: trunk/pkg-bindings/src/Source_Create.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/src/Source_Create.cc?rev=56469&r1=56468&r2=56469&view=diff ============================================================================== --- trunk/pkg-bindings/src/Source_Create.cc (original) +++ trunk/pkg-bindings/src/Source_Create.cc Mon Mar 30 16:53:43 2009 @@ -237,40 +237,9 @@ // alias not set via URL, use the passed alias or the URL path if (alias_r.empty()) { - // use the last path element in URL - std::string url_path = url.getPathName(); + alias = zypp::RepoManager::makeStupidAlias(url); - std::string::size_type pos_begin = url_path.rfind("/"); - std::string::size_type pos_end = std::string::npos; - - // ignore the trailing slash - if (pos_begin == url_path.size() - 1) - { - pos_begin = url_path.rfind("/", url_path.size() - 2); - - if (pos_begin != std::string::npos) - { - pos_end = url_path.size() - pos_begin - 2; - } - } - else - { - pos_end = url_path.size() - pos_begin - 1; - } - - // ignore the found slash character - pos_begin++; - - alias = std::string(url_path, pos_begin, pos_end); - - y2milestone("Alias from URL path: %s", alias.c_str()); - - // fallback - if (alias.empty()) - { - y2milestone("URL alias is empty using 'Repository'"); - alias = "Repository"; - } + y2milestone("Using alias: %s", alias.c_str()); } else { @@ -390,33 +359,8 @@ 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)) - { - y2error("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; + zypp::Url first_url; if (!params->value( YCPString("base_urls") ).isNull() && params->value(YCPString("base_urls"))->isList()) { @@ -457,7 +401,7 @@ if (index == 0) { - first_url = url.asString(); + first_url = url; } repo.addBaseUrl(url); @@ -469,6 +413,33 @@ return YCPVoid(); } + std::string alias; + + if (!params->value( YCPString("alias") ).isNull() && params->value(YCPString("alias"))->isString()) + { + alias = params->value(YCPString("alias"))->asString()->value(); + } + + if (alias.empty()) + { + // generate an alias + alias = zypp::RepoManager::makeStupidAlias(first_url); + + // the alias must be unique + alias = UniqueAlias(alias); + } + else + { + if (aliasExists(alias)) + { + y2error("alias %s already exists", alias.c_str()); + return YCPVoid(); + } + } + + repo.setAlias(alias); + + // check name parameter if (!params->value( YCPString("name") ).isNull() && params->value(YCPString("name"))->isString()) { @@ -480,7 +451,7 @@ // then use the first URL as the name if (repo.name().empty()) { - repo.setName(first_url); + repo.setName(first_url.asString()); } } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org