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 - [email protected]
+
+- 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 <unistd.h>
 +#include <signal.h>
@@ -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 <assert.h>
  #include <signal.h>
@@ -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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to