From e6a84a8c6211214c60b7513f4a272423d27586ef Mon Sep 17 00:00:00 2001 From: marschap Date: Fri, 31 Dec 2004 22:32:22 +0000 Subject: [PATCH] debianize LCDproc --- debian/README.Debian | 15 ++ debian/changelog | 236 +++++++++++++++++ debian/compat | 1 + debian/control | 25 ++ debian/copyright | 13 + debian/dirs | 7 + debian/docs | 3 + debian/lcdproc.LCDd.default | 9 + debian/lcdproc.LCDd.init | 57 +++++ debian/lcdproc.default | 9 + debian/lcdproc.examples | 5 + debian/lcdproc.init | 52 ++++ debian/manpages/LCDd.8 | 306 +++++++++++++++++++++++ debian/manpages/fortune.pl.1 | 29 +++ debian/manpages/iosock.pl.1 | 29 +++ debian/manpages/lcdheadlines.1 | 29 +++ debian/manpages/lcdmetar.pl.1 | 29 +++ debian/manpages/lcdproc.1 | 59 +++++ debian/manpages/tail.pl.1 | 30 +++ debian/manpages/x11amp.pl.1 | 29 +++ debian/patches/lcdproc-0.4.3-gentoo.diff | 99 ++++++++ debian/postinst | 48 ++++ debian/postrm | 38 +++ debian/prerm | 39 +++ debian/rules | 127 ++++++++++ 25 files changed, 1323 insertions(+) create mode 100644 debian/README.Debian create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/dirs create mode 100644 debian/docs create mode 100644 debian/lcdproc.LCDd.default create mode 100644 debian/lcdproc.LCDd.init create mode 100644 debian/lcdproc.default create mode 100644 debian/lcdproc.examples create mode 100644 debian/lcdproc.init create mode 100644 debian/manpages/LCDd.8 create mode 100644 debian/manpages/fortune.pl.1 create mode 100644 debian/manpages/iosock.pl.1 create mode 100644 debian/manpages/lcdheadlines.1 create mode 100644 debian/manpages/lcdmetar.pl.1 create mode 100644 debian/manpages/lcdproc.1 create mode 100644 debian/manpages/tail.pl.1 create mode 100644 debian/manpages/x11amp.pl.1 create mode 100644 debian/patches/lcdproc-0.4.3-gentoo.diff create mode 100644 debian/postinst create mode 100644 debian/postrm create mode 100644 debian/prerm create mode 100644 debian/rules diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..4e384e6 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,15 @@ +lcdproc for Debian +------------------ +WARNING: Location of example clients changed + +lcdproc originally installed a number of example clients in /usr/bin, +but this was not the intended behaviour. Upstream have stated these +examples should be located in /usr/share/doc/lcdproc/examples, which +is in agreement with Debian policy. + +Release 0.4.3-14 of this package therefore moves the example clients +from /usr/bin to /usr/share/doc/lcdproc/examples. That means they are +no longer in PATH, so you will either need to copy them to another +location manually or specify the full path when calling them. + + -- Jonathan Oxer , Tue, 9 Dec 2003 14:33:27 +1100 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..7fa31b3 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,236 @@ +lcdproc (0.4.99+CVS20041231) unstable; urgency=low + + * NMU + - New upstream snapshot from CVS + - /etc/default/LCDd to configure /etc/init.d/LCDd + - use original man pages + - new drivers for USB displays: + + Code Mercenaries IOWarrior + + BWCT USB LCD + - licence problem for CFonz633 solved + + -- Peter Marschall Fri, 31 Dec 2004 23:21:28 +0r10 + +lcdproc (0.4.5-1) unstable; urgency=high + + * New upstream release which fixes two buffer overflow / string + format vulnerabilities. By the way, yes I know this package is + 'native' when it should be 'normal', but I'll fix that with + another upload because I want to get this security update done + ASAP since upstream indicate it's a serious problem. + * Fixed location of example client 'metar.pl'. + Closes: #249770 + + -- Jonathan Oxer Wed, 19 May 2004 21:32:59 +1000 + +lcdproc (0.4.4-1) unstable; urgency=low + + * The April Fool's Release. + Stable version bump adds some funky new things, including + support for USB displays with a couple of new drivers. Also + fixes a memory leak, some assorted bugs in render.c, some + flickering problems with the CFontz driver. Adds upstream + support for the Apple Network Server (ANS) LCD, which: + (closes: #236687) + + -- Jonathan Oxer Thu, 1 Apr 2004 12:30:01 +1000 + +lcdproc (0.4.3-15) unstable; urgency=low + + * Applied patch from Gentoo by Bernhard Tittelbach which fixes a + memory leak and some of the heartbeat handling (see + http://bugs.gentoo.org/attachment.cgi?id=6981&action=view and + debian/patches/lcdproc-0.4.3-gentoo.diff) + + -- Jonathan Oxer Wed, 17 Dec 2003 10:32:30 +1100 + +lcdproc (0.4.3-14) unstable; urgency=low + + * New maintainer. + (closes: #196676) + * Fix for trivial spelling mistayk in long description and + added comment about creating custom clients. + (closes: #199303) + * Rebuilt package to bring it up to date with latest standards + version, latest package scripts etc and renamed items such as + init script and man pages in a more standard way. + * Wrote man pages for all the example clients, but not set them + to be installed because they have .pl extensions and + dh_installman thinks they're in Polish. So also... + * Moved all example clients into /usr/share/doc/lcdproc/examples + + -- Jonathan Oxer Mon, 8 Dec 2003 16:30:05 +1100 + +lcdproc (0.4.3-13) unstable; urgency=low + + * orphaning package see #196676 + + -- Noel Koethe Sun, 29 Jun 2003 13:03:00 +0200 + +lcdproc (0.4.3-12) unstable; urgency=high + + * added missing patch to fix this problem + http://online.securityfocus.com/archive/1/56411 + * updated Standards-Version + * added USB controller patch + (closes: Bug#166051) + + -- Noel Koethe Thu, 9 Jan 2003 12:10:00 +0100 + +lcdproc (0.4.3-11) unstable; urgency=low + + * 0.4.3 release version + * updated Standards-Version to 3.5.7 + * enabled all drivers + (closes: Bug#145314) + (closes: Bug#141577) + + -- Noel Koethe Sat, 22 Sep 2002 00:15:00 +0200 + +lcdproc (0.4.3-10) unstable; urgency=medium + + * updated code from cvs to get all drivers updated. + upstream maintainer asked for this for woody release + this version will the 0.4.3 upstream release + * small changes in description + * added some upstream Docs which are not in the source + + -- Noel Koethe Tue, 18 Apr 2002 18:05:00 +0200 + +lcdproc (0.4.3-9) unstable; urgency=low + + * added .de template translation + (closes: Bug#137482) + * added URL to description + + -- Noel Koethe Sun, 24 Mar 2002 23:53:00 +0100 + +lcdproc (0.4.3-8) unstable; urgency=low + + * upstream fixed LCDd.8 and lcdproc.1 manpage + (closes: Bug#136325) + + -- Noel Koethe Thu, 7 Mar 2002 11:45:00 +0100 + +lcdproc (0.4.3-7) unstable; urgency=low + + * added ru translation of template + (closes: Bug#136596) + + -- Noel Koethe Wed, 6 Mar 2002 12:47:00 +0100 + +lcdproc (0.4.3-6) unstable; urgency=low + + * removed --enable-drivers=all configure option + because some drivers contains architecture + dependent asm code + (closes: Bug#136217) + + -- Noel Koethe Fri, 1 Mar 2002 21:30:00 +0100 + +lcdproc (0.4.3-5) unstable; urgency=low + + * small correction in description + * added missing libc6-dev to build-deps + + -- Noel Koethe Wed, 27 Feb 2002 10:32:00 +0100 + +lcdproc (0.4.3-4) unstable; urgency=low + + * using the included init script (with small modifications) + * using the included LCDd.conf + * moved the perl examples to /usr/bin + * added debconf note + + -- Noel Koethe Sun, 24 Feb 2002 17:42:00 +0100 + +lcdproc (0.4.3-3) unstable; urgency=low + + * corrected Daemon start + + -- Noel Koethe Wed, 20 Feb 2002 20:33:00 +0100 + +lcdproc (0.4.3-2) unstable; urgency=low + + * updated description + * corrected driver option in init.d + (closes: Bug#134590) + + -- Noel Koethe Mon, 18 Feb 2002 18:44:00 +0100 + +lcdproc (0.4.3-1) unstable; urgency=low + + * upstream version with security fixes + + -- Noel Koethe Sun, 27 Jan 2002 20:53:00 +0100 + +lcdproc (0.4.1-1) unstable; urgency=low + + * new upstream version from 2001-05-29 + (closes: Bug#129858) + (closes: Bug#129857) + * removed lcdprocconfig and uses now /etc/lcdproc.conf + (closes: Bug#87427) + * corrected init script + (closes: Bug#98004) + + -- Noel Koethe Fri, 18 Jan 2002 22:32:00 +0100 + +lcdproc (0.3.4.5-1) unstable; urgency=low + + * new maintainer + (closes: Bug#119089) + (closes: Bug#70098) + (closes: Bug#105036) + (closes: Bug#67742) + (closes: Bug#84518) + (closes: Bug#87423) + + -- Noel Koethe Fri, 18 Jan 2002 18:40:00 +0100 + +lcdproc (0.3.4.5-0.2) unstable; urgency=low + + * NMU + * Remove obsolete gcc option from Makefile. Closes: #105036 + + -- Randolph Chung Sat, 25 Aug 2001 20:58:19 -0700 + +lcdproc (0.3.4.5-0.1) unstable; urgency=low + + * Bugsquash party NMU. + * New upstream release. + - This should fix a floating point exception on startup (a grave bug, + hence this NMU; closes: #70098). That bug report suggests upgrading + only to 0.3.4.5 rather than any of the newer releases available, as + they introduce new bugs. I'll leave newer releases to the maintainer. + * Update URL and GPL pointer in copyright file. + * Remove bashism from init script and use start-stop-daemon instead of + pidof (closes: #67742). + * Updated to policy version 3.1.1 and add build-depends (closes: #84518). + * Removed obsolete dh_suidregister call from debian/rules. + * lcdprocconfig is undocumented. Add the man page symlink (bug on its + way). + + -- Colin Watson Sat, 24 Feb 2001 16:25:33 +0000 + +lcdproc (0.3.4-3) unstable; urgency=low + + * Updated to Standards-Version 3.0.1, FHS. + * Added correct dependencies (turns out I plum forgot the Depends: + line in the control file) (closes: #44086) + + -- Brian Bassett Sat, 6 Nov 1999 17:56:29 -0800 + +lcdproc (0.3.4-2) unstable; urgency=low + + * Fixed lcdproc dying from floating point exception when trying to display + information about an autofs mount on the "D" screen. + + -- Brian Bassett Sat, 29 Aug 1998 22:32:17 -0700 + +lcdproc (0.3.4-1) unstable; urgency=low + + * Initial release. + + -- Brian Bassett Sun, 19 Jul 1998 11:19:46 -0700 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +4 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..fe2146c --- /dev/null +++ b/debian/control @@ -0,0 +1,25 @@ +Source: lcdproc +Section: utils +Priority: extra +Maintainer: Jonathan Oxer +Build-Depends: debhelper (>= 4.0.0), automake | automaken, autoconf2.13 | autoconf, texinfo, libncurses5-dev, libusb-dev (>= 0.1.8) +Standards-Version: 3.6.0 + +Package: lcdproc +Architecture: any +Depends: ${shlibs:Depends}, debconf (>= 0.5.0) +Description: LCD display driver daemon and clients + This is a client/server suite including drivers for all kinds of + nifty LCD displays. The server supports several serial devices: Matrix + Orbital, Crystal Fontz, Bayrad, LB216, LCDM001 (kernelconcepts.de), + Wirz-SLI and PIC-an-LCD; some devices connected to the parallel port: + HD44780, STV5730, T6963, SED1520 and SED1330; and also some displays + connected via USB: CFonz633, CwLnx, USBLCD, IOWarrior and HD44780 + (ConnectionType=bwctusb). + . + Various clients are available that display things like CPU load, system + load, memory usage, uptime, and a lot more. Custom clients can be + written using the simple client-server protocol and provided example + code. + . + http://lcdproc.omnipotent.net/ or http://www.lcdproc.org/ diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..284f1ba --- /dev/null +++ b/debian/copyright @@ -0,0 +1,13 @@ +This package was debianized by +Brian Bassett on Wed, 3 Jun 1998 22:15:03 -0700 +Adopted by Noel Koethe on Fri, 18 Jan 2002 19:03:47 +0100 +Adopted by Jonathan Oxer on Mon, 8 Dec 2003 16:30:05 +1100 + +It was downloaded from https://sf.net/projects/lcdproc/ + +Upstream Author: William W. Ferrell and others + +Copyright: + +Released under the terms of the GPL; see +/usr/share/common-licenses/GPL. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..453f051 --- /dev/null +++ b/debian/dirs @@ -0,0 +1,7 @@ +etc +etc/init.d +usr/bin +usr/sbin +usr/share/doc/lcdproc/examples +usr/share/man/man1 +usr/share/man/man8 diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..a38b908 --- /dev/null +++ b/debian/docs @@ -0,0 +1,3 @@ +README +README.IRman +TODO diff --git a/debian/lcdproc.LCDd.default b/debian/lcdproc.LCDd.default new file mode 100644 index 0000000..43d3a48 --- /dev/null +++ b/debian/lcdproc.LCDd.default @@ -0,0 +1,9 @@ +# /etc/default/LCDd -- config file for LCDd startup + +# shall LCDd be started (yes/no) +START=no + +# options for LCDd startup +OPTIONS="-c /etc/LCDd.conf" + +# EOF diff --git a/debian/lcdproc.LCDd.init b/debian/lcdproc.LCDd.init new file mode 100644 index 0000000..52d4549 --- /dev/null +++ b/debian/lcdproc.LCDd.init @@ -0,0 +1,57 @@ +#! /bin/sh +# +# /etc/init.d/LCDd lcdproc server starting and stopping +# + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/LCDd +NAME=LCDd +DESC="LCDproc server daemon" +DEFAULTS=/etc/default/$NAME + +# Source defaults file; edit that file to configure this script. +if [ -e "${DEFAULTS}" ]; then + . "${DEFAULTS}" +fi + +# If we're not to start the daemon, simply exit +if [ "${START}" != "yes" ]; then + exit 0 +fi + +# if no OPTIONS are defined use default options +if [ -z "${OPTIONS}" ]; then + OPTIONS="-c /etc/LCDd.conf" +fi + +test -x $DAEMON || exit 0 + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --background \ + --exec $DAEMON -- $OPTIONS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --oknodo --quiet \ + --exec $DAEMON + echo "$NAME." + ;; + restart|reload|force-reload) + $0 stop + sleep 1 + $0 start + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/lcdproc.default b/debian/lcdproc.default new file mode 100644 index 0000000..84a8de3 --- /dev/null +++ b/debian/lcdproc.default @@ -0,0 +1,9 @@ +# /etc/default/lcdproc -- config file for lcdproc startup + +# shall lcdproc be started (yes/no) +START=no + +# options for lcdproc startup +#OPTIONS="C G" + +# EOF diff --git a/debian/lcdproc.examples b/debian/lcdproc.examples new file mode 100644 index 0000000..ddacbef --- /dev/null +++ b/debian/lcdproc.examples @@ -0,0 +1,5 @@ +clients/examples/fortune.pl +clients/examples/iosock.pl +clients/metar/lcdmetar.pl +clients/examples/tail.pl +clients/examples/x11amp.pl diff --git a/debian/lcdproc.init b/debian/lcdproc.init new file mode 100644 index 0000000..aa1e911 --- /dev/null +++ b/debian/lcdproc.init @@ -0,0 +1,52 @@ +#! /bin/sh +# +# /etc/init.d/lcdproc lcdproc client starting and stopping +# + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/lcdproc +NAME=lcdproc +DESC="LCDproc client daemon" +DEFAULTS=/etc/default/$NAME + +# Source defaults file; edit that file to configure this script. +if [ -e "${DEFAULTS}" ]; then + . "${DEFAULTS}" +fi + +# If we're not to start the daemon, simply exit +if [ "${START}" != "yes" ]; then + exit 0 +fi + +test -x $DAEMON || exit 0 + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --background \ + --exec $DAEMON -- -d $OPTIONS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --oknodo --quiet \ + --exec $DAEMON + echo "$NAME." + ;; + restart|reload|force-reload) + $0 stop + sleep 1 + $0 start + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/manpages/LCDd.8 b/debian/manpages/LCDd.8 new file mode 100644 index 0000000..b6605d1 --- /dev/null +++ b/debian/manpages/LCDd.8 @@ -0,0 +1,306 @@ +.TH LCDd 8 "9 September 2001" LCDproc +.SH NAME +LCDd - LCDproc server daemon +.SH SYNOPSIS +.B LCDd +[\-\-help] +[\-\-type <\fIsize\fP>] +[\-\-driver <\fIdriver\fP> [\fIargs\fP] ] +[\-\-foreground \fI\fP] +[\-\-backlight <\fImode\fP>] +[\-\-serverinfo off] +.SH DESCRIPTION +LCDd is the server portion of LCDproc which listens to a certain port (normally 13666) and displays information on an LCD display. It works with several types +and sizes of displays. +.PP +LCDd will attempt to open /dev/lcd by default and will error if this +device is not available. In most cases, it should be sufficient to +link /dev/lcd to the appropriate serial or parallel device. +.PP +To make full use of LCDd, a client such as lcdproc(1) is required. +.SH OPTIONS +Available +.I LCDd +options are: +.TP 8 +.B \-h, \-\-help +Display this help screen +.TP 8 +.B \-t, \-\-type +select an LCD size (20x4, 16x2, etc...) +.TP 8 +.B \-d, \-\-driver <\fIdriver\fP> [\fIargs\fP] +Adds (another) driver to use to display information. Any \fIargs\fP specified will be +passed to the chosen driver for initialization. +.TP 8 +.B \-f, \-\-foreground +Run in the foreground (no daemon) +.TP 8 +.B \-b\fP,\fB \-\--backlight \fI\fP +Set backlight mode (on, off, open) +.TP 8 +.B \-i, \-\-serverinfo off +Set the server screen to low priority +.PP +Help on each driver's parameters are obtained upon request: +"LCDd -d driver --help" +.SS +Supported Drivers +Supported display drivers include: +.TP +.B CFontz +CrystalFontz LCD displays +.TP +.B curses +Standard video display using the ncurses library +.TP +.B HD44780 +Hitachi HD44780 LCD displays +.TP +.B BayRad +EMAC BayRad displays +.TP +.B irmanin +IrMan infrared (input) +.TP +.B lircin +Infrared (input) +.TP +.B sli +Wirz SLI driver (unknown) +.TP +.B joy +Joystick driver (input) +.TP +.B MtxOrb +Matrix Orbital displays (not Matrix Orbital GLK displays) +.TP +.B LB216 +LB216 LCD display +.TP +.B glk +Matrix Orbital GLK graphical LCD displays +.TP +.B text +Standard "hard-copy" text display +.TP +.B debug +Undocumented debug driver +.PP +Multiple drivers can be used simultaneously; thus, for example, a Matrix Orbital display (MtxOrb driver) +can be combined with the an infrared driver (irmanin driver). +.SH INVOCATION +.TP +LCDd -d MtxOrb "--device /dev/lcd --contrast 200" -d joy +Start LCDd with the Matrix Orbital driver and the Joystick input driver, +with the /dev/lcd device and a contrast value of 200. +.SH SERVER PROTOCOL +There is a basic sequence: +.TP 8 +1. Open a TCP connection to the LCDd server port (usually 13666). +.TP 8 +2. Say "hello" +.TP 8 +3. The server will return some information on the type +of display available. +.TP 8 +4. Define (and use) a new screen and its widgets. +.TP 8 +5. Close the socket when done displaying data. +.PP +There are many commands for the LCDd server: +.TP 8 +.B hello +This starts a client-server session with the LCDd server; the +server will return a data string detailing the type of display +and its size. +.TP 8 +.B client_set [-name #id] +Set the client's name, etc. +.TP 8 +.B screen_add #id +Add a new screen to the display. +.TP 8 +.B screen_del #id +Remove a screen from the display. +.TP 8 +.B screen_set \fI#id\fP [\fB-priority\fI number\fP] [\fB-name\fI "my_name"\fP] [\fB-duration\fI integer\fP] [\fB-wid\fI width\fP] [\fB-hgt\fI height\fP] [\fB-heartbeat\fI mode\fP] +Initialize a screen, or reset its data. +.TP 8 +.B widget_add \fI#screen #id type\fR [\fB-in \fI#id\fR] +Add a widget to screen \fI#screen\fR. +.TP +.B widget_del \fI#screen #id\fR +Delete widget \fI#id\fR from screen \fI#screen\fR. +.TP +.B widget_set \fI#screen #id data\fR +Set the data used to define a particular widget \fI#id\fR on screen +\fI#screen\fR. +.SS +Heartbeat Modes +Valid heartbeat mode values (for the \fBscreen_set\fR command) are: +.TP +.BR on , " heart" +Display heart symbol. +.TP +.BR normal , " default" +Normal display. +.TP +.BR off , " none" +No heartbeat display. +.TP +.B slash +Display rotating slash display. +.SS +Priorities +Valid priority values (used in the \fBscreen_set\fR command) are as follows: +.TP +.B 0 +This is rather extreme; \fIdon't do this!\fR +.TP +.B 1 +Extremely important! +.TP +.B 16 +Emergency priority +.TP +.B 32 +Very high priority (important) +.TP +.B 64 +High priority (normal) +.TP +.B 128 +Normal (recommended) +.TP +.B 192 +Low priority (normal) +.TP +.B 224 +Very low priority (very unimportant) +.TP +.B 240 +Extremely low priority +.TP +.B 255 +This screen won't show up very much even if there are +no other screens queued... +.PP +An example of how to properly use priorities is as follows: +.PP +Imagine you're making an mp3 player for lcdproc. When the +song changes, it's nice to display the new name immediately. +So, you could set your screen's priority to 64, wait for +the server to display (or ignore) your screen, then set the +screen back to 128. This would cause the mp3 screen to +show up as soon as the one onscreen was finished, then +return to normal priority afterward. +.PP +Or, let's say your client monitors the health of hospital +patients. If one of the patients has a heart attack, you +could set the screen priority to 16 (emergency), and it +would be displayed immediately. It wouldn't even wait for +the previous screen to finish. Also, the display would stay +on screen most of the time until the user did something about it. +.PP +A priority of 1 would stay onscreen permanently, with +flashing lights and other visual cues if possible. +Using this priority is \fInot\fR recommended. +.PP +The duration can be either a positive number, or -1. A +positive number (greater than zero) indicates how many +display frames the screen should last. A 0 (zero) or -1 means +that the server should use "auto" duration, which is +probably a good idea. This will be +whatever the user wants. It defaults to 4 seconds (32 +frames), or will be a calculated value for things such as scrollers. +.SS +Widget Types +Widgets can be any of the following: +.TP +.B string +A text string to display (as is). +.TP +.B hbar +A horizontal bar graph. +.TP +.B vbar +A vertical bar graph. +.TP +.B title +A title displayed across the top of the display, within a banner. +.TP +.B icon +A graphic icon. +.TP +.B scroller +A scrolling text display, scrolling either horizontally or vertically. +.TP +.B frame +A \fIcontainer\fR to contain other widgets, permitting them to be refered to +as a single unit. A widget is put inside a frame by using the -in \fI#id\fR +parameter, where \fI#id\fR refers to the id of the frame. +.PP +Widgets are drawn on the screen in the order they are created. +.SS Setting Widget Data +In the \fBwidget_set\fR command, the \fIdata\fR argument depends on which widget is being +set. Each widget takes a particular set of arguments which defines its form and behavior: +.TP +.B string +x y text +.TP +.B hbar +x y length_in_pixels +.TP +.B vbar +x y length_in_pixels +.TP +.B icon +x y binary_data +.TP +.B title +text +.TP +.B scroller +left top right bottom direction speed text +.sp +The \fItext\fR defined will scroll in the direction defined. Valid directions +are \fBh\fR (horizontal) and \fBv\fR (vertical). The speed defines how many +"movements" (or changes) will occur per frame. A positive number indicates +frames per movement; a negative number indicates movements per frame. +.TP +.B frame +left top right bottom wid hgt dir speed +.sp +Frames define a visible "box" on screen, +from the (\fIleft\fR, \fItop\fR) corner to the +(\fIright\fR, \fIbottom\fR) corner. The actual data may be bigger, +and is defined as \fIwid\fR (width) by \fIhgt\fR (height); if it is +bigger, then the frame will scroll in the direction (\fIdir\fR) +and \fIspeed\fR defined. +.SH BUGS +If LCDd seems to quietly disappear upon invocation or other similar problems, +check the order of the options and the quoting involved. Some combinations +of options will be misread and thus fail. +.PP +Try using the -d option last. +.SH AUTHOR +LCDd was written by William Ferrell (choadster@earthlink.net) and Scott Scriv +en (scriven@cs.colostate.edu). + +The newest version of LCDd should be available from here as part of the lcdproc package: + + http://lcdproc.omnipotent.net/ + +.SH LEGAL STUFF +The lcdproc package is released as "WorksForMe-Ware". In other words, it is free, kinda nea +t, and we don't guarantee that it will do anything in particular on any machine +except the ones it was developed on. +.PP +It is technically released under the GNU GPL license (you should have received t +he file, "COPYING", with LCDproc) (also, look on http://www.fsf.org/ for more in +formation), so you can distribute and use it for free -- but you must make the s +ource code freely available to anyone who wants it. +.PP +For any sort of real legal information, read the GNU GPL (GNU General Public Lic +ense). It's worth reading. diff --git a/debian/manpages/fortune.pl.1 b/debian/manpages/fortune.pl.1 new file mode 100644 index 0000000..9c1ea56 --- /dev/null +++ b/debian/manpages/fortune.pl.1 @@ -0,0 +1,29 @@ +.\" 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 FORTUNE.PL 1 "December 9, 2003" +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +fortune.pl \- client for LCDd, the lcdproc server +.SH SYNOPSIS +.B fortune.pl +.SH DESCRIPTION +.B fortune.pl +is a small example client for LCDd, the lcdproc server. For more +information please see +.BR lcdproc (1) +and +.BR LCDd (8), +and http://lcdproc.omnipotent.net/. Or better yet, read the source! +.PP +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.SH SEE ALSO +.BR lcdproc (1), +.BR LCDd (8). +.br +.SH AUTHOR +This manual page was written by Jonathan Oxer , +for the Debian project (but may be used by others). diff --git a/debian/manpages/iosock.pl.1 b/debian/manpages/iosock.pl.1 new file mode 100644 index 0000000..733fbc1 --- /dev/null +++ b/debian/manpages/iosock.pl.1 @@ -0,0 +1,29 @@ +.\" 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 IOSOCK.PL 1 "December 9, 2003" +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +iosock.pl \- client for LCDd, the lcdproc server +.SH SYNOPSIS +.B iosock.pl +.SH DESCRIPTION +.B iosock.pl +is a small example client for LCDd, the lcdproc server. For more +information please see +.BR lcdproc (1) +and +.BR LCDd (8), +and http://lcdproc.omnipotent.net/. Or better yet, read the source! +.PP +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.SH SEE ALSO +.BR lcdproc (1), +.BR LCDd (8). +.br +.SH AUTHOR +This manual page was written by Jonathan Oxer , +for the Debian project (but may be used by others). diff --git a/debian/manpages/lcdheadlines.1 b/debian/manpages/lcdheadlines.1 new file mode 100644 index 0000000..62097b9 --- /dev/null +++ b/debian/manpages/lcdheadlines.1 @@ -0,0 +1,29 @@ +.\" 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 LCDHEADLINES.PL 1 "December 9, 2003" +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +lcdheadlines.pl \- client for LCDd, the lcdproc server +.SH SYNOPSIS +.B lcdheadlines.pl +.SH DESCRIPTION +.B lcdheadlines.pl +is a small example client for LCDd, the lcdproc server. For more +information please see +.BR lcdproc (1) +and +.BR LCDd (8), +and http://lcdproc.omnipotent.net/. Or better yet, read the source! +.PP +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.SH SEE ALSO +.BR lcdproc (1), +.BR LCDd (8). +.br +.SH AUTHOR +This manual page was written by Jonathan Oxer , +for the Debian project (but may be used by others). diff --git a/debian/manpages/lcdmetar.pl.1 b/debian/manpages/lcdmetar.pl.1 new file mode 100644 index 0000000..7c2e2e8 --- /dev/null +++ b/debian/manpages/lcdmetar.pl.1 @@ -0,0 +1,29 @@ +.\" 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 LCDMETAR.PL 1 "December 9, 2003" +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +lcdmetar.pl \- client for LCDd, the lcdproc server +.SH SYNOPSIS +.B lcdmetar.pl +.SH DESCRIPTION +.B lcdmetar.pl +is a small example client for LCDd, the lcdproc server. For more +information please see +.BR lcdproc (1) +and +.BR LCDd (8), +and http://lcdproc.omnipotent.net/. Or better yet, read the source! +.PP +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.SH SEE ALSO +.BR lcdproc (1), +.BR LCDd (8). +.br +.SH AUTHOR +This manual page was written by Jonathan Oxer , +for the Debian project (but may be used by others). diff --git a/debian/manpages/lcdproc.1 b/debian/manpages/lcdproc.1 new file mode 100644 index 0000000..a7b149c --- /dev/null +++ b/debian/manpages/lcdproc.1 @@ -0,0 +1,59 @@ +.TH lcdproc 1 "1-aug-01" "LCDproc" +.SH NAME +lcdproc - displays system status on LCDproc server +.SH SYNOPSIS +.B lcdproc +[\-s \fIserver\fP] [\-p \fIport\fP] [\fImode\fP [\fImode\fP ...]] +.SH DESCRIPTION +lcdproc connects to the LCDproc server to display status information about the system. +.PP +Currently, only Linux, xBSD and Solaris are supported with not all features being available on all platforms. +.SH OPTIONS +.I lcdproc +understands these options: +.TP 8 +.B \-s \fIserver\fP +Set the hostname which LCDproc is running on, assumed to be localhost unless otherwise set +.TP 8 +.B \-p \fIport\fP +Set the port which LCDproc is accepting connections on, assumed to be 13666 unless otherwise set +.TP 8 +.B \fImode\fP +Where mode is one of the following letters: +.RS +[C]pu [G]raph [T]ime [M]emory [X]load [D]isk [B]attery proc_[S]izes [O]ld_time big_cloc[K] [U]ptime CPU_SM[P] [A]bout +.RE +.PP + +.SH EXAMPLES +lcdproc C M D X + +.TP 8 +connects to the LCDproc server and specifies the following modes: +.RS +- CPU Usage +.PP +- Memory usage +.PP +- Uptime +.PP +- Date and Time +.PP +- X-Load average over time +.RE +.PP + + +.SH AUTHOR +LCDproc was written by William Ferrell (wwf@splatwerks.org) and Scott Scriven (scriven@cs.colostate.edu). + +The newest version of LCDproc should be available from here: + + http://lcdproc.omnipotent.net/ + +.SH LEGAL STUFF +LCDproc is released as "WorksForMe-Ware". In other words, it is free, kinda neat, and we don't guarantee that it will do anything in particular on any machine except the ones it was developed on. +.PP +It is technically released under the GNU GPL license (you should have received the file, "COPYING", with LCDproc) (also, look on http://www.fsf.org/ for more information), so you can distribute and use it for free -- but you must make the source code freely available to anyone who wants it. +.PP +For any sort of real legal information, read the GNU GPL (GNU General Public License). It's worth reading. diff --git a/debian/manpages/tail.pl.1 b/debian/manpages/tail.pl.1 new file mode 100644 index 0000000..186b86c --- /dev/null +++ b/debian/manpages/tail.pl.1 @@ -0,0 +1,30 @@ +.\" 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 TAIL.PL 1 "December 9, 2003" +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +tail.pl \- client for LCDd, the lcdproc server +.SH SYNOPSIS +.B tail.pl +[file] +.SH DESCRIPTION +.B tail.pl +is a small example client for LCDd, the lcdproc server. For more +information please see +.BR lcdproc (1) +and +.BR LCDd (8), +and http://lcdproc.omnipotent.net/. Or better yet, read the source! +.PP +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.SH SEE ALSO +.BR lcdproc (1), +.BR LCDd (8). +.br +.SH AUTHOR +This manual page was written by Jonathan Oxer , +for the Debian project (but may be used by others). diff --git a/debian/manpages/x11amp.pl.1 b/debian/manpages/x11amp.pl.1 new file mode 100644 index 0000000..aabbbe4 --- /dev/null +++ b/debian/manpages/x11amp.pl.1 @@ -0,0 +1,29 @@ +.\" 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 X11AMP.PL 1 "December 9, 2003" +.\" Please adjust this date whenever revising the manpage. +.\" +.SH NAME +x11amp.pl \- client for LCDd, the lcdproc server +.SH SYNOPSIS +.B x11amp.pl +.SH DESCRIPTION +.B x11amp.pl +is a small example client for LCDd, the lcdproc server. For more +information please see +.BR lcdproc (1) +and +.BR LCDd (8), +and http://lcdproc.omnipotent.net/. Or better yet, read the source! +.PP +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.SH SEE ALSO +.BR lcdproc (1), +.BR LCDd (8). +.br +.SH AUTHOR +This manual page was written by Jonathan Oxer , +for the Debian project (but may be used by others). diff --git a/debian/patches/lcdproc-0.4.3-gentoo.diff b/debian/patches/lcdproc-0.4.3-gentoo.diff new file mode 100644 index 0000000..5fc8cd7 --- /dev/null +++ b/debian/patches/lcdproc-0.4.3-gentoo.diff @@ -0,0 +1,99 @@ +=================================================================== +RCS file: /cvsroot/lcdproc/lcdproc/server/main.c,v +retrieving revision 1.38.2.18 +retrieving revision 1.38.2.18.2.4 +diff -u -r1.38.2.18 -r1.38.2.18.2.4 +--- lcdproc/lcdproc/server/main.c 2002/05/14 11:30:24 1.38.2.18 ++++ lcdproc/lcdproc/server/main.c 2002/11/14 03:11:12 1.38.2.18.2.4 +@@ -10,6 +10,7 @@ + * 2001, Rene Wagner + * 2002, Mike Patnode + * 2002, Guillaume Filion ++ * 2002, Bernhard Tittelbach + * + * + * Contains main(), plus signal callback functions and a help screen. +@@ -273,6 +274,8 @@ + strncpy( user, UNSET_STR, sizeof(user) ); + daemon_mode = UNSET_INT; + enable_server_screen = UNSET_INT; ++ heartbeat = UNSET_INT; ++ heartbeat_state = UNSET_INT; + backlight = UNSET_INT; + backlight_state = UNSET_INT; + +@@ -304,7 +307,7 @@ + int + process_command_line (int argc, char **argv) + { +- char c; ++ int c; + + /*report( RPT_INFO, "process_command_line()" );*/ + +@@ -461,6 +464,45 @@ + } + } + ++ if( heartbeat == UNSET_INT ) { ++ s = config_get_string( "server", "heartbeat", 0, UNSET_STR ); ++ if( strcmp( s, "on" ) == 0 ) { ++ heartbeat = HEARTBEAT_ON; ++ heartbeat_state = heartbeat; ++ } ++ else if( strcmp( s, "off" ) == 0 ) { ++ heartbeat = HEARTBEAT_OFF; ++ heartbeat_state = heartbeat; ++ } ++ else if( strcmp( s, "slash" ) == 0 ) { ++ heartbeat = HEARTBEAT_SLASH; ++ heartbeat_state = heartbeat; ++ } ++ else if( strcmp( s, "open" ) == 0 ) { ++ heartbeat = HEARTBEAT_OPEN; ++ } ++ else if( strcmp( s, UNSET_STR ) != 0 ) { ++ report( RPT_ERR, "Backlight should be on, off, slash or open" ); ++ } ++ } ++ ++ if( heartbeat == HEARTBEAT_OPEN && heartbeat_state == UNSET_INT ) { ++ s = config_get_string( "server", "initialheartbeat", 0, UNSET_STR ); ++ if( strcmp( s, "on" ) == 0 ) { ++ heartbeat_state = HEARTBEAT_ON; ++ } ++ else if( strcmp( s, "off" ) == 0 ) { ++ heartbeat_state = HEARTBEAT_OFF; ++ } ++ else if( strcmp( s, "slash" ) == 0 ) { ++ heartbeat = HEARTBEAT_SLASH; ++ heartbeat_state = heartbeat; ++ } ++ else if( strcmp( s, UNSET_STR ) != 0 ) { ++ report( RPT_ERR, "Initial heartbeat should be on, off, or slash" ); ++ } ++ } ++ + if( backlight == UNSET_INT ) { + s = config_get_string( "server", "backlight", 0, UNSET_STR ); + if( strcmp( s, "on" ) == 0 ) { +@@ -622,6 +664,11 @@ + if (default_duration == UNSET_INT) + default_duration = DEFAULT_SCREEN_DURATION; + ++ if (heartbeat == UNSET_INT) ++ heartbeat = HEARTBEAT_OPEN; ++ if (backlight_state == UNSET_INT) ++ heartbeat_state = HEARTBEAT_ON; ++ + if (backlight == UNSET_INT) + backlight = BACKLIGHT_OPEN; + if (backlight_state == UNSET_INT) +@@ -913,6 +960,7 @@ + free(message); + } else { + report(RPT_DEBUG, "Error: Received NULL pointer"); ++ free(message); /*fixes memory leak*/ + } + if (s && s->timeout != -1) { + diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..704ede3 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,48 @@ +#! /bin/sh +# postinst script for lcdproc +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..0341d82 --- /dev/null +++ b/debian/postrm @@ -0,0 +1,38 @@ +#! /bin/sh +# postrm script for lcdproc +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/prerm b/debian/prerm new file mode 100644 index 0000000..1b4c26f --- /dev/null +++ b/debian/prerm @@ -0,0 +1,39 @@ +#! /bin/sh +# prerm script for lcdproc +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) +# install-info --quiet --remove /usr/info/lcdproc.info.gz + ;; + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/debian/rules b/debian/rules new file mode 100644 index 0000000..45426ee --- /dev/null +++ b/debian/rules @@ -0,0 +1,127 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# 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 + + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +config.status: configure + dh_testdir + # Add here commands to configure the package. + # Add here commands to configure the package. + CFLAGS="$(CFLAGS)" ./configure \ + --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --mandir=\$${prefix}/share/man \ + --sysconfdir=/etc \ + --enable-stat-nfs \ + --enable-stat-smbfs \ + --enable-drivers=all + + +build: build-stamp + +build-stamp: config.status + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) distclean +ifneq "$(wildcard /usr/share/misc/config.sub)" "" + cp -f /usr/share/misc/config.sub config.sub +endif +ifneq "$(wildcard /usr/share/misc/config.guess)" "" + cp -f /usr/share/misc/config.guess config.guess +endif + + dh_clean + + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/lcdproc. + $(MAKE) install DESTDIR=$(CURDIR)/debian/lcdproc + + # install config file (with some corrections + sed -e '/^DriverPath=/s,server/drivers,/usr/lib/lcdproc,' \ + < $(CURDIR)/LCDd.conf > $(CURDIR)/LCDd.conf.debian + install -m644 $(CURDIR)/LCDd.conf.debian $(CURDIR)/debian/lcdproc/etc/LCDd.conf + + # trick: move samples into the correct directory + # this saves us from patching Makefile.in files + for i in fortune.pl iosock.pl lcdexec lcdheadlines lcdmetar.pl tail.pl x11amp.pl ; do \ + mv $(CURDIR)/debian/lcdproc/usr/bin/$$i $(CURDIR)/debian/lcdproc/usr/share/doc/lcdproc/examples; \ + done + + +# 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_installchangelogs ChangeLog + dh_installdocs +# dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime + dh_installinit + dh_installinit --name=LCDd +# dh_installcron +# dh_installinfo + dh_installman docs/LCDd.8 docs/lcdproc.1 + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_python +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install