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,
>
>

Reply via email to