[Pkg-wmaker-commits] [wmfrog] 93/145: Debian package 0.3.1-1

Doug Torrance dtorrance-guest at moszumanska.debian.org
Sun Aug 23 05:46:31 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository wmfrog.

commit 501a63526d35e1379e96e390fba1791ee3f522a9
Author: Doug Torrance <dtorrance at monmouthcollege.edu>
Date:   Tue Apr 29 15:49:23 2014 -0500

    Debian package 0.3.1-1
---
 debian/changelog                              |  72 +++
 debian/compat                                 |   1 +
 debian/control                                |  25 +
 debian/copyright                              |  47 ++
 debian/manpages                               |   1 +
 debian/patches/20-weather.pl.patch            | 176 +++++++
 debian/patches/new-station-lookup-url.patch   |  17 +
 debian/patches/renamed-wmfrog.c.patch         | 696 ++++++++++++++++++++++++++
 debian/patches/series                         |   4 +
 debian/patches/weather.pl-new-line-skip.patch |  20 +
 debian/pod2man.mk                             |  70 +++
 debian/rules                                  |  29 ++
 debian/source/format                          |   1 +
 debian/watch                                  |   2 +
 debian/wmfrog.1.pod                           | 109 ++++
 15 files changed, 1270 insertions(+)

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..4533398
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,72 @@
+wmfrog (0.3.1-1) unstable; urgency=low
+
+  * New maintainer. (Closes: #699766)
+  * New upstream version. (Closes: #642111)
+    + Fix buffer overflow. (Closes: #697977, LP: #556203)
+    + Improve polling mechanism.  (Closes: #512187)
+  * debian/control
+    + Bump Standards-Version to 3.9.5, no changes required.
+    + Update Homepage and Vcs-* fields.
+  * debian/patches
+    + Update previous debian patches for new upstream version.
+    + New patch (weather.pl-new-line-skip.patch) fixes bug caused by a
+      small change in weather.noaa.gov's website.
+    + New patch (renamed-wmfrog.c.patch) renames wmFrog.c to wmfrog.c to avoid
+      "source-is-missing" Lintian error.
+    + Update location of the NOAA's Meteorological Station Information Lookup
+      page in documentation.
+  * debian/watch
+    + Update download location.
+  * debian/wmfrog.1
+    + Delete file, as it is created during make.
+
+ -- Doug Torrance <dtorrance at monmouthcollege.edu>  Tue, 29 Apr 2014 00:04:57 -0500
+
+wmfrog (0.2.0-4) unstable; urgency=low
+
+  * debian/rules
+    - Enable CPPFLAGS hardened build flags.  Patch thanks to Simon Ruderich
+      <simon at ruderich.org>. (Closes: #668303)
+
+ -- Jari Aalto <jari.aalto at cante.net>  Tue, 10 Apr 2012 23:23:34 +0300
+
+wmfrog (0.2.0-3) unstable; urgency=low
+
+  * debian/control
+    - (Description): Rewrite. Patch thanks to Justin B Rye <jbr at edlug.org.uk>
+      in followup to bug #612927.
+  * debian/rules
+    - Use DEB_*_MAINT_* variables.
+
+ -- Jari Aalto <jari.aalto at cante.net>  Sat, 24 Mar 2012 02:30:33 -0400
+
+wmfrog (0.2.0-2) unstable; urgency=low
+
+  * debian/compat
+    - Update to 9.
+  * debian/control
+    - (Build-Depends): Update to debhelper 9, remove dpatch.
+    - (Description): Fix typo (Closes: #612927).
+    - (Standards-Version): 3.9.3.1.
+  * debian/copyright
+    - Update to format 1.0.
+  * debian/manpages
+    - New file.
+  * debian/patches
+    - Convert to Quilt.
+  * debian/rules
+    - Update to dh(1).
+    - Use hardened build flags.
+      http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags
+  * debian/source/format
+    - New. Update to format "3.0 (quilt)".
+  * debian/wmfrog.1.pod
+    - Move from manual page from section 1x to 1.
+
+ -- Jari Aalto <jari.aalto at cante.net>  Wed, 21 Mar 2012 03:45:02 -0400
+
+wmfrog (0.2.0-1) unstable; urgency=low
+
+  * Initial release. (Closes: #504786)
+
+ -- Jari Aalto <jari.aalto at cante.net>  Fri, 07 Nov 2008 09:57:30 +0000
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d0ec10f
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,25 @@
+Source: wmfrog
+Section: x11
+Priority: optional
+Maintainer: Doug Torrance <dtorrance at monmouthcollege.edu>
+Build-Depends: debhelper (>= 9), libxpm-dev, x11proto-xext-dev, libxext-dev
+Standards-Version: 3.9.5
+Vcs-Browser: https://bitbucket.org/tcolar/wmfrog/
+Vcs-Hg: https://bitbucket.org/tcolar/wmfrog/
+Homepage: http://wiki.colar.net/wmfrog_dockapp
+
+Package: wmfrog
+Architecture: any
+Depends: wget, libxext6, ${shlibs:Depends}, ${misc:Depends}
+Description: dockapp for graphically indicating the weather
+ This package provides a dockapp for weather reports. It shows:
+ .
+  - Cloud cover: clear, few, scattered, broken, overcast etc.
+  - Precipitation: light, moderate, or heavy rain, hail, or snow.
+  - Humidity as a percentage.
+  - Wind speed, average and gusting, and direction.
+  - Temperature: Celsius or Fahrenheit.
+  - Special conditions such as gales, thunderstorms, or tornadoes.
+ .
+ The name of the reporting station can be configured and the time of the
+ last update is displayed.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..8eb833b
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,47 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0
+X-Format: http://dep.debian.net/deps/dep5
+Upstream-Name: wmfrog
+Upstream-Contact: Thibaut Colar <tcolar at colar.net>
+Source: http://freshmeat.net/projects/wmfrog
+X-Upstream-Bugs:
+ <tcolar-wm at colar.net>
+ https://bitbucket.org/tcolar/wmfrog/issues
+X-Vcs:
+ hg clone https://bitbucket.org/tcolar/wmfrog
+X-Source:
+ http://wiki.colar.net/wmfrog_dockapp
+ https://sourceforge.net/projects/wmfrog
+ http://dockapps.org/file.php/id/92
+
+Files: *
+Copyright:
+  2002-2007 Thibaut Colar <tcolar at users.sourceforge.net>, <tcolar at colar.net>
+License: GPL-2+
+
+Files: Src/xutils.c
+Copyright:
+  2002-2007 Martijn Pieterse
+License: GPL-2+
+
+Files: debian/*
+Copyright:
+  2008-2012 Jari Aalto <jari.aalto at cante.net>
+  2013 Doug Torrance
+License: GPL-2+
+
+License: GPL-2+
+ This package 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 package 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, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License can be found in "/usr/share/common-licenses/GPL-2".
diff --git a/debian/manpages b/debian/manpages
new file mode 100644
index 0000000..0f65186
--- /dev/null
+++ b/debian/manpages
@@ -0,0 +1 @@
+debian/*.1
diff --git a/debian/patches/20-weather.pl.patch b/debian/patches/20-weather.pl.patch
new file mode 100644
index 0000000..d0b2f3a
--- /dev/null
+++ b/debian/patches/20-weather.pl.patch
@@ -0,0 +1,176 @@
+From: Jari Aalto <jari.aalto at cante.net>
+Subject: Fix Perl warnings, array subscript, test directory
+
+Updated by Doug Torrance <dtorrance at monmouthcollege.edu> for new upstream version 0.3.1.
+
+--- wmfrog-0.3.1.orig/Src/weather.pl
++++ wmfrog-0.3.1/Src/weather.pl
+@@ -2,9 +2,9 @@
+ #Thibaut Colar: http://www.colar.net/ 
+ #2002/05
+ 
+-#The Weather data can be retrieved through http of ftp.
++#The weather data can be retrieved through http or ftp.
+ #Http is faster, however this might get broken if NOAA change their webpage layout
+-#in wich case you should choose ftp.
++#in which case you should choose ftp.
+ 
+ $mode="http"; # html || ftp
+ 
+@@ -32,7 +32,7 @@ if($mode eq "ftp")
+ $line="";
+ $file="${tmpfolder}/${station}_dat";
+ open(DATA,"<$file");
+-$allGood=0;
++#$allGood=0;
+ if($mode eq "http")
+ {
+     while((! ($line=~m/START BODY OF TEXT HERE/)) && !eof(DATA))
+@@ -55,7 +55,7 @@ if(eof(DATA))
+ 
+ $line=<DATA>;
+ chomp $line;
+-($junk,$time)=split(/\ /,$line);
++(undef,$time)=split(/\ /,$line);
+ ($hour,$minute)=split(/:/,$time);
+ $line="";
+ if($mode eq "http")
+@@ -82,26 +82,26 @@ debug("args: @args");
+ debug("line: $line");
+ 
+ $i=0;
+-$station=@args[$i];
++$station=$args[$i];
+ if(($station eq 'METAR') or ($station eq 'SPECI'))
+ {
+-	$station=@args[$i+1];
++	$station=$args[$i+1];
+ 	$i++
+ }
+ $i++;#date (ln 1)
+ $i++;#time (ln 1)
+ $i++;#station (ln 2)
+ $i++;#datetime (ln 2)
+-$wind=@args[$i];
++$wind=$args[$i];
+ if($wind eq 'AUTO')
+ {
+-	$wind=@args[$i+1];
++	$wind=$args[$i+1];
+ 	$i++;
+ }
+ debug("wind: $wind");
+ 
+ $i++;
+-$visibility=@args[$i];
++$visibility=$args[$i];
+ $i++;#Visibility
+ debug("vis: $visibility");
+ 
+@@ -109,16 +109,16 @@ debug("vis: $visibility");
+ #{
+ #	$i++; # visibility with fractions, not using
+ #}
+-$next=@args[$i];
++$next=$args[$i];
+ if($next=~m/\//)
+ {
+ 	$i++; # fractional visibility, skipping
+ }
+ 
+-$tmp="";
++#$tmp="";
+ $weather="";
+ $clouds="";
+-while((! (@args[$i]=~/\//)) && ($i<@args))
++while((! ($args[$i]=~/\//)) && ($i<@args))
+ {
+     $intensity="";
+     $desc="";
+@@ -126,7 +126,7 @@ while((! (@args[$i]=~/\//)) && ($i<@args
+     $obsc="";
+     $misc="";
+     $j=0;
+-    $curent=@args[$i];
++    $curent=$args[$i];
+     
+     debug("cur : $curent");
+     
+@@ -140,7 +140,7 @@ while((! (@args[$i]=~/\//)) && ($i<@args
+     if($curent=~/^VV/)
+     {
+ 		$clouds.="VV,".substr($curent,2,3).";";
+-		$wasNotCloud="yes";
++		#$wasNotCloud="yes";
+     }
+     if(($curent=~/^CLR/) or ($curent=~/^SCK/) or ($curent=~/^FEW/) or ($curent=~/^SCT/)  or ($curent=~/^BKN/)   or ($curent=~/^OVC/))
+     {
+@@ -193,7 +193,7 @@ while((! (@args[$i]=~/\//)) && ($i<@args
+ 	}    
+     $i++;
+ }
+-($temp,$dew)=split(/\//, at args[$i]);
++($temp,$dew)=split(/\//,$args[$i]);
+ 
+ 
+ $dir=substr($wind,0,3);
+@@ -264,31 +264,36 @@ debug("Dew:$dew");
+ 
+ 
+ #check for ok temperature
+-open(GREP, "grep Temp $tmpfolder/${station} | ");
+-$templine=<GREP>;
+-$templine=~m/^Temp:(.*)$/;
++if ( -d "$tmpfolder/$station" )
+ {
+-	$lattemp=$1;
+-	if($temp>-50 && $temp<150)
+-	{
+-		if($lasttemp>-50 && $lasttemp<150)
+-		{
+-			if($temp>-2 && $temp<2)
+-			{
+-				if($lasttemp>7 || $lasttemp<-7)
+-				{
+-					#probably invalid
+-					$station="";
+-				}
+-			}
+-		}
+-	}
+-	else
+-	{
+-		$station="";
+-	}
++    open(GREP, "grep Temp $tmpfolder/${station} | ");
++    $templine=<GREP>;
++
++    $templine=~m/^Temp:(.*)$/;
++    {
++	    # $lattemp=$1;
++	    if($temp>-50 && $temp<150)
++	    {
++		    if($lasttemp>-50 && $lasttemp<150)
++		    {
++			    if($temp>-2 && $temp<2)
++			    {
++				    if($lasttemp>7 || $lasttemp<-7)
++				    {
++					    #probably invalid
++					    $station="";
++				    }
++			    }
++		    }
++	    }
++	    else
++	    {
++	    #invalid
++	    $station="";
++	    }
++    }
++    close GREP;
+ }
+-close GREP;
+ 
+ debug("Station: $station");
+ 
diff --git a/debian/patches/new-station-lookup-url.patch b/debian/patches/new-station-lookup-url.patch
new file mode 100644
index 0000000..c71ecc5
--- /dev/null
+++ b/debian/patches/new-station-lookup-url.patch
@@ -0,0 +1,17 @@
+Description: New Metereological Station Information Lookup page
+ This patch updates the url of the NOAA's Metereological Station Information
+ Lookup page in the INSTALL documentation file.
+Author: Doug Torrance <dtorrance at monmouthcollege.edu>
+Last-Update: <2014-04-29>
+
+--- wmfrog-0.3.1.orig/INSTALL
++++ wmfrog-0.3.1/INSTALL
+@@ -37,7 +37,7 @@ You might need to set the location of pe
+ Use
+ --------------------------------------------------------------------------------
+ Find your METAR station name here: 
+-http://www.nws.noaa.gov/tg/siteloc.shtml
++http://www.nws.noaa.gov/tg/siteloc.php
+ For example Reno, NV is KRNO
+ Also you will want to set your Time offset from UTC(GMT), for example Pacific time is GMT-8, so offset is -8
+ 
diff --git a/debian/patches/renamed-wmfrog.c.patch b/debian/patches/renamed-wmfrog.c.patch
new file mode 100644
index 0000000..fb39c91
--- /dev/null
+++ b/debian/patches/renamed-wmfrog.c.patch
@@ -0,0 +1,696 @@
+Description: Renamed wmFrog.c to wmfrog.c.
+ Previously, the binary wmfrog was built from the source file wmFrog.c,
+ resulting in a Lintian "source-is-missing" error.  This patch fixes this
+ issue by renaming wmFrog.c to wmfrog.c.
+ .
+ This patch also updates the location of the NOAA's Meterological Station
+ Information Lookup page and incorporates the s/Dont/Don't/g spelling change
+ from the original patch 30-wmfrog.c-no-output.patch by Jari Aalto
+ <jari.aalto at cante.net>.
+Author: Doug Torrance <dtorrance at monmouthcollege.edu>
+Last-Update: <2014-04-29>
+
+--- wmfrog-0.3.1.orig/Src/Makefile
++++ wmfrog-0.3.1/Src/Makefile
+@@ -8,7 +8,7 @@ LIBS   = -lXpm -lX11 -lXext
+ # LIBS   = -lXpm -lX11 -lXext -lsocket
+ PREFIX=/usr
+ 
+-OBJS   = wmFrog.o \
++OBJS   = wmfrog.o \
+          xutils.o
+ 
+ 
+@@ -16,10 +16,10 @@ OBJS   = wmFrog.o \
+ 	$(CC) $(CFLAGS) -D$(shell echo `uname -s`) -c $< -o $*.o $(INCDIR)
+ 
+ 
+-all:	wmFrog.o wmFrog 
++all:	wmfrog.o wmfrog 
+ 
+-wmFrog.o: frog.xpm frog.xbm
+-wmFrog:	$(OBJS) 
++wmfrog.o: frog.xpm frog.xbm
++wmfrog:	$(OBJS) 
+ 	$(CC) $(CFLAGS) $(SYSTEM) -o wmfrog $^ $(INCDIR) $(LIBDIR) $(LIBS)
+ install:
+ 		mkdir -p "$(DESTDIR)$(PREFIX)/bin"
+--- /dev/null
++++ wmfrog-0.3.1/Src/wmfrog.c
+@@ -0,0 +1,656 @@
++/*
++   Thibaut Colar  http://www.colar.net/      2002/05
++   This is a dockapp wich shows you the weather at a specific location
++   from it's METAR code.
++   If this program blew up your computer it isn't my fault :-)
++   This use a bit of code borrowed from the wmWeather application(originally).
++
++   To build from src needs libxpm-dev, libx11-dev, libext-dev
++ */
++
++
++/*
++ *   Includes
++ */
++#include <signal.h>
++#include <stdio.h>
++#include <math.h>
++#include <string.h>
++#include <unistd.h>
++#include <stdlib.h>
++#include <ctype.h>
++#include <time.h>
++#include <pwd.h>
++#include <X11/X.h>
++#include <X11/xpm.h>
++#include "xutils.h"
++#include "frog.xpm"
++#include "frog.xbm"
++
++
++
++/*
++ *  Delay between refreshes (in microseconds)
++ */
++#define DEBUG 0
++#define VERSION "0.3.1"
++// 5 mn in seconds
++#define DEFAULT_UPDATEDELAY 300L
++// max wind in KNOTS
++#define MAX_WIND 50
++#define TIME_OFFSET 0
++#define METRIC 0
++
++void ParseCMDLine(int argc, char *argv[]);
++void ButtonPressEvent(XButtonEvent *);
++void KeyPressEvent(XKeyEvent *);
++char *StringToUpper(char *);
++char *mystrsep(char **stringp, char *delim);
++char *GetTempDir(char *suffix);
++void UpdateData();
++void Repaint();
++
++struct WeatherStruct {
++    int intensity;
++    char* precip;
++    char* desc;
++    char* obsc;
++    char* misc;
++    char* coverage;
++    int temp;
++    int dew;
++    float humidity;
++    int hour;
++    int min;
++    int wind;
++    int gust;
++    int dir;
++} weather;
++
++char StationID[10];
++char Label[20];
++int Metric = METRIC;
++int NeedsUpdate = 1;
++int maxWind = MAX_WIND;
++int timeOffset = TIME_OFFSET;
++long UpdateDelay;
++char* folder;
++int needsUpdate = 1;
++
++/*
++ *   main
++ */
++int main(int argc, char *argv[]) {
++    XEvent event;
++    Display *dis;
++
++    dis = XOpenDisplay((char *) 0);
++
++    /*
++     *  Parse any command line arguments.
++     */
++    ParseCMDLine(argc, argv);
++
++    folder = GetTempDir(".wmapps");
++
++    initXwindow(argc, argv);
++
++    openXwindow(argc, argv, frog_xpm, frog_bits, frog_width,
++            frog_height, "#181818", "#79bdbf", "#ff0000", "#ffbf50", "#c5a6ff");
++
++    XSelectInput(dis, win, ExposureMask);
++
++    // Update the data now .... which calls itself back every x seconds (UpdateDelay) using an alarm
++    UpdateData();
++
++    while (1) {
++        while (XPending(display)) {
++            XNextEvent(display, &event);
++            switch (event.type) {
++                case Expose:
++                    RedrawWindow();
++                    break;
++            }
++        }
++        // check for events 2x seconds to take it easy on cpu
++        usleep(500000);
++    }
++}
++
++void Repaint() {
++    int i, y, q;
++    char chr;
++
++    /*
++     * Clear window.
++     */
++    copyXPMArea(0, 64, 56, 56, 4, 4);
++
++    //clouds
++    if (strcmp(weather.coverage, "FEW") == 0) {
++        copyXPMArea(0, 183, 56, 15, 4, 4);
++    }
++    if (strcmp(weather.coverage, "SCT") == 0) {
++        copyXPMArea(56, 183, 56, 15, 4, 4);
++    }
++    if (strcmp(weather.coverage, "BKN") == 0) {
++        copyXPMArea(112, 183, 56, 15, 4, 4);
++    }
++    if (strcmp(weather.coverage, "OVC") == 0 || strcmp(weather.coverage, "VV") == 0) {
++        copyXPMArea(168, 183, 56, 15, 4, 4);
++    }
++
++    //obstruction
++    if (strcmp(weather.obsc, "") != 0) { //fog
++        if (strcmp(weather.desc, "BL") == 0)
++            copyXPMArea(56, 90, 56, 26, 4, 34);
++        else if (strcmp(weather.desc, "FZ") == 0)
++            copyXPMArea(112, 90, 56, 26, 4, 34);
++        else
++            copyXPMArea(168, 64, 56, 26, 4, 34);
++    }
++
++    //precipitation
++    if (strcmp(weather.precip, "DZ") == 0) {
++        copyXPMArea(112, 120, 56, 15, 4, 18);
++    }
++    if (strcmp(weather.precip, "RA") == 0) {
++        if (weather.intensity == 0)
++            copyXPMArea(56, 150, 56, 15, 4, 18);
++        if (weather.intensity < 0)
++            copyXPMArea(0, 150, 56, 15, 4, 18);
++        if (weather.intensity > 0)
++            copyXPMArea(112, 150, 56, 15, 4, 18);
++    }
++
++    if (strcmp(weather.precip, "SN") == 0 || strcmp(weather.precip, "SG") == 0) {
++        if (weather.intensity == 0)
++            copyXPMArea(56, 135, 56, 15, 4, 18);
++        if (weather.intensity > 0)
++            copyXPMArea(112, 135, 56, 15, 4, 18);
++        if (weather.intensity < 0)
++            copyXPMArea(0, 135, 56, 15, 4, 18);
++    }
++
++    if (strcmp(weather.precip, "IC") == 0 || strcmp(weather.precip, "IC") == 0 || strcmp(weather.precip, "IC") == 0 || strcmp(weather.precip, "IC") == 0) {
++        if (weather.intensity == 0)
++            copyXPMArea(56, 166, 56, 16, 4, 18);
++        if (weather.intensity > 0)
++            copyXPMArea(112, 166, 56, 16, 4, 18);
++        if (weather.intensity < 0)
++            copyXPMArea(0, 166, 56, 16, 4, 18);
++    }
++
++    //descriptor
++    if (strcmp(weather.desc, "BL") == 0 && strcmp(weather.obsc, "") == 0) {
++        copyXPMArea(56, 64, 56, 26, 4, 34);
++    }
++    if (strcmp(weather.desc, "FZ") == 0 && strcmp(weather.obsc, "") == 0) {
++        copyXPMArea(112, 64, 56, 26, 4, 34);
++    }
++    if (strcmp(weather.desc, "TS") == 0) {
++        if (strcmp(weather.precip, "") != 0)
++            copyXPMArea(164, 150, 56, 15, 4, 18);
++        else
++            copyXPMArea(56, 120, 56, 15, 4, 18);
++    }
++
++    //special
++    if (strcmp(weather.misc, "") != 0) {
++        copyXPMArea(168, 90, 56, 26, 4, 34);
++        copyXPMArea(0, 120, 56, 15, 4, 18);
++        copyXPMArea(168, 183, 56, 16, 4, 4);
++
++    }
++
++    //writtings:
++
++    //clearing:
++    copyXPMArea(170, 20, 25, 17, 29, 44);
++    copyXPMArea(220, 0, 3, 60, 4, 4);
++    copyXPMArea(220, 0, 3, 60, 57, 4);
++    copyXPMArea(220, 0, 3, 60, 4, 4);
++
++    //humidity
++    y = (weather.humidity * 58) / 100;
++    copyXPMArea(60, 0, 1, y, 4, 60 - y);
++    copyXPMArea(60, 0, 1, y, 5, 60 - y);
++
++    //wind & gust
++
++    y = (weather.gust * 58) / maxWind;
++    copyXPMArea(62, 0, 1, y, 58, 60 - y);
++    copyXPMArea(62, 0, 1, y, 59, 60 - y);
++    y = (weather.wind * 58) / maxWind;
++    copyXPMArea(61, 0, 1, y, 58, 60 - y);
++    copyXPMArea(61, 0, 1, y, 59, 60 - y);
++
++    //station name
++    for (i = 0; i != 4; i++) {
++        chr = (int) Label[i] - 65;
++        copyXPMArea(chr * 5 + 89, 0, 5, 6, 31 + (i * 5), 45);
++    }
++
++    //time
++    i = weather.hour / 10;
++    copyXPMArea(89 + (i * 5), 7, 5, 6, 30, 53);
++    i = weather.hour - ((weather.hour / 10)*10);
++    copyXPMArea(89 + (i * 5), 7, 5, 6, 35, 53);
++    copyXPMArea(89 + (52), 7, 1, 6, 41, 53);
++    i = weather.min / 10;
++    copyXPMArea(89 + (i * 5), 7, 5, 6, 43, 53);
++    i = weather.min - ((weather.min / 10)*10);
++    copyXPMArea(89 + (i * 5), 7, 5, 6, 48, 53);
++
++
++    //temp
++
++    q = 10;
++    copyXPMArea(136, 30, 17, 9, q - 1, 22);
++    if (weather.temp < 0) {
++        copyXPMArea(90, 30, 3, 7, q, 23);
++        q += 5;
++    }
++    /*if(temp>100)
++      {
++      copyXPMArea(96, 20, 5, 7, q, 23);
++      q+=6;
++      }
++     */
++    copyXPMArea(136, 30, 17, 9, (q - 1), 22);
++
++    i = weather.temp;
++    if (i < 0)
++        i = -i;
++    if (i / 100 > 0) {
++        copyXPMArea(96, 20, 5, 7, q, 23);
++        q += 6;
++        i -= 100;
++    }
++    if ((i == 0 && q > 10) || i / 10 > 0 || q > 10) {
++        copyXPMArea(90 + 6 * (i / 10), 20, 5, 7, q, 23);
++        q += 6;
++    }
++
++    copyXPMArea(90 + 6 * (i - ((i / 10)*10)), 20, 5, 7, q, 23);
++    q += 5;
++    copyXPMArea(95, 29, 5, 7, q, 23);
++
++    // wind weather.dir
++    if ((weather.dir >= 0 && weather.dir <= 22) || (weather.dir <= 360 && weather.dir > 337))
++        copyXPMArea(0, 198, 7, 7, 48, 6);
++    if (weather.dir > 22 && weather.dir <= 67)
++        copyXPMArea(42, 198, 7, 7, 48, 6);
++    if (weather.dir > 67 && weather.dir <= 112)
++        copyXPMArea(14, 198, 7, 7, 48, 6);
++    if (weather.dir > 112 && weather.dir <= 157)
++        copyXPMArea(28, 198, 7, 7, 48, 6);
++    if (weather.dir > 157 && weather.dir <= 202)
++        copyXPMArea(7, 198, 7, 7, 48, 6);
++    if (weather.dir > 202 && weather.dir <= 247)
++        copyXPMArea(35, 198, 7, 7, 48, 6);
++    if (weather.dir > 247 && weather.dir <= 292)
++        copyXPMArea(21, 198, 7, 7, 48, 6);
++    if (weather.dir > 292 && weather.dir <= 337)
++        copyXPMArea(49, 198, 7, 7, 48, 6);
++
++    /*
++     * Make changes visible
++     */
++    RedrawWindow();
++}
++
++/*
++ *   ParseCMDLine()
++ */
++void ParseCMDLine(int argc, char *argv[]) {
++
++    int i;
++    void print_usage();
++
++    StationID[0] = '\0';
++    UpdateDelay = DEFAULT_UPDATEDELAY;
++    for (i = 1; i < argc; i++) {
++
++        if ((!strcmp(argv[i], "-metric")) || (!strcmp(argv[i], "-m"))) {
++            Metric = 1;
++        } else if (!strcmp(argv[i], "-w")) {
++            if ((i + 1 >= argc) || (argv[i + 1][0] == '-')) {
++
++                fprintf(stderr, "You must give a max wind value  with the -w option.\n");
++                print_usage();
++                exit(-1);
++            } else if (sscanf(argv[i + 1], "%d", &maxWind) != 1) {
++                fprintf(stderr, "Don't understand the max wind value have entered (%s).\n", argv[i + 1]);
++                print_usage();
++                exit(-1);
++            }
++        } else if (!strcmp(argv[i], "-o")) {
++            if ((i + 1 >= argc)) {
++                fprintf(stderr, "You must give a time offset value  with the -t option.\n");
++                print_usage();
++                exit(-1);
++            } else if (sscanf(argv[i + 1], "%d", &timeOffset) != 1) {
++                fprintf(stderr, "Don't understand the time offset value have entered (%s).\n", argv[i + 1]);
++                print_usage();
++                exit(-1);
++            }
++
++
++        } else if (!strcmp(argv[i], "-tmp")) {
++            if ((i + 1 >= argc) || (argv[i + 1][0] == '-')) {
++                fprintf(stderr, "-tmp option invalid.\n");
++                print_usage();
++                exit(-1);
++            }
++            strcpy(folder, argv[++i]);
++
++
++        } else if ((!strcmp(argv[i], "-station")) || (!strcmp(argv[i], "-s"))) {
++            if ((i + 1 >= argc) || (argv[i + 1][0] == '-')) {
++                fprintf(stderr, "No METAR station ID found\n");
++                print_usage();
++                exit(-1);
++            }
++            strcpy(StationID, StringToUpper(argv[++i]));
++            strcpy(Label, StationID);
++        } else if (!strcmp(argv[i], "-delay")) {
++            if ((i + 1 >= argc) || (argv[i + 1][0] == '-')) {
++
++                fprintf(stderr, "You must give a time with the -delay option.\n");
++                print_usage();
++                exit(-1);
++            } else if (sscanf(argv[i + 1], "%ld", &UpdateDelay) != 1) {
++
++                fprintf(stderr, "Don't understand the delay time you have entered (%s).\n", argv[i + 1]);
++                print_usage();
++                exit(-1);
++            }
++            /*
++             *  Convert Time to seconds
++             */
++            UpdateDelay *= 60;
++            ++i;
++        } else if (!strcmp(argv[i], "-l")) {
++            if ((i + 1 >= argc) || (argv[i + 1][0] == '-')) {
++                fprintf(stderr, "You must give a station label name.\n");
++                print_usage();
++                exit(-1);
++            }
++            strcpy(Label, StringToUpper(argv[++i]));
++        }
++    }
++
++    if (StationID[0] == '\0') {
++        fprintf(stderr, "\nYou must specify a METAR station code\n\n");
++        print_usage();
++        exit(1);
++    }
++}
++
++void print_usage() {
++
++    printf("\nwmfrog version: %s\n", VERSION);
++    printf("\nusage: wmfrog -s <StationID> [-h] [-w <max wind>] [-t <time offset>] [-tmp <temp folder>] [-l <label>]\n");
++    printf("                   [-m] [-delay <Time in Minutes>]\n\n");
++    printf("\n\t-station <METAR StationID>\n");
++    printf("\t-s       <METAR StationID>\tThe 4-character METAR Station ID.\n\n");
++    printf("\t-metric\n");
++    printf("\t-m\t\t\t\tDisplay Temperature in metric unit: (Celcius) \n\n");
++    printf("\t-delay <Time in Minutes>\tOverride time (in minutes) between updates\n");
++    printf("\t\t\t\t\tdefault is %ld minutes. \n\n", DEFAULT_UPDATEDELAY / 60);
++
++    printf("\t-w\t\t\t\tSet the maximum wind in KNOTS (for percentage of max / scaling.)\n");
++    printf("\t\t\t\t\tdefault is %d minutes). (Times are approximate.)\n\n", MAX_WIND);
++    printf("\t-o\t\t\t\tTime offset of location from UTC (7 for calif in summer) \n\n");
++    printf("\t-tmp\t\t\t\tSet the temporary folder (default is: %s) \n\n", folder);
++    printf("\t-l\t\t\t\tSet a label to replace the station ID \n\n");
++
++    printf("\n\nTo find out more about the METAR/TAF system, look at:\n");
++    printf("	 http://www.nws.noaa.gov/oso/oso1/oso12/metar.htm \n\n");
++    printf("To find your city Metar code go to  NOAA's ""Meteorological Station Information\nLookup"" page at:\n\n");
++    printf("	 http://www.nws.noaa.gov/oso/siteloc.php\n\n");
++    printf("\n Thibaut Colar http://www.colar.net/wmapps/\n\n");
++
++}
++
++/*
++ *  Compute the Julian Day number for the given date.
++ *  Julian Date is the number of days since noon of Jan 1 4713 B.C.
++ */
++double jd(ny, nm, nd, UT)
++int ny, nm, nd;
++double UT;
++{
++    double A, B, C, D, JD, day;
++
++    day = nd + UT / 24.0;
++
++    if ((nm == 1) || (nm == 2)) {
++        ny = ny - 1;
++        nm = nm + 12;
++    }
++
++    if (((double) ny + nm / 12.0 + day / 365.25) >= (1582.0 + 10.0 / 12.0 + 15.0 / 365.25)) {
++        A = ((int) (ny / 100.0));
++        B = 2.0 - A + (int) (A / 4.0);
++    } else {
++        B = 0.0;
++    }
++    if (ny < 0.0) {
++        C = (int) ((365.25 * (double) ny) - 0.75);
++    } else {
++        C = (int) (365.25 * (double) ny);
++    }
++
++    D = (int) (30.6001 * (double) (nm + 1));
++
++
++    JD = B + C + D + day + 1720994.5;
++    return (JD);
++
++}
++
++// Will be called at regular interval to update the weather data (alarm)
++
++void UpdateData() {
++    char command[1024], Line[512], FileName[128];
++    int ign;
++    char* igns;
++    igns = (char*) malloc(512);
++    FILE *fp;
++    char* weatherStr;
++    char* cloudsStr;
++    char* tmp1 = NULL;
++    char* tmp2 = NULL;
++    int keepgoing = 0;
++    int weatherFound = 0;
++    int cloudsFound = 0;
++    char* wtr;
++    char* clds;
++    int i, z;
++    weatherStr = (char*) malloc(512);
++    cloudsStr = (char*) malloc(512);
++
++    /*
++     *  Check the Current Conditions file every (approx.) several seconds.
++     */
++    weather.intensity = 0;
++    weather.desc = "";
++    weather.precip = "";
++    weather.obsc = "";
++    weather.misc = "";
++    weather.coverage = "";
++    weather.dir = -1;
++    weather.temp = 0;
++    weather.dew = 0;
++    weather.humidity = 0;
++    weather.hour = 0;
++    weather.min = 0;
++    weather.wind = 0;
++    weather.gust = 0;
++    /*
++     *  Execute Perl script to grab the Latest METAR Report
++     */
++    snprintf(command, 1024, "/usr/lib/wmfrog/weather.pl %s %s", StationID, folder);
++    //printf("Retrieveing data\n");
++    ign = system(command);
++    snprintf(FileName, 128, "%s/%s", folder, StationID);
++    //fprintf(stderr,"%s\n\n",FileName);
++
++    if ((fp = fopen(FileName, "r")) != NULL) {
++        ign = fscanf(fp, "Hour:%d", &weather.hour);
++        igns = fgets(Line, 512, fp); //h
++        ign = fscanf(fp, "Minute:%d", &weather.min);
++        igns = fgets(Line, 512, fp); //mn
++        igns = fgets(igns, 512, fp); //station . ignored
++        ign = fscanf(fp, "WindDir:%d", &weather.dir);
++        igns = fgets(Line, 512, fp); //dir
++        ign = fscanf(fp, "WindSpeed:%d", &weather.wind);
++        igns = fgets(Line, 512, fp); //wind
++        ign = fscanf(fp, "WindGust:%d", &weather.gust);
++        igns = fgets(Line, 512, fp); //gust
++        igns = fgets(weatherStr, 512, fp); //weather
++        weatherFound = (*igns != '\0');
++        igns = fgets(cloudsStr, 512, fp); //clouds
++        cloudsFound = (*igns != '\0');
++        ign = fscanf(fp, "Temp:%d", &weather.temp);
++        igns = fgets(Line, 512, fp); //temp
++        ign = fscanf(fp, "Dew:%d", &weather.dew);
++        igns = fgets(Line, 512, fp); //dew
++
++        if (DEBUG) {
++            printf("hr: %d\n", weather.hour);
++            printf("mn: %d\n", weather.min);
++            printf("wd: %d\n", weather.dir);
++            printf("ws: %d\n", weather.wind);
++            printf("wg: %d\n", weather.gust);
++            printf("temp: %d\n", weather.temp);
++            printf("dew: %d\n", weather.dew);
++            printf("w: %s\n", weatherStr);
++            printf("c: %s\n", cloudsStr);
++        }
++
++        fclose(fp);
++
++        if (weatherFound) {
++            wtr = strchr(weatherStr, ':') + 1; // get the part after "Weather:"
++            if (DEBUG) printf("weatherLine: %s\n", wtr);
++            do {
++                tmp1 = mystrsep(&wtr, ";");
++                if (tmp1 && strlen(tmp1) > 2) {
++                    if (DEBUG) printf("tmp1: %s\n", tmp1);
++                    tmp2 = mystrsep(&tmp1, ",");
++
++                    if (tmp2 && strcmp(tmp2, "") != 0) {
++                        if (strcmp("-", tmp2) == 0) {
++                            weather.intensity = -1;
++                        } else if (strcmp("+", tmp2) == 0) {
++                            weather.intensity = +1;
++                        }
++                    }
++                    tmp2 = mystrsep(&tmp1, ",");
++                    if (tmp2 && strcmp(tmp2, "") != 0) {
++                        weather.desc = tmp2;
++                    }
++                    tmp2 = mystrsep(&tmp1, ",");
++                    if (tmp2 && strcmp(tmp2, "") != 0) {
++                        weather.precip = tmp2;
++                    }
++                    tmp2 = mystrsep(&tmp1, ",");
++                    if (tmp2 && strcmp(tmp2, "") != 0) {
++                        weather.obsc = tmp2;
++                    }
++                    tmp2 = mystrsep(&tmp1, ",");
++                    if (tmp2 && strcmp(tmp2, "") != 0) {
++                        weather.misc = tmp2;
++                    }
++                } else {
++                    keepgoing = 0;
++                }
++                if (DEBUG) printf("Intensity: %d \n", weather.intensity);
++            } while (keepgoing);
++        }
++
++
++        if (cloudsFound) {
++            clds = strchr(cloudsStr, ':') + 1; // get the part after "Clouds:"
++            if (DEBUG) printf("cloudsLine: %s\n", clds);
++            do {
++                tmp1 = mystrsep(&clds, ";");
++                if (DEBUG) printf("tmp1: %s\n", tmp1);
++                if (tmp1 && strlen(tmp1) > 2) {
++                    tmp2 = mystrsep(&tmp1, ",");
++
++                    if (tmp2 && strcmp(tmp2, "") != 0) {
++                        weather.coverage = tmp2;
++                    }
++                }
++                if (DEBUG) printf("Coverage: |%s|\n", weather.coverage);
++            } while (tmp1);
++        }
++        weather.humidity = ((112.0 - 0.1 * weather.temp + weather.dew) / (112.0 + 0.9 * weather.temp));
++        z = weather.humidity;
++        for (i = 0; i != 8; i++)
++            weather.humidity *= z;
++        weather.humidity *= 100;
++        if (weather.humidity > 100)
++            weather.humidity = 100;
++        if (weather.humidity < 0)
++            weather.humidity = 0;
++
++        weather.hour = weather.hour + timeOffset;
++        if (weather.hour < 0)
++            weather.hour = 24 + weather.hour;
++        if (weather.hour > 24)
++            weather.hour = weather.hour - 24;
++
++        if (!Metric)
++            weather.temp = (weather.temp * 9) / 5 + 32;
++    }
++
++    // set next alarm
++    signal(SIGALRM, UpdateData);
++    /* Set an alarm to go off in a little while. */
++    alarm(UpdateDelay);
++
++    Repaint();
++}
++
++char *GetTempDir(char *suffix) {
++    uid_t id;
++    struct passwd *userEntry;
++    static char userHome[128];
++
++    id = getuid();
++    userEntry = getpwuid(id);
++    snprintf(userHome, 128, "%s/%s", userEntry->pw_dir, suffix);
++    return userHome;
++}
++
++char *StringToUpper(char *String) {
++
++    int i;
++
++    for (i = 0; i < strlen(String); i++)
++        String[i] = toupper(String[i]);
++
++    return String;
++}
++
++char *mystrsep(char **stringp, char *delim) {
++    char *start = *stringp;
++    char *cp;
++    char ch;
++    if (start == NULL)
++        return NULL;
++    for (cp = start; (ch = *cp) != 0; cp++) {
++        if (strchr(delim, ch)) {
++            *cp++ = 0;
++            *stringp = cp;
++            return start;
++        }
++    }
++    *stringp = NULL;
++    return start;
++}
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..4b55451
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+20-weather.pl.patch
+weather.pl-new-line-skip.patch
+renamed-wmfrog.c.patch
+new-station-lookup-url.patch
diff --git a/debian/patches/weather.pl-new-line-skip.patch b/debian/patches/weather.pl-new-line-skip.patch
new file mode 100644
index 0000000..a2e983e
--- /dev/null
+++ b/debian/patches/weather.pl-new-line-skip.patch
@@ -0,0 +1,20 @@
+Description: New line skip in weather.pl.
+ Previously, there were 12 lines between the "START BODY OF TEXT HERE" comment
+ and the time in the html file downloaded from weather.noaa.gov for processing
+ weather information.  Now, however, the number of lines has increased to 21,
+ and weather.pl was not able to correctly parse the weather information.
+ .
+ This patch fixes this issue.
+Author: Doug Torrance <dtorrance at monmouthcollege.edu>
+
+--- wmfrog-0.3.1.orig/Src/weather.pl
++++ wmfrog-0.3.1/Src/weather.pl
+@@ -40,7 +40,7 @@ if($mode eq "http")
+ 		$line=<DATA>;
+     }
+     $i=0;
+-    while($i!=12 && !eof(DATA))
++    while($i!=21 && !eof(DATA))
+     {
+ 		$line=<DATA>;
+ 		$i++;
diff --git a/debian/pod2man.mk b/debian/pod2man.mk
new file mode 100644
index 0000000..450fa9a
--- /dev/null
+++ b/debian/pod2man.mk
@@ -0,0 +1,70 @@
+# pod2man.mk -- Makefile portion to convert *.pod files to manual pages
+#
+#   Copyright information
+#
+#	Copyright (C) 2008-2010 Jari Aalto
+#
+#   License
+#
+#       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, see <http://www.gnu.org/licenses/>.
+#
+#   Description
+#
+# 	Convert *.pod files to manual pages. Add this to Makefile:
+#
+#	    PACKAGE = package
+#
+#	    man:
+#		    make -f pod2man.mk PACKAGE=$(PACKAGE) makeman
+#
+#	    build: man
+
+ifneq (,)
+    This makefile requires GNU Make.
+endif
+
+# This variable *must* be set when called
+PACKAGE		?= package
+
+# Optional variables to set
+MANSECT		?= 1
+PODCENTER 	?= User Commands
+PODDATE		?= $$(date "+%Y-%m-%d")
+
+# Directories
+MANSRC		?=
+MANDEST		?= $(MANSRC)
+
+MANPOD		?= $(MANSRC)$(PACKAGE).$(MANSECT).pod
+MANPAGE		?= $(MANDEST)$(PACKAGE).$(MANSECT)
+
+POD2MAN		?= pod2man
+POD2MAN_FLAGS	?= --utf8
+
+makeman: $(MANPAGE)
+
+$(MANPAGE): $(MANPOD)
+	# make target - create manual page from a *.pod page
+	podchecker $(MANPOD)
+	LC_ALL= LANG=C $(POD2MAN) $(POD2MAN_FLAGS) \
+		--center="$(PODCENTER)" \
+		--date="$(PODDATE)" \
+		--name="$(PACKAGE)" \
+		--section="$(MANSECT)" \
+		$(MANPOD) \
+	| sed 's,[Pp]erl v[0-9.]\+,$(PACKAGE),' \
+	  > $(MANPAGE) && \
+	rm -f pod*.tmp
+
+# End of of Makefile part
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..74297ba
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,29 @@
+#!/usr/bin/make -f
+
+PACKAGE = wmfrog
+MAKEOPT = -C Src
+
+export DEB_BUILD_MAINT_OPTIONS	= hardening=+all
+export DEB_CFLAGS_MAINT_APPEND	= -Wall -pedantic
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
+man:
+	# convert *.pod to manual page
+	$(MAKE) -C debian -f pod2man.mk PACKAGE=$(PACKAGE) makeman
+
+override_dh_auto_build: man
+	# CFLAGS is the only variable that we can utilize to pass flags.
+	$(MAKE) $(MAKEOPT) CFLAGS="$(CFLAGS) $(CPPFLAGS) $(LDFLAGS)"
+
+override_dh_auto_clean:
+	[ ! Src/Makefile ] || $(MAKE) $(MAKEOPT) clean
+
+override_dh_auto_install:
+	$(MAKE) $(MAKEOPT) install DESTDIR=$(CURDIR)/debian/wmfrog
+
+%:
+	dh $@
+
+.PHONY = man
+
+# End of file
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..5711121
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+https://bitbucket.org/tcolar/wmfrog/downloads/wmfrog-(.+)\.tgz
\ No newline at end of file
diff --git a/debian/wmfrog.1.pod b/debian/wmfrog.1.pod
new file mode 100644
index 0000000..b5f1334
--- /dev/null
+++ b/debian/wmfrog.1.pod
@@ -0,0 +1,109 @@
+Rxu#  This is manual page in Perl POD format. Read more at
+#  http://perldoc.perl.org/perlpod.html or run command:
+#
+#     perldoc perlpod | less
+#
+#  To check the syntax:
+#
+#     podchecker *.pod
+#
+#  Create manual page with command:
+#
+#    pod2man PAGE.N.pod > PAGE.N
+
+=pod
+
+=head1 NAME
+
+wmfrog - a dockapp for showing weather in graphical way
+
+=head1 SYNOPSIS
+
+  wmfrog [options] -stattion <METAR station id>
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-delay minutes>
+
+Override time (in minutes) between updates. Default is 15.
+
+=item B<-m, -metric>
+
+Display Temperature in metric unit: Celcius.
+
+=item B<-o offset>
+
+Time offset of location from UTC. Positive or negative integer
+expressed in hours, like +1 or -7.
+
+=item B<-s, -station>
+
+Required option. The 4-character METAR Station ID. See
+http://en.wikipedia.org/wiki/METAR
+
+=item B<-w knots>
+
+Set the maximum wind in KNOTS for percentage of max / scaling. Default
+is 50 Knots.
+
+=item B<-tmp directory>
+
+Set the temporary directory where the METAR data files are downloaded
+Default is C</tmp>.
+
+=item B<-l label>
+
+Set displayed text to 4 character (max) label to replace the METAR
+station id.
+
+=back
+
+=head1 DESCRIPTION
+
+A dockapp for weather reports. Includes clouds (clear, few,
+scattered, broken, overcast ...); Precipitations (drizzle, rain, snow,
+ice christals: light/moderate or heavy); Special weather (Blowing wind
+/ Freezing / Thunderstorm, funnel cloud...); Humidity perentage; Wind
+speed (average & gust); Wind Direction; Temperature (Celcius or
+Fareinheit); Station name can be configured and weather report time is
+displayed.
+
+To find out more about the METAR/TAF system, see
+I<Frequently Asked Questions about METAR/SPECI and TAF> at
+http://www.nws.noaa.gov/oso/oso1/oso12/faq.htm
+
+To find your city Metar code go to NOAA's Meteorological Station
+Information Lookup page I<Meteorological Products Processed At The
+NWSTG> at at http://www.nws.noaa.gov/tg/siteloc.php
+
+=head1 ENVIRONMENT
+
+None.
+
+=head1 FILES
+
+=over 4
+
+=item /tmp/<station-id>/
+
+Stored data files. The directory can be changed with option B<-tmp>
+
+=back
+
+=head1 SEE ALSO
+
+wmweather(1)
+wmweather+(1)
+
+=head1 AUTHORS
+
+program was written by Thibaut Colar <tcolar at users.sourceforge.net>
+
+This manual page is based on 0.1.6 version of the program. Updated by Jari
+Aalto <jari.aalto at cante.net>. Released under license GNU GPL v2 or (at
+your option) any later version. For more information about license, visit
+<http://www.gnu.org/copyleft/gpl.html>.
+
+=cut

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmfrog.git



More information about the Pkg-wmaker-commits mailing list