commit mcelog for openSUSE:Factory
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 <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: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de