Thread: shebang for tcl postgresql modules

shebang for tcl postgresql modules

From
Jozef Mlich
Date:
Dear hackers,

I would like to ask you if is there any reason to pretend tcl scripts
are shell scripts?

I am speaking namely about these files

http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/pl/tcl/modules/pltcl_delmod.in;hb=HEAD
http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/pl/tcl/modules/pltcl_listmod.in;hb=HEAD
http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/pl/tcl/modules/pltcl_loadmod.in;hb=HEAD


Here is the part of code I am speaking about:

#! /bin/sh
# Start tclsh \
exec @TCLSH@ "$0" "$@"

instead of
#! /usr/bin/tclsh

or
#! @TCLSH@

I am asking because our test suite is triggering errors on this [1]. In
this case, it seems easier to modify code rather then test suite. Please
apply attached patch if there is no particular reason for use
of /bin/sh.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1199464


--
Jozef Mlich <jmlich@redhat.com>
Associate Software Engineer - EMEA ENG Developer Experience
Mobile: +420 604 217 719
http://cz.redhat.com/
Red Hat, Inc.

Attachment

Re: shebang for tcl postgresql modules

From
Tom Lane
Date:
Jozef Mlich <jmlich@redhat.com> writes:
> I would like to ask you if is there any reason to pretend tcl scripts
> are shell scripts?

That is the time-honored standard formatting for tcl scripts, see for
example page 2 here:
http://www.tcl.tk/doc/styleGuide.pdf

While we might get away with ignoring that convention for this specific
use-case, it carries a risk of breaking things, eg for people who have
multiple Tcl installations.  I'm disinclined to change it, especially
not if the reason is "rpmdiff is too dumb to recognize tcl scripts".
Somebody's gonna need to fix that anyway.
        regards, tom lane