Hello community, here is the log from the commit of package yast2-pkg-bindings for openSUSE:Factory checked in at 2016-10-10 16:17:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-pkg-bindings (Old) and /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-pkg-bindings" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-pkg-bindings/yast2-pkg-bindings.changes 2016-04-12 18:59:39.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new/yast2-pkg-bindings.changes 2016-10-10 16:17:39.000000000 +0200 @@ -1,0 +2,7 @@ +Fri Oct 7 07:32:19 UTC 2016 - lsle...@suse.cz + +- Added Pkg.UrlSchemeIs*() methods for classifying the URL scheme + to avoid duplication of the libzypp code in YaST (bsc#948982) +- 3.2.0 + +------------------------------------------------------------------- Old: ---- yast2-pkg-bindings-3.1.34.tar.bz2 New: ---- yast2-pkg-bindings-3.2.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-pkg-bindings-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.zwCF65/_old 2016-10-10 16:17:41.000000000 +0200 +++ /var/tmp/diff_new_pack.zwCF65/_new 2016-10-10 16:17:41.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings-devel-doc -Version: 3.1.34 +Version: 3.2.0 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: yast2-pkg-bindings-%{version}.tar.bz2 ++++++ yast2-pkg-bindings.spec ++++++ --- /var/tmp/diff_new_pack.zwCF65/_old 2016-10-10 16:17:41.000000000 +0200 +++ /var/tmp/diff_new_pack.zwCF65/_new 2016-10-10 16:17:41.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings -Version: 3.1.34 +Version: 3.2.0 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-pkg-bindings-3.1.34.tar.bz2 -> yast2-pkg-bindings-3.2.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/CONTRIBUTING.md new/yast2-pkg-bindings-3.2.0/CONTRIBUTING.md --- old/yast2-pkg-bindings-3.1.34/CONTRIBUTING.md 2016-04-08 12:53:57.000000000 +0200 +++ new/yast2-pkg-bindings-3.2.0/CONTRIBUTING.md 2016-10-07 10:48:45.000000000 +0200 @@ -3,7 +3,7 @@ YaST is an open source project and as such it welcomes all kinds of contributions. If you decide to contribute, please follow these guidelines to -ensure the process is effective and pleasant both for you and YaST maintainers. +ensure the process is effective and pleasant both for you and the YaST maintainers. There are two main forms of contribution: reporting bugs and performing code changes. @@ -17,13 +17,11 @@ registration](https://secure-www.novell.com/selfreg/jsp/createSimpleAccount.jsp) if you don't have an account yet.) -If you find a problem, please report it either using -[Bugzilla](https://bugzilla.suse.com/) or GitHub issues. We can't guarantee -that every bug will be fixed, but we'll try. - When creating a bug report, please follow our [bug reporting guidelines](http://en.opensuse.org/openSUSE:Report_a_YaST_bug). +We can't guarantee that every bug will be fixed, but we'll try. + Code Changes ------------ @@ -44,15 +42,22 @@ to the [Ruby style guide](https://github.com/SUSE/style-guides/blob/master/Ruby.md). - 4. Make sure your change didn't break anything by building the RPM package + 4. Update the package version (in `packages/*.spec`, usually by + `rake version:bump`) and add a new entry to the `package/*.changes` file + (by `osc vc package`). + For bigger changes or changes which need longer discussion it is advised to + add this as a separate last commit so it can be easily updated when another + change is merged in the meantime. + + 5. Make sure your change didn't break anything by building the RPM package (`rake osc:build`). The build process includes running the full testsuite. - 5. Publish the branch and create a pull request. + 6. Publish the branch and create a pull request. - 6. YaST developers will review your change and possibly point out issues. + 7. YaST developers will review your change and possibly point out issues. Adapt the code under their guidance until they are all resolved. - 7. Finally, the pull request will get merged or rejected. + 8. Finally, the pull request will get merged or rejected. See also [GitHub's guide on contributing](https://help.github.com/articles/fork-a-repo). @@ -60,9 +65,6 @@ If you want to do multiple unrelated changes, use separate branches and pull requests. -Do not change the `VERSION` and `*.changes` files as this could lead to -conflicts. - ### Commits Each commit in the pull request should do only one thing, which is clearly diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/package/yast2-pkg-bindings-devel-doc.spec new/yast2-pkg-bindings-3.2.0/package/yast2-pkg-bindings-devel-doc.spec --- old/yast2-pkg-bindings-3.1.34/package/yast2-pkg-bindings-devel-doc.spec 2016-04-08 12:53:57.000000000 +0200 +++ new/yast2-pkg-bindings-3.2.0/package/yast2-pkg-bindings-devel-doc.spec 2016-10-07 10:48:45.000000000 +0200 @@ -16,7 +16,7 @@ # Name: yast2-pkg-bindings-devel-doc -Version: 3.1.34 +Version: 3.2.0 Release: 0 License: GPL-2.0 Group: Documentation/HTML diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/package/yast2-pkg-bindings.changes new/yast2-pkg-bindings-3.2.0/package/yast2-pkg-bindings.changes --- old/yast2-pkg-bindings-3.1.34/package/yast2-pkg-bindings.changes 2016-04-08 12:53:57.000000000 +0200 +++ new/yast2-pkg-bindings-3.2.0/package/yast2-pkg-bindings.changes 2016-10-07 10:48:45.000000000 +0200 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Oct 7 07:32:19 UTC 2016 - lsle...@suse.cz + +- Added Pkg.UrlSchemeIs*() methods for classifying the URL scheme + to avoid duplication of the libzypp code in YaST (bsc#948982) +- 3.2.0 + +------------------------------------------------------------------- Wed Apr 6 15:51:40 CEST 2016 - sch...@suse.de - Added new call: ServiceForceRefresh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/package/yast2-pkg-bindings.spec new/yast2-pkg-bindings-3.2.0/package/yast2-pkg-bindings.spec --- old/yast2-pkg-bindings-3.1.34/package/yast2-pkg-bindings.spec 2016-04-08 12:53:57.000000000 +0200 +++ new/yast2-pkg-bindings-3.2.0/package/yast2-pkg-bindings.spec 2016-10-07 10:48:45.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings -Version: 3.1.34 +Version: 3.2.0 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/src/Makefile.am new/yast2-pkg-bindings-3.2.0/src/Makefile.am --- old/yast2-pkg-bindings-3.1.34/src/Makefile.am 2016-04-08 12:53:57.000000000 +0200 +++ new/yast2-pkg-bindings-3.2.0/src/Makefile.am 2016-10-07 10:48:46.000000000 +0200 @@ -52,6 +52,7 @@ PkgService.cc PkgService.h \ ServiceManager.cc ServiceManager.h \ Service.cc \ + UrlUtils.cc \ Network.cc \ BaseProduct.h BaseProduct.cc \ HelpTexts.h i18n.h log.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/src/PkgFunctions.h new/yast2-pkg-bindings-3.2.0/src/PkgFunctions.h --- old/yast2-pkg-bindings-3.1.34/src/PkgFunctions.h 2016-04-08 12:53:57.000000000 +0200 +++ new/yast2-pkg-bindings-3.2.0/src/PkgFunctions.h 2016-10-07 10:48:46.000000000 +0200 @@ -810,6 +810,18 @@ /* TYPEINFO: boolean(map<string,any>)*/ YCPValue SetZConfig(const YCPMap &cfg); + // URL related functions + /* TYPEINFO: list<string>() */ + YCPValue UrlKnownSchemes(); + /* TYPEINFO: boolean(string) */ + YCPValue UrlSchemeIsRemote(const YCPString &url_scheme); + /* TYPEINFO: boolean(string) */ + YCPValue UrlSchemeIsLocal(const YCPString &url_scheme); + /* TYPEINFO: boolean(string) */ + YCPValue UrlSchemeIsVolatile(const YCPString &url_scheme); + /* TYPEINFO: boolean(string) */ + YCPValue UrlSchemeIsDownloading(const YCPString &url_scheme); + YCPValue ResolvablePropertiesEx(const YCPString& name, const YCPSymbol& kind_r, const YCPString& version, bool dependencies); YCPValue ResolvableSetPatches(const YCPSymbol& kind_r, bool preselect); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.34/src/UrlUtils.cc new/yast2-pkg-bindings-3.2.0/src/UrlUtils.cc --- old/yast2-pkg-bindings-3.1.34/src/UrlUtils.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-pkg-bindings-3.2.0/src/UrlUtils.cc 2016-10-07 10:48:46.000000000 +0200 @@ -0,0 +1,85 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2016 SUSE LLC + * + * + * 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. + * + * ------------------------------------------------------------------------------ + */ + +#include "PkgFunctions.h" +#include "log.h" + +#include <zypp/Url.h> + +#include <ycp/YCPString.h> +#include <ycp/YCPBoolean.h> +#include <ycp/YCPList.h> + +/** + * @builtin UrlKnownSchemes + * @description Returns all URL schemes known to libzypp. + * @note The list contains *all* schemes which are known to libzypp. + * The list contains also unsupported schemes (e.g. "sftp" which can be used + * in repository URL, but the respective downloader is not implemented) or + * schemes which not make sense for repositories (e.g. "mailto" or "ldap"). + * @short URL schemes known by libzypp + * @return list of URL schemes + */ +YCPValue PkgFunctions::UrlKnownSchemes() +{ + YCPList list; + zypp::url::UrlSchemes schemes = zypp::Url::getRegisteredSchemes(); + + for(auto&& str: schemes) list->add(YCPString(str)); + + return list; +} + +/** + * @builtin UrlSchemeIsRemote + * @short Is the URL scheme remote? + * @return true if the scheme is remote, false otherwise + */ +YCPValue PkgFunctions::UrlSchemeIsRemote(const YCPString &url_scheme) +{ + return YCPBoolean(zypp::Url::schemeIsRemote(url_scheme->value())); +} + +/** + * @builtin UrlSchemeIsLocal + * @short Is the URL scheme local? + * @return true if the scheme is local, false otherwise + */ +YCPValue PkgFunctions::UrlSchemeIsLocal(const YCPString &url_scheme) +{ + return YCPBoolean(zypp::Url::schemeIsLocal(url_scheme->value())); +} + +/** + * @builtin UrlSchemeIsVolatile + * @short Is the URL scheme volatile? I.e. the content can be changed by changing + * the medium in the drive even if the URL itself is unchanged. + * @return true if the scheme is volatile, false otherwise + */ +YCPValue PkgFunctions::UrlSchemeIsVolatile(const YCPString &url_scheme) +{ + return YCPBoolean(zypp::Url::schemeIsVolatile(url_scheme->value())); +} + +/** + * @builtin UrlSchemeIsDownloading + * @short Do the files need to be downloaded locally before use or can be accessed directly? + * @return true if the scheme needs download, false otherwise + */ +YCPValue PkgFunctions::UrlSchemeIsDownloading(const YCPString &url_scheme) +{ + return YCPBoolean(zypp::Url::schemeIsDownloading(url_scheme->value())); +} +