[ITA] - base-files
David Sastre
d.sastre.medina@gmail.com
Wed Dec 8 21:22:00 GMT 2010
Hello,
I have a base-files-4.0-1 package ready to receive testing. You can fetch it
from this URL:
http://www.eco-lution.tv/cygwin/release/base-files/base-files-4.0-1.tar.bz2
http://www.eco-lution.tv/cygwin/release/base-files/base-files-4.0-1.tar.bz2.sig
md5sums:
ff8000e0c128c9a7732d17c5eaace129 base-files-4.0-1.tar.bz2
bcdea646fcf7038f0796c68838759829 base-files-4.0-1.tar.bz2.sig
Setup.hint is unchanged.
I'd like to explain the most important change I've made, and also the
purpose of that change.
I have decided to pull out of /etc/profile the case switch that tries
to detect the shell and sets PS1 (and HOSTNAME) accordingly.
The reason for this change is that all of bash, mksh, zsh and tcsh, provide
their own files for doing that job. The result is a lighter /etc/profile
that sets a minimun PS1='$ ' that will be used by posh and dash (the only
two shells in the repo that lack specific startup files), allowing shells
that do have that files to alter this setting(s).
Notice that neither posh nor mksh, despite being ksh derivatives, read
/etc/ksh.kshrc nor ~/.kshrc.
(I=interactive,L=login,N=non-interactive,B=bash,M=mksh,Z=zsh,T=tcsh,O=posh,dash,!=not)
BL=> /etc/profile -> ~/.bash_profile -> ~/.bashrc -> /etc/bash.bashrc
BI!L=> /etc/bash.bashrc -> ~/.bashrc
ML=> /etc/profile -> ~/.mkshrc -> /etc/mkshrc
MI!L=> ~/.mkshrc -> /etc/mkshrc
OL=> /etc/profile -> ~/.profile (as of now, /etc/profile is not posh-compatible!!)
ZL&ZI!L=> Well... the startup routines for zsh are complicated enough to let the end
users craft their own environment (IMHO).
It's in the system-wide /etc/${SHELL}rc where PS1 and HOSTNAME are defined
now (overriding the /etc/profile default). Also, the logic that sources
/etc/profile.d/ scripts will be included there, to avoid the current situation,
where /etc/profile sources everything under /etc/profile.d, regardless
the calling shell (bash sources /etc/profile.d/*.zsh)
This changes solve the reported bug about interactive shells with a
non-interactive ancestor presenting an unset PS1 prompt.
The bug was reported regarding bash, but this logic should apply to
every shell now.
Also, the reported bug about mksh not having a well-defined PS1 can
be considered solved, since mksh will set its own PS1 in /etc/mkshrc,
sourced by ~/.mkshrc. For completeness, a skeleletal .mkshrc is provided
now which sources a system-wide /etc/mkshrc. Should that file be provided
by the mksh mantainer and installed in /etc/defaults/etc/mkshrc ?
As of now, this is the panorama: three shells offer a default system-wide rc
file in their packages, dash and posh won't use it and bash's is included in
base-files, though only two of them install it per default (tcsh and bash).
It would be better if all shells unify their criteria regarding this.
$ cygcheck -l zsh mksh tcsh dash posh bash | grep rc$
/usr/share/doc/mksh/examples/dot.mkshrc
/etc/defaults/etc/csh.cshrc
/usr/share/doc/zsh-4.3.10/StartupFiles/etc/zshrc
All changes (and bugfixes) included in this release are detailed in the
ChangeLog.
Whilst I've tried to be thorough, there are probably errors/bugs, so
I'd appreciate any testing people can give to this, in order to find
them. TIA, and sorry for the long post.
--
Huella de clave primaria: 0FDA C36F F110 54F4 D42B D0EB 617D 396C 448B 31EB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20101208/d4d25090/attachment.sig>
More information about the Cygwin-apps
mailing list