#
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
#=======
-------------------------------------------------------------------
+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
SOLVER_INSTALL_RECOMMENDS,
SOLVER_FORCE_RESOLUTION_COMMANDS,
+ COMMIT_PS_CHECK_ACCESS_DELETED,
+
COLOR_USE_COLORS,
COLOR_RESULT,
COLOR_MSG_STATUS,
{ "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 },
Config::Config()
: repo_list_columns("anr")
, solver_installRecommends(!ZConfig::instance().solver_onlyRequires())
+ , psCheckAccessDeleted(true)
, do_colors (false)
, color_useColors ("autodetect")
, color_result (namedColor("default"))
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 ]------------------------------------------------
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()
// --------------------------------------------------------------------------
-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 ); }
// --------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////
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
*/
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()
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"));
}
}
## 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]