I take this back--this appears to have been committed. Thank you!
On 2/14/12, Daniel Melameth <[email protected]> wrote:
> 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,