[arch-commits] Commit in watchdog/trunk (2 files)

Thomas Bächler thomas at archlinux.org
Sun Oct 23 14:14:56 UTC 2011


    Date: Sunday, October 23, 2011 @ 10:14:56
  Author: thomas
Revision: 141080

watchdog: Rebuild, sign and use oom_score_adj instead of oom_adj

Fixes the warning
 wd_keepalive (...): /proc/.../oom_adj is deprecated, please use /proc/.../oom_score_adj instead.
or
 watchdog (...): /proc/.../oom_adj is deprecated, please use /proc/.../oom_score_adj instead.

Added:
  watchdog/trunk/watchdog-5.9-use-oom_score_adj.patch
Modified:
  watchdog/trunk/PKGBUILD

--------------------------------------+
 PKGBUILD                             |   25 +++++----
 watchdog-5.9-use-oom_score_adj.patch |   91 +++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+), 11 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-10-23 13:48:14 UTC (rev 141079)
+++ PKGBUILD	2011-10-23 14:14:56 UTC (rev 141080)
@@ -3,7 +3,7 @@
 
 pkgname=watchdog
 pkgver=5.9
-pkgrel=1
+pkgrel=2
 pkgdesc="Watchdog daemon"
 arch=(i686 x86_64)
 url="http://sourceforge.net/projects/watchdog"
@@ -14,14 +14,17 @@
         etc/conf.d/wd_keepalive)
 source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
         watchdog.sh
-        watchdog.cf)
+        watchdog.cf
+        watchdog-5.9-use-oom_score_adj.patch)
 md5sums=('d7cae3c9829f5d9a680764f314234867'
          '854451f554718b55186599faaa8d85f6'
-         '01c1e2e13f515131180b4ebe9b8b7cc3')
+         '01c1e2e13f515131180b4ebe9b8b7cc3'
+         '9a1ab454e42a7f2969ef6bf2da8a4543')
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd "${srcdir}"/${pkgname}-${pkgver}
 
+  patch -p1 -i "${srcdir}"/watchdog-5.9-use-oom_score_adj.patch
   ./configure \
 	--prefix=/usr \
 	--mandir=/usr/share/man \
@@ -31,14 +34,14 @@
 }
 
 package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  make install DESTDIR=${pkgdir}
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  make install DESTDIR="${pkgdir}"
   for fil in watchdog wd_keepalive ; do
-	install -D -m755 ${srcdir}/watchdog.sh ${pkgdir}/etc/rc.d/${fil}
-	install -D -m644 ${srcdir}/watchdog.cf ${pkgdir}/etc/conf.d/${fil}
+	install -D -m755 "${srcdir}"/watchdog.sh "${pkgdir}"/etc/rc.d/${fil}
+	install -D -m644 "${srcdir}"/watchdog.cf "${pkgdir}"/etc/conf.d/${fil}
   done
 
-  sed -i 's/watchdog/wd_keepalive/g' ${pkgdir}/etc/rc.d/wd_keepalive
-  sed -i 's/watchdog/wd_keepalive/g' ${pkgdir}/etc/conf.d/wd_keepalive
-  sed -i 's/Watchdog/Simple Watchdog/' ${pkgdir}/etc/rc.d/wd_keepalive
+  sed -i 's/watchdog/wd_keepalive/g' "${pkgdir}"/etc/rc.d/wd_keepalive
+  sed -i 's/watchdog/wd_keepalive/g' "${pkgdir}"/etc/conf.d/wd_keepalive
+  sed -i 's/Watchdog/Simple Watchdog/' "${pkgdir}"/etc/rc.d/wd_keepalive
 }

Added: watchdog-5.9-use-oom_score_adj.patch
===================================================================
--- watchdog-5.9-use-oom_score_adj.patch	                        (rev 0)
+++ watchdog-5.9-use-oom_score_adj.patch	2011-10-23 14:14:56 UTC (rev 141080)
@@ -0,0 +1,91 @@
+diff -ur watchdog-5.9.orig/src/watchdog.c watchdog-5.9/src/watchdog.c
+--- watchdog-5.9.orig/src/watchdog.c	2010-06-16 15:45:51.000000000 +0200
++++ watchdog-5.9/src/watchdog.c	2011-10-23 15:51:58.631689778 +0200
+@@ -636,7 +636,7 @@
+ 
+     /* allocate some memory to store a filename, this is needed later on even
+      * if the system runs out of memory */
+-    filename_buf = (char*)malloc(max(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, strlen("/proc//oom_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1));
++    filename_buf = (char*)malloc(max(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, strlen("/proc//oom_score_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1));
+     if (!filename_buf) {
+ 	error(progname);
+         exit(1);
+@@ -886,11 +886,19 @@
+ #endif
+ 
+     /* tell oom killer to not kill this process */
+-    sprintf(filename_buf, "/proc/%d/oom_adj", pid);
++    sprintf(filename_buf, "/proc/%d/oom_score_adj", pid);
+     fp = fopen(filename_buf, "w");
+     if (fp != NULL) {
+-	fprintf(fp, "-17\n");
+-	(void) fclose(fp);
++        fprintf(fp, "-1000\n");
++        (void) fclose(fp);
++    }
++    else {
++        sprintf(filename_buf, "/proc/%d/oom_adj", pid);
++        fp = fopen(filename_buf, "w");
++        if (fp != NULL) {
++            fprintf(fp, "-17\n");
++            (void) fclose(fp);
++        }
+     }
+ 
+     /* main loop: update after <tint> seconds */
+diff -ur watchdog-5.9.orig/src/wd_keepalive.c watchdog-5.9/src/wd_keepalive.c
+--- watchdog-5.9.orig/src/wd_keepalive.c	2010-06-16 15:45:49.000000000 +0200
++++ watchdog-5.9/src/wd_keepalive.c	2011-10-23 15:50:43.061563281 +0200
+@@ -212,7 +212,7 @@
+     FILE *fp;
+     char *configfile = CONFIG_FILENAME;
+     char *filename_buf;
+-    pid_t child_pid;
++    pid_t pid, child_pid;
+     int count = 0;
+     int c;
+     /* allow all options watchdog understands too */
+@@ -284,7 +284,7 @@
+ 
+     /* allocate some memory to store a filename, this is needed later on even
+      * if the system runs out of memory */
+-    filename_buf = (char*)malloc(strlen("/proc//oom_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1);
++    filename_buf = (char*)malloc(strlen("/proc//oom_score_adj") + sizeof(int) * CHAR_BIT * 10 / 3 + 1);
+     if (!filename_buf) {
+         error(progname);
+         exit(1);
+@@ -363,9 +363,10 @@
+ #endif
+ 
+     /* tuck my process id away */
++    pid = getpid();
+     fp = fopen(KA_PIDFILE, "w");
+     if ( fp != NULL ) {
+-        fprintf(fp, "%d\n", getpid());
++        fprintf(fp, "%d\n", pid);
+         (void) fclose(fp);
+     }
+ 
+@@ -403,12 +404,20 @@
+ #endif
+ 
+     /* tell oom killer to not kill this process */
+-    sprintf(filename_buf, "/proc/%d/oom_adj", getpid());
++    sprintf(filename_buf, "/proc/%d/oom_score_adj", pid);
+     fp = fopen(filename_buf, "w");
+     if (fp != NULL) {
+-        fprintf(fp, "-17\n");
++        fprintf(fp, "-1000\n");
+         (void) fclose(fp);
+     }
++    else {
++        sprintf(filename_buf, "/proc/%d/oom_adj", pid);
++        fp = fopen(filename_buf, "w");
++        if (fp != NULL) {
++            fprintf(fp, "-17\n");
++            (void) fclose(fp);
++        }
++    }
+ 
+     /* main loop: update after <tint> seconds */
+     while ( _running ) {




More information about the arch-commits mailing list