home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: alan@tharr (Alan Saunders)
- Subject: v26i085: QBATCH - a queued batch processing system for UNIX, Patch03a/2
- Message-ID: <csm-v26i085=QBATCH.211946@sparky.IMD.Sterling.COM>
- X-Md4-Signature: 10a79651645b139542b22099da7f4e79
- Date: Sat, 30 Nov 1991 03:20:05 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: alan@tharr (Alan Saunders)
- Posting-number: Volume 26, Issue 85
- Archive-name: QBATCH/patch03a
- Environment: UNIX
- Patch-To: QBATCH: Volume 25, Issue 20-25
-
- Well, the mail seems to have tailed off a fair amount now, so I'm assuming
- that all the glaring holes have been found.
-
- The only outstanding problems I am aware of are with a user who doesn't have
- news or mail access, and I can't get the patches to him 'til next week. It
- may be that the latest version solves his problems, but I'll state them
- briefly here:
-
- HP 9000/800 HP/UX 8.00 After a system reboot (with a job in the queue) the
- job restarts and completes but qp hangs without apparently recognising that
- the child has terminated. Seems to clear up ok when another job is
- submitted.
-
- Interactive 386/IX Version 2.2 seems ok but systems in 2.01 just seem to
- hang.
-
- If anyone has ported QBATCH to either of these environments or can give any
- help, please contact me.
-
- This is qbatch patch 03. Issued 22 Nov 1991.
-
- Change directory to the root of the qbatch hierarchy (where you originally
- copied and unpacked the shar files and the patches.) Unshar BOTH parts of
- this submission and apply the patches as:
-
- patch -p0 < patches/qbatch.p3
-
- (You may want to read the notes in src/config.ARCH before making).
-
- The following points are addressed in this patch.
-
- change process priority (nice) to be BEFORE seutid. (non root uid's can't
- increase priority (reduce nice value)!!)
-
- This was reported in comp.sources.bugs. If you manually changed qp.c, you
- will need to re-instate the patch 2 source before applying this patch.
-
- Changed occurrences of cc to $(CC) to allow definition of compiler.
- (compiles with gcc vn 1.39)
-
- Added qbatch.h dependency to logging.o and time.o to force recompilation
- after changing Makefile.
-
- Pointed out to me by Michael Hamilton <hamilton@wcc.govt.nz> that POSIX
- conforming cuserid() returns the user name relating to the EFFECTIVE user id
- and not the logged in user id! Since js is setuid root, the entry.qe_uname
- displayed in ql, and used by jobdone (and used to send mailed monitors to) is
- always root on a POSIX conformant system.
-
- added 3 new defines to config.h, and related code to config.c to define the
- source of the logged in user name.
-
- Tidied up sources a bit so that lint doesn't complain so much.
-
- Added facility for using predefined configurations defined in a new file
- config.ARCH. If users send me their configurations when they have QBATCH
- working, I can include them in this file and we can forestall much hacking of
- config.h for future users on the same architecture.
-
- Fixed a 'tail chasing dog' in config.h. If a system needs ???_t defining, it
- needs it first of all in qbatch.h. qbatch.h is included before config.h
- since the latter needs some of the defines in qbatch.h???
-
- Since I want to keep all architecture variables in the same file (config.h)
- I've added an #ifdef for __QBATCH_H_ around the typedefs and #included
- config.h in qbatch.h. .. Sounds convoluted but it does what I want!
-
- Implemented specifying monitors as pipes.
-
- Found bug! js was only checking enviroment for MONITOR if queue default
- monitor was NONE. Changed this and made rejection message more informative.
-
- Added leading zero to patchlevel .. at the rate this is going, I'll need it!
-
- Regards ..Alan
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 2)."
- # Contents: PLEASE src/config.ARCH
- # Wrapped by root@vfib_d on Fri Nov 22 12:15:09 1991
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'PLEASE' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'PLEASE'\"
- else
- echo shar: Extracting \"'PLEASE'\" \(3761 characters\)
- sed "s/^X//" >'PLEASE' <<'END_OF_FILE'
- X[
- X I started to write this to add to the header of qbatch patch 3. It struck me
- X whilst writing it that it actually applies to any package that has been
- X posted to the net. Personally, I have been pleasantly surprised and
- X encouraged by the response I have received, but there are cases where
- X users have sent me queries, then nothing further. I don't know in which
- X of the following categories they now belong. I am sure that other software
- X authors have the same experience.
- X
- X I'm therefore posting it as a separate message in comp.sources.d. As it
- X stands it is related to QBATCH. Just substitute 'product/program/package'
- X for 'QBATCH' and 'author(s)' for 'me/i/' and see if it applies to you.
- X
- X Alan .. 22 Nov 1991
- X]
- In the absence of evidence to the contrary, (and assuming that you have any
- interest at all in QBATCH) I can only assume one of the following
- possibilities:
- X
- X 1- You got it all working by just changing definitions in config.h.
- X
- X 2- You had to make changes to the released version and patches to
- X get it working.
- X
- X 3- You got it working and have in some way altered it's functionality
- X (by adding facilities enhancements etc.)
- X
- X 4- You can't get it working at all.
- X
- X 5- You haven't got time to work on it now.
- X
- X1- If you haven't already done so please send me details of your configuration.
- X The easiest way is :
- X grep '^#define' config.h >file
- X grep '^typedef' config.h >>file
- X If your machine supports uname then :
- X uname -a >> file
- X Edit the file if necessary to provide full information on system type,
- X operating system and level, and compiler (if not native) and compiler
- X switches.
- X Then please mail it to me.
- X
- X2- Please mail me the diffs between your sources and mine (at the latest
- X patch level) If the changes are necessary to get it working, others need to
- X know.
- X
- X3- If you've enhanced the functionality of QBATCH, others may want to share.
- X As of patch level 3 I've implemented all suggestions received (except a
- X request for multiple concurrent jobs in a queue which would have belied
- X the nature of a queued batch system).
- X
- X If the enhancement is one or more standalone programs, then why not post
- X them to comp.sources.misc (but also mail me a copy so that I can include
- X them in the distribution).
- X If it involves changes to the existing sources, then please mail me the
- X diffs so that I can incorporate it at source distribution level. I can then
- X issue a patch to bring all users into line.
- X
- X It is to your own advantage to do this, as patches and enhancements
- X issued by by me will ALWAYS be based on the latest patch level as issued.
- X If your sources differ through local changes, then you will have to patch
- X by hand to take advantage of them.
- X
- X4- Contact me! Someone else may have got it working on the same platform,
- X and has let me know. I may have the info you want.
- X Please include ALL the information that you can regarding the problem:
- X
- X The system you are trying to build on
- X The operating system, version and level.
- X The compiler, make, etc you are using to build (if not system standard)
- X error messages produced by 'make'.
- X
- X If I can help I will do so, if I can't I'll let you know, and you can
- X post a query onto the net (someone will have the answer).
- X
- X5- If you feel the QBATCH be useful, try to find the time.
- X One sees messages on the net of the form:
- X "I'm trying to contact the author of so-and-so', I've got problems."
- X If it's got to this stage, it could be too late.
- X If you find problems, then the sooner they're sorted out the better.
- X If not for yourself, then for the person less experienced than yourself
- X who may have less work to do when you send me your configuration details.
- END_OF_FILE
- if test 3761 -ne `wc -c <'PLEASE'`; then
- echo shar: \"'PLEASE'\" unpacked with wrong size!
- fi
- # end of 'PLEASE'
- fi
- if test -f 'src/config.ARCH' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/config.ARCH'\"
- else
- echo shar: Extracting \"'src/config.ARCH'\" \(3846 characters\)
- sed "s/^X//" >'src/config.ARCH' <<'END_OF_FILE'
- X/************************************************************************
- X*
- X* This file is designed to help new users of QBATCH to get it compiled
- X* on their system. It comprises the #defines in config.h claimed to
- X* give a working QBATCH on various systems.
- X*
- X* If you get QBATCH working on your system, please send details to me
- X* in the following format, so that it can be included in the release.
- X*
- X* The easiest way to do this is:
- X* uname -a > <filename>
- X* grep '^#define' config.h >> <filename>
- X* grep '^typedef' config.h >> <filename>
- X*
- X* edit the resulting <filename> to enclose the architecture info as a quote
- X* and to bracket the entire group with an #ifdef/#endif on a name preferrably
- X* not in the following list. Then send it to me.
- X*
- X* Also included are any comments relating to oddballs in configuration.
- X*
- X* Current known working configurations as at 18 Nov 1991:
- X*
- X* To use one of these predefined configurations, #define one of the following
- X* architectures in config.h on the line BEFORE this file is #included.
- X*
- X* #define Source and Platform.
- X*
- X* SUNSPARC.411 Me.
- X* SunOS 4.1 4.1.1 on Sun4 Sun4C (Sparc)
- X*
- X* DEC3100.U40 Bryan <bryan%sphinx.uucp.uunet.uu.net>
- X* Ultrix 4.0 on DECstation 3100
- X*
- X* RS6000.AIX315 Michael Gray <mjg@eng.cam.ac.uk>
- X* AIX 3.1.5 on IBM RS6000
- X* and Michael Hamilton <hamilton@wcc.govt.nz>
- X* (os version unstated) on IBM RS6000
- X*
- X************************************************************************/
- X
- X#ifdef SUNSPARC.411
- X/* SunOS 4.1.1 version 2, Architecture sun4, sun4c (sparc) */
- X#ifndef __QBATCH_H_
- X#define ARCH_DEFINED
- X#define XPG3PGP /* setpgid() and kill() with negative pid XPG3 */
- X#define FCNTL /* use fcntl() calls for file locking (XPG3) */
- X#define SIGACTION /* XPG3 */
- X#define WAIT_XPG3 /* XPG3 */
- X#define QCLOCK_TICK sysconf(_SC_CLK_TCK);
- typedef void HANDLER_TYPE;
- typedef int WAIT_TYPE; /* XPG3 */
- X#define Q_UNAME_PWD
- X#else /* __QBATCH_H_ */
- X/* include any of the ???_t typedefs here */
- X#endif /* __QBATCH_H_ */
- X/*
- X* Comments:
- X* This is the original release platform. If you get a config.h containing
- X* different definitions, it'll be because I have been testing. Several
- X* combinations will actually work on this platform, but the above are the
- X* recommended ones.
- X*/
- X#endif /* SUNPARC.411 */
- X
- X#ifdef DEC3100.U40
- X/* DECstation 3100 running Ultrix 4.0 */
- X#ifndef __QBATCH_H_
- X#define ARCH_DEFINED
- X#define XPG3PGP /* setpgid() and kill() with negative pid XPG3 */
- X#define FCNTL /* use fcntl() calls for file locking (XPG3) */
- X#define SIGPAUSE
- X#define SIGNAL
- X#define WAIT_XPG3 /* XPG3 */
- X#define QCLOCK_TICK sysconf(_SC_CLK_TCK);
- X#define Q_UNAME_PWD
- X#else /* __QBATCH_H_ */
- X/* include any of the ???_t typedefs here */
- X#endif /* __QBATCH_H_ */
- X/*
- X* Comments:
- X* Apparently requires a change to src/rcgen line 2:
- X* From: if [ ${ech:-\c} = "A-n" ]
- X* to: if [ ${ech--\c} = "A-n" ]
- X* ^^
- X*/
- X#endif /*ifdef DEC3100.U40 */
- X
- X#ifdef RS6000.AIX315
- X/* IBM rs6000 running AIX version 3.1.5 */
- X#ifndef __QBATCH_H_
- X#define ARCH_DEFINED
- X#define XPG3PGP /* setpgid() and kill() with negative pid XPG3 */
- X#define FCNTL /* use fcntl() calls for file locking (XPG3) */
- X#define SIGACTION /* XPG3 */
- X#define WAIT_XPG3 /* XPG3 */
- X#define QCLOCK_TICK sysconf(_SC_CLK_TCK);
- typedef void HANDLER_TYPE;
- typedef int WAIT_TYPE; /* XPG3 */
- X#define Q_UNAME_PWD
- X#else /* __QBATCH_H_ */
- X/* include any of the ???_t typedefs here */
- X#endif /* __QBATCH_H_ */
- X/*
- X* Comments:
- X* Michael found a bug in qp.c which his version ifdef'ed round. This will be
- X* fixed in patch 3.
- X* Also I hope to resolve a query relating to the need for '&' when structures
- X* are passed as parameters to functions.
- X* Given that This can be resolved, should be ok without any extra defines.
- X* resolved 21 Nov 91 changes incorporated in p3
- X*/
- X#endif /* RS6000.AIX315 */
- END_OF_FILE
- if test 3846 -ne `wc -c <'src/config.ARCH'`; then
- echo shar: \"'src/config.ARCH'\" unpacked with wrong size!
- fi
- # end of 'src/config.ARCH'
- fi
- echo shar: End of archive 1 \(of 2\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked both archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-