From 816455c62f63bebf7d8fa248b92decb0dc2ba2ab Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 18 Dec 2013 08:46:10 +0700 Subject: desktop/wmmon: New download link. Signed-off-by: Willy Sudiarto Raharjo --- desktop/wmmon/patches/wmmon_1.0b2-p14.diff | 996 ----------------------------- desktop/wmmon/patches/wmmon_1_0b2-p14.diff | 996 +++++++++++++++++++++++++++++ desktop/wmmon/wmmon.SlackBuild | 2 +- desktop/wmmon/wmmon.info | 2 +- 4 files changed, 998 insertions(+), 998 deletions(-) delete mode 100644 desktop/wmmon/patches/wmmon_1.0b2-p14.diff create mode 100644 desktop/wmmon/patches/wmmon_1_0b2-p14.diff (limited to 'desktop/wmmon') diff --git a/desktop/wmmon/patches/wmmon_1.0b2-p14.diff b/desktop/wmmon/patches/wmmon_1.0b2-p14.diff deleted file mode 100644 index acb1979f5a..0000000000 --- a/desktop/wmmon/patches/wmmon_1.0b2-p14.diff +++ /dev/null @@ -1,996 +0,0 @@ ---- wmmon-1.0b2.orig/wmgeneral/wmgeneral.c -+++ wmmon-1.0b2/wmgeneral/wmgeneral.c -@@ -12,6 +12,8 @@ - --- - CHANGES: - --- -+ 10/10/2003 (Simon Law, sfllaw@debian.org) -+ * changed the parse_rcfile function to use getline instead of fgets. - 02/05/1998 (Martijn Pieterse, pieterse@xs4all.nl) - * changed the read_rc_file to parse_rcfile, as suggester by Marcelo E. Magallon - * debugged the parse_rc file. -@@ -21,6 +23,7 @@ - - */ - -+#define _GNU_SOURCE - #include - #include - #include -@@ -83,17 +86,18 @@ - void parse_rcfile(const char *filename, rckeys *keys) { - - char *p; -- char temp[128]; -+ char *line = NULL; -+ size_t line_size = 0; - char *tokens = " :\t\n"; - FILE *fp; - int i,key; - - fp = fopen(filename, "r"); - if (fp) { -- while (fgets(temp, 128, fp)) { -+ while (getline(&line, &line_size, fp) >= 0) { - key = 0; - while (key >= 0 && keys[key].label) { -- if ((p = strstr(temp, keys[key].label))) { -+ if ((p = strstr(line, keys[key].label))) { - p += strlen(keys[key].label); - p += strspn(p, tokens); - if ((i = strcspn(p, "#\n"))) p[i] = 0; -@@ -270,6 +274,7 @@ - unsigned int borderwidth = 1; - XClassHint classHint; - char *display_name = NULL; -+ char *geometry = NULL; - char *wname = argv[0]; - XTextProperty name; - -@@ -282,7 +287,9 @@ - - for (i=1; argv[i]; i++) { - if (!strcmp(argv[i], "-display")) -- display_name = argv[i+1]; -+ display_name = argv[++i]; -+ else if (!strcmp(argv[i], "-geometry")) -+ geometry = argv[++i]; - } - - if (!(display = XOpenDisplay(display_name))) { -@@ -307,7 +314,11 @@ - fore_pix = GetColor("black"); - - XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints, -- &mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy); -+ &mysizehints.x, &mysizehints.y, -+ &mysizehints.width, &mysizehints.height, &dummy); -+ if (geometry) -+ XParseGeometry(geometry, &mysizehints.x, &mysizehints.y, -+ &mysizehints.width, &mysizehints.height); - - mysizehints.width = 64; - mysizehints.height = 64; -@@ -364,3 +375,6 @@ - XMapWindow(display, win); - - } -+ -+/* vim: sw=4 ts=4 columns=82 -+ */ ---- wmmon-1.0b2.orig/wmmon/wmmon.c -+++ wmmon-1.0b2/wmmon/wmmon.c -@@ -28,6 +28,12 @@ - Changes: - ---- - -+ 15/05/2004 (Simon Law, sfllaw@debian.org) -+ * Support disabling of mode-cycling -+ 23/10/2003 (Simon Law, sfllaw@debian.org) -+ * Eliminated exploitable static buffers -+ * Added -geometry support. -+ * /proc/meminfo support for Linux 2.6 - 18/05/1998 (Antoine Nulle, warp@xs4all.nl) - * MEM/SWAP/UPTIME only updated when visible - * Using global file descriptors to reduce file -@@ -65,6 +71,7 @@ - * First Working Version - */ - -+#define _GNU_SOURCE - #include - #include - #include -@@ -100,31 +107,28 @@ - /* Global Variables */ - /********************/ - --char *ProgName; - int stat_current = 0; /* now global */ -+int mode_cycling = 1; /* Allow mode-cycling */ - FILE *fp_meminfo; - FILE *fp_stat; - FILE *fp_loadavg; - - /* functions */ --void usage(void); -+void usage(char*); - void printversion(void); - void DrawStats(int *, int, int, int, int); - void DrawStats_io(int *, int, int, int, int); - - void wmmon_routine(int, char **); - --void main(int argc, char *argv[]) { -+int main(int argc, char *argv[]) { - - int i; -+ char *name = argv[0]; - - - /* Parse Command Line */ - -- ProgName = argv[0]; -- if (strlen(ProgName) >= 5) -- ProgName += (strlen(ProgName) - 5); -- - for (i=1; i= 0) { -+ parse_rcfile(conffile, wmmon_keys); -+ free(conffile); -+ } - -- p = getenv("HOME"); -- strcpy(temp, p); -- strcat(temp, "/.wmmonrc"); -- parse_rcfile(temp, wmmon_keys); -- -- strcpy(temp, "/etc/wmmonrc.fixed"); -- parse_rcfile(temp, wmmon_keys); -+ if (asprintf(&conffile, "%s/.wmmonrc", getenv("HOME")) >= 0) { -+ parse_rcfile(conffile, wmmon_keys); -+ free(conffile); -+ } -+ -+ if (asprintf(&conffile, "/etc/wmmonrc.fixed") >= 0) { -+ parse_rcfile(conffile, wmmon_keys); -+ free(conffile); -+ } - - stat_online = checksysdevs(); - -@@ -269,26 +286,36 @@ - starttime = time(0); - nexttime = starttime + 10; - -+ /* Collect information on each panel */ - for (i=0; i= nexttime) { - nexttime+=10; - -+ if (curtime > nexttime) /* dont let APM suspends make this crazy */ -+ nexttime = curtime; -+ - for (i=0; i= 0) { -+ if (but_stat == i && but_stat >= 0 && mode_cycling) { - switch (but_stat) { - case 0: - switch (Event.xbutton.button) { -@@ -430,7 +460,6 @@ - } - case 1: - stat_current++; -- printf("current stat is :%d\n", stat_current); - if (stat_current == stat_online) - stat_current = 0; - -@@ -499,43 +528,80 @@ - - void update_stat_mem(stat_dev *st, stat_dev *st2) { - -- char temp[128]; -+ static char *line = NULL; -+ static size_t line_size = 0; -+ -+ unsigned long swapfree; - unsigned long free, shared, buffers, cached; - - freopen("/proc/meminfo", "r", fp_meminfo); -- while (fgets(temp, 128, fp_meminfo)) { -- if (strstr(temp, "Mem:")) { -- sscanf(temp, "Mem: %ld %ld %ld %ld %ld %ld", -- &st->rt_idle, &st->rt_stat, -- &free, &shared, &buffers, &cached); -- st->rt_idle >>= 10; -- st->rt_stat -= buffers+cached; -- st->rt_stat >>= 10; --// break; -- } -- if (strstr(temp, "Swap:")) { -- sscanf(temp, "Swap: %ld %ld", &st2->rt_idle, &st2->rt_stat); -- st2->rt_idle >>= 10; -- st2->rt_stat >>= 10; -- break; -+ while ((getline(&line, &line_size, fp_meminfo)) > 0) { -+ /* The original format for the first two lines of /proc/meminfo was -+ * Mem: total used free shared buffers cached -+ * Swap: total used free -+ * -+ * As of at least 2.5.47 these two lines were removed, so that the -+ * required information has to come from the rest of the lines. -+ * On top of that, used is no longer recorded - you have to work -+ * this out yourself, from total - free. -+ * -+ * So, these changes below should work. They should also work with -+ * older kernels, too, since the new format has been available for -+ * ages. -+ */ -+ if (strstr(line, "MemTotal:")) { -+ sscanf(line, "MemTotal: %ld", &st->rt_idle); -+ } -+ else if (strstr(line, "MemFree:")) { -+ sscanf(line, "MemFree: %ld", &free); -+ } -+ else if (strstr(line, "MemShared:")) { -+ sscanf(line, "MemShared: %ld", &shared); -+ } -+ else if (strstr(line, "Buffers:")) { -+ sscanf(line, "Buffers: %ld", &buffers); -+ } -+ else if (strstr(line, "Cached:")) { -+ sscanf(line, "Cached: %ld", &cached); -+ } -+ else if (strstr(line, "SwapTotal:")) { -+ sscanf(line, "SwapTotal: %ld", &st2->rt_idle); -+ } -+ else if (strstr(line, "SwapFree:")) { -+ sscanf(line, "SwapFree: %ld", &swapfree); - } - } -+ -+ /* memory use - rt_stat is the amount used, it seems, and this isn't -+ * recorded in current version of /proc/meminfo (as of 2.5.47), so we -+ * calculate it from MemTotal - MemFree -+ */ -+ st->rt_stat = st->rt_idle - free; -+ st->rt_stat -= buffers+cached; -+ /* As with the amount of memory used, it's not recorded any more, so -+ * we have to calculate it ourselves. -+ */ -+ st2->rt_stat = st2->rt_idle - swapfree; - } - - void update_stat_swp(stat_dev *st) { - -- char temp[128]; -+ static char *line = NULL; -+ static size_t line_size = 0; -+ unsigned long swapfree; - - fseek(fp_meminfo, 0, SEEK_SET); -- while (fgets(temp, 128, fp_meminfo)) { -- if (strstr(temp, "Swap:")) { -- sscanf(temp, "Swap: %ld %ld", &st->rt_idle, &st->rt_stat); -- st->rt_idle >>= 10; -- st->rt_stat >>= 10; -- break; -+ while ((getline(&line, &line_size, fp_meminfo)) > 0) { -+ /* As with update_stat_mem(), the format change to /proc/meminfo has -+ * forced some changes here. */ -+ if (strstr(line, "SwapTotal:")) { -+ sscanf(line, "SwapTotal: %ld", &st->rt_idle); -+ } -+ else if (strstr(line, "SwapFree:")) { -+ sscanf(line, "SwapFree: %ld", &swapfree); - } - } -- -+ st->rt_stat = st->rt_idle - swapfree; - } - - /*******************************************************************************\ -@@ -545,11 +611,11 @@ - void get_statistics(char *devname, long *is, long *ds, long *idle) { - - int i; -- char temp[128]; -+ static char *line = NULL; -+ static size_t line_size = 0; - char *p; - char *tokens = " \t\n"; - float f; -- long maxdiskio=0; - - *is = 0; - *ds = 0; -@@ -557,9 +623,9 @@ - - if (!strncmp(devname, "cpu", 3)) { - fseek(fp_stat, 0, SEEK_SET); -- while (fgets(temp, 128, fp_stat)) { -- if (strstr(temp, "cpu")) { -- p = strtok(temp, tokens); -+ while ((getline(&line, &line_size, fp_stat)) > 0) { -+ if (strstr(line, "cpu ")) { -+ p = strtok(line, tokens); - /* 1..3, 4 == idle, we don't want idle! */ - for (i=0; i<3; i++) { - p = strtok(NULL, tokens); -@@ -577,17 +643,35 @@ - if (!strncmp(devname, "i/o", 3)) { - - fseek(fp_stat, 0, SEEK_SET); -- while (fgets(temp, 128, fp_stat)) { -- if (strstr(temp, "disk_rio") || strstr(temp, "disk_wio")) { -- p = strtok(temp, tokens); -+ while ((getline(&line, &line_size, fp_stat)) > 0) { -+ if (strstr(line, "disk_rio") || strstr(line, "disk_wio")) { -+ p = strtok(line, tokens); - /* 1..4 */ - for (i=0; i<4; i++) { - p = strtok(NULL, tokens); - *ds += atol(p); - } - } -+ else if (strstr(line, "disk_io")) { -+ int val; -+ unsigned int a, b, c, d, e, h, g; -+ -+ p = strtok(line, tokens); -+ -+ while ((p = strtok(NULL, tokens))) { -+ val = sscanf (p, -+ "(%d,%d):(%d,%d,%d,%d,%d)", -+ &a, &b, &c, &d, &e, &h, -+ &g); -+ -+ if (val != 7) -+ continue; -+ -+ *ds += d; -+ *ds += h; -+ } -+ } - } -- if (*ds > maxdiskio) maxdiskio = *ds; - } - } - -@@ -715,16 +799,17 @@ - |* usage *| - \*******************************************************************************/ - --void usage(void) { -- -- fprintf(stderr, "\nwmmon - programming: tijno, (de)bugging & design warp, webhosting: bobby\n\n"); -- fprintf(stderr, "usage:\n"); -- fprintf(stderr, "\t-display \n"); -- fprintf(stderr, "\t-h\tthis screen\n"); -- fprintf(stderr, "\t-v\tprint the version number\n"); -- fprintf(stderr, "\t-i\tstartup in DiskIO mode\n"); -- fprintf(stderr, "\t-s\tstartup in SysInfo mode\n"); -- fprintf(stderr, "\n"); -+void usage(char *name) { -+ printf("Usage: %s [OPTION]...\n", name); -+ printf("WindowMaker dockapp that displays system information.\n"); -+ printf("\n"); -+ printf(" -display DISPLAY contact the DISPLAY X server\n"); -+ printf(" -geometry GEOMETRY position the clock at GEOMETRY\n"); -+ printf(" -l locked view - cannot cycle modes\n"); -+ printf(" -i start in Disk I/O mode\n"); -+ printf(" -s start in System Info mode\n"); -+ printf(" -h display this help and exit\n"); -+ printf(" -v output version information and exit\n"); - } - - /*******************************************************************************\ -@@ -733,7 +818,7 @@ - - void printversion(void) { - -- if (!strcmp(ProgName, "wmmon")) { -- fprintf(stderr, "%s\n", WMMON_VERSION); -- } -+ printf("WMMon version %s\n", WMMON_VERSION); - } -+/* vim: sw=4 ts=4 columns=82 -+ */ ---- wmmon-1.0b2.orig/wmmon/wmmon.1 -+++ wmmon-1.0b2/wmmon/wmmon.1 -@@ -0,0 +1,192 @@ -+'\" t -+.\" Man page for wmmon -+.\" Copyright (c) 2003 Software in the Public Interest, Inc. -+.\" -+.\" This program is free software; you can redistribute it and/or modify -+.\" it under the terms of the GNU General Public License as published by -+.\" the Free Software Foundation; either version 2 of the License, or (at -+.\" your option) any later version. -+.\" -+.\" This program is distributed in the hope that it will be useful, but -+.\" WITHOUT ANY WARRANTY; without even the implied warranty of -+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+.\" General Public License for more details. -+.\" -+.\" You should have received a copy of the GNU General Public License -+.\" along with this program; if not, write to the Free Software -+.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. -+.\" -+.TH wmmon 1 "May 1998" "WMMON 1.0b2" -+ -+.SH NAME -+wmmon \- Window Maker dockapp for monitoring system information -+ -+.SH SYNOPSIS -+ -+.B wmmon -+[ -+.I OPTION -+] -+ -+.SH DESCRIPTION -+ -+.B WMMon -+monitors the realtime CPU load as well as the average system load, -+and gives you some nice additional features too. It is intended for -+docking in Window Maker. -+ -+It currently provides: -+ -+.IP \(bu 4 -+a realtime CPU stress meter; -+.IP \(bu -+an auto-scaled average system load meter, like -+.B xload -+and -+.BR wmavgload ; -+.IP \(bu -+a realtime disk I/O stress meter; -+.IP \(bu -+auto-scaled disk I/O load meter; -+.IP \(bu -+realtime memory and swap usage meters; -+.IP \(bu -+a display for system uptime; -+.IP \(bu -+three user-defined commands to launch. -+ -+.SH OPTIONS -+ -+.TP -+.BI \-display \ display -+This option specifies the X server to contact; see -+.IR X(7x) . -+ -+.TP -+.BI \-geometry \ geometry -+This option specifies the preferred position of clock; see -+.IR X(7x) . -+ -+.TP -+.BR \-l -+Lock the mode, so that it cannot be cycled by clicking on the upper-left -+widget. You can use this to open multiple copies of -+.BR WMMon , -+each set to a different mode. -+ -+.TP -+.BR \-i -+Start in disk I/O mode, which displays instantaneous disk usage and -+average disk load. -+ -+.TP -+.BR \-s -+Start in system information mode, which displays memory usage, swap usage, -+and uptime. -+ -+.TP -+.B \-h -+Show help information. -+ -+.TP -+.B \-v -+Print the version number. -+ -+.SH USAGE -+The -+.B WMMon -+display can be cycled between CPU, disk I/O, and system -+information displays by clicking on the upper-left widget. This -+displays CPU information by default. -+ -+WMMon can also be used to launch programs. You may click either left, -+middle, or right mouse buttons in the average-load section of the -+window. The pre-configured program will be launched according to the -+mouse button clicked. (see -+.B CONFIGURATION FILE -+below.) -+ -+In order to move -+.BR WMMon , -+drag on the outer edges. These are not sensitive to mouse clicks. -+ -+.SH "DOCKING IN WINDOW MANAGERS" -+ -+.TP -+Window Maker -+ -+Window Maker users should drag and drop the -+.B WMMon -+window on the Dock. Then, right-click on the border of the window and -+select \*(lqSettings...\*(rq. Check \*(lqStart when Window Maker -+is started\*(rq. -+ -+.TP -+AfterStep -+ -+AfterStep users should put the following in their -+.I $HOME/.steprc -+ -+.RS 16 -+Wharf wmmon \- MaxSwallow "wmmon" wmmon & -+.RE -+ -+.TP -+Other window managers -+ -+.B WMMon -+runs nicely as a 64x64 shaped icon on your desktop. -+ -+.SH "CONFIGURATION FILE" -+ -+.B WMMon -+can launch three user-defined commands, triggered by left, middle and -+right mouse button clicks. You can define the commands to launch in -+.I $HOME/.wmmonrc -+ -+.RS -+.PD 0 -+left: xterm -+.PP -+middle: xload -+.PP -+right: xcalc -+.PP -+.PD -+.RE -+ -+If -+.B WMMon -+detects a -+.I $HOME/.wmmonrc -+file, it will launch the appropriate command when you click on the clock. -+ -+The system administrator can define default commands in -+.IR /etc/wmmonrc . -+The administrator may also choose to \*(lqfix\*(rq particular commands, -+making it impossible for users to change. These commands can be defined in -+.IR /etc/wmmonrc.fixed , -+although this isn't a nice thing to do. -+ -+.SH FILES -+ -+.I /etc/wmmonrc -+.br -+.I $HOME/.wmmonrc -+.br -+.I /etc/wmmonrc.fixed -+ -+.SH AUTHORS -+ -+.B WMMon -+was written by Martijn Pieterse and Antoine Nulle. -+ -+This manual page was written by Simon Law for the -+.B Debian -+system (but may be used by others). It is based on the documentation provided -+by the original program. -+ -+This manual is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 2 of the License, or (at -+your option) any later version. ---- wmmon-1.0b2.orig/debian/examples -+++ wmmon-1.0b2/debian/examples -@@ -0,0 +1 @@ -+debian/wmmonrc ---- wmmon-1.0b2.orig/debian/dirs -+++ wmmon-1.0b2/debian/dirs -@@ -0,0 +1 @@ -+usr/bin ---- wmmon-1.0b2.orig/debian/rules -+++ wmmon-1.0b2/debian/rules -@@ -0,0 +1,96 @@ -+#!/usr/bin/make -f -+# -+# debian/rules file for wmmon. -+# Copyright (C) 2003 Software in the Public Interest. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or (at -+# your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+# -+# Based on the sample debian/rules that uses debhelper. -+# GNU copyright 1997 to 1999 by Joey Hess. -+ -+# Uncomment this to turn on verbose mode. -+#export DH_VERBOSE=1 -+ -+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) -+ CFLAGS += -g -+endif -+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) -+ INSTALL_PROGRAM += -s -+endif -+ -+build: build-stamp -+ -+build-stamp: -+ dh_testdir -+ -+ # Add here commands to compile the package. -+ cd wmmon; $(MAKE) -+ -+ touch build-stamp -+ -+clean: -+ dh_testdir -+ dh_testroot -+ rm -f build-stamp -+ -+ # Add here commands to clean up after the build process. -+ -cd wmmon; $(MAKE) clean -+ -+ dh_clean -+ -+install: build -+ dh_testdir -+ dh_testroot -+ dh_clean -k -+ dh_installdirs -+ -+ # Add here commands to install the package into debian/wmmon. -+ install -m 755 wmmon/wmmon $(CURDIR)/debian/wmmon/usr/bin -+ -+# Build architecture-independent files here. -+binary-indep: build install -+# We have nothing to do by default. -+ -+# Build architecture-dependent files here. -+binary-arch: build install -+ dh_testdir -+ dh_testroot -+ dh_installdebconf -+ dh_installdocs -+ dh_installexamples -+ dh_installmenu -+# dh_installlogrotate -+# dh_installemacsen -+# dh_installpam -+# dh_installmime -+# dh_installinit -+# dh_installcron -+ dh_installman -+# dh_installinfo -+ dh_installchangelogs CHANGES -+ dh_link -+ dh_strip -+ dh_compress -+ dh_fixperms -+# dh_makeshlibs -+ dh_installdeb -+# dh_perl -+ dh_shlibdeps -+ dh_gencontrol -+ dh_md5sums -+ dh_builddeb -+ -+binary: binary-indep binary-arch -+.PHONY: build clean binary-indep binary-arch binary install ---- wmmon-1.0b2.orig/debian/menu -+++ wmmon-1.0b2/debian/menu -@@ -0,0 +1,6 @@ -+?package(wmmon):\ -+ needs="X11"\ -+ section="Apps/System"\ -+ title="WMmon"\ -+ command="/usr/bin/wmmon"\ -+ hints="Monitoring,Dockapp" ---- wmmon-1.0b2.orig/debian/changelog -+++ wmmon-1.0b2/debian/changelog -@@ -0,0 +1,100 @@ -+wmmon (1.0b2-14) unstable; urgency=medium -+ -+ * Fixed build dependencies so we no longer depend on libxpm4-dev. -+ * Quoted all strings in /usr/lib/menu/wmtime. -+ * Add the ability to lock the mode, preventing cycling. Thanks go to -+ Chris Bechberger . -+ -+ -- Simon Law Tue, 10 Aug 2004 21:22:17 -0400 -+ -+wmmon (1.0b2-13) unstable; urgency=low -+ -+ * Removed a memory leak that I introduced. (Closes: Bug#223338) -+ -+ -- Simon Law Tue, 09 Dec 2003 12:42:41 -0500 -+ -+wmmon (1.0b2-12) unstable; urgency=low -+ -+ * Changed section to x11. -+ -+ -- Simon Law Fri, 05 Dec 2003 11:17:21 -0500 -+ -+wmmon (1.0b2-11) unstable; urgency=low -+ -+ * New maintainer. -+ * Added a manual page. -+ * Added the -geometry option. -+ * Ensure that I/O mode works the same no matter how it is started. -+ (Closes: Bug#94277) -+ * Support new /proc/meminfo format in 2.6 kernels. (Closes: Bug#169160) -+ * Fixed some buffer overflow problems. (Closes: Bug#174949) -+ -+ -- Simon Law Wed, 26 Nov 2003 23:47:47 -0500 -+ -+wmmon (1.0b2-10) unstable; urgency=low -+ -+ * Fixed build depends (closes: #170133) -+ * Applied patch from Simon Fowler to fix /proc/meminfo -+ parsing for linux 2.5. -+ -+ -- Fredrik Hallenberg Fri, 22 Nov 2002 14:17:26 +0100 -+ -+wmmon (1.0b2-9) unstable; urgency=low -+ -+ * Remove debug message (closes: #139408) -+ * Applied patch from Frederik Schueler -+ to fix /proc/stat parsing on linux 2.4 (closes: #144122) -+ -+ -- Fredrik Hallenberg Tue, 23 Apr 2002 21:39:09 +0200 -+ -+wmmon (1.0b2-8) unstable; urgency=low -+ -+ * Fixed menu path (closes: #129353) -+ -+ -- Fredrik Hallenberg Thu, 17 Jan 2002 21:35:03 +0100 -+ -+wmmon (1.0b2-7) unstable; urgency=low -+ -+ * Updated description (closes: #125496) -+ * Don't install INSTALL (closes: #116940) -+ * Changed section to utils -+ -+ -- Fredrik Hallenberg Wed, 2 Jan 2002 23:19:06 +0100 -+ -+wmmon (1.0b2-6) unstable; urgency=low -+ -+ * Updated menu with patch from Arthur Korn -+ (closes: #82315) -+ -+ -- Fredrik Hallenberg Mon, 15 Jan 2001 07:56:10 +0100 -+ -+wmmon (1.0b2-5) unstable; urgency=low -+ -+ * Build without xpm4.7 (closes: #77466) -+ -+ -- Fredrik Hallenberg Sun, 19 Nov 2000 22:17:03 +0100 -+ -+wmmon (1.0b2-4) unstable; urgency=low -+ -+ * Added menu entry (closes: #76969) -+ -+ -- Fredrik Hallenberg Sat, 18 Nov 2000 21:14:56 +0100 -+ -+wmmon (1.0b2-3) unstable; urgency=low -+ -+ * Rebuild to update libxmp dependency. (closes: #67990) -+ -+ -- Fredrik Hallenberg Mon, 31 Jul 2000 07:25:09 +0200 -+ -+wmmon (1.0b2-2) unstable; urgency=low -+ -+ * Patch from Salvador Pinto Abreu : -+ Fixed behavior when APM causes the system to sleep/suspend. -+ -+ -- Fredrik Hallenberg Sat, 17 Oct 1998 13:35:55 +0200 -+ -+wmmon (1.0b2-1) unstable; urgency=low -+ -+ * Initial Release. -+ -+ -- Fredrik Hallenberg Wed, 15 Jul 1998 18:18:37 +0200 ---- wmmon-1.0b2.orig/debian/control -+++ wmmon-1.0b2/debian/control -@@ -0,0 +1,24 @@ -+Source: wmmon -+Section: x11 -+Priority: optional -+Maintainer: Simon Law -+Standards-Version: 3.6.1 -+Build-Depends: debhelper (>> 4.0.0), libx11-dev, libxpm-dev, libxext-dev -+ -+Package: wmmon -+Architecture: any -+Depends: ${shlibs:Depends}, ${misc:Depends} -+Description: Window Maker dockapp for monitoring system information -+ WMMon monitors the realtime CPU load as well as the average system load, -+ and gives you some nice additional features too. It is intended for -+ docking in Window Maker. -+ . -+ It currently provides: -+ . -+ * a realtime CPU stress meter; -+ * an auto-scaled average system load meter, like xload and wmavgload; -+ * a realtime disk I/O stress meter; -+ * auto-scaled disk I/O load meter; -+ * realtime memory and swap usage meters; -+ * a display for system uptime; -+ * three user-defined commands to launch. ---- wmmon-1.0b2.orig/debian/copyright -+++ wmmon-1.0b2/debian/copyright -@@ -0,0 +1,25 @@ -+This package was debianized by Fredrik Hallenberg hallon@debian.org on -+Wed, 15 Jul 1998 18:18:37 +0200. -+ -+It was downloaded from http://www.xs4all.nl/~warp/files/wmmon-1.0b2.tar.gz -+ -+Upstream Copyright: -+ -+ Copyright (c) 1997, 1998 by Martijn Pieterse and Antoine Nulle -+ -+ This program is free software; you can redistribute it and/or modify it -+ under the terms of the GNU General Public License as published by the -+ Free Software Foundation; either version 2, or (at your option) any -+ later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+On Debian GNU/Linux systems, the complete text of the GNU General -+Public License can be found in `/usr/share/common-licenses/GPL'. ---- wmmon-1.0b2.orig/debian/manpages -+++ wmmon-1.0b2/debian/manpages -@@ -0,0 +1 @@ -+wmmon/wmmon.1 ---- wmmon-1.0b2.orig/debian/compat -+++ wmmon-1.0b2/debian/compat -@@ -0,0 +1 @@ -+4 ---- wmmon-1.0b2.orig/debian/wmmonrc -+++ wmmon-1.0b2/debian/wmmonrc -@@ -0,0 +1,3 @@ -+left: xterm -+middle: xload -+right: xcalc diff --git a/desktop/wmmon/patches/wmmon_1_0b2-p14.diff b/desktop/wmmon/patches/wmmon_1_0b2-p14.diff new file mode 100644 index 0000000000..acb1979f5a --- /dev/null +++ b/desktop/wmmon/patches/wmmon_1_0b2-p14.diff @@ -0,0 +1,996 @@ +--- wmmon-1.0b2.orig/wmgeneral/wmgeneral.c ++++ wmmon-1.0b2/wmgeneral/wmgeneral.c +@@ -12,6 +12,8 @@ + --- + CHANGES: + --- ++ 10/10/2003 (Simon Law, sfllaw@debian.org) ++ * changed the parse_rcfile function to use getline instead of fgets. + 02/05/1998 (Martijn Pieterse, pieterse@xs4all.nl) + * changed the read_rc_file to parse_rcfile, as suggester by Marcelo E. Magallon + * debugged the parse_rc file. +@@ -21,6 +23,7 @@ + + */ + ++#define _GNU_SOURCE + #include + #include + #include +@@ -83,17 +86,18 @@ + void parse_rcfile(const char *filename, rckeys *keys) { + + char *p; +- char temp[128]; ++ char *line = NULL; ++ size_t line_size = 0; + char *tokens = " :\t\n"; + FILE *fp; + int i,key; + + fp = fopen(filename, "r"); + if (fp) { +- while (fgets(temp, 128, fp)) { ++ while (getline(&line, &line_size, fp) >= 0) { + key = 0; + while (key >= 0 && keys[key].label) { +- if ((p = strstr(temp, keys[key].label))) { ++ if ((p = strstr(line, keys[key].label))) { + p += strlen(keys[key].label); + p += strspn(p, tokens); + if ((i = strcspn(p, "#\n"))) p[i] = 0; +@@ -270,6 +274,7 @@ + unsigned int borderwidth = 1; + XClassHint classHint; + char *display_name = NULL; ++ char *geometry = NULL; + char *wname = argv[0]; + XTextProperty name; + +@@ -282,7 +287,9 @@ + + for (i=1; argv[i]; i++) { + if (!strcmp(argv[i], "-display")) +- display_name = argv[i+1]; ++ display_name = argv[++i]; ++ else if (!strcmp(argv[i], "-geometry")) ++ geometry = argv[++i]; + } + + if (!(display = XOpenDisplay(display_name))) { +@@ -307,7 +314,11 @@ + fore_pix = GetColor("black"); + + XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints, +- &mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy); ++ &mysizehints.x, &mysizehints.y, ++ &mysizehints.width, &mysizehints.height, &dummy); ++ if (geometry) ++ XParseGeometry(geometry, &mysizehints.x, &mysizehints.y, ++ &mysizehints.width, &mysizehints.height); + + mysizehints.width = 64; + mysizehints.height = 64; +@@ -364,3 +375,6 @@ + XMapWindow(display, win); + + } ++ ++/* vim: sw=4 ts=4 columns=82 ++ */ +--- wmmon-1.0b2.orig/wmmon/wmmon.c ++++ wmmon-1.0b2/wmmon/wmmon.c +@@ -28,6 +28,12 @@ + Changes: + ---- + ++ 15/05/2004 (Simon Law, sfllaw@debian.org) ++ * Support disabling of mode-cycling ++ 23/10/2003 (Simon Law, sfllaw@debian.org) ++ * Eliminated exploitable static buffers ++ * Added -geometry support. ++ * /proc/meminfo support for Linux 2.6 + 18/05/1998 (Antoine Nulle, warp@xs4all.nl) + * MEM/SWAP/UPTIME only updated when visible + * Using global file descriptors to reduce file +@@ -65,6 +71,7 @@ + * First Working Version + */ + ++#define _GNU_SOURCE + #include + #include + #include +@@ -100,31 +107,28 @@ + /* Global Variables */ + /********************/ + +-char *ProgName; + int stat_current = 0; /* now global */ ++int mode_cycling = 1; /* Allow mode-cycling */ + FILE *fp_meminfo; + FILE *fp_stat; + FILE *fp_loadavg; + + /* functions */ +-void usage(void); ++void usage(char*); + void printversion(void); + void DrawStats(int *, int, int, int, int); + void DrawStats_io(int *, int, int, int, int); + + void wmmon_routine(int, char **); + +-void main(int argc, char *argv[]) { ++int main(int argc, char *argv[]) { + + int i; ++ char *name = argv[0]; + + + /* Parse Command Line */ + +- ProgName = argv[0]; +- if (strlen(ProgName) >= 5) +- ProgName += (strlen(ProgName) - 5); +- + for (i=1; i= 0) { ++ parse_rcfile(conffile, wmmon_keys); ++ free(conffile); ++ } + +- p = getenv("HOME"); +- strcpy(temp, p); +- strcat(temp, "/.wmmonrc"); +- parse_rcfile(temp, wmmon_keys); +- +- strcpy(temp, "/etc/wmmonrc.fixed"); +- parse_rcfile(temp, wmmon_keys); ++ if (asprintf(&conffile, "%s/.wmmonrc", getenv("HOME")) >= 0) { ++ parse_rcfile(conffile, wmmon_keys); ++ free(conffile); ++ } ++ ++ if (asprintf(&conffile, "/etc/wmmonrc.fixed") >= 0) { ++ parse_rcfile(conffile, wmmon_keys); ++ free(conffile); ++ } + + stat_online = checksysdevs(); + +@@ -269,26 +286,36 @@ + starttime = time(0); + nexttime = starttime + 10; + ++ /* Collect information on each panel */ + for (i=0; i= nexttime) { + nexttime+=10; + ++ if (curtime > nexttime) /* dont let APM suspends make this crazy */ ++ nexttime = curtime; ++ + for (i=0; i= 0) { ++ if (but_stat == i && but_stat >= 0 && mode_cycling) { + switch (but_stat) { + case 0: + switch (Event.xbutton.button) { +@@ -430,7 +460,6 @@ + } + case 1: + stat_current++; +- printf("current stat is :%d\n", stat_current); + if (stat_current == stat_online) + stat_current = 0; + +@@ -499,43 +528,80 @@ + + void update_stat_mem(stat_dev *st, stat_dev *st2) { + +- char temp[128]; ++ static char *line = NULL; ++ static size_t line_size = 0; ++ ++ unsigned long swapfree; + unsigned long free, shared, buffers, cached; + + freopen("/proc/meminfo", "r", fp_meminfo); +- while (fgets(temp, 128, fp_meminfo)) { +- if (strstr(temp, "Mem:")) { +- sscanf(temp, "Mem: %ld %ld %ld %ld %ld %ld", +- &st->rt_idle, &st->rt_stat, +- &free, &shared, &buffers, &cached); +- st->rt_idle >>= 10; +- st->rt_stat -= buffers+cached; +- st->rt_stat >>= 10; +-// break; +- } +- if (strstr(temp, "Swap:")) { +- sscanf(temp, "Swap: %ld %ld", &st2->rt_idle, &st2->rt_stat); +- st2->rt_idle >>= 10; +- st2->rt_stat >>= 10; +- break; ++ while ((getline(&line, &line_size, fp_meminfo)) > 0) { ++ /* The original format for the first two lines of /proc/meminfo was ++ * Mem: total used free shared buffers cached ++ * Swap: total used free ++ * ++ * As of at least 2.5.47 these two lines were removed, so that the ++ * required information has to come from the rest of the lines. ++ * On top of that, used is no longer recorded - you have to work ++ * this out yourself, from total - free. ++ * ++ * So, these changes below should work. They should also work with ++ * older kernels, too, since the new format has been available for ++ * ages. ++ */ ++ if (strstr(line, "MemTotal:")) { ++ sscanf(line, "MemTotal: %ld", &st->rt_idle); ++ } ++ else if (strstr(line, "MemFree:")) { ++ sscanf(line, "MemFree: %ld", &free); ++ } ++ else if (strstr(line, "MemShared:")) { ++ sscanf(line, "MemShared: %ld", &shared); ++ } ++ else if (strstr(line, "Buffers:")) { ++ sscanf(line, "Buffers: %ld", &buffers); ++ } ++ else if (strstr(line, "Cached:")) { ++ sscanf(line, "Cached: %ld", &cached); ++ } ++ else if (strstr(line, "SwapTotal:")) { ++ sscanf(line, "SwapTotal: %ld", &st2->rt_idle); ++ } ++ else if (strstr(line, "SwapFree:")) { ++ sscanf(line, "SwapFree: %ld", &swapfree); + } + } ++ ++ /* memory use - rt_stat is the amount used, it seems, and this isn't ++ * recorded in current version of /proc/meminfo (as of 2.5.47), so we ++ * calculate it from MemTotal - MemFree ++ */ ++ st->rt_stat = st->rt_idle - free; ++ st->rt_stat -= buffers+cached; ++ /* As with the amount of memory used, it's not recorded any more, so ++ * we have to calculate it ourselves. ++ */ ++ st2->rt_stat = st2->rt_idle - swapfree; + } + + void update_stat_swp(stat_dev *st) { + +- char temp[128]; ++ static char *line = NULL; ++ static size_t line_size = 0; ++ unsigned long swapfree; + + fseek(fp_meminfo, 0, SEEK_SET); +- while (fgets(temp, 128, fp_meminfo)) { +- if (strstr(temp, "Swap:")) { +- sscanf(temp, "Swap: %ld %ld", &st->rt_idle, &st->rt_stat); +- st->rt_idle >>= 10; +- st->rt_stat >>= 10; +- break; ++ while ((getline(&line, &line_size, fp_meminfo)) > 0) { ++ /* As with update_stat_mem(), the format change to /proc/meminfo has ++ * forced some changes here. */ ++ if (strstr(line, "SwapTotal:")) { ++ sscanf(line, "SwapTotal: %ld", &st->rt_idle); ++ } ++ else if (strstr(line, "SwapFree:")) { ++ sscanf(line, "SwapFree: %ld", &swapfree); + } + } +- ++ st->rt_stat = st->rt_idle - swapfree; + } + + /*******************************************************************************\ +@@ -545,11 +611,11 @@ + void get_statistics(char *devname, long *is, long *ds, long *idle) { + + int i; +- char temp[128]; ++ static char *line = NULL; ++ static size_t line_size = 0; + char *p; + char *tokens = " \t\n"; + float f; +- long maxdiskio=0; + + *is = 0; + *ds = 0; +@@ -557,9 +623,9 @@ + + if (!strncmp(devname, "cpu", 3)) { + fseek(fp_stat, 0, SEEK_SET); +- while (fgets(temp, 128, fp_stat)) { +- if (strstr(temp, "cpu")) { +- p = strtok(temp, tokens); ++ while ((getline(&line, &line_size, fp_stat)) > 0) { ++ if (strstr(line, "cpu ")) { ++ p = strtok(line, tokens); + /* 1..3, 4 == idle, we don't want idle! */ + for (i=0; i<3; i++) { + p = strtok(NULL, tokens); +@@ -577,17 +643,35 @@ + if (!strncmp(devname, "i/o", 3)) { + + fseek(fp_stat, 0, SEEK_SET); +- while (fgets(temp, 128, fp_stat)) { +- if (strstr(temp, "disk_rio") || strstr(temp, "disk_wio")) { +- p = strtok(temp, tokens); ++ while ((getline(&line, &line_size, fp_stat)) > 0) { ++ if (strstr(line, "disk_rio") || strstr(line, "disk_wio")) { ++ p = strtok(line, tokens); + /* 1..4 */ + for (i=0; i<4; i++) { + p = strtok(NULL, tokens); + *ds += atol(p); + } + } ++ else if (strstr(line, "disk_io")) { ++ int val; ++ unsigned int a, b, c, d, e, h, g; ++ ++ p = strtok(line, tokens); ++ ++ while ((p = strtok(NULL, tokens))) { ++ val = sscanf (p, ++ "(%d,%d):(%d,%d,%d,%d,%d)", ++ &a, &b, &c, &d, &e, &h, ++ &g); ++ ++ if (val != 7) ++ continue; ++ ++ *ds += d; ++ *ds += h; ++ } ++ } + } +- if (*ds > maxdiskio) maxdiskio = *ds; + } + } + +@@ -715,16 +799,17 @@ + |* usage *| + \*******************************************************************************/ + +-void usage(void) { +- +- fprintf(stderr, "\nwmmon - programming: tijno, (de)bugging & design warp, webhosting: bobby\n\n"); +- fprintf(stderr, "usage:\n"); +- fprintf(stderr, "\t-display \n"); +- fprintf(stderr, "\t-h\tthis screen\n"); +- fprintf(stderr, "\t-v\tprint the version number\n"); +- fprintf(stderr, "\t-i\tstartup in DiskIO mode\n"); +- fprintf(stderr, "\t-s\tstartup in SysInfo mode\n"); +- fprintf(stderr, "\n"); ++void usage(char *name) { ++ printf("Usage: %s [OPTION]...\n", name); ++ printf("WindowMaker dockapp that displays system information.\n"); ++ printf("\n"); ++ printf(" -display DISPLAY contact the DISPLAY X server\n"); ++ printf(" -geometry GEOMETRY position the clock at GEOMETRY\n"); ++ printf(" -l locked view - cannot cycle modes\n"); ++ printf(" -i start in Disk I/O mode\n"); ++ printf(" -s start in System Info mode\n"); ++ printf(" -h display this help and exit\n"); ++ printf(" -v output version information and exit\n"); + } + + /*******************************************************************************\ +@@ -733,7 +818,7 @@ + + void printversion(void) { + +- if (!strcmp(ProgName, "wmmon")) { +- fprintf(stderr, "%s\n", WMMON_VERSION); +- } ++ printf("WMMon version %s\n", WMMON_VERSION); + } ++/* vim: sw=4 ts=4 columns=82 ++ */ +--- wmmon-1.0b2.orig/wmmon/wmmon.1 ++++ wmmon-1.0b2/wmmon/wmmon.1 +@@ -0,0 +1,192 @@ ++'\" t ++.\" Man page for wmmon ++.\" Copyright (c) 2003 Software in the Public Interest, Inc. ++.\" ++.\" This program is free software; you can redistribute it and/or modify ++.\" it under the terms of the GNU General Public License as published by ++.\" the Free Software Foundation; either version 2 of the License, or (at ++.\" your option) any later version. ++.\" ++.\" This program is distributed in the hope that it will be useful, but ++.\" WITHOUT ANY WARRANTY; without even the implied warranty of ++.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++.\" General Public License for more details. ++.\" ++.\" You should have received a copy of the GNU General Public License ++.\" along with this program; if not, write to the Free Software ++.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. ++.\" ++.TH wmmon 1 "May 1998" "WMMON 1.0b2" ++ ++.SH NAME ++wmmon \- Window Maker dockapp for monitoring system information ++ ++.SH SYNOPSIS ++ ++.B wmmon ++[ ++.I OPTION ++] ++ ++.SH DESCRIPTION ++ ++.B WMMon ++monitors the realtime CPU load as well as the average system load, ++and gives you some nice additional features too. It is intended for ++docking in Window Maker. ++ ++It currently provides: ++ ++.IP \(bu 4 ++a realtime CPU stress meter; ++.IP \(bu ++an auto-scaled average system load meter, like ++.B xload ++and ++.BR wmavgload ; ++.IP \(bu ++a realtime disk I/O stress meter; ++.IP \(bu ++auto-scaled disk I/O load meter; ++.IP \(bu ++realtime memory and swap usage meters; ++.IP \(bu ++a display for system uptime; ++.IP \(bu ++three user-defined commands to launch. ++ ++.SH OPTIONS ++ ++.TP ++.BI \-display \ display ++This option specifies the X server to contact; see ++.IR X(7x) . ++ ++.TP ++.BI \-geometry \ geometry ++This option specifies the preferred position of clock; see ++.IR X(7x) . ++ ++.TP ++.BR \-l ++Lock the mode, so that it cannot be cycled by clicking on the upper-left ++widget. You can use this to open multiple copies of ++.BR WMMon , ++each set to a different mode. ++ ++.TP ++.BR \-i ++Start in disk I/O mode, which displays instantaneous disk usage and ++average disk load. ++ ++.TP ++.BR \-s ++Start in system information mode, which displays memory usage, swap usage, ++and uptime. ++ ++.TP ++.B \-h ++Show help information. ++ ++.TP ++.B \-v ++Print the version number. ++ ++.SH USAGE ++The ++.B WMMon ++display can be cycled between CPU, disk I/O, and system ++information displays by clicking on the upper-left widget. This ++displays CPU information by default. ++ ++WMMon can also be used to launch programs. You may click either left, ++middle, or right mouse buttons in the average-load section of the ++window. The pre-configured program will be launched according to the ++mouse button clicked. (see ++.B CONFIGURATION FILE ++below.) ++ ++In order to move ++.BR WMMon , ++drag on the outer edges. These are not sensitive to mouse clicks. ++ ++.SH "DOCKING IN WINDOW MANAGERS" ++ ++.TP ++Window Maker ++ ++Window Maker users should drag and drop the ++.B WMMon ++window on the Dock. Then, right-click on the border of the window and ++select \*(lqSettings...\*(rq. Check \*(lqStart when Window Maker ++is started\*(rq. ++ ++.TP ++AfterStep ++ ++AfterStep users should put the following in their ++.I $HOME/.steprc ++ ++.RS 16 ++Wharf wmmon \- MaxSwallow "wmmon" wmmon & ++.RE ++ ++.TP ++Other window managers ++ ++.B WMMon ++runs nicely as a 64x64 shaped icon on your desktop. ++ ++.SH "CONFIGURATION FILE" ++ ++.B WMMon ++can launch three user-defined commands, triggered by left, middle and ++right mouse button clicks. You can define the commands to launch in ++.I $HOME/.wmmonrc ++ ++.RS ++.PD 0 ++left: xterm ++.PP ++middle: xload ++.PP ++right: xcalc ++.PP ++.PD ++.RE ++ ++If ++.B WMMon ++detects a ++.I $HOME/.wmmonrc ++file, it will launch the appropriate command when you click on the clock. ++ ++The system administrator can define default commands in ++.IR /etc/wmmonrc . ++The administrator may also choose to \*(lqfix\*(rq particular commands, ++making it impossible for users to change. These commands can be defined in ++.IR /etc/wmmonrc.fixed , ++although this isn't a nice thing to do. ++ ++.SH FILES ++ ++.I /etc/wmmonrc ++.br ++.I $HOME/.wmmonrc ++.br ++.I /etc/wmmonrc.fixed ++ ++.SH AUTHORS ++ ++.B WMMon ++was written by Martijn Pieterse and Antoine Nulle. ++ ++This manual page was written by Simon Law for the ++.B Debian ++system (but may be used by others). It is based on the documentation provided ++by the original program. ++ ++This manual is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 2 of the License, or (at ++your option) any later version. +--- wmmon-1.0b2.orig/debian/examples ++++ wmmon-1.0b2/debian/examples +@@ -0,0 +1 @@ ++debian/wmmonrc +--- wmmon-1.0b2.orig/debian/dirs ++++ wmmon-1.0b2/debian/dirs +@@ -0,0 +1 @@ ++usr/bin +--- wmmon-1.0b2.orig/debian/rules ++++ wmmon-1.0b2/debian/rules +@@ -0,0 +1,96 @@ ++#!/usr/bin/make -f ++# ++# debian/rules file for wmmon. ++# Copyright (C) 2003 Software in the Public Interest. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or (at ++# your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# ++# Based on the sample debian/rules that uses debhelper. ++# GNU copyright 1997 to 1999 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) ++ CFLAGS += -g ++endif ++ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) ++ INSTALL_PROGRAM += -s ++endif ++ ++build: build-stamp ++ ++build-stamp: ++ dh_testdir ++ ++ # Add here commands to compile the package. ++ cd wmmon; $(MAKE) ++ ++ touch build-stamp ++ ++clean: ++ dh_testdir ++ dh_testroot ++ rm -f build-stamp ++ ++ # Add here commands to clean up after the build process. ++ -cd wmmon; $(MAKE) clean ++ ++ dh_clean ++ ++install: build ++ dh_testdir ++ dh_testroot ++ dh_clean -k ++ dh_installdirs ++ ++ # Add here commands to install the package into debian/wmmon. ++ install -m 755 wmmon/wmmon $(CURDIR)/debian/wmmon/usr/bin ++ ++# Build architecture-independent files here. ++binary-indep: build install ++# We have nothing to do by default. ++ ++# Build architecture-dependent files here. ++binary-arch: build install ++ dh_testdir ++ dh_testroot ++ dh_installdebconf ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installlogrotate ++# dh_installemacsen ++# dh_installpam ++# dh_installmime ++# dh_installinit ++# dh_installcron ++ dh_installman ++# dh_installinfo ++ dh_installchangelogs CHANGES ++ dh_link ++ dh_strip ++ dh_compress ++ dh_fixperms ++# dh_makeshlibs ++ dh_installdeb ++# dh_perl ++ dh_shlibdeps ++ dh_gencontrol ++ dh_md5sums ++ dh_builddeb ++ ++binary: binary-indep binary-arch ++.PHONY: build clean binary-indep binary-arch binary install +--- wmmon-1.0b2.orig/debian/menu ++++ wmmon-1.0b2/debian/menu +@@ -0,0 +1,6 @@ ++?package(wmmon):\ ++ needs="X11"\ ++ section="Apps/System"\ ++ title="WMmon"\ ++ command="/usr/bin/wmmon"\ ++ hints="Monitoring,Dockapp" +--- wmmon-1.0b2.orig/debian/changelog ++++ wmmon-1.0b2/debian/changelog +@@ -0,0 +1,100 @@ ++wmmon (1.0b2-14) unstable; urgency=medium ++ ++ * Fixed build dependencies so we no longer depend on libxpm4-dev. ++ * Quoted all strings in /usr/lib/menu/wmtime. ++ * Add the ability to lock the mode, preventing cycling. Thanks go to ++ Chris Bechberger . ++ ++ -- Simon Law Tue, 10 Aug 2004 21:22:17 -0400 ++ ++wmmon (1.0b2-13) unstable; urgency=low ++ ++ * Removed a memory leak that I introduced. (Closes: Bug#223338) ++ ++ -- Simon Law Tue, 09 Dec 2003 12:42:41 -0500 ++ ++wmmon (1.0b2-12) unstable; urgency=low ++ ++ * Changed section to x11. ++ ++ -- Simon Law Fri, 05 Dec 2003 11:17:21 -0500 ++ ++wmmon (1.0b2-11) unstable; urgency=low ++ ++ * New maintainer. ++ * Added a manual page. ++ * Added the -geometry option. ++ * Ensure that I/O mode works the same no matter how it is started. ++ (Closes: Bug#94277) ++ * Support new /proc/meminfo format in 2.6 kernels. (Closes: Bug#169160) ++ * Fixed some buffer overflow problems. (Closes: Bug#174949) ++ ++ -- Simon Law Wed, 26 Nov 2003 23:47:47 -0500 ++ ++wmmon (1.0b2-10) unstable; urgency=low ++ ++ * Fixed build depends (closes: #170133) ++ * Applied patch from Simon Fowler to fix /proc/meminfo ++ parsing for linux 2.5. ++ ++ -- Fredrik Hallenberg Fri, 22 Nov 2002 14:17:26 +0100 ++ ++wmmon (1.0b2-9) unstable; urgency=low ++ ++ * Remove debug message (closes: #139408) ++ * Applied patch from Frederik Schueler ++ to fix /proc/stat parsing on linux 2.4 (closes: #144122) ++ ++ -- Fredrik Hallenberg Tue, 23 Apr 2002 21:39:09 +0200 ++ ++wmmon (1.0b2-8) unstable; urgency=low ++ ++ * Fixed menu path (closes: #129353) ++ ++ -- Fredrik Hallenberg Thu, 17 Jan 2002 21:35:03 +0100 ++ ++wmmon (1.0b2-7) unstable; urgency=low ++ ++ * Updated description (closes: #125496) ++ * Don't install INSTALL (closes: #116940) ++ * Changed section to utils ++ ++ -- Fredrik Hallenberg Wed, 2 Jan 2002 23:19:06 +0100 ++ ++wmmon (1.0b2-6) unstable; urgency=low ++ ++ * Updated menu with patch from Arthur Korn ++ (closes: #82315) ++ ++ -- Fredrik Hallenberg Mon, 15 Jan 2001 07:56:10 +0100 ++ ++wmmon (1.0b2-5) unstable; urgency=low ++ ++ * Build without xpm4.7 (closes: #77466) ++ ++ -- Fredrik Hallenberg Sun, 19 Nov 2000 22:17:03 +0100 ++ ++wmmon (1.0b2-4) unstable; urgency=low ++ ++ * Added menu entry (closes: #76969) ++ ++ -- Fredrik Hallenberg Sat, 18 Nov 2000 21:14:56 +0100 ++ ++wmmon (1.0b2-3) unstable; urgency=low ++ ++ * Rebuild to update libxmp dependency. (closes: #67990) ++ ++ -- Fredrik Hallenberg Mon, 31 Jul 2000 07:25:09 +0200 ++ ++wmmon (1.0b2-2) unstable; urgency=low ++ ++ * Patch from Salvador Pinto Abreu : ++ Fixed behavior when APM causes the system to sleep/suspend. ++ ++ -- Fredrik Hallenberg Sat, 17 Oct 1998 13:35:55 +0200 ++ ++wmmon (1.0b2-1) unstable; urgency=low ++ ++ * Initial Release. ++ ++ -- Fredrik Hallenberg Wed, 15 Jul 1998 18:18:37 +0200 +--- wmmon-1.0b2.orig/debian/control ++++ wmmon-1.0b2/debian/control +@@ -0,0 +1,24 @@ ++Source: wmmon ++Section: x11 ++Priority: optional ++Maintainer: Simon Law ++Standards-Version: 3.6.1 ++Build-Depends: debhelper (>> 4.0.0), libx11-dev, libxpm-dev, libxext-dev ++ ++Package: wmmon ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Description: Window Maker dockapp for monitoring system information ++ WMMon monitors the realtime CPU load as well as the average system load, ++ and gives you some nice additional features too. It is intended for ++ docking in Window Maker. ++ . ++ It currently provides: ++ . ++ * a realtime CPU stress meter; ++ * an auto-scaled average system load meter, like xload and wmavgload; ++ * a realtime disk I/O stress meter; ++ * auto-scaled disk I/O load meter; ++ * realtime memory and swap usage meters; ++ * a display for system uptime; ++ * three user-defined commands to launch. +--- wmmon-1.0b2.orig/debian/copyright ++++ wmmon-1.0b2/debian/copyright +@@ -0,0 +1,25 @@ ++This package was debianized by Fredrik Hallenberg hallon@debian.org on ++Wed, 15 Jul 1998 18:18:37 +0200. ++ ++It was downloaded from http://www.xs4all.nl/~warp/files/wmmon-1.0b2.tar.gz ++ ++Upstream Copyright: ++ ++ Copyright (c) 1997, 1998 by Martijn Pieterse and Antoine Nulle ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 2, or (at your option) any ++ later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++On Debian GNU/Linux systems, the complete text of the GNU General ++Public License can be found in `/usr/share/common-licenses/GPL'. +--- wmmon-1.0b2.orig/debian/manpages ++++ wmmon-1.0b2/debian/manpages +@@ -0,0 +1 @@ ++wmmon/wmmon.1 +--- wmmon-1.0b2.orig/debian/compat ++++ wmmon-1.0b2/debian/compat +@@ -0,0 +1 @@ ++4 +--- wmmon-1.0b2.orig/debian/wmmonrc ++++ wmmon-1.0b2/debian/wmmonrc +@@ -0,0 +1,3 @@ ++left: xterm ++middle: xload ++right: xcalc diff --git a/desktop/wmmon/wmmon.SlackBuild b/desktop/wmmon/wmmon.SlackBuild index 3005147038..ac27ff1368 100644 --- a/desktop/wmmon/wmmon.SlackBuild +++ b/desktop/wmmon/wmmon.SlackBuild @@ -11,7 +11,7 @@ VERSION=1.0b2_p14 BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -SRCVER=$(echo $VERSION | cut -d_ -f1) +SRCVER=$(echo $VERSION | cut -d_ -f1 | sed 's,\.,_,' ) PATCHVER=$(echo $VERSION | cut -d_ -f2) if [ -z "$ARCH" ]; then diff --git a/desktop/wmmon/wmmon.info b/desktop/wmmon/wmmon.info index b158c6432b..911ad868b9 100644 --- a/desktop/wmmon/wmmon.info +++ b/desktop/wmmon/wmmon.info @@ -1,7 +1,7 @@ PRGNAM="wmmon" VERSION="1.0b2_p14" HOMEPAGE="http://web.cs.mun.ca/~gstarkes/wmaker/dockapps/sys.html#wmmon" -DOWNLOAD="http://web.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmmon-1.0b2.tar.gz" +DOWNLOAD="http://distfiles.gentoo.org/distfiles/wmmon-1_0b2.tar.gz" MD5SUM="1b8c780b8c24a6958c69330fef4171df" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -- cgit v1.2.3