Source: xfce4-taskmanager
Version: 1.0.0-3
Severity: serious
Tags: patch
Justification: fails to build from source (but built successfully in the past)
User: debian-...@lists.debian.org
Usertags: kfreebsd

Hi,

xfce4-taskmanager 1.0.0-3 fails to build on GNU/kFreeBSD [1][2].

The problem is that the existing patch 01_configure-kfreebsd.patch
changes only configure, so the autoreconf'ing during build introduced
in 1.0.0-3 causes the regeneration of configure which tosses away the
changes previously done.

While I was there, other than patching the right file (configure.ac
instead of configure) I made it use the "freebsd" OS implementation,
patching a couple of build issues (one upstream and one not) with it.
Attached there is:
- kfreebsd.diff (which replaces entirely 01_configure-kfreebsd.patch)
- debian.diff (changes for the debian directory only)

[1] 
https://buildd.debian.org/status/fetch.php?pkg=xfce4-taskmanager&arch=kfreebsd-i386&ver=1.0.0-3&stamp=1376828879
[2] 
https://buildd.debian.org/status/fetch.php?pkg=xfce4-taskmanager&arch=kfreebsd-amd64&ver=1.0.0-3&stamp=1376829790

Thanks,
-- 
Pino
Author: Pino Toscano <toscano.p...@tiscali.it>
Description: Enable building on kFreeBSD
 Make use of the "freebsd" OS implementation, as the kernel is the same.
 .
 Also, provide build fixes for task-manager-freebsd.c:
 - include <sys/vmmeter.h>, needed with FreeBSD >= 9.0 (see also the upstream
   bug #8081)
 - NZERO is not provided by kfreebsd-kernel-headers, as already provided by
   limits.h but only when _XOPEN_SOURCE is requested (and it is not in this
   case); make use of sysconf to query that value instead
Last-Update: 2013-9-14
Forwarded: no

--- a/configure.ac
+++ b/configure.ac
@@ -92,7 +92,7 @@ if test x"$ac_skel" = x"yes"; then
 	ac_os_implementation="skel"
 else
 	case "$target_os" in
-		freebsd*)
+		freebsd*|kfreebsd*-gnu)
 		ac_os_implementation="freebsd"
 		AC_CHECK_LIB([kvm], [kvm_openfiles])
 		AC_CHECK_HEADERS([fcntl.h kvm.h paths.h pwd.h sys/param.h sys/proc.h \
--- a/src/task-manager-freebsd.c
+++ b/src/task-manager-freebsd.c
@@ -18,6 +18,7 @@
 #include <fcntl.h>
 #include <paths.h>
 #include <unistd.h>
+#include <sys/vmmeter.h>
 
 #include <glib.h>
 
@@ -104,6 +105,7 @@ get_task_details (kvm_t *kd, struct kinf
 	struct passwd *pw;
 	char **argv;
 	int i;
+	long nzero = sysconf (_SC_NZERO);
 
 	task->pid = kp->ki_pid;
 	task->ppid = kp->ki_ppid;
@@ -168,9 +170,9 @@ get_task_details (kvm_t *kd, struct kinf
 	i++;
 	if (!(kp->ki_sflag & PS_INMEM))
 		task->state[i++] = 'W';
-	if (kp->ki_nice < NZERO)
+	if (kp->ki_nice < nzero)
 		task->state[i++] = '<';
-	else if (kp->ki_nice > NZERO)
+	else if (kp->ki_nice > nzero)
 		task->state[i++] = 'N';
 	if (kp->ki_flag & P_TRACED)
 		task->state[i++] = 'X';
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,8 @@ Uploaders: Yves-Alexis Perez <corsac@deb
  Lionel Le Folgoc <mrpo...@gmail.com>
 Build-Depends: debhelper (>= 9), libgtk2.0-dev (>= 2.12.0),
  libcairo2-dev (>= 1.5.0), libwnck-dev (>= 2.0), intltool, dh-autoreconf,
- xfce4-dev-tools
+ xfce4-dev-tools,
+ libkvm-dev [kfreebsd-any]
 Standards-Version: 3.9.4
 Homepage: http://goodies.xfce.org/
 Vcs-Svn: svn://anonscm.debian.org/pkg-xfce/goodies/trunk/xfce4-taskmanager/

Reply via email to