mirror of
https://git.yoctoproject.org/poky
synced 2026-04-25 06:32:12 +02:00
watchdog: update to 5.15
Removed patches are all merged upstream. (From OE-Core rev: e25b27c89dd13f5a311b49a974b4410e7993ddae) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
d2d5bf5c68
commit
0fb7a43585
@@ -1,99 +0,0 @@
|
||||
From 83ec34df357218a1c9cfc13a23d3367d333652c3 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 30 Dec 2015 01:01:15 +0000
|
||||
Subject: [PATCH] Fix build issues found with non glibc C libraries
|
||||
|
||||
Add time.h for getting time_t definition
|
||||
limits.h for PATH_MAX
|
||||
linux/param.h for EXEC_PAGESIZE
|
||||
Replace deprecated MNTTAB with _PATH_MNTTAB
|
||||
include ext2_mnt.h for MNTOPT_USRQUOTA and MNTOPT_GRPQUOTA and
|
||||
MNTTYPE_EXT2
|
||||
Include sys/types.h for u_char definition
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
|
||||
Upstream-Status: Submitted
|
||||
|
||||
include/extern.h | 1 +
|
||||
src/configfile.c | 1 +
|
||||
src/memory.c | 3 +++
|
||||
src/net.c | 1 +
|
||||
src/shutdown.c | 3 ++-
|
||||
5 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/extern.h b/include/extern.h
|
||||
index 21db11b..04b16bc 100644
|
||||
--- a/include/extern.h
|
||||
+++ b/include/extern.h
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <stdio.h>
|
||||
+#include <time.h>
|
||||
|
||||
#include "logmessage.h"
|
||||
#include "xmalloc.h"
|
||||
diff --git a/src/configfile.c b/src/configfile.c
|
||||
index be5d7b3..7c1d1dd 100644
|
||||
--- a/src/configfile.c
|
||||
+++ b/src/configfile.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <dirent.h>
|
||||
+#include <limits.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "extern.h"
|
||||
diff --git a/src/memory.c b/src/memory.c
|
||||
index e9607e4..b5e08aa 100644
|
||||
--- a/src/memory.c
|
||||
+++ b/src/memory.c
|
||||
@@ -21,6 +21,9 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/mman.h>
|
||||
+#ifdef __linux__
|
||||
+#include <linux/param.h>
|
||||
+#endif
|
||||
|
||||
#include "extern.h"
|
||||
#include "watch_err.h"
|
||||
diff --git a/src/net.c b/src/net.c
|
||||
index 21823ae..8930caf 100644
|
||||
--- a/src/net.c
|
||||
+++ b/src/net.c
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h> /* for gethostname() etc */
|
||||
#include <netdb.h> /* for gethostbyname() */
|
||||
+#include <sys/types.h>
|
||||
#include <sys/param.h> /* for MAXHOSTNAMELEN */
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
diff --git a/src/shutdown.c b/src/shutdown.c
|
||||
index 74aafa5..46b99cf 100644
|
||||
--- a/src/shutdown.c
|
||||
+++ b/src/shutdown.c
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#include "watch_err.h"
|
||||
#include "extern.h"
|
||||
+#include "ext2_mnt.h"
|
||||
|
||||
#if defined __GLIBC__
|
||||
#include "ext2_mnt.h"
|
||||
@@ -123,7 +124,7 @@ static void mnt_off()
|
||||
FILE *fp;
|
||||
struct mntent *mnt;
|
||||
|
||||
- fp = setmntent(MNTTAB, "r");
|
||||
+ fp = setmntent(_PATH_MNTTAB, "r");
|
||||
/* in some rare cases fp might be NULL so be careful */
|
||||
while (fp != NULL && ((mnt = getmntent(fp)) != (struct mntent *)0)) {
|
||||
/* First check if swap */
|
||||
--
|
||||
2.6.4
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
Fix ping mode failure
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
When watchdog works on ping mode, the system will be rebooted since
|
||||
watchdog can not receive the expected ECOREPLY on a setting interval.
|
||||
|
||||
Ping mode uses a raw socket to send a ECO packet, then uses select()
|
||||
to wait and recvfrom() to receive the ECOREPLY packet, if select()
|
||||
shows the data is ready, and the data is not the expected ECOREPLY,
|
||||
and waiting time is not overdue, it will continue use select() and
|
||||
recvfrom().
|
||||
|
||||
Problem is that the raw socket can receive any icmp packets, if we do
|
||||
not set filters, and there are many icmp packets on socket, this
|
||||
program will not find its interested ECOREPLY packet in a special
|
||||
interval, which makes the ping mode fail.
|
||||
|
||||
|
||||
Other program is that watchdog sometime can not reach the call of
|
||||
recvfrom to try to receive packets since tv_sec of struct timeval
|
||||
of select parameter is 0.
|
||||
|
||||
The timeout of select() is the result of ping interval minusing the
|
||||
time of calling gettimeofday spending, when ping interval is 1 second,
|
||||
and the call of gettimeofday() spends several useconds, the tv_sec of
|
||||
struct timeval of select parameter must be 0, at that condition, we
|
||||
should it is valid of tv_sec of struct timeval of select parameter be 0
|
||||
|
||||
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
||||
---
|
||||
src/net.c | 2 +-
|
||||
src/watchdog.c | 5 ++++-
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: watchdog-5.14/src/watchdog.c
|
||||
===================================================================
|
||||
--- watchdog-5.14.orig/src/watchdog.c
|
||||
+++ watchdog-5.14/src/watchdog.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <linux/oom.h>
|
||||
+#include <linux/icmp.h>
|
||||
#include <linux/watchdog.h>
|
||||
#include <string.h>
|
||||
|
||||
Index: watchdog-5.14/src/net.c
|
||||
===================================================================
|
||||
--- watchdog-5.14.orig/src/net.c
|
||||
+++ watchdog-5.14/src/net.c
|
||||
@@ -11,7 +11,8 @@
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <netinet/ip.h>
|
||||
-#include <netinet/ip_icmp.h>
|
||||
+#include <linux/icmp.h>
|
||||
+//#include <netinet/ip_icmp.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h> /* for gethostname() etc */
|
||||
@@ -179,6 +180,9 @@ int open_netcheck(struct list *tlist)
|
||||
{
|
||||
struct list *act;
|
||||
int hold = 0;
|
||||
+ struct icmp_filter filt;
|
||||
+ filt.data = ~(1<<ICMP_ECHOREPLY);
|
||||
+
|
||||
|
||||
if (tlist != NULL) {
|
||||
for (act = tlist; act != NULL; act = act->next) {
|
||||
@@ -202,6 +206,7 @@ int open_netcheck(struct list *tlist)
|
||||
fatal_error(EX_SYSERR, "error opening socket (%s)", strerror(errno));
|
||||
}
|
||||
|
||||
+ setsockopt(net->sock_fp, SOL_RAW, ICMP_FILTER, (char*)&filt, sizeof(filt));
|
||||
/* this is necessary for broadcast pings to work */
|
||||
(void)setsockopt(net->sock_fp, SOL_SOCKET, SO_BROADCAST, (char *)&hold, sizeof(hold));
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
Fix out of tree build support:
|
||||
|
||||
| installing /etc/watchdog.conf
|
||||
| /bin/mkdir -p '/media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/image/usr/share/man/man5'
|
||||
| /bin/mkdir -p '/media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/image/usr/share/man/man8'
|
||||
| /usr/bin/install -c -m 644 /media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/watchdog-5.13/watchdog.conf.5 '/media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/image/usr/share/man/man5'
|
||||
| /usr/bin/install -c -m 644 /media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/watchdog-5.13/watchdog.8 /media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/watchdog-5.13/wd_keepalive.8 /media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/watchdog-5.13/wd_identify.8 '/media/build1/poky/build/tmp/work/i586-poky-linux/watchdog/5.13-r0/image/usr/share/man/man8'
|
||||
| /usr/bin/install: cannot stat `watchdog.conf': No such file or directory
|
||||
| make[2]: *** [install-etc-local] Error 1
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
RP 2013/03/21
|
||||
|
||||
Index: watchdog-5.13/Makefile.am
|
||||
===================================================================
|
||||
--- watchdog-5.13.orig/Makefile.am 2013-02-01 11:15:44.000000000 +0000
|
||||
+++ watchdog-5.13/Makefile.am 2013-03-21 11:59:35.637139031 +0000
|
||||
@@ -16,7 +16,7 @@
|
||||
else \
|
||||
echo "installing $(CONFIG_FILENAME)"; \
|
||||
$(mkinstalldirs) `dirname $(DESTDIR)$(CONFIG_FILENAME)`; \
|
||||
- $(INSTALL_DATA) watchdog.conf $(DESTDIR)$(CONFIG_FILENAME); \
|
||||
+ $(INSTALL_DATA) $(srcdir)/watchdog.conf $(DESTDIR)$(CONFIG_FILENAME); \
|
||||
fi
|
||||
|
||||
install-data-local: install-etc-local
|
||||
@@ -9,15 +9,12 @@ LICENSE = "GPL-2.0+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ecc0551bf54ad97f6b541720f84d6569"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
|
||||
file://fixsepbuild.patch \
|
||||
file://fix-ping-failure.patch \
|
||||
file://watchdog-init.patch \
|
||||
file://watchdog-conf.patch \
|
||||
file://0001-Fix-build-issues-found-with-non-glibc-C-libraries.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "5b2dba0c593942f4acc100bca0d560c4"
|
||||
SRC_URI[sha256sum] = "620b2f49e9879f2e85c73d4c1f422f9101e6b38e824fea2414befd8bb6866ad1"
|
||||
SRC_URI[md5sum] = "678c32f6f35a0492c9c1b76b4aa88828"
|
||||
SRC_URI[sha256sum] = "ffdc865137ad5d8e53664bd22bad4de6ca136d1b4636720320cb52af0c18947c"
|
||||
|
||||
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
|
||||
UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
|
||||
Reference in New Issue
Block a user