Hello community,

here is the log from the commit of package forkstat for openSUSE:Factory 
checked in at 2019-01-21 10:57:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/forkstat (Old)
 and      /work/SRC/openSUSE:Factory/.forkstat.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "forkstat"

Mon Jan 21 10:57:57 2019 rev:10 rq:666479 version:0.02.09

Changes:
--------
--- /work/SRC/openSUSE:Factory/forkstat/forkstat.changes        2018-07-22 
23:05:19.916906223 +0200
+++ /work/SRC/openSUSE:Factory/.forkstat.new.28833/forkstat.changes     
2019-01-21 10:58:38.623408510 +0100
@@ -1,0 +2,21 @@
+Sat Jan 12 12:32:24 UTC 2019 - mar...@gmx.de
+
+- Update to version 0.02.09
+  * Manual: update date
+  * Add -X option, fix up short getopts help with missing options
+  * forkstat: add in -c option in help info
+- Update to version 0.02.08
+  * Reduce scope of pointer ptr
+  * Use unsigned int for %u format specifiers
+  * Add -c comm field info, also track comm field changes in proc info
+- Update to version 0.02.07
+  * remove '\r' and '\n' from command line process name
+- Update to version 0.02.06
+  * Add some extra paranoid clearing of tty and strncpy length,
+    fixes potential buffer overrun
+  * Add caching of dev to tty name lookup to fix expensive lookups
+  * Add caching of uid to name lookup, print username rather than uids
+    to fix expensive lookups
+  * forkstat: pack structs a little more efficiently to save memory
+
+-------------------------------------------------------------------

Old:
----
  forkstat-0.02.05.tar.xz

New:
----
  forkstat-0.02.09.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ forkstat.spec ++++++
--- /var/tmp/diff_new_pack.BLF3Sk/_old  2019-01-21 10:58:40.019406691 +0100
+++ /var/tmp/diff_new_pack.BLF3Sk/_new  2019-01-21 10:58:40.023406686 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package forkstat
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 # Copyright (c) 2017, Martin Hauke <mar...@gmx.de>
 #
 # All modifications and additions to the file contributed by third parties
@@ -18,13 +18,13 @@
 
 
 Name:           forkstat
-Version:        0.02.05
+Version:        0.02.09
 Release:        0
 Summary:        Process fork/exec/exit monitoring tool
 License:        GPL-2.0-or-later
 Group:          System/Monitoring
-URL:            http://kernel.ubuntu.com/~cking/forkstat/
-Source:         
http://kernel.ubuntu.com/~cking/tarballs/%{name}/%{name}-%{version}.tar.xz
+URL:            https://kernel.ubuntu.com/~cking/forkstat/
+Source:         
https://kernel.ubuntu.com/~cking/tarballs/%{name}/%{name}-%{version}.tar.xz
 
 %description
 Forkstat monitors process fork(), exec() and exit() activity. It is useful for

++++++ forkstat-0.02.05.tar.xz -> forkstat-0.02.09.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/Makefile 
new/forkstat-0.02.09/Makefile
--- old/forkstat-0.02.05/Makefile       2018-07-13 08:50:32.000000000 +0200
+++ new/forkstat-0.02.09/Makefile       2018-12-04 12:12:13.000000000 +0100
@@ -16,12 +16,12 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA.
 #
 
-VERSION=0.02.05
+VERSION=0.02.09
 #
 # Version "Perspicacious Process Peeker"
 #
 
-CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2
+CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2 -g
 #
 # Pedantic flags
 #
@@ -48,7 +48,7 @@
        rm -rf forkstat-$(VERSION)
        mkdir forkstat-$(VERSION)
        cp -rp Makefile forkstat.c forkstat.8 mascot COPYING \
-               snapcraft .travis.yml forkstat-$(VERSION)
+               snap .travis.yml forkstat-$(VERSION)
        tar -Jcf forkstat-$(VERSION).tar.xz forkstat-$(VERSION)
        rm -rf forkstat-$(VERSION)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/forkstat.8 
new/forkstat-0.02.09/forkstat.8
--- old/forkstat-0.02.05/forkstat.8     2018-07-13 08:50:32.000000000 +0200
+++ new/forkstat-0.02.09/forkstat.8     2018-12-04 12:12:13.000000000 +0100
@@ -2,7 +2,7 @@
 .\" First parameter, NAME, should be all caps
 .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
 .\" other parameters are allowed: see man(7), man(1)
-.TH FORKSTAT 8 "13 July, 2018"
+.TH FORKSTAT 8 "4 December, 2018"
 .\" Please adjust this date whenever revising the manpage.
 .\"
 .\" Some roff macros, for reference:
@@ -21,6 +21,7 @@
 
 .SH SYNOPSIS
 .B forkstat
+.RI [ \-c ]
 .RI [ \-d ]
 .RI [ \-D ]
 .RI [ \-e ]
@@ -33,6 +34,7 @@
 .RI [ \-S ]
 .RI [ \-q ]
 .RI [ \-x ]
+.RI [ \-X ]
 .br
 
 .SH DESCRIPTION
@@ -63,6 +65,10 @@
 .SH OPTIONS
 forkstat options are as follow:
 .TP
+.B \-c
+use the process 16 character comm field for the process name rather than 
command
+line information.
+.TP
 .B \-d
 strip off the directory path from the process name.
 .TP
@@ -115,6 +121,10 @@
 .TP
 .B \-x
 show extra process related information: user ID and TTY of the process.
+.TP
+.B \-X
+equivalent to options \-E \-g \-r \-S \-x, all events, glyphs, real time FIFO
+scheduling, statistics and extra process information.
 .SH EXAMPLES
 .LP
 Show process activity with short process names and directory base path 
stripped off:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/forkstat.c 
new/forkstat-0.02.09/forkstat.c
--- old/forkstat-0.02.05/forkstat.c     2018-07-13 08:50:32.000000000 +0200
+++ new/forkstat-0.02.09/forkstat.c     2018-12-04 12:12:13.000000000 +0100
@@ -55,6 +55,10 @@
 
 #define APP_NAME               "forkstat"
 #define MAX_PIDS               (32769)         /* Hash Max PIDs */
+#define MAX_UIDS               (1237)          /* Hash Max UIDs */
+#define MAX_TTYS               (199)           /* Hash Max TTYs */
+
+#define TTY_NAME_LEN           (16)            /* Max TTY name length */
 
 #define NULL_PID               (pid_t)(-1)
 #define NULL_UID               (uid_t)(-1)
@@ -69,17 +73,18 @@
 #define OPT_REALTIME           (0x00000020)    /* Run with Real Time 
scheduling */
 #define OPT_EXTRA              (0x00000040)    /* Show extra stats */
 #define OPT_GLYPH              (0x00000080)    /* Show glyphs */
+#define OPT_COMM               (0x00000100)    /* Show comm info */
 
-#define OPT_EV_FORK            (0x00000100)    /* Fork event */
-#define OPT_EV_EXEC            (0x00000200)    /* Exec event */
-#define OPT_EV_EXIT            (0x00000400)    /* Exit event */
-#define OPT_EV_CORE            (0x00000800)    /* Coredump event */
-#define OPT_EV_COMM            (0x00001000)    /* Comm proc info event */
-#define OPT_EV_CLNE            (0x00002000)    /* Clone event */
-#define OPT_EV_PTRC            (0x00004000)    /* Ptrace event */
-#define OPT_EV_UID             (0x00008000)    /* UID event */
-#define OPT_EV_SID             (0x00010000)    /* SID event */
-#define OPT_EV_MASK            (0x0001ff00)    /* Event mask */
+#define OPT_EV_FORK            (0x00100000)    /* Fork event */
+#define OPT_EV_EXEC            (0x00200000)    /* Exec event */
+#define OPT_EV_EXIT            (0x00400000)    /* Exit event */
+#define OPT_EV_CORE            (0x00800000)    /* Coredump event */
+#define OPT_EV_COMM            (0x01000000)    /* Comm proc info event */
+#define OPT_EV_CLNE            (0x02000000)    /* Clone event */
+#define OPT_EV_PTRC            (0x04000000)    /* Ptrace event */
+#define OPT_EV_UID             (0x08000000)    /* UID event */
+#define OPT_EV_SID             (0x10000000)    /* SID event */
+#define OPT_EV_MASK            (0x1ff00000)    /* Event mask */
 #define OPT_EV_ALL             (OPT_EV_MASK)   /* All events */
 
 #define        GOT_TGID                (0x01)
@@ -93,13 +98,13 @@
 /* /proc info cache */
 typedef struct proc_info {
        struct proc_info *next; /* next proc info in hashed linked list */
+       char    *cmdline;       /* /proc/pid/cmdline text */
+       dev_t   tty;            /* TTY dev */
        pid_t   pid;            /* Process ID */
        uid_t   uid;            /* User ID */
        gid_t   gid;            /* GUID */
-       dev_t   tty;            /* TTY dev */
-       char    *cmdline;       /* /proc/pid/cmdline text */
-       bool    kernel_thread;  /* true if a kernel thread */
        struct timeval start;   /* time when process started */
+       bool    kernel_thread;  /* true if a kernel thread */
 } proc_info_t;
 
 /* For kernel task checking */
@@ -108,6 +113,20 @@
        size_t len;             /* Length */
 } kernel_task_info;
 
+/* For UID to name cache */
+typedef struct uid_name_info {
+       struct uid_name_info *next;
+       char    *name;          /* User name */
+       uid_t   uid;            /* User ID */
+} uid_name_info_t;
+
+/* For tty to tty name cache */
+typedef struct tty_name_info {
+       struct tty_name_info *next;
+       dev_t   dev;            /* tty device */
+       char    tty_name[TTY_NAME_LEN]; /* tty name */
+} tty_name_info_t;
+
 typedef enum {
        STAT_FORK = 0,          /* Fork */
        STAT_EXEC,              /* Exec */
@@ -124,8 +143,8 @@
 typedef struct proc_stats {
        struct proc_stats *next;/* Next one in list */
        char *name;             /* Process name */
-       uint64_t count[STAT_LAST]; /* Tally count */
        uint64_t total;         /* Tally count total of all counts */
+       uint64_t count[STAT_LAST]; /* Tally count */
 } proc_stats_t;
 
 typedef struct {
@@ -163,6 +182,8 @@
 static bool sane_procs;                                /* true if not inside a 
container */
 static proc_info_t *proc_info[MAX_PIDS];       /* Proc hash table */
 static proc_stats_t *proc_stats[MAX_PIDS];     /* Proc stats hash table */
+static uid_name_info_t *uid_name_info[MAX_UIDS];/* UID to name hash table */
+static tty_name_info_t *tty_name_info[MAX_TTYS];/* TTY dev to name hash table 
*/
 static unsigned int opt_flags = OPT_CMD_LONG;  /* Default option */
 static int row = 0;                            /* tty row number */
 static long int opt_duration = -1;             /* duration, < 0 means run 
forever */
@@ -266,7 +287,7 @@
        s += 0.0005;    /* Round up */
        fract = (s * second_scales[i].base) - (double)((int)s * 
second_scales[i].base);
        (void)snprintf(buf, sizeof(buf), "%3u.%3.3u%c",
-               (int)s, (int)fract, second_scales[i].ch);
+               (unsigned int)s, (unsigned int)fract, second_scales[i].ch);
        return buf;
 }
 
@@ -278,13 +299,66 @@
 {
        struct passwd *pwd;
        static char buf[12];
+       const size_t hash = uid % MAX_UIDS;
+       uid_name_info_t *uni = uid_name_info[hash];
+       char *name;
+
+       /*
+        *  Try and find it in cache first
+        */
+       while (uni) {
+               if (uni->uid == uid)
+                       return uni->name;
+               uni = uni->next;
+       }
 
        pwd = getpwuid(uid);
-       if (pwd)
-               return pwd->pw_name;
+       if (pwd) {
+               name = pwd->pw_name;
+       } else {
+               (void)snprintf(buf, sizeof(buf), "%d", uid);
+               name = buf;
+       }
 
-       (void)snprintf(buf, sizeof(buf), "%d", uid);
-       return buf;
+       /*
+        *  Try and allocate a cached uid name mapping
+        *  but don't worry if we can't as we can look
+        *  it up if we run out of memory next time round
+        */
+       uni = malloc(sizeof(*uni));
+       if (!uni)
+               return name;
+       uni->name = strdup(name);
+       if (!uni->name) {
+               free(uni);
+               return name;
+       }
+       uni->uid = uid;
+       uni->next = uid_name_info[hash];
+       uid_name_info[hash] = uni;
+
+       return uni->name;
+}
+
+/*
+ *  uid_name_info_free()
+ *     free uid name info cache
+ */
+static void uid_name_info_free(void)
+{
+       size_t i;
+
+       for (i = 0; i < MAX_UIDS; i++) {
+               uid_name_info_t *uni = uid_name_info[i];
+
+               while (uni) {
+                       uid_name_info_t *next = uni->next;
+
+                       free(uni->name);
+                       free(uni);
+                       uni = next;
+               }
+       }
 }
 
 /*
@@ -295,9 +369,21 @@
 {
        DIR *dir;
        struct dirent *dirent;
-       static char tty[16];
+       static char tty[TTY_NAME_LEN];
+       const size_t hash = ((size_t)dev) % MAX_TTYS;
+       tty_name_info_t *tni = tty_name_info[hash];
 
-       strncpy(tty, "?", sizeof(tty));
+       /*
+        *  Try and find it in cache first
+        */
+       while (tni) {
+               if (tni->dev == dev)
+                       return tni->tty_name;
+               tni = tni->next;
+       }
+
+       (void)memset(tty, 0, sizeof(tty));
+       *tty = '?';
 
        dir = opendir("/dev/pts");
        if (!dir)
@@ -324,7 +410,43 @@
 
        (void)closedir(dir);
 err:
-       return tty;
+       tty[TTY_NAME_LEN - 1] = '\0';
+
+       /*
+        *  Try to add a new tty name to cache,
+        *  this is not critical if we can't, just
+        *  give up and lookup again next time
+        */
+       tni = malloc(sizeof(*tni));
+       if (!tni)
+               return tty;
+
+       (void)strncpy(tni->tty_name, tty, sizeof(tni->tty_name) - 1);
+       tni->dev = dev;
+       tni->next = tty_name_info[hash];
+       tty_name_info[hash] = tni;
+
+       return tni->tty_name;
+}
+
+/*
+ *  tty_name_info_free()
+ *     free tty name info cache
+ */
+static void tty_name_info_free(void)
+{
+       size_t i;
+
+       for (i = 0; i < MAX_TTYS; i++) {
+               tty_name_info_t *tni = tty_name_info[i];
+
+               while (tni) {
+                       tty_name_info_t *next = tni->next;
+
+                       free(tni);
+                       tni = next;
+               }
+       }
 }
 
 /*
@@ -630,7 +752,6 @@
        return pid % MAX_PIDS;
 }
 
-
 /*
  *  proc_name_hash()
  *     Hash a string, from Dan Bernstein comp.lang.c (xor version)
@@ -647,6 +768,10 @@
        return hash % MAX_PIDS;
 }
 
+/*
+ *  proc_stats_account()
+ *     perform per process accounting
+ */
 static void proc_stats_account(const pid_t pid, const event_t event)
 {
        unsigned int h;
@@ -775,6 +900,34 @@
 }
 
 /*
+ *  proc_name_clean()
+ *     clean up unwanted chars from process name
+ */
+static void proc_name_clean(char *buffer, const int len)
+{
+       char *ptr;
+
+       /*
+        *  Convert '\r' and '\n' into spaces
+        */
+       for (ptr = buffer; *ptr && (ptr < buffer + len); ptr++) {
+               if ((*ptr == '\r') || (*ptr =='\n')) 
+                       *ptr = ' ';
+       }
+       /*
+        *  OPT_CMD_SHORT option we discard anything after a space
+        */
+       if (opt_flags & OPT_CMD_SHORT) {
+               for (ptr = buffer; *ptr && (ptr < buffer + len); ptr++) {
+                       if (*ptr == ' ') {
+                               *ptr = '\0';
+                               break;
+                       }
+               }
+       }
+}
+
+/*
  *  proc_comm()
  *     get process name from comm field
  */
@@ -793,6 +946,8 @@
        }
        (void)close(fd);
        buffer[ret - 1] = '\0';         /* remove trailing '\n' */
+       proc_name_clean(buffer, ret);
+
        return strdup(buffer);
 }
 
@@ -802,11 +957,13 @@
  */
 static char *proc_cmdline(const pid_t pid)
 {
-       char *ptr;
        int fd;
        ssize_t ret;
        char buffer[4096];
 
+       if (opt_flags & OPT_COMM)
+               return proc_comm(pid);
+
        (void)snprintf(buffer, sizeof(buffer), "/proc/%d/cmdline", pid);
        if ((fd = open(buffer, O_RDONLY)) < 0)
                return proc_comm(pid);
@@ -823,6 +980,8 @@
         *  OPT_CMD_LONG option we get the full cmdline args
         */
        if (opt_flags & OPT_CMD_LONG) {
+               char *ptr;
+
                for (ptr = buffer; ptr < buffer + ret; ptr++) {
                        if (*ptr == '\0') {
                                if (*(ptr + 1) == '\0')
@@ -831,17 +990,8 @@
                        }
                }
        }
-       /*
-        *  OPT_CMD_SHORT option we discard anything after a space
-        */
-       if (opt_flags & OPT_CMD_SHORT) {
-               for (ptr = buffer; *ptr && (ptr < buffer + ret); ptr++) {
-                       if (*ptr == ' ') {
-                               *ptr = '\0';
-                               break;
-                       }
-               }
-       }
+
+       proc_name_clean(buffer, ret);
 
        if (opt_flags & OPT_CMD_DIRNAME_STRIP)
                return strdup(basename(buffer));
@@ -910,7 +1060,7 @@
 
 /*
  *  proc_info_update()
- *     uopdate process name, for example, if exec has occurred
+ *     update process name, for example, if exec has occurred
  */
 static proc_info_t const *proc_info_update(const pid_t pid)
 {
@@ -1099,6 +1249,10 @@
        return 0;
 }
 
+/*
+ *  extra_info()
+ *     format up extra process information if selected
+ */
 static char *extra_info(const uid_t uid)
 {
        static char buf[20];
@@ -1108,8 +1262,9 @@
                const proc_info_t *info = proc_info_get(uid);
 
                if (info && info->uid != NULL_UID)
-                       (void)snprintf(buf, sizeof(buf), "%6d %-6.6s ",
-                               info->uid, get_tty(info->tty));
+                       (void)snprintf(buf, sizeof(buf), "%6s %-6.6s ",
+                               get_username(info->uid),
+                               get_tty(info->tty));
                else
                        (void)snprintf(buf, sizeof(buf), "%14s", "");
        }
@@ -1117,7 +1272,6 @@
        return buf;
 }
 
-
 /*
  *  handle_sig()
  *     catch signal and flag a stop
@@ -1494,6 +1648,7 @@
                                                info1->kernel_thread ? "]" : "",
                                                comm);
                                        free(comm);
+                                       proc_info_update(pid);
                                }
                                break;
 #endif
@@ -1512,19 +1667,22 @@
 static void show_help(char *const argv[])
 {
        (void)printf("%s, version %s\n\n", APP_NAME, VERSION);
-       (void)printf("usage: %s [-d|-D|-e|-E|-g|-h|-l|-s|-S|-q]\n", argv[0]);
-       (void)printf("-d\tstrip off directory path from process name.\n"
-              "-D\tspecify run duration in seconds.\n"
-              "-e\tselect which events to monitor.\n"
-              "-E\tequivalent to -e all.\n"
-              "-g\tshow glyphs for event types.\n"
-              "-h\tshow this help.\n"
-              "-l\tforce stdout line buffering.\n"
-              "-r\trun with real time FIFO scheduler.\n"
-              "-s\tshow short process name.\n"
-              "-S\tshow event statistics at end of the run.\n"
-              "-q\trun quietly and enable -S option.\n"
-              "-x\tshow extra process information.\n");
+       (void)printf("usage: %s [-c|-d|-D|-e|-E|-g|-h|-l|-s|-S|-q|-x|-X]\n", 
argv[0]);
+       (void)printf(
+               "-c\tuse task comm field for process name.\n"
+               "-d\tstrip off directory path from process name.\n"
+               "-D\tspecify run duration in seconds.\n"
+               "-e\tselect which events to monitor.\n"
+               "-E\tequivalent to -e all.\n"
+               "-g\tshow glyphs for event types.\n"
+               "-h\tshow this help.\n"
+               "-l\tforce stdout line buffering.\n"
+               "-r\trun with real time FIFO scheduler.\n"
+               "-s\tshow short process name.\n"
+               "-S\tshow event statistics at end of the run.\n"
+               "-q\trun quietly and enable -S option.\n"
+               "-x\tshow extra process information.\n"
+               "-X\tequivalent to -EgrSx.\n");
 }
 
 /*
@@ -1563,10 +1721,13 @@
        struct sigaction new_action;
 
        for (;;) {
-               const int c = getopt(argc, argv, "dD:e:EghlrsSqx");
+               const int c = getopt(argc, argv, "cdD:e:EghlrsSqxX");
                if (c == -1)
                        break;
                switch (c) {
+               case 'c':
+                       opt_flags |= OPT_COMM;
+                       break;
                case 'd':
                        opt_flags |= OPT_CMD_DIRNAME_STRIP;
                        break;
@@ -1612,6 +1773,9 @@
                case 'x':
                        opt_flags |= OPT_EXTRA;
                        break;
+               case 'X':
+                       opt_flags |= (OPT_EV_ALL | OPT_GLYPH | OPT_STATS | 
OPT_EXTRA | OPT_REALTIME);
+                       break;
                default:
                        show_help(argv);
                        exit(EXIT_FAILURE);
@@ -1695,6 +1859,8 @@
 abort_sock:
        proc_info_unload();
        proc_stats_free();
+       uid_name_info_free();
+       tty_name_info_free();
 
        exit(ret);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/snap/Makefile 
new/forkstat-0.02.09/snap/Makefile
--- old/forkstat-0.02.05/snap/Makefile  1970-01-01 01:00:00.000000000 +0100
+++ new/forkstat-0.02.09/snap/Makefile  2018-12-04 12:12:13.000000000 +0100
@@ -0,0 +1,26 @@
+VERSION=$(shell git tag | tail -1 | cut -c2-)
+COMMITS=$(shell git log --oneline | wc -l)
+SHA=$(shell git log -1 --oneline | cut -d' ' -f1)
+DATE=$(shell date +'%Y%m%d')
+V=$(VERSION)-$(DATE)-$(COMMITS)-$(SHA)
+
+all: get_icon set_version
+       snapcraft
+
+set_version:
+       cat snapcraft.yaml | sed 's/version: .*/version: $(V)/' > 
snapcraft-tmp.yaml
+       mv snapcraft-tmp.yaml snapcraft.yaml
+
+get_icon: 
+       @if [ ! -e setup/gui/icon.svg ]; \
+       then \
+               echo copying icon.svg; \
+               mkdir -p setup/gui; \
+               cp ../mascot/forkstat.svg setup/gui/icon.svg; \
+       fi;
+
+clean:
+       rm -rf setup *.snap
+       snapcraft clean
+       cat snapcraft.yaml | sed 's/version: .*/version: 0/' > 
snapcraft-tmp.yaml
+       mv snapcraft-tmp.yaml snapcraft.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/snap/snapcraft.yaml 
new/forkstat-0.02.09/snap/snapcraft.yaml
--- old/forkstat-0.02.05/snap/snapcraft.yaml    1970-01-01 01:00:00.000000000 
+0100
+++ new/forkstat-0.02.09/snap/snapcraft.yaml    2018-12-04 12:12:13.000000000 
+0100
@@ -0,0 +1,20 @@
+name: forkstat
+version: 0
+summary: process fork/exec/exit monitoring tool
+description: Forkstat monitors process fork(), exec() and exit() activity.  It 
is useful for monitoring system behaviour and to track down rogue processes 
that are spawning off processes and potentially abusing the system.
+confinement: strict
+type: app
+grade: stable
+
+parts:
+    forkstat:
+        plugin: make
+        source: git://kernel.ubuntu.com/cking/forkstat
+        build-packages:
+            - gcc
+            - make
+
+apps:
+    forkstat:
+        command: usr/bin/forkstat
+        plugs: [hardware-observe,netlink-connector,system-observe]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/snapcraft/Makefile 
new/forkstat-0.02.09/snapcraft/Makefile
--- old/forkstat-0.02.05/snapcraft/Makefile     2018-07-13 08:50:32.000000000 
+0200
+++ new/forkstat-0.02.09/snapcraft/Makefile     1970-01-01 01:00:00.000000000 
+0100
@@ -1,26 +0,0 @@
-VERSION=$(shell git tag | tail -1 | cut -c2-)
-COMMITS=$(shell git log --oneline | wc -l)
-SHA=$(shell git log -1 --oneline | cut -d' ' -f1)
-DATE=$(shell date +'%Y%m%d')
-V=$(VERSION)-$(DATE)-$(COMMITS)-$(SHA)
-
-all: get_icon set_version
-       snapcraft
-
-set_version:
-       cat snapcraft.yaml | sed 's/version: .*/version: $(V)/' > 
snapcraft-tmp.yaml
-       mv snapcraft-tmp.yaml snapcraft.yaml
-
-get_icon: 
-       @if [ ! -e setup/gui/icon.svg ]; \
-       then \
-               echo copying icon.svg; \
-               mkdir -p setup/gui; \
-               cp ../mascot/forkstat.svg setup/gui/icon.svg; \
-       fi;
-
-clean:
-       rm -rf setup *.snap
-       snapcraft clean
-       cat snapcraft.yaml | sed 's/version: .*/version: 0/' > 
snapcraft-tmp.yaml
-       mv snapcraft-tmp.yaml snapcraft.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forkstat-0.02.05/snapcraft/snapcraft.yaml 
new/forkstat-0.02.09/snapcraft/snapcraft.yaml
--- old/forkstat-0.02.05/snapcraft/snapcraft.yaml       2018-07-13 
08:50:32.000000000 +0200
+++ new/forkstat-0.02.09/snapcraft/snapcraft.yaml       1970-01-01 
01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-name: forkstat
-version: 0
-summary: process fork/exec/exit monitoring tool
-description: Forkstat monitors process fork(), exec() and exit() activity.  It 
is useful for monitoring system behaviour and to track down rogue processes 
that are spawning off processes and potentially abusing the system.
-confinement: strict
-type: app
-grade: stable
-
-parts:
-    forkstat:
-        plugin: make
-        source: git://kernel.ubuntu.com/cking/forkstat
-        build-packages:
-            - gcc
-            - make
-
-apps:
-    forkstat:
-        command: usr/bin/forkstat
-        plugs: [hardware-observe,netlink-connector,system-observe]


Reply via email to