--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: kimberlite: depends on pdksh but /bin/ksh may not be pdksh
- From: Oliver Kiddle <okiddle@yahoo.co.uk>
- Date: Thu, 24 Nov 2005 15:26:11 +0100
- Message-id: <25518.1132842371@localhost.localdomain>
Package: kimberlite
Version: 1.1.0-3.3
Severity: normal
kimberlite depends on pdksh and includes ksh scripts in
/usr/lib/kimberlite that rely on #!/bin/ksh to run the scripts. However,
since version 5.2.14-18 of pdksh, pdksh is installed as /bin/pdksh and
the alternates system used to handle /bin/ksh. This means that
installing kimberlite can add pdksh as a dependency but a different ksh
is then used.
One solution would therefore be to change the dependency to ksh | mksh |
pdksh | zsh. Alternatively, the scripts should be changed to use
#!/bin/pdksh.
The advantage of changing the dependency is that it reduces the chance
that someone needs to install an extra package. The problem is that the
scripts may break in one of the other shells. Looking through the
scripts closely, I noticed one problem. Function definitions are of this
form:
stopDevices()
{
typeset TMPFILE=/tmp/$MYNAME.stopDevices.$$
...
}
In the real Korn shell, the two function declaration forms have
different semantics and variable definitions will not have local scope.
The fix is to use the syntax:
function stopDevices
{
}
This should really be changed upstream: other distributions have changed
their ksh to the real ksh.
Oliver
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
--- End Message ---