Sep  1 15:02 1995                                           Page 1












			Changes To Generic NQS (GNQS)


			 Academic Computing Services
			   University of Sheffield


				Stuart Herbert
			 (S.Herbert@sheffield.ac.uk)
Sep  1 15:02 1995                                           Page 2


Abstract :

	The University of Sheffield is supplying, and supporting, Generic
	NQS to UK Higher Educational Sites as part of the New Technologies
	Initiative of JISC, under grant NTI/48.2.  This document contains
	a summary of changes for each new release of NQS.


Sep  1 15:02 1995                                           Page 3


----------------------------
	Contents
----------------------------

1	Introduction

1.1	Introduction
1.2	Pre-Release Programme Schedule

2	Version 3.40.0, Pre-Release #3

2.1	About This Release
2.1.1		Purpose
2.1.2		>>> THREE WARNINGS <<<
2.1.3		Supported Platforms
2.1.4		Still To Do
2.2	Portability Fixes
2.2.1		Description
2.2.2		Status
2.2.3		Platforms Affected
2.2.4		Code Contributed By
2.3	UNICOS 8 Support Added
2.3.1		Description
2.3.2		Status
2.3.3		Platforms Affected
2.3.4		Code Contributed By
2.4	AIX 4.1 Support Added
2.4.1		Description
2.4.2		Status
2.4.3		Platforms Affected
2.4.4		Code Contributed By
2.5	Experimental HP-UX 10 Support Added
2.5.1		Description
2.5.2		Status
2.5.3		Platforms Affected
2.5.4		Code Contributed By
2.6	Compilation Fixes For Fujitsu
2.6.1		Description
2.6.2		Status
2.6.3		Platforms Affected
2.6.4		Code Contributed By
2.7	Compilation Fixes For AIX 3
2.7.1		Description
2.7.2		Status
2.7.3		Platforms Affected
2.7.4		Code Contributed By
2.8	Dynamic Scheduling Added
2.8.1		Description
2.8.2		Status
2.8.3		Platforms Affected
2.8.4		Code Contributed By
2.9	`Cost' Style Accounting Hook Added
2.9.1		Description
2.9.2		Status
2.9.3		Platforms Affected
2.9.4		Code Contributed By
Sep  1 15:02 1995                                           Page 4


2.10	Optional Features Now Available
2.10.1		Description
2.10.2		Status
2.10.3		Platforms Affected
2.10.4		Code Contributed By
2.11	Processor Set Functionality Now Optional Extra
2.11.1		Description
2.11.2		Status
2.11.3		Platforms Affected
2.11.4		Code Contributed By
2.12	Temporary Directory Functionality Now Optional Extra
2.12.1		Description
2.12.2		Platforms Affected
2.12.3		Code Contributed By
2.13	Further Kernel-Supported Resource Fixes
2.13.1		Description
2.13.2		Status
2.13.3		Platforms Affected
2.13.4		Code Contributed By
2.14	New NIS Netgroup Support Code
2.14.1		Description
2.14.2		Status
2.14.3		Platforms Affected
2.14.4		Code Contributed By
2.15	NMAP Database Fixes
2.15.1		Description
2.15.2		Status
2.15.3		Platforms Affected
2.15.4		Code Contributed By
2.16	More ANSI C Cleanups
2.16.1		Description
2.16.2		Platforms Affected
2.16.3		Status
2.16.4		Code Contributed By

3	Version 3.40.0, Pre-Release #2

3.1	About This Release
3.1.1		Purpose
3.1.2		WARNING
3.2	Jobs No Longer Get Stuck In Routing State
3.2.1		Description
3.2.2		Status
3.2.3		Platforms Affected
3.2.4		Code Contributed By
3.3	Quota Support Improved (ALL PLATFORMS)
3.3.1		Description
3.3.2		Status
3.3.3		Platforms Affected
3.3.4		Code Contributed By
3.4	More ANSI C Fixes (ALL PLATFORMS)
3.4.1		Description
3.4.2		Platforms Affected
3.4.3		Status
3.4.4		Code Contributed By
3.5	Fujitsu Support Updated
Sep  1 15:02 1995                                           Page 5


3.5.1		Description
3.5.2		Platforms Affected
3.5.3		Status
3.5.4		Code Contributed By

4	Version 3.40.0, Pre-Release #1

4.1	Purpose
4.2	WARNING
4.3	New Name
4.4	Unanticipated Transaction Failure Fix (ALL PLATFORMS)
4.4.1		Description
4.4.2		Platforms Affected
4.4.3		Status
4.4.4		Change Contributed By
4.5	Compilation Fixes (ULTRIX)
4.5.1		Description
4.5.2		Platforms Affected
4.5.3		Status
4.5.4		Code Contributed By
4.6	Support For Fujitsu VP2200/20 (FUJITSU)
4.6.1		Description
4.6.2		Platforms Affected
4.6.3		Status
4.6.4		Code Contributed By
4.7	Compilation Fixes (AIX)
4.7.1		Description
4.7.2		Platforms Affected
4.7.3		Status
4.7.4		Code Contributed By
4.8	Removal of BSDish Code (LINUX/ELF + SOLARIS 2)
4.8.1		Description
4.8.2		Platforms Affected
4.8.3		Status
4.8.4		Code Contributed By
4.9	New Documentation
4.9.1		Description
4.9.2		Status
4.9.3		Contributed By
4.10	Scheduling Fix On Startup (ALL PLATFORMS)
4.10.1		Description
4.10.2		Platforms Affected
4.10.3		Status
4.10.4		Code Contributed By
4.11	NIS Netgroups In /etc/hosts.equiv (ALL PLATFORMS)
4.11.1		Description
4.11.2		Platforms Affected
4.11.3		Status
4.11.4		Code Contributed By
4.12	More Environment Variable Fixes (ALL PLATFORMS)
4.12.1		Description
4.12.2		Platforms Affected
4.12.3		Status
4.12.4		Code Contributed By
4.13	qcat -u Fixed (ALL PLATFORMS)
4.13.1		Description
Sep  1 15:02 1995                                           Page 6


4.13.2		Platforms Affected
4.13.3		Status
4.13.4		Code Contributed By
4.14	Email Messages Corrected (ALL PLATFORMS)
4.14.1		Description
4.14.2		Platforms Affected
4.14.3		Status
4.14.4		Code Contributed By
4.15	ANSI C Cleanups (ALL PLATFORMS)
4.15.1		Description
4.15.2		Platforms Affected
4.15.3		Status
4.15.4		Code Contributed By
4.16	Previous Changes Available in `OldChanges' File
4.16.1		Description
4.16.2		Contributed By
Sep  1 15:02 1995                                           Page 7


----------------------------
1	Introduction
----------------------------

	--------------------
1.1	Introduction

	This is a summary of changes to Generic NQS as released by the
	University of Sheffield.

	We are most grateful for the contributions made by other individuals
	and organisations.

	--------------------
1.2	Pre-Release Programme Schedule

	o  Final pre-release was made on Friday, 1st September 1995.

	   Only bug fix patches will be allowed into the source tree between
	   the final pre-release, and the full release, except by prior
	   arrangement.  All other patches will be held over for a Generic
	   NQS 3.41.0 release.

	o  Full release will be made on Friday 29th September 1995.

	   I'm on holiday 1st-24th September, inclusive, so this gives a
	   three week period for the final pre-release to be well tested.

	   I'll resolve any issues once I'm back on Monday 25th, and Generic
	   NQS v3.40.0 will have a full release on Friday 29th September.

Sep  1 15:02 1995                                           Page 8


----------------------------
2	Version 3.40.0, Pre-Release #3
----------------------------

	--------------------
2.1	About This Release

	----------
2.1.1	Purpose

	This is the third pre-release of Generic NQS v3.40.0.  Generic NQS
	was formerly known as Monsanto-NQS.

	This is the last pre-release which will include any significant
	changes.  It is intended that this release be made available, so
	that it can be heavily tested, and any outstanding problems
	resolved, before full release at the end of September.

	----------
2.1.2	>>> THREE WARNINGS <<<

	WARNING: THIS IS A PUBLIC PRE-RELEASE VERSION.  PLEASE DO NOT USE
	THIS VERSION TO PROVIDE AN END-USER SERVICE UNLESS YOU HAVE VERIFIED
	THAT THIS VERSION FUNCTIONS AS DOCUMENTED.

	WARNING: SIGNIFICANT, AND OTHERWISE **UNTESTED** WORK HAS BEEN DONE
					    ^^^^^^^^^^^^
	ON PLATFORM-SPECIFIC CODE FOR THIS PRE-RELEASE.  THE FOLLOWING
	PLATFORMS ARE **HIGHLY LIKELY** TO SUFFER PROBLEMS WITH THIS RELEASE :

	o  AIX
	o  IRIX 4
	o  OSF/1
	o  UNICOS 8

	PLEASE REPORT ALL PROBLEMS, SO THAT THEY CAN BE RESOLVED BEFORE THE
	FULL RELEASE OCCURS.

	WARNING: THE CURRENT MAINTAINER, STUART HERBERT, IS ON HOLIDAY, AND
	WILL BE BACK ON THE 25TH SEPTEMBER 1995.  PLEASE ADDRESS ALL
	CORRESPONDANCE TO THE NQS MAILING LISTS INSTEAD OF TO HIM DURING
	THIS PERIOD.

	----------
2.1.3	Supported Platforms

	This product has been compiled, and used, on the following 
	platforms prior to full release :

	(Note from Stu - please download, compile, and submit a job to
	this version of NQS, and then tell me about it, so that I can
	update this table.  This release will be announced in the
	appropriate forums ONLY for those platforms which it has been
	verified to run on ...)

	> ----------------------------------------------------------------
Sep  1 15:02 1995                                           Page 9


	> Platform	| Release	| Compiler	| Tested?
	>		| Used		| Warnings?	|
	> ----------------------------------------------------------------
	> AIX v3	| v3.40.0 #2	| Unknown	| No
	> AIX v4	| v3.40.0 #2	| Unknown	| No
	> Fujitsu	| v3.40.0 #2	| Very few	| No
	> IRIX 5.3	| v3.40.0 #2	| Unknown	| Yes
	> IRIX 6.0 (32) | v3.40.0 #2	| Unknown	| Yes
	> Linux/ELF	| v3.40.0 #2	| No		| Yes
	> Solaris 2.3	| v3.40.0 #2	| No		| Yes
	> Solaris 2.4	| v3.40.0 #2	| No		| No
	> SunOS 4.1.3	| v3.40.0 #2	| Very few	| No
	> ULTRIX 4.3a	| v3.40.0 #1	| No		| No
	> UNICOS v8	| v3.40.0 #2	| Unknown	| Yes
	> ----------------------------------------------------------------

	The following platforms are also supported, but we have been unable
	to test this product on them prior to full release.

	> ----------------------------------------------------------------
	> Platform		| Last Release We Know Which Worked
	> ----------------------------------------------------------------
	> HPUX 8.x		| v3.37.1
	> HPUX 9.x		| v3.37.1
	> IRIX 4		| v3.36.0
	> IRIX 5.2		| v3.37.1
	> IRIX 6.1		| v3.37.1
	> NCR			| v3.36.6
	> OSF/1 v3.2		| v3.37.1
	> SunOS v4.x		| ??
	> ----------------------------------------------------------------

	Any issues relating to using this product on individual platforms
	are documented in the `doc/README.platform' files found with the
	NQS source code.

	If you successfully compile this release on other platforms, please
	send me details, so that I can expand this section further.

	----------
2.1.4	Still To Do

	The following issues are outstanding, and will be addressed in the
	final release.

	o  Improved documentation.

	   I've had no feedback on the new documentation for Generic NQS so
	   far.  At any rate, the INSTALL document needs completing,
	   especially as it's probably out of date for this release.

	o  Any outstanding bug fixes.

	--------------------
2.2	Portability Fixes

Sep  1 15:02 1995                                           Page 10


	----------
2.2.1	Description

	Adding support for a new platform to NQS is often a tedious task of
	going around, editing the many source files to add `-Dplatform' to
	ensure that the correct code is compiled in.

	Generic NQS now allows those porting to new platforms to indicate
	what type of platform they are porting to.  The exising NQS code
	has been broken up into three sets :

	o  Code which is POSIX.1 compliant.

	o  Code which is System V, r4 or later, compliant.

	o  Code which is BSD 4.3 or later compliant.

	Most modern platforms are POSIX.1 complaint, and also SYSVr4
	compliant, and the changes make porting to such platforms
	significantly easier than it currently is, although not perfect
	at this time.

	For platforms which still `do their own thing' in places, support for
	individual platforms can still be added to the source tree, as
	before, but this now only needs to be done for exceptions, rather
	than for everything.

	While working on this modification, a number of inconsistencies came
	to light, affecting support for ULTRIX, UNICOS, and OSF/1.  I've
	asked Dave about what's right for UNICOS, but for OSF/1, I've had to
	guess (not having access to OSF/1 locally) and so OSF/1 users might
	well find that this pre-release is a complete no-go for them.

	With a bit of luck, this will actually lead to the support for
	existing platforms becoming more accurate, and hence more robust,
	once the initial problems are ironed out.  In the meantime, I've
	probably been over-generous in marking code as POSIX, and so the
	platforms which are neither SYSV nor BSD may well have problems.

	----------
2.2.2	Status

	Tested on Linux/ELF and Solaris 2.3.  OSF/1 support requires
	significant testing.

	----------
2.2.3	Platforms Affected

	All.

	----------
2.2.4	Code Contributed By

	Stu.

	--------------------
Sep  1 15:02 1995                                           Page 11


2.3	UNICOS 8 Support Added

	----------
2.3.1	Description

	Generic NQS has been ported to v8 of Cray's UNICOS operating system.

	----------
2.3.2	Status

	Pre-release #2, plus the UNICOS support patches, have been tested on
	UNICOS v8.

	----------
2.3.3	Platforms Affected

	> [ ] AIX 3			[ ] AIX 4
	> [ ] FUJITSU			[ ] HPUX 8
	> [ ] HPUX 9		        [ ] HPUX 10
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX			[x] UNICOS

	----------
2.3.4	Code Contributed By

	Dave Safford (saff@tamu.edu)

	--------------------
2.4	AIX 4.1 Support Added

	----------
2.4.1	Description

	Generic NQS has been ported to v4.1 of IBM's AIX operating system.

	----------
2.4.2	Status

	Pre-release #2, plus the AIX 4.1 support patches, has been compiled
	on AIX v4.1.

	----------
2.4.3	Platforms Affected

	> [ ] AIX 3			[x] AIX 4
	> [ ] FUJITSU			[ ] HPUX 8
	> [ ] HPUX 9		        [ ] HPUX 10
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX			[ ] UNICOS

Sep  1 15:02 1995                                           Page 12


	----------
2.4.4	Code Contributed By

	Mark Loveridge (markl@gatwick.geco-prakla.slb.com)

	--------------------
2.5	Experimental HP-UX 10 Support Added

	----------
2.5.1	Description

	After discussions with users who have access to HP-UX v10, it appears
	that HP-UX 10 is System 5, release 4 compatible - to be honest, I
	don't actually know if this is true.

	Based on this assumption, I've added a Makefile for HP-UX 10 which
	I expect will compile Generic NQS on HP-UX 10.  Because this port is
	based entirely on this assumption, this support is experimental, and
	feedback from HP-UX users would be *most* appreciated.

	----------
2.5.2	Status

	Completely untested.

	----------
2.5.3	Platforms Affected

	> [ ] AIX 3			[ ] AIX 4
	> [ ] FUJITSU			[ ] HPUX 8
	> [ ] HPUX 9		        [x] HPUX 10
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX			[ ] UNICOS

	----------
2.5.4	Code Contributed By

	Stu

	--------------------
2.6	Compilation Fixes For Fujitsu

	----------
2.6.1	Description

	The Fujitsu system libraries declare a global variable `Logfile',
	which conflict with an interal NQS variable of the same name.  The
	NQS variable `Logfile' has been renamed `NetLogfile'.

	----------
2.6.2	Status

	Tested.
Sep  1 15:02 1995                                           Page 13



	----------
2.6.3	Platforms Affected

	> [ ] AIX 3			[ ] AIX 4
	> [x] FUJITSU			[ ] HPUX 8
	> [ ] HPUX 9		        [ ] HPUX 10
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX			[ ] UNICOS

	----------
2.6.4	Code Contributed By

	Mark Loveridge

	--------------------
2.7	Compilation Fixes For AIX 3

	----------
2.7.1	Description

	Generic NQS now compiles without warnings on AIX 3.2.5.

	----------
2.7.2	Status

	Tested

	----------
2.7.3	Platforms Affected

	> [x] AIX 3			[ ] AIX 4
	> [ ] FUJITSU			[ ] HPUX 8
	> [ ] HPUX 9		        [x] HPUX 10
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX			[ ] UNICOS

	----------
2.7.4	Code Contributed By

	Mark Loveridge

	--------------------
2.8	Dynamic Scheduling Added

	----------
2.8.1	Description

	The scheduler has been updated, so that queues are resorted just
	before NQS tries to spawn a new request (ie, when a request is
Sep  1 15:02 1995                                           Page 14


	queued, or a running job exits).

	The supplied default comparison routine, bsc_compare() (source code
	in src/nqs_bsc.c) lowers the priorities of jobs if a user has more
	jobs queued than the current user_limit for the given queue.  This
	routine can be tailored to perform more detailed comparisons.

	Support for dynamic scheduling is a compile-time optional extra.

	----------
2.8.2	Status

	Tested.

	----------
2.8.3	Platforms Affected

	All.

	----------
2.8.4	Code Contributed By

	Dave Safford (saff@tamu.edu)

	--------------------
2.9	`Cost' Style Accounting Hook Added

	----------
2.9.1	Description

	The empty function, nqs_checkbal(), can be modified to determine
	whether a user has used up their budget, and if so, their jobs are
	given a priority of zero.

	Sites requiring `Larmouth'-type scheduling in particular may find
	this to be of use in conjunction with the dynamic scheduling
	support.

	`Cost' Accounting is a compile-time optional extra.

	----------
2.9.2	Status

	Tested

	----------
2.9.3	Platforms Affected

	All.

	----------
2.9.4	Code Contributed By

	Dave Safford (saff@tamu.edu)

	--------------------
Sep  1 15:02 1995                                           Page 15


2.10	Optional Features Now Available

	----------
2.10.1	Description

	Generic NQS now includes a number of features which can be
	considered optional - the file `doc/Features' provides full
	documentation on these (this document is also available from our
	WWW site).

	The file `proto/Makefile' now provides a variable `FEATURES', to
	which you can add switches to ensure that Generic NQS is compiled
	with the optional features you require.  By default, Generic NQS
	currently ships with the `TAMU' featureset enabled, but this easily
	changed.

	----------
2.10.2	Status

	Tested under Linux/ELF.

	----------
2.10.3	Platforms Affected

	All.

	----------
2.10.4	Code Contributed By

	Stu.

	--------------------
2.11	Processor Set Functionality Now Optional Extra

	----------
2.11.1	Description

	The processor set support, currently for IRIX 5 & 6, was originally
	added to Monsanto NQS v3.36.4 by Dave Safford.

	This support is now a compile-time optional extra.

	----------
2.11.2	Status

	Not tested.

	----------
2.11.3	Platforms Affected

	> [ ] AIX 3			[ ] AIX 4
	> [ ] FUJITSU			[ ] HPUX 8
	> [ ] HPUX 9		        [ ] HPUX 10
	> [ ] IRIX 4			[x] IRIX 5
	> [x] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
Sep  1 15:02 1995                                           Page 16


	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX			[ ] UNICOS

	----------
2.11.4	Code Contributed By

	Stu

	--------------------
2.12	Temporary Directory Functionality Now Optional Extra

	----------
2.12.1	Description

	The TMPDIR temporary directory support was originally added to
	Monsanto NQS v3.36.4 by Dave Safford.

	This support is now a compile-time optional extra.

	----------
2.12.2	Platforms Affected

	All.

	----------
2.12.3	Code Contributed By

	Stu

	--------------------
2.13	Further Kernel-Supported Resource Fixes

	----------
2.13.1	Description

	Code has been streamlined in Generic NQS, to ensure that the
	implementation of BSD-like kernel-supported resources is correct.

	This code may not work for platforms which do not support the ANSI C
	CLK_TCK symbol.

	----------
2.13.2	Status

	Tested On Solaris 2.3 and Linux/ELF.

	----------
2.13.3	Platforms Affected

	All

	----------
2.13.4	Code Contributed By

	Stu, based on discussions with Phil Chambers
	(P.A.Chambers@exeter.ac.uk).
Sep  1 15:02 1995                                           Page 17



	--------------------
2.14	New NIS Netgroup Support Code

	----------
2.14.1	Description

	The support for NIS netgroups, added in pre-release #1, was
	incorrect.  It has been replaced.

	----------
2.14.2	Status

	Tested on many previous versions of Monsanto NQS.

	----------
2.14.3	Platforms Affected

	All.

	----------
2.14.4	Code Contributed By

	Thomas Richter <richter@chemie.fu-berlin.de)

	--------------------
2.15	NMAP Database Fixes

	----------
2.15.1	Description

	Under previous pre-releases of Generic NQS v3.40.0, the `list'
	command of nmapmgr failed to list any aliases defined for a machine.
	This was caused by a previous fix to remove compile-time warnings,
	and has been fixed.

	----------
2.15.2	Status

	Tested on Solaris 2.3 and Linux/ELF.

	----------
2.15.3	Platforms Affected

	All.

	----------
2.15.4	Code Contributed By

	Stu.

	--------------------
2.16	More ANSI C Cleanups

	----------
2.16.1	Description
Sep  1 15:02 1995                                           Page 18



	Pre-release #2 produced compiler warnings when compiled as a native
	64-bit binary for IRIX 6.  Many of these warnings were related to
	unused variables, and unreachable code.

	Warnings generated at compile time should have been eliminated - I'd
	like to know if I've missed any.  Warnings generated at link time
	remain - the SGI compiler is somewhat noisy in this area.

	Please note that, even with these fixes, the 64-bit version of NQS
	reportedly still does not compile on IRIX 6 at this time.  It is
	**POSSIBLE** that this is a problem with older versions of the IRIX
	6.0x compiler.

	In addition, Mark has done numerous cleanups for SunOS 4.1.4_U1, and
	general cleaning up of code I'd previously added myself.

	----------
2.16.2	Platforms Affected

	All.

	----------
2.16.3	Status

	Not tested - I don't have access to IRIX 6.  Mark has tested his
	patches by compiling on Solaris, SunOS, AIX 3 & 4, IRIX 5.3, and
	Fujitsu UXP/M.

	----------
2.16.4	Code Contributed By

	Stu, with thanks to Dr Jaume Farras, University of Barcelona.
	Mark Loveridge

Sep  1 15:02 1995                                           Page 19


----------------------------
3	Version 3.40.0, Pre-Release #2
----------------------------

	--------------------
3.1	About This Release

	----------
3.1.1	Purpose

	This is the second pre-release of Generic NQS v3.40.0.  Generic NQS
	was formerly known as Monsanto-NQS.

	----------
3.1.2	WARNING

	WARNING: THIS IS A PUBLIC PRE-RELEASE VERSION.  PLEASE DO NOT USE
	THIS VERSION TO PROVIDE AN END-USER SERVICE UNLESS YOU HAVE VERIFIED
	THAT THIS VERSION FUNCTIONS AS DOCUMENTED.

	--------------------
3.2	Jobs No Longer Get Stuck In Routing State

	----------
3.2.1	Description

	When a job is being moved from one pipe queue to another pipe queue,
	the job is said to be in the `routing state'.  While it is in this
	state, the job cannot be deleted.

	I consider this to be one of the three most important outstanding
	problems reported for Generic NQS (the other two being unanticipated
	transaction failures, fixed by David Billinghurst, and problems with
	reading the nmap database, so far unfixed) because the only way to
	recover from this is to delete the NQS spool space and reinstall.

	This problem occurs when, for some reason, pipeclient fails to
	establish communication with a remote host.  If a pipe queue has
	several destinations, and at least one of them successfully accepts
	the transfer, there is no problem, but when all the destination(s)
	fail, the request remains in the routing stage, where it cannot be
	deleted at all.

	The problem was caused by pipeclient failing to tell the NQS daemon
	to reschedule the request correctly.  Now, once pipeclient has
	determined that all remote hosts are unavailable, the request is
	requeued in the waiting state (where it can be deleted etc as
	desired).

	----------
3.2.2	Status

	Second implementation of solution.  Tested on Solaris 2.3 and
	Linux/ELF - no apparent side effects observed to date.

	----------
Sep  1 15:02 1995                                           Page 20


3.2.3	Platforms Affected

	All.

	----------
3.2.4	Code Contributed By

	Stu.

	--------------------
3.3	Quota Support Improved (ALL PLATFORMS)

	----------
3.3.1	Description

	The `quotas' (kernel-supported resource limits in UNIX parlance)
	enforcing code has been reworked.  For all SYSV-like platforms, a
	resource limit of `unlimited' should now be correctly enforced,
	while for BSD-like platforms, resource limits greater than
	`unlimited' should now be correctly set to unlimited.

	The `quotas' code is now the same for all platforms.

	This change was introduced at this stage to fix problems encountered
	on the IRIX 6 platform.

	----------
3.3.2	Status

	Tested on Solaris 2.3 and Linux/ELF - a subset of the changes have
	also been used at Exeter, on IRIX 6.  Further changes due in next
	pre-release of Generic NQS.

	----------
3.3.3	Platforms Affected

	All.

	----------
3.3.4	Code Contributed By

	Stu

	--------------------
3.4	More ANSI C Fixes (ALL PLATFORMS)

	----------
3.4.1	Description

	The declaration of function prototypes in the NQS source code was
	previously of the form :

	> #ifndef __CEXTRACT__
	> #if __STDC__
	>
	>    ANSI C Prototypes
Sep  1 15:02 1995                                           Page 21


	>
	> #else
	>
	>    KnR C Prototypes
	>
	> #endif
	> #endif

	This has been reduced down to just ANSI C prototypes.  This has the
	following benefits :

	o  Remove a number of compile time warnings from Solaris 2
	o  Enable compilation on Fujitsu machines

	----------
3.4.2	Platforms Affected

	All.

	----------
3.4.3	Status

	Tested on Solaris 2.3 and Linux/ELF.  Requires testing on other
	platforms too.

	----------
3.4.4	Code Contributed By

	Stu

	--------------------
3.5	Fujitsu Support Updated

	----------
3.5.1	Description

	Use the file `Makefile.fujitsu' to compile on a Fujitsu machine.

	This should complete the code required to support Fujitsu's - the
	only remaining step now is to test NQS on Fujitsu.

	----------
3.5.2	Platforms Affected

	> [ ] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [x] ULTRIX

	----------
3.5.3	Status

	Not tested (I don't have access to a Fujtisu machine).
Sep  1 15:02 1995                                           Page 22



	----------
3.5.4	Code Contributed By

	Stu, based on information from Mark Loveridge
	(markl@gatwick.geco-prakla.slb.com)

Sep  1 15:02 1995                                           Page 23


----------------------------
4	Version 3.40.0, Pre-Release #1
----------------------------

	--------------------
4.1	Purpose

	This is the first release of Generic NQS.  Generic NQS was formerly
	known as Monsanto-NQS.

	--------------------
4.2	WARNING

	WARNING: THIS IS A PUBLIC PRE-RELEASE VERSION.  PLEASE DO NOT USE
	THIS VERSION TO PROVIDE AN END-USER SERVICE UNLESS YOU HAVE VERIFIED
	THAT THIS VERSION FUNCTIONS AS DOCUMENTED.

	In particular, note that some of the ANSI C cleanups I've personally
	added, and the changes to reduce reliance on the BSD interface, may
	well break more than they fix.

	--------------------
4.3	New Name

	Monsanto-NQS was originally maintained by John Roman, of the
	Monsanto Company.  Since October, 1994, it has been maintained by
	The University of Sheffield.  By agreement with John, there will be
	no more releases under the Monsanto-NQS name.

	--------------------
4.4	Unanticipated Transaction Failure Fix (ALL PLATFORMS)

	----------
4.4.1	Description

	GNQS currently uses inodes themselves to store information about
	transactions - this is the way it was originally done back in COSMIC
	NQS.

	GNQS assumes that inodes are 32-bit unsigned integers - this is not
	the case for all versions of UNIX (POSIX.1 does not define the size
	of an inode).  On systems which use 32-bit signed integers for the
	inode, NQS generates `unanticipated transaction failures', because
	negative values are not permitted.

	This affects the timestamp for a transaction, which can no longer
	fit into the inode correctly.  The solution is to reduce the
	granularity of the timestamp (so that it is accurate to every four
	seconds) so that it will fit into the inode correctly.

	----------
4.4.2	Platforms Affected

	All.

	----------
Sep  1 15:02 1995                                           Page 24


4.4.3	Status

	Tested on Solaris 2.3, Linux/ELF, and ULTRIX.  No apparent side
	effects observed.

	This change may make upgrading from Monsanto-NQS difficult under
	certain circumstances.

	----------
4.4.4	Change Contributed By

	David Billinghurst (billingd@crc.cra.com.au)

	--------------------
4.5	Compilation Fixes (ULTRIX)

	----------
4.5.1	Description

	Substantial work has been done to allow Generic NQS to work on Ultrix
	4.3A.  I have independant reports that this works well.

	----------
4.5.2	Platforms Affected

	> [ ] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [x] ULTRIX

	----------
4.5.3	Status

	Tested under ULTRIX.  No further work apparently required.

	----------
4.5.4	Code Contributed By

	David Billinghurst (billingd@crc.cra.com.au)

	--------------------
4.6	Support For Fujitsu VP2200/20 (FUJITSU)

	----------
4.6.1	Description

	Generic NQS now compiles and functions on the Fujitsu VP2200/20
	running UXP/M V10L20, compiled with /usr/ccs/bin/cc (NOT /usr/ucb/cc).

	----------
4.6.2	Platforms Affected

	> [ ] AIX			[x] FUJITSU 
Sep  1 15:02 1995                                           Page 25


	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX

	----------
4.6.3	Status

	Untested.

	----------
4.6.4	Code Contributed By

	Mark Loveridge (markl@gatwick.geco-prakla.slb.com)

	--------------------
4.7	Compilation Fixes (AIX)

	----------
4.7.1	Description

	Compile-time problems on AIX 3.2.5 have been fixed.

	----------
4.7.2	Platforms Affected

	> [x] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX

	----------
4.7.3	Status

	Untested at this time.

	----------
4.7.4	Code Contributed By

	Mark Loveridge

	--------------------
4.8	Removal of BSDish Code (LINUX/ELF + SOLARIS 2)

	----------
4.8.1	Description

	The amount of code which uses the BSD API has been reduced.  Solaris 2
	supplies a BSD-compatibility library which is notorious for being
	buggy, while Linux + ELF doesn't seem to provide such a library at
	all ...
Sep  1 15:02 1995                                           Page 26



	NOTE that these changes have not been extensively tested, and may
	result in broken functionality.

	----------
4.8.2	Platforms Affected

	> [ ] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[x] LINUX
	> [ ] NCR			[ ] OSF/1
	> [x] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX

	----------
4.8.3	Status

	Tested under Solaris 2.3 and Linux/ELF.

	----------
4.8.4	Code Contributed By

	Stu

	--------------------
4.9	New Documentation

	----------
4.9.1	Description

	The documentation `INSTALL', `README', and `PROBLEMS' has all been
	substantially re-written.  Note that INSTALL is incomplete at this
	time - it will be finished before the full release.

	----------
4.9.2	Status

	Incomplete.  More changes required in later pre-releases.

	----------
4.9.3	Contributed By

	Stu

	--------------------
4.10	Scheduling Fix On Startup (ALL PLATFORMS)

	----------
4.10.1	Description

	When restarting NQS, pending jobs were not started up in a timely
	fashion.  This has been fixed.

	----------
4.10.2	Platforms Affected
Sep  1 15:02 1995                                           Page 27



	All.

	----------
4.10.3	Status

	Tested on Solaris 2.3 and Linux/ELF.  No apparent side effects
	observed.

	----------
4.10.4	Code Contributed By

	Rob Creecy (rcreecy@census.gov)

	--------------------
4.11	NIS Netgroups In /etc/hosts.equiv (ALL PLATFORMS)

	----------
4.11.1	Description

	NIS netgroups can now be specified in the file /etc/hosts.equiv,
	as used by Generic NQS.

	----------
4.11.2	Platforms Affected

	All platforms which support NIS.

	----------
4.11.3	Status

	Unable to test here at Sheffield.  Code is currently #ifdef'd out, 
	pending modification to the makefiles to allow conditional
	compilation of the code.

	----------
4.11.4	Code Contributed By

	Mark Loveridge

	--------------------
4.12	More Environment Variable Fixes (ALL PLATFORMS)

	----------
4.12.1	Description

	When NQS builds an environment for processes, it now correctly
	determines the length of all the strings in the environment.

	----------
4.12.2	Platforms Affected

	All.

	----------
4.12.3	Status
Sep  1 15:02 1995                                           Page 28



	Tested on Solaris 2.3 and Linux/ELF.

	----------
4.12.4	Code Contributed By

	Mark Loveridge

	--------------------
4.13	qcat -u Fixed (ALL PLATFORMS)

	----------
4.13.1	Description

	whompw was not initialised to NULL, and this prevented qcat -u
	working on all platforms except Fujitsu.  Fixed.

	----------
4.13.2	Platforms Affected

	All except Fujitsu.

	----------
4.13.3	Status

	Tested on Solaris 2.3 and Linux/ELF.

	----------
4.13.4	Code Contributed By

	Mark Loveridge

	--------------------
4.14	Email Messages Corrected (ALL PLATFORMS)

	----------
4.14.1	Description

	If NQS_SPOOL was set to anything but the default value, email to
	users once the output was spooled would contain an incorrect
	directory name.  Fixed.

	----------
4.14.2	Platforms Affected

	All.

	----------
4.14.3	Status

	Tested on Solaris 2.3 and Linux/ELF.

	----------
4.14.4	Code Contributed By

	Mark Loveridge, and Stu.
Sep  1 15:02 1995                                           Page 29



	--------------------
4.15	ANSI C Cleanups (ALL PLATFORMS)

	----------
4.15.1	Description

	More work has been done to ensure that NQS compiles cleanly under
	ANSI C.  If your native C compiler has trouble with these changes,
	please try to compile NQS with the Free Software Foundation's GCC
	before reporting any problems.

	From now on, please report any compile-time warnings so that they
	can be eliminated.

	----------
4.15.2	Platforms Affected

	All platforms affected.

	----------
4.15.3	Status

	Tested on Linux/ELF.  Further cleanups required for Solaris 2.3.

	----------
4.15.4	Code Contributed By

	David Billinghurst, Mark Loveridge, and Stu.

	--------------------
4.16	Previous Changes Available in `OldChanges' File

	----------
4.16.1	Description

	The list of changes to Monsanto-NQS since October, 1994, can be
	found in the file `OldChanges'.

	----------
4.16.2	Contributed By

	Stu



----------------------------------------------------------------------------
Stuart Herbert - (S.Herbert@sheffield.ac.uk)
