This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Heads-up: postinstall scripts and PATH (Attn all package maintainers)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]