Hello community,
here is the log from the commit of package zypper
checked in at Wed Oct 3 01:13:45 CEST 2007.
--------
--- zypper/zypper.changes 2007-09-25 13:35:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/zypper/zypper.changes 2007-09-28 15:38:02.454516000 +0200
@@ -1,0 +2,10 @@
+Fri Sep 28 15:10:35 CEST 2007 - ma@suse.de
+
+- Attempt to fix memory corruption in zypper (#305196).
+ The memory corruption occurres on ppc only, and only if compiled
+ with -O2. Although it is likely to be a gcc bug, the current code
+ seems to be less affected.
+- r7405
+- 0.8.24
+
+-------------------------------------------------------------------
Old:
----
zypper-0.8.23.tar.bz2
New:
----
zypper-0.8.24.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zypper.spec ++++++
--- /var/tmp/diff_new_pack.i19747/_old 2007-10-03 01:13:39.000000000 +0200
+++ /var/tmp/diff_new_pack.i19747/_new 2007-10-03 01:13:39.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package zypper (Version 0.8.23)
+# spec file for package zypper (Version 0.8.24)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,9 +20,9 @@
AutoReqProv: on
PreReq: permissions
Summary: Command Line Package Management Using Libzypp
-Version: 0.8.23
-Release: 6
-Source: zypper-0.8.23.tar.bz2
+Version: 0.8.24
+Release: 1
+Source: zypper-0.8.24.tar.bz2
Prefix: /usr
Url: http://en.opensuse.org/Zypper
Provides: y2pmsh
@@ -96,6 +96,13 @@
# it from being erased by rpm -e
%ghost %config(noreplace) %{_var}/log/zypper.log
%changelog
+* Fri Sep 28 2007 - ma@suse.de
+- Attempt to fix memory corruption in zypper (#305196).
+ The memory corruption occurres on ppc only, and only if compiled
+ with -O2. Although it is likely to be a gcc bug, the current code
+ seems to be less affected.
+- r7405
+- 0.8.24
* Tue Sep 25 2007 - jkupec@suse.cz
- german translation update
- r7362
++++++ zypper-0.8.23.tar.bz2 -> zypper-0.8.24.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.8.23/CMakeLists.txt new/zypper-0.8.24/CMakeLists.txt
--- old/zypper-0.8.23/CMakeLists.txt 2007-09-25 13:35:56.000000000 +0200
+++ new/zypper-0.8.24/CMakeLists.txt 2007-09-28 15:32:21.000000000 +0200
@@ -6,8 +6,8 @@
SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
ADD_DEFINITIONS( -DVERSION=\\\"${VERSION}\\\" )
-SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall -Woverloaded-virtual -fstack-protector" )
-SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O2 -Wall -fstack-protector" )
+SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall -Woverloaded-virtual" )
+SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O2 -Wall" )
# usr INSTALL_PREFIX
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.8.23/package/zypper.changes new/zypper-0.8.24/package/zypper.changes
--- old/zypper-0.8.23/package/zypper.changes 2007-09-25 13:35:56.000000000 +0200
+++ new/zypper-0.8.24/package/zypper.changes 2007-09-28 15:32:21.000000000 +0200
@@ -1,4 +1,14 @@
-------------------------------------------------------------------
+Fri Sep 28 15:10:35 CEST 2007 - ma@suse.de
+
+- Attempt to fix memory corruption in zypper (#305196).
+ The memory corruption occurres on ppc only, and only if compiled
+ with -O2. Although it is likely to be a gcc bug, the current code
+ seems to be less affected.
+- r7405
+- 0.8.24
+
+-------------------------------------------------------------------
Tue Sep 25 13:34:59 CEST 2007 - jkupec@suse.cz
- german translation update
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.8.23/src/zypper-misc.cc new/zypper-0.8.24/src/zypper-misc.cc
--- old/zypper-0.8.23/src/zypper-misc.cc 2007-09-25 13:35:56.000000000 +0200
+++ new/zypper-0.8.24/src/zypper-misc.cc 2007-09-28 15:32:21.000000000 +0200
@@ -137,7 +137,7 @@
/**
* Stops iterations on first item and stores edition of the found item.
- *
+ *
* If no item has been found, the \ref found variable is set to false.
*/
struct VersionGetter
@@ -158,7 +158,7 @@
/**
* Stops iterations on first item having revision newer than edition passed in
* contructor. Stores the edition of the found item.
- *
+ *
* If no item has been found, the \ref found variable is set to false.
*/
struct NewerVersionGetter
@@ -281,11 +281,11 @@
{
installer.item.status().setTransact( true, zypp::ResStatus::USER );
}
-
+
cout_n << format(_("skipping %s '%s' (already installed)")) % kind_to_string_localized(kind,1) % name << endl;
}
else {
-
+
// TODO don't use setToBeInstalled for this purpose but higher level solver API
bool result = installer.item.status().setToBeInstalled( zypp::ResStatus::USER );
if (!result)
@@ -373,7 +373,7 @@
const string &capstr )
{
Capability cap = safe_parse_cap (kind, capstr);
-
+
if (cap != Capability::noCap) {
cout_vv << "Capability: " << cap << endl;
@@ -430,7 +430,7 @@
int reply;
do {
// without solutions, its useless to prompt
- if (solutions.empty())
+ if (solutions.empty())
return false;
// input prompt
cerr << _("number, (r)etry or (c)ancel> ") << flush;
@@ -476,7 +476,7 @@
ProblemSolutionList todo;
// display the number of problems
- if (rproblems.size() > 1) {
+ if (rproblems.size() > 1) {
stm << format (_("%s Problems:")) % rproblems.size() << endl;
}
else if (rproblems.empty()) {
@@ -486,7 +486,7 @@
}
// for many problems, list them shortly first
- if (rproblems.size() > 1)
+ if (rproblems.size() > 1)
{
for (i = b; i != e; ++i) {
stm << _("Problem: ") << (*i)->description () << endl;
@@ -576,7 +576,7 @@
MIL << "Pool contains " << God->pool().size() << " items." << std::endl;
DBG << "Install summary:" << endl;
-
+
KindToResObjectSet to_be_installed;
KindToResObjectSet to_be_removed;
@@ -591,7 +591,7 @@
if (it->resolvable()->kind() == ResTraits<Patch>::kind)
{
Patch::constPtr patch = asKind<Patch>(it->resolvable());
-
+
// set return value to 'reboot needed'
if (patch->reboot_needed())
retv = ZYPPER_EXIT_INF_REBOOT_NEEDED;
@@ -659,13 +659,13 @@
todowngrade[res->kind()].insert(res);
new_installed_size += res->size() - (*rmit)->size();
-
+
to_be_removed[res->kind()].erase(*rmit);
upgrade_downgrade = true;
break;
}
}
-
+
if (!upgrade_downgrade)
{
toinstall[res->kind()].insert(res);
@@ -761,7 +761,7 @@
// get the absolute size
ByteCount abs;
abs = (-new_installed_size);
- // TrasnlatorExplanation %s will be substituted by a byte count e.g. 212 K
+ // TrasnlatorExplanation %s will be substituted by a byte count e.g. 212 K
cout_n << format(_("After the operation, %s will be freed."))
% abs.asString(0,1,1);
}
@@ -775,34 +775,34 @@
{
SourceManager_Ptr manager;
manager = SourceManager::sourceManager();
-
+
std::string token;
stringstream token_stream;
for ( std::list