--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: ivtools-bin: broken bashscripts
- From: Justin B Rye <jbr@edlug.org.uk>
- Date: Wed, 17 Aug 2005 00:04:49 +0100
- Message-id: <20050816230448.GA14659@xibalba.demon.co.uk>
Package: ivtools-bin
Version: 1.1.3-4
Severity: normal
The scripts /usr/X11R6/bin/ivgetjpg and ivtiftopnm fail to run, due
to the absence of "tmpnam"; they're fixable, but it's not worth the
effort.
> #!/bin/bash
> # ** requires w3c from w3c.org and djpeg from jpeg.org as well **
> #
> # ivgetjpeg
There are versions of /usr/bin/w3c in libwww-ssl0 and libwww0;
/usr/bin/djpeg is in libjpeg-progs. But ivtools-bin declares no
form of dependency on these packages, and these scripts don't bother
to check for the presence of the executables.
> #
> # bash script to download a jpeg file and import to a local drawing editor
> #
> # Parameters:
> # $1 URL
> # $2 import port on drawing editor
> url=$1
> importport=$2
> echo import $url to port $importport
> tempfile=`tmpnam`
> cmapfile=`tmpnam`
There is no such utility as "tmpnam". Presumably it could instead
point at /usr/X11R6/bin/ivtmpnam; but as far as protection against
tempfile creation-races is concerned it would be better to use the
standard /bin/tempfile in debianutils (which may also imply that
ivtmpnam should be removed from the package).
> stdcmapppm >$cmapfile
I don't claim to understand quite what stdcmapppm does (WTFM!), but
wouldn't it have been easier just to keep a single permanent copy of
this file in /usr/share/ivtools-bin or somewhere?
> w3c $url >$tempfile; djpeg -map $cmapfile -dither fs -pnm $tempfile | comterp telcat localhost $importport
> rm $tempfile $cmapfile
According to "man djpeg", "djpeg -dither fs -pnm" is redundant,
since that's the default. And it can take standard input, so the
$tempfile is unnecessary too - the whole script boils down to:
w3c $1 | djpeg -map /usr/share/ivtools-bin/cmap.ppm | comterp telcat localhost $2
But now I'm boggling slightly at the concept of a graphics
manipulation package that loads images by piping them through a
local telnet connection.
And the other one:
> #!/bin/bash
> #
> # ivtiftopnm [file]
> #
> # bash script to wrap tifftopnm which can't handle stdin
Wouldn't #!/bin/sh work equally well for these scripts anyway?
I'm glad to see this time there's at least a "Suggests: netpbm" to
pull in /usr/bin/tifftopnm. But it should still check.
> #
> # Parameters:
> # $1 optional tiff image filename
> #
> case "$#" in
> 0) tempfile=`tmpnam`
Again, broken and not worth fixing.
> cat >$tempfile
> tifftopnm $tempfile
> rm $tempfile
> ;;
> *) tifftopnm $1
> ;;
> esac
Meanwhile, "man tifftopnm" clearly states that it *does* handle
stdin in a perfectly standard fashion. So this whole script is
rather a waste of effort.
-- System Information:
Debian Release: 3.1
Architecture: i386 (i586)
Kernel: Linux 2.6.11.hurakan
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
Versions of packages ivtools-bin depends on:
ii ivtools-interviews 1.1.3-4 C++ GUI library with Motif Look an
ii ivtools-unidraw 1.1.3-4 Application Frameworks layered on
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libjpeg62 6b-10 The Independent JPEG Group's JPEG
ii libstdc++5 1:3.3.5-13 The GNU Standard C++ Library v3
ii libtiff4 3.7.2-3 Tag Image File Format (TIFF) libra
ii libx11-6 4.3.0.dfsg.1-14 X Window System protocol client li
ii libxext6 4.3.0.dfsg.1-14 X Window System miscellaneous exte
ii xlibs 4.3.0.dfsg.1-14 X Keyboard Extension (XKB) configu
ii xterm [x-terminal-emul 4.3.0.dfsg.1-14 X terminal emulator
ii zlib1g 1:1.2.2-4.sarge.2 compression library - runtime
-- no debconf information
--
JBR
Ankh kak! (Ancient Egyptian blessing)
--- End Message ---