This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Heads-up: postinstall scripts and PATH (Attn all package maintainers)
- From: Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 24 Feb 2004 15:00:11 -0500 (EST)
- Subject: Heads-up: postinstall scripts and PATH (Attn all package maintainers)
- Reply-to: cygwin-apps at cygwin dot com
Hi,
Someone was installing Cygwin from scratch on a clean system, and they had
a problem running the postinstall scripts. On further investigation, it
turned out that most of the scripts assume "/bin" is going to be in the
PATH, and that it's going to precede any other directories (even the
script that's supposed to create /etc/profile!).
IMO, postinstall scripts should assume that PATH is *unset*, and all
executables should be explicitly specified.
The following scripts suffer from this problem (followed by the names of
the executables they invoke with no explicit path, plus a few incidental
comments). Note that this list only includes the packages that I have
installed on my machine. And yes, some of them are mine (I'm not
infallible) :-).
Igor
XFree86-f*.sh: umount, cygpath, mount
Note: the above script should also check that the directory is
already mounted in the correct mode instead of unmounting and
remounting it all the time.
XFree86-lib.sh: mkdir, test?, tar, rm, ln
XFree86-prog.sh: touch, ln
XFree86-xserv.sh: ln
apache.sh: mv, sleep
auto*-devel.sh: install-info
base-files-profile.sh: find, sed, cp, echo?
bzip2.sh: install-info
cron.sh: mkdir, chmod, ln
cvs.sh: install-info
cygutils.sh: mkdir, touch
cygwin-doc-postinstall.sh: cygpath, mkshortcut, zcat, rm, install-info
Note: this script also uses bash syntax, but has #!/bin/sh at
the top. I believe we can safely assume that bash will be present
on the system by the time postinstall scripts run.
enscript.sh: cp
fontconfig.sh: dirname, basename, diff, cp, mkdir
Note: this one also uses bash syntax. Moreover, it requires things
like "diff" and "dirname"/"basename" to run, but neither "diffutils"
nor "sh-utils" are in the "requires" clause of "fontconfig".
freetype2.sh: mkdir, ln
gcc-mingw*.sh: ln
Note: uses "tar", but "tar" is not "require"d. Also, do we *really*
want this weird extraction mechanism?
gdbm.sh: install-info
iu-config.sh: mkdir, rm, cat
libgdbm-devel.sh: install-info
libncurses-devel.sh: ln, rm
libpng12-devel.sh: rm, ln, sed
libtool-devel.sh: install-info
man.sh: cp, ln
ncftp.sh: mkdir
pdksh.sh: grep, install, ln
pinfo.sh: install-info
post-tetex.sh: install-info, ln
post-texmf.sh: diff, cp, texconfig, cat
Note: uses bash syntax. Needs "diff" in "requires".
readline.sh: install-info
rpm.sh: rpm, touch
tcsh.sh: rm, ln
terminfo.sh: rm, ln
tidy.sh: touch
update-info-dir.sh: rm, install-info
wget.sh: cp
xfig.sh: mkdir, tar, rm, ln
Note: "tar" should be "require"d.
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu
ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster." -- Patrick Naughton