Hello community,
here is the log from the commit of package mcelog for openSUSE:Factory checked in at 2014-05-02 14:00:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mcelog (Old)
and /work/SRC/openSUSE:Factory/.mcelog.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mcelog"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mcelog/mcelog.changes 2013-12-19 15:09:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mcelog.new/mcelog.changes 2014-05-02 14:00:51.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Apr 28 16:49:38 UTC 2014 - trenn@suse.de
+
+- Update to latest git tag v101.
+- Mainline decided to finally do a version upgrade to v101
+- Remove v1.1 again, obsolete it and go for version v102
+- Some important fixes in the latest update:
+ - bnc#873159
+ - bnc#873725
+
+-------------------------------------------------------------------
Old:
----
mcelog-1.1.tar.bz2
New:
----
mcelog-1.0.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mcelog.spec ++++++
--- /var/tmp/diff_new_pack.z1xyKR/_old 2014-05-02 14:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.z1xyKR/_new 2014-05-02 14:00:52.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package mcelog
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,11 +16,12 @@
#
+
Name: mcelog
Summary: Log Machine Check Events
License: GPL-2.0+
Group: System/Monitoring
-Version: 1.1
+Version: 1.0.1
Release: 0
ExclusiveArch: ix86 x86_64
BuildRequires: libesmtp-devel
@@ -36,6 +37,9 @@
Patch2: mcelog_invert_prefill_db_warning.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %fillup_prereq
+Url: https://git.kernel.org/cgit/utils/cpu/mce/mcelog.git
+# Previously version was wrong, mainline decided to go for 1.0.1. not 1.1
+Obsoletes: mcelog = 1.1
%{?systemd_requires}
%description
@@ -78,6 +82,7 @@
install -m 644 lk10-mcelog.pdf $RPM_BUILD_ROOT/%_docdir/%name/lk10-mcelog.pdf
install -D -m 0644 %SOURCE3 %{buildroot}%{_unitdir}/mcelog.service
install -D -m 0644 %SOURCE4 %{buildroot}%{_udevrulesdir}/90-mcelog.rules
+ln -sf %_sbindir/service ${RPM_BUILD_ROOT}%_sbindir/rcmcelog
%clean
rm -rf $RPM_BUILD_ROOT
@@ -108,5 +113,6 @@
%{_unitdir}/mcelog.service
%{_udevrulesdir}/90-mcelog.rules
%_docdir/%name
+%_sbindir/rcmcelog
%changelog
++++++ email.patch ++++++
--- /var/tmp/diff_new_pack.z1xyKR/_old 2014-05-02 14:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.z1xyKR/_new 2014-05-02 14:00:52.000000000 +0200
@@ -7,10 +7,10 @@
msg.c | 8 ++
6 files changed, 343 insertions(+), 2 deletions(-)
-Index: mcelog-1.1/Makefile
+Index: mcelog-1.0.1/Makefile
===================================================================
---- mcelog-1.1.orig/Makefile
-+++ mcelog-1.1/Makefile
+--- mcelog-1.0.1.orig/Makefile
++++ mcelog-1.0.1/Makefile
@@ -1,3 +1,4 @@
+CONFIG_EMAIL := 1
CFLAGS := -g -Os
@@ -39,10 +39,10 @@
SRC := $(OBJ:.o=.c)
mcelog: ${OBJ}
-Index: mcelog-1.1/email.c
+Index: mcelog-1.0.1/email.c
===================================================================
--- /dev/null
-+++ mcelog-1.1/email.c
++++ mcelog-1.0.1/email.c
@@ -0,0 +1,199 @@
+#include
+#include
@@ -243,10 +243,10 @@
+ smtp_destroy_session (session);
+ return 0;
+}
-Index: mcelog-1.1/email.h
+Index: mcelog-1.0.1/email.h
===================================================================
--- /dev/null
-+++ mcelog-1.1/email.h
++++ mcelog-1.0.1/email.h
@@ -0,0 +1,34 @@
+#ifndef _MCELOG_EMAIL_H_
+#define _MCELOG_EMAIL_H_
@@ -282,10 +282,10 @@
+#endif
+
+#endif
-Index: mcelog-1.1/mcelog.c
+Index: mcelog-1.0.1/mcelog.c
===================================================================
---- mcelog-1.1.orig/mcelog.c
-+++ mcelog-1.1/mcelog.c
+--- mcelog-1.0.1.orig/mcelog.c
++++ mcelog-1.0.1/mcelog.c
@@ -37,6 +37,7 @@
#include
#include
@@ -313,7 +313,7 @@
static char *inputfile;
char *processor_flags;
static int foreground;
-@@ -927,6 +931,7 @@ void usage(void)
+@@ -928,6 +932,7 @@ void usage(void)
"--pidfile file Write pid of daemon into file\n"
"--no-imc-log Disable extended iMC logging\n"
);
@@ -321,7 +321,7 @@
diskdb_usage();
print_cputypes();
exit(1);
-@@ -994,6 +999,7 @@ static struct option options[] = {
+@@ -995,6 +1000,7 @@ static struct option options[] = {
{ "debug-numerrors", 0, NULL, O_DEBUG_NUMERRORS }, /* undocumented: for testing */
{ "no-imc-log", 0, NULL, O_NO_IMC_LOG },
DISKDB_OPTIONS
@@ -329,7 +329,7 @@
{}
};
-@@ -1171,11 +1177,86 @@ static void drop_cred(void)
+@@ -1170,11 +1176,86 @@ static void drop_cred(void)
}
}
@@ -410,13 +410,13 @@
static void process(int fd, unsigned recordlen, unsigned loglen, char *buf)
{
int i;
- int len;
- int finish = 0;
+ int len, count;
+ int finish = 0, flags;
+ int mail_setup = 0;
if (recordlen == 0) {
Wprintf("no data in mce record\n");
-@@ -1195,12 +1276,16 @@ static void process(int fd, unsigned rec
+@@ -1201,12 +1282,16 @@ static void process(int fd, unsigned rec
finish = 1;
if (!mce_filter(mce, recordlen))
continue;
@@ -433,7 +433,7 @@
flushlog();
}
-@@ -1311,6 +1396,8 @@ int main(int ac, char **av)
+@@ -1317,6 +1402,8 @@ int main(int ac, char **av)
exit(0);
} else if (diskdb_cmd(opt, ac, av)) {
exit(0);
@@ -442,7 +442,7 @@
} else if (opt == 0)
break;
}
-@@ -1339,6 +1426,10 @@ int main(int ac, char **av)
+@@ -1345,6 +1432,10 @@ int main(int ac, char **av)
logfn = av[optind++];
if (av[optind])
usage();
@@ -453,10 +453,10 @@
checkdmi();
general_setup();
-Index: mcelog-1.1/mcelog.h
+Index: mcelog-1.0.1/mcelog.h
===================================================================
---- mcelog-1.1.orig/mcelog.h
-+++ mcelog-1.1/mcelog.h
+--- mcelog-1.0.1.orig/mcelog.h
++++ mcelog-1.0.1/mcelog.h
@@ -123,6 +123,7 @@ enum cputype {
enum option_ranges {
O_COMMON = 500,
@@ -465,10 +465,10 @@
};
enum syslog_opt {
-Index: mcelog-1.1/msg.c
+Index: mcelog-1.0.1/msg.c
===================================================================
---- mcelog-1.1.orig/msg.c
-+++ mcelog-1.1/msg.c
+--- mcelog-1.0.1.orig/msg.c
++++ mcelog-1.0.1/msg.c
@@ -8,10 +8,13 @@
#include "mcelog.h"
#include "msg.h"
++++++ mcelog-1.1.tar.bz2 -> mcelog-1.0.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/README.releases new/mcelog-1.0.1/README.releases
--- old/mcelog-1.1/README.releases 1970-01-01 01:00:00.000000000 +0100
+++ new/mcelog-1.0.1/README.releases 2014-03-25 23:09:38.000000000 +0100
@@ -0,0 +1,10 @@
+
+mcelog used to do released, but now switched to a rolling release
+scheme. That means the git tree is always kept stable and can
+be used directly in production.
+
+To simplify package management which likes to have
+increasing version numbers the commits are regularly tagged
+with a number. The number starts (arbitarily) with 100.
+
+The tags are named vXXX (e.g. v100)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/intel.c new/mcelog-1.0.1/intel.c
--- old/mcelog-1.1/intel.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/intel.c 2014-03-25 23:09:38.000000000 +0100
@@ -67,7 +67,8 @@
return CPU_IVY_BRIDGE;
else if (model == 0x3e)
return CPU_IVY_BRIDGE_EPEX;
- else if (model == 0x3c || model == 0x45 || model == 0x46)
+ else if (model == 0x3c || model == 0x3f || model == 0x45 ||
+ model == 0x46)
return CPU_HASWELL;
if (model > 0x1a) {
Eprintf("Family 6 Model %x CPU: only decoding architectural errors\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/leaky-bucket.c new/mcelog-1.0.1/leaky-bucket.c
--- old/mcelog-1.1/leaky-bucket.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/leaky-bucket.c 2014-03-25 23:09:38.000000000 +0100
@@ -29,15 +29,16 @@
time_t now)
{
long diff;
- unsigned age;
-
diff = now - b->tstamp;
- age = (diff / (double)c->agetime) * c->capacity;
-
- if (age > b->count)
- b->count = 0;
- else
- b->count -= age;
+ if (diff >= c->agetime) {
+ unsigned age = (diff / (double)c->agetime) * c->capacity;
+ b->tstamp = now;
+ if (age > b->count)
+ b->count = 0;
+ else
+ b->count -= age;
+ b->excess = 0;
+ }
}
/* Account increase in leaky bucket. Return 1 if bucket overflowed. */
@@ -47,9 +48,11 @@
if (c->capacity == 0)
return 0;
bucket_age(c, b, t);
- if (b->count < c->capacity) {
- b->count += inc;
- b->tstamp = t;
+ b->count += inc;
+ if (b->count >= c->capacity) {
+ b->excess += b->count;
+ /* should disable overflow completely in the same time unit */
+ b->count = 0;
return 1;
}
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/mcelog.8 new/mcelog-1.0.1/mcelog.8
--- old/mcelog-1.1/mcelog.8 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/mcelog.8 2014-03-25 23:09:38.000000000 +0100
@@ -181,7 +181,13 @@
.B \-\-daemon
option mcelog will run in the background. This gives the fastest reaction
time and is the recommended operating mode.
-This option implies
+If an output option isn't selected (
+.I \-\-logfile
+or
+.I \-\-syslog
+or
+.I \-\-syslog-error
+), this option implies
.I \-\-logfile=/var/log/mcelog.
Important messages will be logged as one-liner summaries to syslog
unless
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/mcelog.c new/mcelog-1.0.1/mcelog.c
--- old/mcelog-1.1/mcelog.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/mcelog.c 2014-03-25 23:09:38.000000000 +0100
@@ -508,11 +508,12 @@
}
if (seen == ALL) {
if (!strcmp(vendor,"AuthenticAMD")) {
- if (family == 15)
+ if (family == 15) {
cputype = CPU_K8;
- if (family >= 15)
- SYSERRprintf("AMD Processor family %d: Please load edac_mce_amd module.\n", family);
- return 0;
+ } else if (family >= 16) {
+ SYSERRprintf("AMD Processor family %d: Please use the edac_mce_amd module instead.\n", family);
+ return 0;
+ }
} else if (!strcmp(vendor,"GenuineIntel"))
cputype = select_intel_cputype(family, model);
/* Add checks for other CPUs here */
@@ -856,7 +857,7 @@
static void signal_exit(int sig)
{
remove_pidfile();
- _exit(sig);
+ _exit(EXIT_SUCCESS);
}
static void setup_pidfile(char *s)
@@ -1069,11 +1070,8 @@
break;
case O_DAEMON:
daemon_mode = 1;
- if (!logfile && !foreground)
- logfile = logfile_default;
if (!(syslog_opt & SYSLOG_FORCE))
syslog_opt = SYSLOG_REMARK|SYSLOG_ERROR;
-
break;
case O_FILE:
inputfile = optarg;
@@ -1082,8 +1080,6 @@
foreground = 1;
if (!(syslog_opt & SYSLOG_FORCE))
syslog_opt = SYSLOG_FORCE;
- if (logfile == logfile_default)
- logfile = NULL;
break;
case O_NUMERRORS:
numerrors = atoi(optarg);
@@ -1110,6 +1106,9 @@
static void modifier_finish(void)
{
+ if(!foreground && daemon_mode && !logfile && !(syslog_opt & SYSLOG_LOG)) {
+ logfile = logfile_default;
+ }
if (logfile) {
if (open_logfile(logfile) < 0) {
if (daemon_mode && !(syslog_opt & SYSLOG_FORCE))
@@ -1174,8 +1173,8 @@
static void process(int fd, unsigned recordlen, unsigned loglen, char *buf)
{
int i;
- int len;
- int finish = 0;
+ int len, count;
+ int finish = 0, flags;
if (recordlen == 0) {
Wprintf("no data in mce record\n");
@@ -1188,7 +1187,14 @@
return;
}
- for (i = 0; (i < len / (int)recordlen) && !finish; i++) {
+ count = len / (int)recordlen;
+ if (count == (int)loglen) {
+ if ((ioctl(fd, MCE_GETCLEAR_FLAGS, &flags) == 0) &&
+ (flags & MCE_OVERFLOW))
+ Eprintf("Warning: MCE buffer is overflowed.\n");
+ }
+
+ for (i = 0; (i < count) && !finish; i++) {
struct mce *mce = (struct mce *)(buf + i*recordlen);
mce_prepare(mce);
if (numerrors > 0 && --numerrors == 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/p4.c new/mcelog-1.0.1/p4.c
--- old/mcelog-1.1/p4.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/p4.c 2014-03-25 23:09:38.000000000 +0100
@@ -147,6 +147,7 @@
[3] = "External error",
[4] = "FRC error",
[5] = "Internal parity error",
+ [6] = "SMM Handler Code Access Violation",
};
if (mca & (1UL << 12)) {
++++++ mcelog_invert_prefill_db_warning.patch ++++++
--- /var/tmp/diff_new_pack.z1xyKR/_old 2014-05-02 14:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.z1xyKR/_new 2014-05-02 14:00:52.000000000 +0200
@@ -2,11 +2,11 @@
memdb.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
-Index: mcelog-1.0.2011.06.08/memdb.c
+Index: mcelog-1.0.1/memdb.c
===================================================================
---- mcelog-1.0.2011.06.08.orig/memdb.c
-+++ mcelog-1.0.2011.06.08/memdb.c
-@@ -417,11 +417,11 @@ void prefill_memdb(void)
+--- mcelog-1.0.1.orig/memdb.c
++++ mcelog-1.0.1/memdb.c
+@@ -421,11 +421,11 @@ void prefill_memdb(void)
md->location = xstrdup(bl);
md->name = xstrdup(dmi_getstring(&d->header, d->device_locator));
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org