History of the HEPiX startup scripts project
The following is the History of the HEPiX scripts
project. It is given in reverse chronological order.
The numbering should be read as: Version.Release.Patch
27 February 95: Version 2.5.1
This new version inaugurates the first HEP_Xsession scripts for AIX
and Solaris.
It has a better support for group level and warn users if the system
is unable to find the user group name. Indeed, it occured quite often that
system administrators forget to update the /etc/group file or
its NIS equivalent.
The following gives the list of upgrades which have been done:
Shell part:
- wrappers:
bug fix done: a branch test was missing, so the system wasn't
sourcing the right flags according to what found in
/etc/hepix/list-
- startup-scripts:
- improved group support, group level protection and group name calculation
- fix the call to the zsh 'rc' part in HEP_zshenv. The shell is detected
with ZSH_VERSION now as VERSION is not supported anymore.
This is an uncompatibility which comes with zsh2.6.* versions.
- site-customisation:
- remove the alias x -> the;
- remove alias ff because of the discovery of an ff command
on AIX.
- bug fix for DOMAINAME test in the bourne shells
- add support for group level
- add CERN, CERN_ROOT, CERN_LEVEL variables +
othe system specific variables like TZ, ODMDIR,
LANG, NLSPATH, LOCPATH.
Correction to the Solaris SYSPATH, /usr/ucb is now at
the end.
- introduction of the LOCAL_MAIL variable which points to the
local mailbox
- extended XFILESEARCHPATH variable
- unset the 'autologout' parameter for tcsh
- unset the TMOUT variable for zsh
- templates:
- remove the example with ORACLE/bin because it might be confusing,
- remove the example with do_xauth because not deployed at CERN,
- add an example in order to replace the ff alias: findfile
- add a forward, rhosts, pinerc template,
- uco - Claudia Bondila claud@cernapo.cern.ch:
- add a -l flag to link shared executables in all
.@sys/bin repositories
- add a -h help flag
- add a -R flag for .rhosts file
- add a -m support for dumping the .pinerc default file
- the -p flag has to be used alone: 'uco -p' calculates
your login shell and dumps the right profile files accordingly,
- the '-q shell' option enables you to specify the shell for
which you want to get back the default profiles files,
- make.pl:
had been modified quite a lot in order to answer the basic following questions
- Do you want to enforce the scripts (default) or not (-w flag),
- Do you want to put only the shell part (default) or both shell and X11
part (-X flag)
- Do you want to put the inproduction mode (default) or the debug mode
(-d flag)
Of course the -v flag exists as well in order to have the verbose mode
The program checks if the file systems are writable before doing anything and
asks you to correct or not the situation. Indeed you might want to share some
files onto an exported NFS filesystem, or an AFS filesystem, etc.
(For sys admin who are using ASIS, don't forget to run ASISUpdate
if you had to make some directories local, /usr/local/lib/hepix or
/usr/local/lib/X11/xdm, /usr/local/man/man1,
/usr/local/bin, etc.)
It exists anyway a -F option to Force the installation.
In the future will come a -u option to specify if you want to
have the uco function and man pages local or remote.
Other important improvements and rationalisation will come.
X11:
The X11 support starts with this version, It is available only for
AIX and Solaris but the other platforms will be added to the list.
It gives a set of files HEP_Xsession, HEP_Xclients, etc.
in order to have a minimal working access to the xdmcp services.
This provide a hook for sys admin tasks, like /etc/nologin, it
provides an work environment in order to know what is the HEP_WM
(window manager), the User resources files, group files, client files, etc.
It has a failsafe mode: while in the login panel, after you
entered your login name, enter your password and instead of entering
carriage return, enter F1, you will get a failsafe
mode.
It creates a log in the user HOME directory: .xdm-stderr and
.xdm-stdout
It calculates the login shell and split the Xsession into sub
parts according to your login shell. This means that it runs then into
the same environment as the user login environment.
If the user has a .xsession file it runs it and assumes the user
knows what he is doing. Otherwise, the file .Xclients
is used by the user to specify the list of programs he wants to
start at beginning. The file .xsession.env can be used to specify
the value of HEP_WM. If the latter equals 'local'
then no window manager is started but the local window manager can be used.
This is under rapid evolution but you can already play with it.
5 December 94: Version 2.5
The first in production release of the hepix project in the AFS Cell.
21 November 94: Version 2.4.12
This version had been tested but not put into production it had been
skipped in favour of release 2.5
- last update of the user templates
- last improvement of the make.pl
- last improvement of the ftp repository
- correction to the copyright/motd sequence in login.[c]sh
- eliminate the 'mail' alias
- make a clean separation between installation mode 1 and mode 2.
In mode 1 don't start anything under /etc now because of
the nasty HP!
- introduce a first beta version of the hepix 2 project with a
Xwrapper and a X-HEP-level domain:
first design of a HEP_Xsession.
15 November 94: Version 2.4.11
- improvement of the make.pl: create a verbose mode
- introduction of the ftp repository
9 November 94: Version 2.4.10
- improvement of the zsh user templates
- improvement of the make.pl and the installation procedure
18 October 94: Version 2.4.9
- Implementation of the CLUSTER level.
It should increase the efficiency.
- There is now a /afs/cern.ch/project/hepix volume so there
are some modifications for the installation of Beta versions.
- uco is reviewed to get the '-p shell' option instead
of only '-p', etc.
10 October 94: Version 2.4.8
At least, the sys.conf files can call other levels files so we don't
need to support different models but only one for CERN!
It clarifies the situation and then we can add a CLUSTER level instead
of the coreconf file.
7 October 94: Version 2.4.7
- uco is in progress
- the file HEP_kshrc is protected because it can be sourced
by .kshrc and it calls this file.
- all the protections are improved in the same time.
6 October 94: Version 2.4.6
- NQS is tested, bug fix in C-shells: use the status of the
'tty -s'
command instead of the prompt because the shell is started in login mode.
- Problem with the fact that PDP is using yet another OS
definition! So a '/bin/test -s mail' is called and it is an
HP posix-shell call!
- ENVIRONMENT is reviewed.
- Documentation for the templates is written.
29 September 94: Version 2.4.5
- uco.1 man pages for uco written
- templates are better now and evaluated by Startup_scripts mailing list
- the TERM variable bug is corrected for L3 (and for everybody)
as they are using the DESY xrlogin to pass the DISPLAY
variable.
- the call to the group level is done in all files at the model level.
27 September 94: Version 2.4.4
- First Introduce In Production on ASIS
- debug mode:
The debug mode is improved. Everything goes into a file
/tmp/hepix-log.$$
- Central-Beta is introduced so the scripts can be tested in beta version
by everybody on ASIS.
- templates:
oracle call is put in oracle_*.[c]sh files;
the user has no "hard" line in his template. M. Marquina's input.
- wrappers:
users with uid < 100 are not getting the HEPiX environment.
- site customisation:
coreconf is sourced for every body.
Will be improved in 2.4.9,
A lot of PDP's model is merged with DCI's model.
- tools:
Makefile is improved again
20 September 94: Version 2.4.3
16 August 94: Version 2.4.2
- central templates:
gets the today's form. They try to get some informations
about the shell variables which protect the HEP files. Don't do
anything if these shell variables are set.
- startup scripts:
each of the following files are protected by shell variables
HEP_cshenv, HEP_shenv, HEP_login,
HEP_profile So we know if they have been already
executed or not. Can't be done twice!
- templates:
improved
1 August 94: Version 2.4.1
Major changements at CERN:
- There are different ways to install the HEP scripts
- the scripts can be enforced on a system.
So some wrappers have been defined.
- the scripts can be available on a system
So some central_*.[c]sh files have been designed.
- Not everybody is using the scripts
root, adm, all users in
/usr/sue/etc/local/list-
- The scripts are now compiled with a debug mode
- From a central source repository where the HEP scripts are a put
in a domain, the files are compiled into a debug and an inproduction mode.
- The compilation overcomes the ~/bin/whoami bug
where whoami is redefines the unix command.
All the unix commands are compiled with their absolute name in the
HEP scripts.
- The debug mode is produced automatically from the instrumented
code in the source repository. It shows what files are opened
in what order.
- The parse algorithm is changed and replaced by a simple source
of the sys.conf file which are compiled as well. Thus we don't
need the OS extension but the shell flavour extension csh
or sh.
- Everything should go with SUE so:
- the HEP files should go in /usr/sue/etc instead of /etc
- the system adaptation should go in /usr/sue/etc/local
- the site customisation level (previously in /etc/local)
should go in /usr/sue/etc
- Levels:
Need a Site or Model level instead of only a system level:
- HEP level
- Site or Model level
- System level
- Group Level
- User level
Unfortunately there is no one CERN adaptation but there are
MODELS adaptation (TH, WWW, DXCERN, PDP, L3, etc.) because
they are not using AFS fully. This problem will be solved in 2.4.8.
- Headers:
All the headers of files have been standardised in a clean way.
- Files:
- startup files (HEP level):
- central files:
a lot of specific lines to compensate
- csh defficiencies
- ENVIRONMENT unset properly
- BATCH mode in xrsh
- site customisation or model level files:
- all files are calling the system adaptation files but the
sys.conf files
- zshrc: called by HEP_zshrc at the HEP level.
- unalias pwd and unset HISTFILE
- is calling the system adaptation file. unset all the options.
- kshrc: includes some lines from R. Toebbicke kshrc file
- templates: they are very small but growing!
17 June 94: Version 2.4
- new parsing algorithm for sys.conf
(now you can evaluate variables like
INITIALE=`echo $USER | cut -c1` )
- some changes in termset.[c]sh
5 May 94:
- SYSTYPE changed to "sysV" or "bsd"
- fix for the problem "BASH_VERSION: parameter not set"
in scripts with the line #!/bin/ksh -uhf
- additional setting of
BINTYPE,SYSTYPE,MANPATH for missing
sys.conf
- echo message for missing sys.conf only for interactive usage
- bugfix in TERM setting (HEP_login )
13 April 94:
- new keybindings and options in zshrc
- . in cdpath (tcshrc,zshrc) added
- improved prompt setting in csh
- prompt setting only in HEP_shenv
- SH setting in Makefile
26 March 94: Version 2.2
- improved scan algorithm for sys.conf in the C shell flavour
- no search for $HOME/bin and $HOME/bin.$BINTYPE
- changed PATH syntax with spaces as seperator
- history file name changed to $HOME/.history.$HOST
- usage of the id instead of the groups command
- new alias name pp instead of psg
- introduction of a separate root search path (ROOTPATH variable in
sys.conf)
- alias rs for resize command
09 Feb 94: Version 2.1
HEP_files HEP startup set a complete rewrite of setup file
- first version agreed with CERN -
There is a file called sys.conf in which you can put all
the environment variables and it will be parsed from all
shells.
There is also a Makefile to install the startup files
in your home directory for tests or as a global environment.
13 Aug 93: Version 1.0.4
- zshenv:
/usr/etc included in PATH for all users
new variable LESSCHARSET, which is set to "latin1"
aliases ls,la,ll,lsize and lt corrected
- zprofile:
stty command modified for all operating systems
to support 8 bit input/output on tty
only for HP-UX: eval `resize`
- zshrc:
support completion for new zsh versions
completions like tcsh
options extendedglob and recexakt deleted
options completeinword and appendhistory set
- csh.cshrc:
/usr/etc included in PATH for all users
new variable LESSCHARSET, which is set to "latin1"
new alias pwd to show the user not the mountpoint
of the automounted filesystem, but the path, which
is of interest to the user
- csh.login:
stty command modified for all operating systems
to support 8 bit input/output on tty
only for HP-UX: eval `resize`
- tcshrc:
completion modified ( zcat )
completion only for new tcsh versions
07 Jun 93: Version 1.0.3
- zshenv:
aliases lt and lsize corrected
SAVEPATH introduced to restore the PATH
after su
- zprofile:
correct bug in setting of TERM
switch to application keyboard mode for vt* and xterm*
handling of DISPLAY variable removed
see explanation in README.profiles
resize screen ( bug in HP-UX )
- csh.cshrc:
see zshenv
- csh.login:
see zprofile
29 Apr 93: Version 1.0.2
- zshenv:
/etc/kshrc and $HOME/.kshrc get source
replace aliases by functions
change PATH for IRIX 5.0
- zprofile:
stty command modified for DomainOS
bug in testing $RUBOUT corrected
- kshrc and .kshrc added
- csh.cshrc:
initial system path defined
prompts changed other test for mail in IRIX, DomainOS and HP-UX
change path for IRIX 5.0
- csh.login:
bug for IRIX rlogins corrected
stty command modified for DomainOS
27 Apr 93: Version 1.0.1
Check termcap file for TERM type
16 Apr 93: Version 1.0.0
Initial release of the startup scripts very preliminary !!!
tested in csh, tcsh (csh like scripts)
tested in sh, bash, ksh, zsh (bourne like scripts)
on the following machines
- IBM RS6000 under AIX 3.2
- HP 9000/730 under HP-UX 8.07
- SGI 4D/460 under IRIX 4.0.5
- Convex 3210 under ConvexOS 10.1
- Sparcstation 10/30 under SunOS 4.1.3
- DEC 5000/125 under ULTRIX
Arnaud Taddei