misc/weather: Added (cli utility for getting weather info)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
stormtracknole 2010-07-29 01:02:06 -05:00 committed by Erik Hanson
parent f4d4e7b84f
commit 5a74d7c4bd
5 changed files with 151 additions and 0 deletions

20
misc/weather/README Normal file
View file

@ -0,0 +1,20 @@
This command-line utility is intended to provide quick access to current
weather conditions and forecasts. Presently, it is capable of returning
data for localities throughout the USA by retrieving and formatting decoded
METARs (Meteorological Aerodrome Reports) from NOAA (the USA National Oceanic
and Atmospheric Administration) and forecasts from NWS (the USA National
Weather Service). The tool is written to function in the same spirit as
other command-line informational utilities like cal(1), calendar(1) and
dict(1). It can retrieve arbitrary weather data via specific command-line
switches (station ID, city, state), or aliases can be configured system wide
and on a per-user basis. It can be freely used and redistributed under the
terms of a BSD-like License.
*SPECIAL NOTE*
This will copy the existing "/usr/bin/weather" script on the system (which
is part of the "expect" package in Slackware) to "/usr/bin/weather.expect"
while installing the one in this package as "/usr/bin/weather.weather" and
creating a symlink to it from /usr/bin/weather. If you remove this package
later for whatever reason, then you will need to either reinstall Slackware's
"expect" package, fix the symlink, or remove the symlink and rename the
"/usr/bin/weather.expect" file back to "/usr/bin/weather"

33
misc/weather/doinst.sh Normal file
View file

@ -0,0 +1,33 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
if [ -L usr/bin/weather ]; then
break # Assume that this package is already installed and do nothing
elif [ ! -e usr/bin/weather.expect -a -e usr/bin/weather ]; then
# otherwise if /usr/bin/weather is present (and not a symlink) and
# /usr/bin/weather.expect is not present, then we need to back up
# the existing /usr/bin/weather, which is assumed to come from the
# stock expect package
cp -a usr/bin/weather usr/bin/weather.expect
fi
config etc/weatherrc.new
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -x /usr/bin/update-mime-database ]; then
/usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi

19
misc/weather/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
weather: Weather (cli utility for quick access to weather stuff)
weather:
weather: This command-line utility is intended to provide quick access to
weather: current weather conditions and forecasts. Presently, it is capable
weather: of returning data for localities throughout the USA by retrieving
weather: and formatting decoded METARs (Meteorological Aerodrome Reports)
weather: from NOAA (the USA National Oceanic and Atmospheric Administration)
weather: and forecasts from NWS (the USA National Weather Service).
weather:
weather:
weather:

View file

@ -0,0 +1,69 @@
#!/bin/sh
# Slackware build script for weather
# Written by stormtracknole - stormtracknole@gmail.com
PRGNAM=weather
VERSION=${VERSION:-1.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
else
LIBDIRSUFFIX=""
fi
set -e # Exit on most errors
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
mkdir -p $PKG/usr/bin
cp -a weather $PKG/usr/bin/weather.weather
( cd $PKG/usr/bin ; ln -s weather.weather weather )
mkdir -p $PKG/etc
cp -a weatherrc $PKG/etc/weatherrc.new
mkdir -p $PKG/usr/man/man{1,5}
gzip -9c weather.1 > $PKG/usr/man/man1/weather.1.gz
gzip -9c weatherrc.5 > $PKG/usr/man/man5/weatherrc.5.gz
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/python2.6/site-packages
cp -a weather.py $PKG/usr/lib${LIBDIRSUFFIX}/python2.6/site-packages
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a ChangeLog FAQ INSTALL LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

10
misc/weather/weather.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="weather"
VERSION="1.5"
HOMEPAGE="http://fungi.yuggoth.org/weather/"
DOWNLOAD="http://fungi.yuggoth.org/weather/src/weather-1.5.tar.gz"
MD5SUM="87c7f59bd34a2f62e38a11b81160cd6b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="stormtracknole"
EMAIL="stormtracknole@gmail.com"
APPROVED="rworkman"