On Tue Sep 01, 2020 at 02:44:43PM +1000, Stephen Gregoratto wrote:
> A fork[1] of htop has appeared, with blessings[2] from the original
> developer. Downsides are that it uses GitHub archives, so GH_* stuff is
> addded. I took the time to modify the patches to work on this release,
> but since there were some substantial rewrites[3] I wonder if we should
> drop them altogether.
> 
> [1] https://github.com/htop-dev/htop
> [2] https://github.com/hishamhm/htop/issues/992#issuecomment-683286672
> [3] The shortlog:
> 
> b92f62f Remove trailing whitespaces
> dd33444 Clean up existing whitespace
> 909bb86 Show N/A on unsupported platforms instead of 0KHz
> 27fe307 Remove a few unnecessary #includes
> 9197adf Fix CPU usage on OpenBSD
> c34be41 Widen ST_UID (UID) column to 5 chars to allow UIDs > 9999
>         without breaking alignment Issue Github #841, Debian bug
>       #910492
> ca1cce4 OpenBSD: make the STARTTIME column display correctly (#815)
> c1fb585 OpenBSD: add environment reading support (#819)
> 060aa2b remove wrongfix
> 3d79c72 Update OpenBSD maximum PID
> c005ffc Fix zero-index array bounds issue
> 48b807b Fix CPU meters
> -- 
> Stephen Gregoratto

OK with a small trailing whitespace zap after "-g". Any maintainer
feedback?

Rafael Sadowski

> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/sysutils/htop/Makefile,v
> retrieving revision 1.21
> diff -u -p -r1.21 Makefile
> --- Makefile  17 Jul 2020 08:36:04 -0000      1.21
> +++ Makefile  1 Sep 2020 04:17:08 -0000
> @@ -2,13 +2,13 @@
>  
>  COMMENT =    interactive process viewer
>  
> -V =          2.2.0
> -DISTNAME =   htop-${V}
> -REVISION =   15
> +GH_ACCOUNT = htop-dev
> +GH_PROJECT = htop
> +GH_TAGNAME = 3.0.0
>  
>  CATEGORIES = sysutils
>  
> -HOMEPAGE =   https://hisham.hm/htop/index.php
> +HOMEPAGE =   https://htop.dev
>  
>  MAINTAINER = Ian Sutton <i...@ce.gl>
>  
> @@ -17,19 +17,20 @@ PERMIT_PACKAGE =  Yes
>  
>  WANTLIB =    c curses kvm m
>  
> -MASTER_SITES =       https://hisham.hm/htop/releases/${V}/
> -
>  MODULES =    lang/python
>  RUN_DEPENDS =        devel/desktop-file-utils
>  
>  NO_TEST =    Yes
>  
> -CONFIGURE_STYLE =    gnu
> +CONFIGURE_STYLE =    autoreconf
> +AUTOCONF_VERSION =   2.69
> +AUTOMAKE_VERSION =   1.16
> +AUTORECONF =         ./autogen.sh
>  CONFIGURE_ARGS +=    --disable-unicode \
>                       --disable-taskstats
>  
>  MODPY_RUNDEP =               No
> -MODPY_ADJ_FILES =    scripts/MakeHeader.py
> +MODPY_VERSION =              ${MODPY_DEFAULT_VERSION_3}
>  
>  # htop has some bugs which take hours or days to reach.
>  # Keep the symbols to give a chance to the user to get an useful coredump.
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/sysutils/htop/distinfo,v
> retrieving revision 1.3
> diff -u -p -r1.3 distinfo
> --- distinfo  4 Jul 2018 03:50:16 -0000       1.3
> +++ distinfo  1 Sep 2020 04:17:08 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (htop-2.2.0.tar.gz) = 2daCbxDOOIeVDXCbU+4djBhJpw+jjpHViWrYy8a6PFc=
> -SIZE (htop-2.2.0.tar.gz) = 308109
> +SHA256 (htop-3.0.0.tar.gz) = HAZh8K5fTih02iULYM1RXkrEwEFYMiGt/pXxDhjRpOY=
> +SIZE (htop-3.0.0.tar.gz) = 179371
> Index: patches/patch-htop_c
> ===================================================================
> RCS file: patches/patch-htop_c
> diff -N patches/patch-htop_c
> --- patches/patch-htop_c      19 Apr 2020 12:43:43 -0000      1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,14 +0,0 @@
> -$OpenBSD: patch-htop_c,v 1.1 2020/04/19 12:43:43 robert Exp $
> -
> -Index: htop.c
> ---- htop.c.orig
> -+++ htop.c
> -@@ -93,7 +93,7 @@ static CommandLineSettings parseArguments(int argc, ch
> - 
> -    int opt, opti=0;
> -    /* Parse arguments */
> --   while ((opt = getopt_long(argc, argv, "hvCst::d:u:p:i", long_opts, 
> &opti))) {
> -+   while ((opt = getopt_long(argc, argv, "hvCs:t::d:u:p:i", long_opts, 
> &opti))) {
> -       if (opt == EOF) break;
> -       switch (opt) {
> -          case 'h':
> Index: patches/patch-openbsd_OpenBSDProcessList_c
> ===================================================================
> RCS file: 
> /cvs/ports/sysutils/htop/patches/patch-openbsd_OpenBSDProcessList_c,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-openbsd_OpenBSDProcessList_c
> --- patches/patch-openbsd_OpenBSDProcessList_c        10 May 2019 02:17:46 
> -0000      1.1
> +++ patches/patch-openbsd_OpenBSDProcessList_c        1 Sep 2020 04:17:08 
> -0000
> @@ -3,15 +3,7 @@ $OpenBSD: patch-openbsd_OpenBSDProcessLi
>  Index: openbsd/OpenBSDProcessList.c
>  --- openbsd/OpenBSDProcessList.c.orig
>  +++ openbsd/OpenBSDProcessList.c
> -@@ -20,6 +20,7 @@ in the source distribution for its full text.
> - #include <sys/sysctl.h>
> - #include <sys/types.h>
> - #include <sys/user.h>
> -+#include <sys/sched.h>
> - #include <limits.h>
> - #include <stdlib.h>
> - #include <string.h>
> -@@ -62,24 +63,37 @@ typedef struct OpenBSDProcessList_ {
> +@@ -79,24 +79,36 @@ typedef struct OpenBSDProcessList_ {
>   static long fscale;
>   
>   ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* 
> pidWhiteList, uid_t userId) {
> @@ -35,7 +27,6 @@ Index: openbsd/OpenBSDProcessList.c
>  +   size_ncpu = sizeof(int);
>  +   size_cpustats = sizeof(cpu_stats);
>  +   cpu_index_c = 0;
> -+
>      ProcessList_init(pl, Class(OpenBSDProcess), usersTable, pidWhiteList, 
> userId);
>   
>      e = sysctl(mib, 2, &pl->cpuCount, &size, NULL, 0);
> @@ -47,12 +38,12 @@ Index: openbsd/OpenBSDProcessList.c
>  +       ncpu = pl->cpuCount;
>  +   }
>  +
> -    opl->cpus = xRealloc(opl->cpus, pl->cpuCount * sizeof(CPUData));
> +    opl->cpus = xCalloc(pl->cpuCount + 1, sizeof(CPUData));
>  +   opl->cpuIndex = xRealloc(opl->cpuIndex, pl->cpuCount * sizeof(int));
>   
>      size = sizeof(fscale);
>      if (sysctl(fmib, 2, &fscale, &size, NULL, 0) < 0) {
> -@@ -94,6 +108,19 @@ ProcessList* ProcessList_new(UsersTable* usersTable, H
> +@@ -112,6 +124,19 @@ ProcessList* ProcessList_new(UsersTable* usersTable, H
>      opl->kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf);
>      if (opl->kd == NULL) {
>         errx(1, "kvm_open: %s", errbuf);
> Index: patches/patch-openbsd_Platform_c
> ===================================================================
> RCS file: /cvs/ports/sysutils/htop/patches/patch-openbsd_Platform_c,v
> retrieving revision 1.7
> diff -u -p -r1.7 patch-openbsd_Platform_c
> --- patches/patch-openbsd_Platform_c  10 May 2019 23:38:58 -0000      1.7
> +++ patches/patch-openbsd_Platform_c  1 Sep 2020 04:17:08 -0000
> @@ -1,48 +1,9 @@
>  $OpenBSD: patch-openbsd_Platform_c,v 1.7 2019/05/10 23:38:58 ians Exp $
>  
> -Use sched.h macros instead of hardcoding, the former broke when we introduced
> -CP_SPIN cpu state.
> -
> -https://github.com/hishamhm/htop/pull/817
> -
>  Index: openbsd/Platform.c
>  --- openbsd/Platform.c.orig
>  +++ openbsd/Platform.c
> -@@ -46,7 +46,7 @@ extern ProcessFieldData Process_fields[];
> - 
> - #define MAXCPU 256
> - // XXX: probably should be a struct member
> --static int64_t old_v[MAXCPU][5];
> -+static int64_t old_v[MAXCPU][CPUSTATES];
> - 
> - /*
> -  * Copyright (c) 1984, 1989, William LeFebvre, Rice University
> -@@ -209,13 +209,13 @@ double Platform_setCPUValues(Meter* this, int cpu) {
> -    int64_t new_v[CPUSTATES], diff_v[CPUSTATES], scratch_v[CPUSTATES];
> -    double *v = this->values;
> -    size_t size = sizeof(double) * CPUSTATES;
> --   int mib[] = { CTL_KERN, KERN_CPTIME2, cpu-1 };
> -+   int mib[] = { CTL_KERN, KERN_CPTIME2, pl->cpuIndex[cpu-1] };
> -    if (sysctl(mib, 3, new_v, &size, NULL, 0) == -1) {
> -       return 0.;
> -    }
> - 
> -    // XXX: why?
> --   cpuData->totalPeriod = 1;
> -+   //cpuData->totalPeriod = 1;
> - 
> -    percentages(CPUSTATES, diff_v, new_v,
> -          (int64_t *)old_v[cpu-1], scratch_v);
> -@@ -225,7 +225,7 @@ double Platform_setCPUValues(Meter* this, int cpu) {
> -       v[i] = diff_v[i] / 10.;
> -    }
> - 
> --   Meter_setItems(this, 4);
> -+   Meter_setItems(this, CP_IDLE);
> - 
> -    perc = v[0] + v[1] + v[2] + v[3];
> - 
> -@@ -286,7 +286,7 @@ void Platform_setSwapValues(Meter* this) {
> +@@ -235,7 +235,7 @@ void Platform_setSwapValues(Meter* this) {
>      this->total = pl->totalSwap = total;
>      this->values[0] = pl->usedSwap = used;
>   
> 

Reply via email to