Imported Upstream version 1.12.17 06/109406/1 upstream/1.12.17
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 10 Jan 2017 05:44:55 +0000 (14:44 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 10 Jan 2017 05:44:56 +0000 (14:44 +0900)
Change-Id: Ibe49fd6a9125ba1df010324ee1a55c68d8d53e8a
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
VERSION.cmake
package/zypper.changes
po/sle-zypper-po.tar.bz2
po/zypper-po.tar.bz2
src/Config.cc
src/Config.h
src/Summary.cc
src/Summary.h
src/solve-commit.cc
zypper.conf

index e2d3033..d75952b 100644 (file)
@@ -34,7 +34,7 @@
 #
 SET(VERSION_MAJOR "1")
 SET(VERSION_MINOR "12")
-SET(VERSION_PATCH "16")
+SET(VERSION_PATCH "17")
 
-# LAST RELEASED: 1.12.16
+# LAST RELEASED: 1.12.17
 #=======
index 7323e1a..ff051b3 100644 (file)
@@ -1,4 +1,26 @@
 -------------------------------------------------------------------
+Thu Sep 24 16:01:05 CEST 2015 - ma@suse.de
+
+- zypper.conf: new option commit/psCheckAccessDeleted to avoid 'lsof'
+  call after commit. On some systems 'lsof' seems to perform very
+  slow, and the check takes up to several minutes. Due to this it's
+  possible to disable the automatic check after each commit. Explicit
+  calls to 'zypper ps' are not affected by this option. (bsc#945169)
+- zypper.conf: deprecate defining 'installRecommends'; better follow 
+  the systemwide default in zypp.conf.
+- version 1.12.17
+
+-------------------------------------------------------------------
+Thu Sep 24 01:14:53 CEST 2015 - ma@suse.de
+
+- Update sle-zypper-po.tar.bz2
+
+-------------------------------------------------------------------
+Thu Sep 24 01:13:32 CEST 2015 - ma@suse.de
+
+- Update zypper-po.tar.bz2
+
+-------------------------------------------------------------------
 Mon Sep 21 16:11:44 CEST 2015 - ma@suse.de
 
 - ps: add options --short/--print to retrieve services which may 
index ae9a4e9..ed23e0f 100644 (file)
Binary files a/po/sle-zypper-po.tar.bz2 and b/po/sle-zypper-po.tar.bz2 differ
index f9be05f..be27cdf 100644 (file)
Binary files a/po/zypper-po.tar.bz2 and b/po/zypper-po.tar.bz2 differ
index a24a36c..e8d0110 100644 (file)
@@ -100,6 +100,8 @@ namespace
     SOLVER_INSTALL_RECOMMENDS,
     SOLVER_FORCE_RESOLUTION_COMMANDS,
 
+    COMMIT_PS_CHECK_ACCESS_DELETED,
+
     COLOR_USE_COLORS,
     COLOR_RESULT,
     COLOR_MSG_STATUS,
@@ -129,6 +131,8 @@ namespace
       { "solver/installRecommends",            ConfigOption::SOLVER_INSTALL_RECOMMENDS         },
       { "solver/forceResolutionCommands",      ConfigOption::SOLVER_FORCE_RESOLUTION_COMMANDS  },
 
+      { "commit/psCheckAccessDeleted",         ConfigOption::COMMIT_PS_CHECK_ACCESS_DELETED    },
+
       { "color/useColors",                     ConfigOption::COLOR_USE_COLORS                  },
       //"color/background"                     LEGACY
       { "color/result",                                ConfigOption::COLOR_RESULT                      },
@@ -169,6 +173,7 @@ namespace
 Config::Config()
   : repo_list_columns("anr")
   , solver_installRecommends(!ZConfig::instance().solver_onlyRequires())
+  , psCheckAccessDeleted(true)
   , do_colors          (false)
   , color_useColors    ("autodetect")
   , color_result       (namedColor("default"))
@@ -232,6 +237,11 @@ void Config::read( const std::string & file )
         solver_forceResolutionCommands.insert(ZypperCommand(str::trim(*c)));
     }
 
+    // ---------------[ commit ]------------------------------------------------
+
+    s = augeas.getOption(asString( ConfigOption::COMMIT_PS_CHECK_ACCESS_DELETED ));
+    if ( ! s.empty() )
+      psCheckAccessDeleted = str::strToBool( s, psCheckAccessDeleted );
 
     // ---------------[ colors ]------------------------------------------------
 
index f6f1f6c..2423021 100644 (file)
@@ -33,6 +33,8 @@ struct Config
   bool solver_installRecommends;
   std::set<ZypperCommand> solver_forceResolutionCommands;
 
+  bool psCheckAccessDeleted;   ///< do post commit 'zypper ps' check?
+
   /**
    * Whether to colorize the output. This is evaluated according to
    * color_useColors and has_colors()
index 8540db8..08405bb 100644 (file)
@@ -330,39 +330,22 @@ void Summary::readPool(const zypp::ResPool & pool)
 
 // --------------------------------------------------------------------------
 
-unsigned Summary::packagesToRemove() const
-{
-  // total packages to remove (packages only - patches, patterns, and products
-  // are virtual; srcpackages do not get removed by zypper)
-  KindToResPairSet::const_iterator it = _toremove.find(ResKind::package);
-  if (it != _toremove.end())
-    return it->second.size();
-  return 0;
-}
-
-// --------------------------------------------------------------------------
-
-unsigned Summary::packagesToUpgrade() const
+namespace
 {
-  // total packages to remove (packages only - patches, patterns, and products
-  // are virtual; srcpackages do not get removed by zypper)
-  KindToResPairSet::const_iterator it = _toupgrade.find(ResKind::package);
-  if (it != _toupgrade.end())
-    return it->second.size();
-  return 0;
-}
-
-// --------------------------------------------------------------------------
+  inline unsigned numberOfPackagesIn( const Summary::KindToResPairSet & map_r )
+  {
+    // packages only - patches, patterns, and products
+    // are virtual; srcpackages do not get removed
+    auto it = map_r.find( ResKind::package );
+    return( it == map_r.end() ? 0 : it->second.size() );
+  }
+} // namespace
 
-unsigned Summary::packagesToDowngrade() const
-{
-  // total packages to remove (packages only - patches, patterns, and products
-  // are virtual; srcpackages do not get removed by zypper)
-  KindToResPairSet::const_iterator it = _todowngrade.find(ResKind::package);
-  if (it != _todowngrade.end())
-    return it->second.size();
-  return 0;
-}
+unsigned Summary::packagesToInstall()  const   { return numberOfPackagesIn( _toinstall ); }
+unsigned Summary::packagesToUpgrade()  const   { return numberOfPackagesIn( _toupgrade ); }
+unsigned Summary::packagesToDowngrade()        const   { return numberOfPackagesIn( _todowngrade ); }
+unsigned Summary::packagesToReInstall()        const   { return numberOfPackagesIn( _toreinstall ); }
+unsigned Summary::packagesToRemove()   const   { return numberOfPackagesIn( _toremove ); }
 
 // --------------------------------------------------------------------------
 ///////////////////////////////////////////////////////////////////
index beeb0d9..48f03a4 100644 (file)
@@ -88,9 +88,13 @@ public:
 
   unsigned packagesToGetAndInstall() const
   { return _inst_pkg_total; }
-  unsigned packagesToRemove() const;
+
+  unsigned packagesToInstall() const;
   unsigned packagesToUpgrade() const;
   unsigned packagesToDowngrade() const;
+  unsigned packagesToReInstall() const;
+  unsigned packagesToRemove() const;
+
   const zypp::ByteCount & toDownload() const
   { return _todownload; }
   const zypp::ByteCount & inCache() const
index 1484e79..f8660c6 100755 (executable)
@@ -445,6 +445,13 @@ ZYppCommitPolicy get_commit_policy(Zypper & zypper)
  */
 static void notify_processes_using_deleted_files(Zypper & zypper)
 {
+  if ( ! zypper.config().psCheckAccessDeleted )
+  {
+    zypper.out().info( str::form(_("Check for running processes using deleted libraries is disabled in zypper.conf. Run '%s' to check manually."),
+                                "zypper ps -s" ) );
+    return;    // disabled in config
+  }
+
   zypper.out().info(
       _("Checking for running processes using deleted libraries..."), Out::HIGH);
   zypp::CheckAccessDeleted checker(false); // wait for explicit call to check()
@@ -464,7 +471,7 @@ static void notify_processes_using_deleted_files(Zypper & zypper)
     zypper.out().info(str::form(
         _("There are some running programs that might use files deleted by recent upgrade."
           " You may wish to check and restart some of them. Run '%s' to list these programs."),
-        "zypper ps"));
+        "zypper ps -s"));
   }
 }
 
index 50033ac..22d96c6 100644 (file)
 
 ## Install soft dependencies (recommended packages)
 ##
+## CAUTION: The system wide default for all libzypp based applications (zypper,
+## yast, pk,..) is defined in  /etc/zypp/zypp.conf(solver.onlyRequires)  and it
+## will per default install recommended packages. It is NOT RECOMMENDED to define
+## this value here for zypper exclusively, unless you are very certain that you
+## want zypper to behave different than other libzypp based packagemanagement software
+## on your system.
+##
 ## Valid values: boolean
-## Default value: yes
+## Default value: follow zypp.conf(solver.onlyRequires)
 ##
 # installRecommends = yes
 
 ## Default value: remove
 # forceResolutionCommands = remove
 
+[commit]
+
+## Post commit check for processes/services using old/deleted files
+##
+## Like 'zypper ps', the post commit check for processes/services using
+## old/deleted files calls 'lsof'. On some systems 'lsof' seems to perform
+## very slow, and the check takes up to several minutes. Due to this it's
+## possible to disable the automatic check after each commit. Explicit calls
+## to 'zypper ps' are not affected by this option.
+##
+## Valid values: boolean
+## Default value: yes
+##
+#  psCheckAccessDeleted = yes
 
 [color]