Hello community, here is the log from the commit of package libzypp-testsuite-tools for openSUSE:Factory checked in at 2017-06-08 15:03:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp-testsuite-tools (Old) and /work/SRC/openSUSE:Factory/.libzypp-testsuite-tools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp-testsuite-tools" Thu Jun 8 15:03:42 2017 rev:56 rq:501779 version:5.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp-testsuite-tools/libzypp-testsuite-tools.changes 2015-08-12 15:10:50.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libzypp-testsuite-tools.new/libzypp-testsuite-tools.changes 2017-06-08 15:03:43.000981103 +0200 @@ -1,0 +2,6 @@ +Wed May 31 16:26:20 CEST 2017 - m...@suse.com + +- Fix unrecognized solver flags (bsc#1041889) +- version 5.0.3 + +------------------------------------------------------------------- Old: ---- zypp-testsuite-tools-5.0.2.tar.bz2 New: ---- zypp-testsuite-tools-5.0.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp-testsuite-tools.spec ++++++ --- /var/tmp/diff_new_pack.IGqbcf/_old 2017-06-08 15:03:43.884856363 +0200 +++ /var/tmp/diff_new_pack.IGqbcf/_new 2017-06-08 15:03:43.884856363 +0200 @@ -1,7 +1,7 @@ # # spec file for package libzypp-testsuite-tools # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,9 +26,9 @@ Summary: Package, Patch, Pattern, and Product Management - testsuite-tools License: GPL-2.0 Group: System/Packages -Version: 5.0.2 +Version: 5.0.3 Release: 0 -Source: zypp-testsuite-tools-5.0.2.tar.bz2 +Source: zypp-testsuite-tools-5.0.3.tar.bz2 %description Package, Patch, Pattern, and Product Management - testsuite-tools @@ -45,7 +45,7 @@ Ladislav Slezak <lsle...@suse.cz> %prep -%setup -q -n zypp-testsuite-tools-5.0.2 +%setup -q -n zypp-testsuite-tools-5.0.3 %build mv configure.ac x ++++++ zypp-testsuite-tools-5.0.2.tar.bz2 -> zypp-testsuite-tools-5.0.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-testsuite-tools-5.0.2/Makefile.in new/zypp-testsuite-tools-5.0.3/Makefile.in --- old/zypp-testsuite-tools-5.0.2/Makefile.in 2015-07-30 18:20:39.000000000 +0200 +++ new/zypp-testsuite-tools-5.0.3/Makefile.in 2017-05-31 16:30:18.000000000 +0200 @@ -575,7 +575,7 @@ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 @@ -600,7 +600,7 @@ @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -618,7 +618,7 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -628,7 +628,7 @@ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-testsuite-tools-5.0.2/VERSION new/zypp-testsuite-tools-5.0.3/VERSION --- old/zypp-testsuite-tools-5.0.2/VERSION 2015-07-30 18:20:28.000000000 +0200 +++ new/zypp-testsuite-tools-5.0.3/VERSION 2017-05-31 16:30:08.000000000 +0200 @@ -49,5 +49,5 @@ m4_define([LIBZYPPTESTSUITE_MINOR], [0]) m4_define([LIBZYPPTESTSUITE_COMPATMINOR], [0]) dnl ================================================== -m4_define([LIBZYPPTESTSUITE_PATCH], [2]) +m4_define([LIBZYPPTESTSUITE_PATCH], [3]) dnl ================================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-testsuite-tools-5.0.2/configure new/zypp-testsuite-tools-5.0.3/configure --- old/zypp-testsuite-tools-5.0.2/configure 2015-07-30 18:20:38.000000000 +0200 +++ new/zypp-testsuite-tools-5.0.3/configure 2017-05-31 16:30:15.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for zypp-testsuite-tools 5.0.2. +# Generated by GNU Autoconf 2.69 for zypp-testsuite-tools 5.0.3. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='zypp-testsuite-tools' PACKAGE_TARNAME='zypp-testsuite-tools' -PACKAGE_VERSION='5.0.2' -PACKAGE_STRING='zypp-testsuite-tools 5.0.2' +PACKAGE_VERSION='5.0.3' +PACKAGE_STRING='zypp-testsuite-tools 5.0.3' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1330,7 +1330,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 zypp-testsuite-tools 5.0.2 to adapt to many kinds of systems. +\`configure' configures zypp-testsuite-tools 5.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1402,7 +1402,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of zypp-testsuite-tools 5.0.2:";; + short | recursive ) echo "Configuration of zypp-testsuite-tools 5.0.3:";; esac cat <<\_ACEOF @@ -1516,7 +1516,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -zypp-testsuite-tools configure 5.0.2 +zypp-testsuite-tools configure 5.0.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1915,7 +1915,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by zypp-testsuite-tools $as_me 5.0.2, which was +It was created by zypp-testsuite-tools $as_me 5.0.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2891,7 +2891,7 @@ # Define the identity of the package. PACKAGE='zypp-testsuite-tools' - VERSION='5.0.2' + VERSION='5.0.3' cat >>confdefs.h <<_ACEOF @@ -17154,7 +17154,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by zypp-testsuite-tools $as_me 5.0.2, which was +This file was extended by zypp-testsuite-tools $as_me 5.0.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17220,7 +17220,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -zypp-testsuite-tools config.status 5.0.2 +zypp-testsuite-tools config.status 5.0.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-testsuite-tools-5.0.2/src/deptestomatic.cc new/zypp-testsuite-tools-5.0.3/src/deptestomatic.cc --- old/zypp-testsuite-tools-5.0.2/src/deptestomatic.cc 2015-07-30 16:05:28.000000000 +0200 +++ new/zypp-testsuite-tools-5.0.3/src/deptestomatic.cc 2017-05-31 16:30:08.000000000 +0200 @@ -105,12 +105,25 @@ static std::set<std::string> multiversionSpec; static ZYpp::Ptr God; -static RepoManager manager; -static bool forceResolve; -static bool onlyRequires; -static bool allowVendorChange; -static bool ignorealreadyrecommended; +// solver flags: default to false - set true if mentioned in <setup> +bool ignorealreadyrecommended = false; +bool onlyRequires = false; +bool forceResolve = false; + +bool cleandepsOnRemove = false; + +bool allowDowngrade = false; +bool allowNameChange = false; +bool allowArchChange = false; +bool allowVendorChange = false; + +bool dupAllowDowngrade = false; +bool dupAllowNameChange = false; +bool dupAllowArchChange = false; +bool dupAllowVendorChange = false; + + static zypp::solver::detail::SolverQueueItemList solverQueue; typedef set<PoolItem> PoolItemSet; @@ -432,7 +445,7 @@ } if (edition_set) { - if (p->edition().compare( edition ) == 0) { // if edition requested, force this edition + if (p->edition().match( edition ) == 0) { // if edition requested, force this edition poolItem = p; return false; } @@ -619,11 +632,10 @@ nrepo.setPriority ( priority ); nrepo.addBaseUrl ( Url(filename) ); - //manager.addRepository( nrepo ); + RepoManager manager( makeRepoManager( "/tmp/myrepos" ) ); manager.refreshMetadata( nrepo ); manager.buildCache( nrepo ); - - manager.loadFromCache( nrepo ); + manager.loadFromCache( nrepo ); } catch ( Exception & excpt_r ) { ZYPP_CAUGHT (excpt_r); @@ -707,22 +719,23 @@ continue; } - if ( node->equals("forceResolve") ) - { - forceResolve = true; - } - else if ( node->equals("ignorealreadyrecommended") || node->equals("ignorealready") ) - { - ignorealreadyrecommended = true; - } - else if ( node->equals("onlyRequires") ) - { - onlyRequires = true; - } - else if ( node->equals("allowVendorChange") ) - { - allowVendorChange = true; - } +#define if_SolverFlag( N ) if ( node->equals( #N ) ) { N = true; } + if_SolverFlag( ignorealreadyrecommended ) else if ( node->equals( "ignorealready" ) ) { ignorealreadyrecommended = true; } + else if_SolverFlag( onlyRequires ) else if ( node->equals( "ignorerecommended" ) ) { onlyRequires = true; } + else if_SolverFlag( forceResolve ) + + else if_SolverFlag( cleandepsOnRemove ) + + else if_SolverFlag( allowDowngrade ) + else if_SolverFlag( allowNameChange ) + else if_SolverFlag( allowArchChange ) + else if_SolverFlag( allowVendorChange ) + + else if_SolverFlag( dupAllowDowngrade ) + else if_SolverFlag( dupAllowNameChange ) + else if_SolverFlag( dupAllowArchChange ) + else if_SolverFlag( dupAllowVendorChange ) +#undef if_SolverFlag else if ( node->equals("system") ) { string file = node->getProp("file"); @@ -897,11 +910,22 @@ sat::Pool satpool( sat::Pool::instance() ); MyResolver_Ptr resolver( new zypp::solver::detail::ResolverInternal( pool ) ); - resolver->setForceResolve( forceResolve ); - resolver->setIgnoreAlreadyRecommended( ignorealreadyrecommended ); - resolver->setOnlyRequires( onlyRequires ); - if ( allowVendorChange ) - resolver->setAllowVendorChange( true ); + // set solver flags: + resolver->setIgnoreAlreadyRecommended ( ignorealreadyrecommended ); + resolver->setOnlyRequires ( onlyRequires ); + resolver->setForceResolve ( forceResolve ); + + resolver->setCleandepsOnRemove ( cleandepsOnRemove ); + + resolver->setAllowDowngrade ( allowDowngrade ); + resolver->setAllowNameChange ( allowNameChange ); + resolver->setAllowArchChange ( allowArchChange ); + resolver->setAllowVendorChange ( allowVendorChange ); + + resolver->dupSetAllowDowngrade ( dupAllowDowngrade ); + resolver->dupSetAllowNameChange ( dupAllowNameChange ); + resolver->dupSetAllowArchChange ( dupAllowArchChange ); + resolver->dupSetAllowVendorChange ( dupAllowVendorChange ); // RequestedLocales { @@ -952,8 +976,8 @@ name = node->getProp ("package"); string kind_name = node->getProp ("kind"); string soft = node->getProp ("soft"); - string version = node->getProp ("ver"); - string release = node->getProp ("rel"); + string version = node->getProp ("version"); + string release = node->getProp ("release"); string architecture = node->getProp ("arch"); PoolItem poolItem; @@ -1013,6 +1037,7 @@ } else if (node->equals ("update")) { RESULT << "Doing update ..." << endl; + resolver->resolvePool(); resolver->doUpdate(); print_solution (pool, instorder); doUpdate = true; @@ -1060,8 +1085,8 @@ Repository r = satpool.reposFind( names[i] ); if ( ! r ) { - ERR << "upgradeRepo '" << r << "' not found." << endl; - cerr << "upgradeRepo '" << r << "' not found." << endl; + ERR << "upgradeRepo '" << names[i] << "' not found. (been empty?)" << endl; + cerr << "upgradeRepo '" << names[i] << "' not found. (been empty?)" << endl; exit( 1 ); } else @@ -1142,6 +1167,7 @@ } } } else if (node->equals ("showpool")) { + resolver->resolvePool(); string prefix = node->getProp ("prefix"); string all = node->getProp ("all"); string get_licence = node->getProp ("getlicence"); @@ -1184,14 +1210,31 @@ string release = node->getProp ("rel"); string architecture = node->getProp ("arch"); - PoolItem poolItem; - - poolItem = get_poolItem (source_alias, package_name, kind_name, version, release, architecture ); - if (poolItem) { - RESULT << "Locking " << package_name << " from channel " << source_alias << endl; + if ( version.empty() ) + { + if ( kind_name.empty() ) + kind_name = "package"; + Selectable::Ptr item = Selectable::get( ResKind(kind_name), package_name ); + if ( item ) + { + item->setStatus( item->hasInstalledObj() ? ui::S_Protected : ui::S_Taboo ); + RESULT << "Locking " << item << endl; + } + else + { + cerr << "Unknown Selectable " << kind_name << ":" << package_name << endl; + } + } + else + { + PoolItem poolItem; + poolItem = get_poolItem (source_alias, package_name, kind_name, version, release, architecture ); + if (poolItem) { + RESULT << "Locking " << package_name << " from channel " << source_alias << poolItem << endl; poolItem.status().setLock (true, ResStatus::USER); - } else { + } else { cerr << "Unknown package " << source_alias << "::" << package_name << endl; + } } } else if (node->equals ("validate")) { string source_alias = node->getProp ("channel"); @@ -1499,15 +1542,8 @@ exit (0); } - forceResolve = false; - onlyRequires = false; - allowVendorChange = false; - ignorealreadyrecommended = false; - solverQueue.clear(); - manager = makeRepoManager( "/tmp/myrepos" ); - try { God = zypp::getZYpp(); }