Was hoping to see the following in the package for 5.1, but this does not appear to be the case. Any chance we can get this in -current?
On Mon, Aug 8, 2011 at 12:26 AM, Pascal Stumpf <[email protected]> wrote: I'm ok with the diff below. I'd like to commit it if at least another developer agrees... ciao, David > Here's a diff I've been using for quite some time now. Among other > things, it reenables $addr and $if_up: It also enables the new SMP code > (allowing you to actually see multiple cores), and enables RES and VSIZE > display in $top. > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/conky/Makefile,v > retrieving revision 1.24 > diff -u -p -r1.24 Makefile > --- Makefile 6 Jul 2011 12:32:51 -0000 1.24 > +++ Makefile 7 Aug 2011 22:20:37 -0000 > @@ -5,7 +5,7 @@ ONLY_FOR_ARCHS= ${APM_ARCHS} > COMMENT= light-weight system monitor > > DISTNAME= conky-1.8.1 > -REVISION= 2 > +REVISION= 3 > CATEGORIES= sysutils > HOMEPAGE= http://conky.sourceforge.net/ > > Index: patches/patch-src_conky_c > =================================================================== > RCS file: /cvs/ports/sysutils/conky/patches/patch-src_conky_c,v > retrieving revision 1.4 > diff -u -p -r1.4 patch-src_conky_c > --- patches/patch-src_conky_c 27 Apr 2011 12:55:10 -0000 1.4 > +++ patches/patch-src_conky_c 7 Aug 2011 22:20:37 -0000 > @@ -1,6 +1,6 @@ > $OpenBSD: patch-src_conky_c,v 1.4 2011/04/27 12:55:10 dcoppa Exp $ > --- src/conky.c.orig Tue Oct 5 23:29:36 2010 > -+++ src/conky.c Tue Apr 19 19:44:03 2011 > ++++ src/conky.c Mon Jul 18 13:59:30 2011 > @@ -125,7 +125,7 @@ > > /* FIXME: apm_getinfo is unused here. maybe it's meant for common.c */ > @@ -21,6 +21,15 @@ $OpenBSD: patch-src_conky_c,v 1.4 2011/0 > long color0, color1, color2, color3, color4, color5, color6, color7, color8, > color9; > > +@@ -1030,7 +1026,7 @@ void generate_text_internal(char *p, int p_max_size, > + get_powerbook_batt_info(p, p_max_size, > obj->data.i); > + } > + #endif /* __linux__ */ > +-#if (defined(__FreeBSD__) || defined(__linux__)) > ++#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__)) > + OBJ(if_up) { > + if (!interface_up(obj)) { > + DO_JUMP; > @@ -1914,7 +1910,7 @@ void generate_text_internal(char *p, int p_max_size, > } > #endif /* __linux__ */ > Index: patches/patch-src_core_c > =================================================================== > RCS file: /cvs/ports/sysutils/conky/patches/patch-src_core_c,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-src_core_c > --- patches/patch-src_core_c 27 Apr 2011 12:55:10 -0000 1.1 > +++ patches/patch-src_core_c 7 Aug 2011 22:20:37 -0000 > @@ -1,7 +1,15 @@ > $OpenBSD: patch-src_core_c,v 1.1 2011/04/27 12:55:10 dcoppa Exp $ > --- src/core.c.orig Tue Oct 5 23:29:36 2010 > -+++ src/core.c Tue Apr 19 19:43:51 2011 > -@@ -170,9 +170,9 @@ struct text_object *construct_text_object(const char * > ++++ src/core.c Mon Jul 18 14:02:29 2011 > +@@ -75,6 +75,7 @@ > + #include "freebsd.h" > + #elif defined(__OpenBSD__) > + #include "openbsd.h" > ++int64_t *fresh; > + #endif > + > + #include <string.h> > +@@ -170,10 +171,14 @@ struct text_object *construct_text_object(const char * > #else > NORM_ERR("acpiacadapter: arg is only used on linux"); > #endif > @@ -11,9 +19,34 @@ $OpenBSD: patch-src_core_c,v 1.1 2011/04 > - END OBJ(freq, 0) > + OBJ(freq, 0) > get_cpu_count(); > ++#ifdef __OpenBSD__ > ++ free(fresh); > ++ fresh = NULL; > ++#endif > if (!arg || !isdigit(arg[0]) || strlen(arg) >= 2 || > atoi(&arg[0]) == 0 > || atoi(&arg[0]) > info.cpu_count) { > -@@ -860,7 +860,7 @@ struct text_object *construct_text_object(const char * > + obj->data.i = 1; > +@@ -326,7 +331,7 @@ struct text_object *construct_text_object(const char * > + obj->data.i = PB_BATT_STATUS; > + } > + #endif /* __linux__ */ > +-#if (defined(__FreeBSD__) || defined(__linux__)) > ++#if (defined(__FreeBSD__) || defined (__OpenBSD__) || defined(__linux__)) > + END OBJ_IF_ARG(if_up, 0, "if_up needs an argument") > + parse_if_up_arg(obj, arg); > + #endif > +@@ -541,8 +546,10 @@ struct text_object *construct_text_object(const char * > + parse_platform_sensor(obj, arg); > + END OBJ_ARG(hwmon, 0, "hwmon needs argumanets") > + parse_hwmon_sensor(obj, arg); > ++#endif > + END OBJ(addr, &update_net_stats) > + parse_net_stat_arg(obj, arg, free_at_crash); > ++#ifdef __linux__ > + END OBJ(addrs, &update_net_stats) > + parse_net_stat_arg(obj, arg, free_at_crash); > + #endif /* __linux__ */ > +@@ -860,7 +867,7 @@ struct text_object *construct_text_object(const char * > END OBJ(gw_ip, &update_gateway_info) > #endif /* !__linux__ */ > #if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ > @@ -22,3 +55,12 @@ $OpenBSD: patch-src_core_c,v 1.1 2011/04 > END OBJ(apm_adapter, 0) > END OBJ(apm_battery_life, 0) > END OBJ(apm_battery_time, 0) > +@@ -1516,7 +1523,7 @@ void free_text_objects(struct text_object *root, int i > + free(data.s); > + break; > + #endif > +-#if (defined(__FreeBSD__) || defined(__linux__)) > ++#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__)) > + case OBJ_if_up: > + free_if_up(obj); > + break; > Index: patches/patch-src_openbsd_c > =================================================================== > RCS file: /cvs/ports/sysutils/conky/patches/patch-src_openbsd_c,v > retrieving revision 1.12 > diff -u -p -r1.12 patch-src_openbsd_c > --- patches/patch-src_openbsd_c 6 Jul 2011 12:50:15 -0000 1.12 > +++ patches/patch-src_openbsd_c 7 Aug 2011 22:20:37 -0000 > @@ -6,7 +6,7 @@ corresponding changes into openbsd.c > Adapt to new OpenBSD kinfo_proc API. > > --- src/openbsd.c.orig Tue Oct 5 23:29:36 2010 > -+++ src/openbsd.c Wed Jul 6 14:30:14 2011 > ++++ src/openbsd.c Mon Jul 18 14:04:55 2011 > @@ -140,7 +140,7 @@ int check_mount(char *s) > return 0; > } > @@ -93,7 +93,7 @@ Adapt to new OpenBSD kinfo_proc API. > for (i = 0; i < n_processes; i++) { > if (p[i].p_stat == SRUN) { > cnt++; > -@@ -295,6 +301,7 @@ void update_running_processes() > +@@ -295,10 +301,11 @@ void update_running_processes() > } > > info.run_procs = cnt; > @@ -101,6 +101,11 @@ Adapt to new OpenBSD kinfo_proc API. > } > > /* new SMP code can be enabled by commenting the following line */ > +-#define OLDCPU > ++/* #define OLDCPU */ > + > + #ifdef OLDCPU > + struct cpu_load_struct { > @@ -343,7 +350,7 @@ void get_cpu_count() > #endif > } > @@ -186,7 +191,34 @@ Adapt to new OpenBSD kinfo_proc API. > processes = malloc(n_processes * sizeof(struct process)); > > for (i = 0; i < n_processes; i++) { > -@@ -784,7 +786,6 @@ inline void proc_find_top(struct process **cpu, struct > +@@ -740,6 +742,8 @@ inline void proc_find_top(struct process **cpu, struct > + processes[j].pid = p[i].p_pid; > + processes[j].name = strndup(p[i].p_comm, > text_buffer_size); > + processes[j].amount = 100.0 * p[i].p_pctcpu / FSCALE; > ++ processes[j].vsize = p[i].p_vm_map_size; > ++ processes[j].rss = p[i].p_vm_rssize * PAGE_SIZE; > + j++; > + } > + } > +@@ -752,6 +756,8 @@ inline void proc_find_top(struct process **cpu, struct > + tmp->pid = processes[i].pid; > + tmp->amount = processes[i].amount; > + tmp->name = strndup(processes[i].name, text_buffer_size); > ++ tmp->vsize = processes[i].vsize; > ++ tmp->rss = processes[i].rss; > + > + ttmp = mem[i]; > + mem[i] = tmp; > +@@ -769,6 +775,8 @@ inline void proc_find_top(struct process **cpu, struct > + tmp->pid = processes[i].pid; > + tmp->amount = processes[i].amount; > + tmp->name = strndup(processes[i].name, text_buffer_size); > ++ tmp->vsize = processes[i].vsize; > ++ tmp->rss = processes[i].rss; > + > + ttmp = cpu[i]; > + cpu[i] = tmp; > +@@ -784,7 +792,6 @@ inline void proc_find_top(struct process **cpu, struct > free(processes); > } > > @@ -194,7 +226,7 @@ Adapt to new OpenBSD kinfo_proc API. > #define APMDEV "/dev/apm" > #define APM_UNKNOWN 255 > > -@@ -908,7 +909,6 @@ char *get_apm_battery_time() > +@@ -908,7 +915,6 @@ char *get_apm_battery_time() > return out; > } > > @@ -202,7 +234,7 @@ Adapt to new OpenBSD kinfo_proc API. > > /* empty stubs so conky links */ > void prepare_update() > -@@ -923,8 +923,4 @@ int get_entropy_avail(unsigned int *val) > +@@ -923,8 +929,4 @@ int get_entropy_avail(unsigned int *val) > int get_entropy_poolsize(unsigned int *val) > { > return 1; > Index: patches/patch-src_text_object_h > =================================================================== > RCS file: /cvs/ports/sysutils/conky/patches/patch-src_text_object_h,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-src_text_object_h > --- patches/patch-src_text_object_h 27 Apr 2011 12:55:11 -0000 1.1 > +++ patches/patch-src_text_object_h 7 Aug 2011 22:20:37 -0000 > @@ -1,6 +1,15 @@ > $OpenBSD: patch-src_text_object_h,v 1.1 2011/04/27 12:55:11 dcoppa Exp $ > ---- src/text_object.h.orig Tue Apr 19 19:42:09 2011 > -+++ src/text_object.h Tue Apr 19 19:42:32 2011 > +--- src/text_object.h.orig Tue Oct 5 23:29:36 2010 > ++++ src/text_object.h Mon Jul 18 14:05:17 2011 > +@@ -166,7 +166,7 @@ enum text_object_type { > + OBJ_wireless_link_qual_perc, > + OBJ_wireless_link_bar, > + #endif /* __linux__ */ > +-#if defined(__FreeBSD__) || defined(__linux__) > ++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__linux__) > + OBJ_if_up, > + #endif > + OBJ_if_empty, > @@ -311,7 +311,7 @@ enum text_object_type { > OBJ_pop3_unseen, > OBJ_pop3_used, > >
