Remove the post-install target, we set permissions with PLIST markers.
Fix some ifdef mess in sysdeps/bsd/procmem.c. Fix some warnings and implicit references. Fix subnet display. Bring a couple of patches from FreeBSD. This is still not perfect but libgtop2 is now much more robust.
This commit is contained in:
parent
31256fa4de
commit
ed999124da
@ -1,10 +1,10 @@
|
||||
# $OpenBSD: Makefile,v 1.37 2010/03/30 16:24:24 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.38 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
|
||||
COMMENT= portable library for obtaining system information
|
||||
|
||||
GNOME_VERSION= 2.28.1
|
||||
GNOME_PROJECT= libgtop
|
||||
PKGNAME= libgtop2-${VERSION}
|
||||
PKGNAME= libgtop2-${VERSION}p0
|
||||
|
||||
SHARED_LIBS= gtop-2.0 9.0 # .9.0
|
||||
|
||||
@ -31,11 +31,14 @@ CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
|
||||
LDFLAGS="-L${LOCALBASE}/lib" \
|
||||
GMSGFMT="${LOCALBASE}/bin/msgfmt"
|
||||
|
||||
.ifdef DEBUG
|
||||
CONFIGURE_ARGS+= --enable-debug
|
||||
CPPFLAGS+= -DDEBUG \
|
||||
-DLIBGTOP_ENABLE_DEBUG \
|
||||
-DLIBGTOP_FATAL_WARNINGS
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
cp ${FILESDIR}/procaffinity.c ${WRKSRC}/sysdeps/bsd/
|
||||
|
||||
post-install:
|
||||
@chgrp kmem ${PREFIX}/bin/libgtop_server2
|
||||
@chmod 2555 ${PREFIX}/bin/libgtop_server2
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-configure,v 1.7 2010/03/30 16:24:24 ajacoutot Exp $
|
||||
--- configure.orig Tue Mar 30 18:14:23 2010
|
||||
+++ configure Tue Mar 30 18:17:52 2010
|
||||
$OpenBSD: patch-configure,v 1.8 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
--- configure.orig Tue Mar 30 17:10:07 2010
|
||||
+++ configure Mon Apr 5 14:10:33 2010
|
||||
@@ -6934,10 +6934,12 @@ newos6*)
|
||||
;;
|
||||
|
||||
@ -86,7 +86,15 @@ $OpenBSD: patch-configure,v 1.7 2010/03/30 16:24:24 ajacoutot Exp $
|
||||
prefix="$glib_save_prefix"
|
||||
exec_prefix="$glib_save_exec_prefix"
|
||||
datarootdir="$glib_save_datarootdir"
|
||||
@@ -23391,9 +23393,9 @@ cat confdefs.h >>conftest.$ac_ext
|
||||
@@ -22880,6 +22882,7 @@ cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
$ac_includes_default
|
||||
+#include <sys/param.h>
|
||||
#include <$ac_header>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
@@ -23391,9 +23394,9 @@ cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
17
devel/libgtop2/patches/patch-doc_reference_texi
Normal file
17
devel/libgtop2/patches/patch-doc_reference_texi
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-doc_reference_texi,v 1.1 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
|
||||
Prevent the following:
|
||||
doc/reference.texi:746: warning: @strong{Note...} produces a
|
||||
spurious cross-reference in Info; reword to avoid that.
|
||||
|
||||
--- doc/reference.texi.orig Mon Apr 5 15:05:02 2010
|
||||
+++ doc/reference.texi Mon Apr 5 15:05:32 2010
|
||||
@@ -743,7 +743,7 @@ The description above is taken from the manual page of
|
||||
filesystem under Linux and is a little bit confusing, so I make this clear
|
||||
here.
|
||||
|
||||
-@strong{Note for people porting LibGTop to other systems:}
|
||||
+@strong{A word for people porting LibGTop to other systems:}
|
||||
Every operating system has its own idea about the memory usage of a process
|
||||
and also system utilities like @code{ps} show different things on different
|
||||
systems.
|
61
devel/libgtop2/patches/patch-src_daemon_io_c
Normal file
61
devel/libgtop2/patches/patch-src_daemon_io_c
Normal file
@ -0,0 +1,61 @@
|
||||
$OpenBSD: patch-src_daemon_io_c,v 1.4 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
|
||||
From FreeBSD.
|
||||
|
||||
--- src/daemon/io.c.orig Sun Apr 19 19:51:00 2009
|
||||
+++ src/daemon/io.c Fri Apr 2 10:51:08 2010
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
+#include <errno.h>
|
||||
#include "daemon.h"
|
||||
#include <glibtop/error.h>
|
||||
|
||||
@@ -35,9 +36,13 @@ do_output (int s, glibtop_response *resp, off_t offset
|
||||
resp->offset = offset;
|
||||
resp->data_size = data_size;
|
||||
|
||||
+retry1:
|
||||
if (s == 0) {
|
||||
- if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0)
|
||||
+ if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0) {
|
||||
+ if (errno == EINTR)
|
||||
+ goto retry1;
|
||||
glibtop_warn_io ("write");
|
||||
+ }
|
||||
} else {
|
||||
if (send (s, (const void *) resp, sizeof (glibtop_response), 0) < 0)
|
||||
glibtop_warn_io ("send");
|
||||
@@ -48,9 +53,13 @@ do_output (int s, glibtop_response *resp, off_t offset
|
||||
fprintf (stderr, "Writing %d bytes of data.\n", resp->data_size);
|
||||
#endif
|
||||
|
||||
+retry2:
|
||||
if (s == 0) {
|
||||
- if (write (1, data, resp->data_size) < 0)
|
||||
+ if (write (1, data, resp->data_size) < 0) {
|
||||
+ if (errno == EINTR)
|
||||
+ goto retry2;
|
||||
glibtop_warn_io ("write");
|
||||
+ }
|
||||
} else {
|
||||
if (send (s, data, resp->data_size, 0) , 0)
|
||||
glibtop_warn_io ("send");
|
||||
@@ -66,6 +75,7 @@ do_read (int s, void *ptr, size_t total_size)
|
||||
size_t already_read = 0, remaining = total_size;
|
||||
|
||||
while (already_read < total_size) {
|
||||
+retry:
|
||||
if (s)
|
||||
nread = recv (s, ptr, remaining, 0);
|
||||
else
|
||||
@@ -77,6 +87,8 @@ do_read (int s, void *ptr, size_t total_size)
|
||||
}
|
||||
|
||||
if (nread <= 0) {
|
||||
+ if (errno == EINTR)
|
||||
+ goto retry;
|
||||
glibtop_warn_io ("recv");
|
||||
return 0;
|
||||
}
|
22
devel/libgtop2/patches/patch-src_daemon_server_c
Normal file
22
devel/libgtop2/patches/patch-src_daemon_server_c
Normal file
@ -0,0 +1,22 @@
|
||||
$OpenBSD: patch-src_daemon_server_c,v 1.1 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
|
||||
From FreeBSD.
|
||||
|
||||
--- src/daemon/server.c.orig Sun Apr 19 19:51:00 2009
|
||||
+++ src/daemon/server.c Fri Apr 2 10:50:15 2010
|
||||
@@ -90,11 +90,13 @@ main(int argc, char *argv[])
|
||||
if (strcmp (uts.sysname, LIBGTOP_COMPILE_SYSTEM) ||
|
||||
strcmp (uts.release, LIBGTOP_COMPILE_RELEASE) ||
|
||||
strcmp (uts.machine, LIBGTOP_COMPILE_MACHINE)) {
|
||||
- fprintf (stderr, "Can only run on %s %s %s\n",
|
||||
+ fprintf (stderr, "This libgtop was compiled on %s %s %s\n",
|
||||
LIBGTOP_COMPILE_SYSTEM,
|
||||
LIBGTOP_COMPILE_RELEASE,
|
||||
LIBGTOP_COMPILE_MACHINE);
|
||||
- _exit (1);
|
||||
+ fprintf (stderr, "If you see strange problems caused by it,\n");
|
||||
+ fprintf (stderr, "you should recompile libgtop and dependent"
|
||||
+ "applications.\n");
|
||||
}
|
||||
#endif
|
||||
|
@ -1,12 +1,15 @@
|
||||
$OpenBSD: patch-sysdeps_bsd_netload_c,v 1.1 2010/01/18 09:27:00 sthen Exp $
|
||||
--- sysdeps/bsd/netload.c.orig Mon Jan 18 08:24:30 2010
|
||||
+++ sysdeps/bsd/netload.c Mon Jan 18 08:26:34 2010
|
||||
@@ -220,7 +220,7 @@ glibtop_get_netload_p (glibtop *server, glibtop_netloa
|
||||
$OpenBSD: patch-sysdeps_bsd_netload_c,v 1.2 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
--- sysdeps/bsd/netload.c.orig Sun Apr 19 19:51:00 2009
|
||||
+++ sysdeps/bsd/netload.c Thu Apr 1 18:19:01 2010
|
||||
@@ -220,7 +220,11 @@ glibtop_get_netload_p (glibtop *server, glibtop_netloa
|
||||
sin = (struct sockaddr_in *)sa;
|
||||
#if !defined(__bsdi__)
|
||||
/* Commenting out to "fix" #13345. */
|
||||
- buf->subnet = htonl (ifaddr.in.ia_subnet);
|
||||
+ buf->subnet = htonl (ifaddr.in.ia_net);
|
||||
+#if defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
+ buf->subnet = ifaddr.in.ia_net;
|
||||
+#else
|
||||
buf->subnet = htonl (ifaddr.in.ia_subnet);
|
||||
+#endif
|
||||
#endif
|
||||
buf->address = sin->sin_addr.s_addr;
|
||||
buf->mtu = ifnet.if_mtu;
|
||||
|
11
devel/libgtop2/patches/patch-sysdeps_bsd_open_c
Normal file
11
devel/libgtop2/patches/patch-sysdeps_bsd_open_c
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-sysdeps_bsd_open_c,v 1.1 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
--- sysdeps/bsd/open.c.orig Fri Apr 2 09:53:44 2010
|
||||
+++ sysdeps/bsd/open.c Fri Apr 2 09:54:10 2010
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
+#include <glibtop/error.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/init_hooks.h>
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
--- sysdeps/bsd/procmem.c.orig Fri Apr 27 00:27:34 2007
|
||||
+++ sysdeps/bsd/procmem.c Fri Dec 28 19:17:26 2007
|
||||
$OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.2 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
--- sysdeps/bsd/procmem.c.orig Sun Apr 19 19:51:00 2009
|
||||
+++ sysdeps/bsd/procmem.c Fri Apr 2 14:30:09 2010
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <sys/param.h>
|
||||
#include <sys/proc.h>
|
||||
@ -29,17 +29,20 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
/* Fixme ... */
|
||||
#undef _KERNEL
|
||||
#define _UVM_UVM_AMAP_I_H_ 1
|
||||
@@ -69,7 +70,8 @@ static const unsigned long _glibtop_sysdeps_proc_mem =
|
||||
@@ -69,10 +70,9 @@ static const unsigned long _glibtop_sysdeps_proc_mem =
|
||||
(1L << GLIBTOP_PROC_MEM_RSS_RLIM);
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_mem_share =
|
||||
-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)) || \
|
||||
+ defined(__OpenBSD__)
|
||||
+ defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||
(1L << GLIBTOP_PROC_MEM_SHARE);
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||
(1L << GLIBTOP_PROC_MEM_SHARE);
|
||||
@@ -116,10 +118,14 @@ void
|
||||
-#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||
-(1L << GLIBTOP_PROC_MEM_SHARE);
|
||||
#else
|
||||
0;
|
||||
#endif
|
||||
@@ -116,10 +116,13 @@ void
|
||||
glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
@ -50,12 +53,11 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
struct vm_map_entry entry, *first;
|
||||
struct vmspace *vms, vmspace;
|
||||
-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)) || \
|
||||
+ defined(__OpenBSD__)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000))
|
||||
struct vnode vnode;
|
||||
#else
|
||||
struct vm_object object;
|
||||
@@ -127,6 +133,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -127,6 +130,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
#if (!defined(__FreeBSD__) || (__FreeBSD_version < 500013)) && !defined(__FreeBSD_kernel__)
|
||||
struct plimit plimit;
|
||||
#endif
|
||||
@ -64,7 +66,7 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
int count;
|
||||
|
||||
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_MEM), 0);
|
||||
@@ -140,7 +148,12 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -140,7 +145,12 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
if (pid == 0) return;
|
||||
|
||||
/* Get the process data */
|
||||
@ -78,7 +80,7 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
if ((pinfo == NULL) || (count < 1)) {
|
||||
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
|
||||
return;
|
||||
@@ -157,6 +170,15 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -157,6 +167,15 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
buf->resident = buf->rss = (guint64) pagetok
|
||||
(pinfo [0].ki_rssize) << LOG1024;
|
||||
|
||||
@ -94,7 +96,7 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
#else
|
||||
|
||||
#define PROC_VMSPACE kp_proc.p_vmspace
|
||||
@@ -182,6 +204,10 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -182,6 +201,10 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
|
||||
/* Now we get the shared memory. */
|
||||
|
||||
@ -105,17 +107,16 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
if (kvm_read (server->machine.kd,
|
||||
(unsigned long) pinfo [0].PROC_VMSPACE,
|
||||
(char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace)) {
|
||||
@@ -221,7 +247,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -221,7 +244,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
continue;
|
||||
#endif
|
||||
#else
|
||||
-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)) || \
|
||||
+ defined(__OpenBSD__)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000))
|
||||
if (UVM_ET_ISSUBMAP (&entry))
|
||||
continue;
|
||||
#else
|
||||
@@ -230,7 +257,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -230,7 +253,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -125,13 +126,12 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
if (!entry.object.uvm_obj)
|
||||
continue;
|
||||
|
||||
@@ -257,14 +285,16 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -257,14 +281,14 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
#endif
|
||||
/* If the object is of type vnode, add its size */
|
||||
|
||||
-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)) || \
|
||||
+ defined(__OpenBSD__)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000))
|
||||
#if defined(UVM_VNODE_VALID)
|
||||
if (!vnode.v_uvm.u_flags & UVM_VNODE_VALID)
|
||||
continue;
|
||||
@ -139,12 +139,11 @@ $OpenBSD: patch-sysdeps_bsd_procmem_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
if ((vnode.v_type != VREG) || (vnode.v_tag != VT_UFS) ||
|
||||
!vnode.v_data) continue;
|
||||
-#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105250000)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 105250000)) || \
|
||||
+ defined(__OpenBSD__)
|
||||
+#if (defined(__NetBSD__) && (__NetBSD_Version__ >= 105250000))
|
||||
/* Reference count must be at least two. */
|
||||
if (vnode.v_usecount <= 1)
|
||||
continue;
|
||||
@@ -287,6 +317,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
@@ -287,6 +311,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_
|
||||
buf->share += object.un_pager.vnp.vnp_size;
|
||||
#endif
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-sysdeps_bsd_sysinfo_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
--- sysdeps/bsd/sysinfo.c.orig Sat May 19 16:27:30 2007
|
||||
+++ sysdeps/bsd/sysinfo.c Fri Dec 28 19:00:25 2007
|
||||
$OpenBSD: patch-sysdeps_bsd_sysinfo_c,v 1.2 2010/04/08 15:57:46 ajacoutot Exp $
|
||||
--- sysdeps/bsd/sysinfo.c.orig Sun Apr 19 19:51:00 2009
|
||||
+++ sysdeps/bsd/sysinfo.c Mon Apr 5 14:23:52 2010
|
||||
@@ -35,16 +35,49 @@ static glibtop_sysinfo sysinfo = { .flags = 0 };
|
||||
static void
|
||||
init_sysinfo (glibtop *server)
|
||||
@ -11,7 +11,7 @@ $OpenBSD: patch-sysdeps_bsd_sysinfo_c,v 1.1 2008/02/09 16:52:25 ajacoutot Exp $
|
||||
+#if defined(__OpenBSD__)
|
||||
+ int mib[2];
|
||||
+#endif
|
||||
+ int ncpus = 0;
|
||||
+ unsigned int ncpus = 0;
|
||||
int mhz = 0;
|
||||
- size_t len;
|
||||
+ size_t len = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user