rpms/cernlib/devel 001-delete-pythia-refs, NONE, 1.1 003-enforce-FHS, NONE, 1.1 005-enable-shadow-passwd, NONE, 1.1 007-delete-fluka-refs, NONE, 1.1 008-undef-PPC, NONE, 1.1 010-comis-allow-special-chars-in-path, NONE, 1.1 012-add-no-optimization-macro, NONE, 1.1 013-fix-paw-imakefile-special-rules, NONE, 1.1 014-fix-herwig-imakefile-special-rules, NONE, 1.1 015-fix-optimization, NONE, 1.1 018-move-kernlib-to-toplevel, NONE, 1.1 022-no-assign-string-literals, NONE, 1.1 027-use-tmpfile-not-mktemp, NONE, 1.1 028-fix-isajet-docs, NONE, 1.1 030-filename-length-to-256, NONE, 1.1 031-fix-varargs-use, NONE, 1.1 033-fix-undefined-insertchar, NONE, 1.1 035-do-not-use-XmFontListCreate, NONE, 1.1 038-fix-strndup-macro-problem, NONE, 1.1 039-use-DBLE-not-REAL, NONE, 1.1 044-fix-strdup-redefinition, NONE, 1.1 045-compile-with-isasrt, NONE, 1.1 047-fix-paw++-menus, NONE, 1.1 048-log-to-var-log-not-tmp, NONE, 1.1 049-fix-kuesvr-security-hole, NONE, 1.1 050-make-secure-comis-tmpdir, NONE, 1.1 051-fix-miscellaneous-tmp-uses, NONE, 1.1 ! cernlib-XmDrawShadow-no-prototype.patch, NONE, 1.1 cernlib-bimsel-nodouble-save.diff, NONE, 1.1 cernlib-cernlib.patch, NONE, 1.1 cernlib-deadpool.txt, NONE, 1.1 cernlib-gfortran.diff, NONE, 1.1 cernlib-hwhiga_use_aimag.diff, NONE, 1.1 cernlib-hwuli2_use_aimag.diff, NONE, 1.1 cernlib-install_scripts.patch, NONE, 1.1 cernlib-remove-deadpool, NONE, 1.1 cernlib-rsrtnt64_goto_outer_block.diff, NONE, 1.1 cernlib-static-tcpaw.diff, NONE, 1.1 cernlib-v107z0_X_before_string.diff, NONE, 1.1 cernlib.README, NONE, 1.1 cernlib.m4, NONE, 1.1 cernlib.sh.in, NONE, 1.1 cernlib.spec, NONE, 1.1 cernlib_2004.11.04-3.diff, NONE, 1.1 gxint-script.diff, NONE, 1.1 mkdirhier, NONE, 1.1 paw.README, NONE, 1.1 xsneut95.dat, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Patrice Dumas (pertusus) fedora-extras-commits at redhat.com
Wed Nov 16 23:34:10 UTC 2005


Author: pertusus

Update of /cvs/extras/rpms/cernlib/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11033/devel

Modified Files:
	.cvsignore sources 
Added Files:
	001-delete-pythia-refs 003-enforce-FHS 
	005-enable-shadow-passwd 007-delete-fluka-refs 008-undef-PPC 
	010-comis-allow-special-chars-in-path 
	012-add-no-optimization-macro 
	013-fix-paw-imakefile-special-rules 
	014-fix-herwig-imakefile-special-rules 015-fix-optimization 
	018-move-kernlib-to-toplevel 022-no-assign-string-literals 
	027-use-tmpfile-not-mktemp 028-fix-isajet-docs 
	030-filename-length-to-256 031-fix-varargs-use 
	033-fix-undefined-insertchar 035-do-not-use-XmFontListCreate 
	038-fix-strndup-macro-problem 039-use-DBLE-not-REAL 
	044-fix-strdup-redefinition 045-compile-with-isasrt 
	047-fix-paw++-menus 048-log-to-var-log-not-tmp 
	049-fix-kuesvr-security-hole 050-make-secure-comis-tmpdir 
	051-fix-miscellaneous-tmp-uses 
	cernlib-XmDrawShadow-no-prototype.patch 
	cernlib-bimsel-nodouble-save.diff cernlib-cernlib.patch 
	cernlib-deadpool.txt cernlib-gfortran.diff 
	cernlib-hwhiga_use_aimag.diff cernlib-hwuli2_use_aimag.diff 
	cernlib-install_scripts.patch cernlib-remove-deadpool 
	cernlib-rsrtnt64_goto_outer_block.diff 
	cernlib-static-tcpaw.diff cernlib-v107z0_X_before_string.diff 
	cernlib.README cernlib.m4 cernlib.sh.in cernlib.spec 
	cernlib_2004.11.04-3.diff gxint-script.diff mkdirhier 
	paw.README xsneut95.dat 
Log Message:
auto-import cernlib-2005-4 on branch devel from cernlib-2005-4.src.rpm


--- NEW FILE 001-delete-pythia-refs ---
--- src/mclibs/Imakefile.old	2005-06-12 11:20:51.946594712 +0200
+++ src/mclibs/Imakefile	2005-06-12 11:19:36.936997904 +0200
@@ -2,9 +2,8 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
-
-LIBDIRS= ariadne cojets eurodec herwig fritiof \ @@\
-	 isajet jetset lepto63 pdf photos pythia
+/* pythia/jetset is not GPLed so remove references to it and its dependents: */
+LIBDIRS= cojets eurodec herwig isajet pdf photos
 
 SUBDIRS = $(LIBDIRS)
 
@@ -12,8 +11,7 @@
 
 InstallLibSubdirs($(LIBDIRS))
 
-INCLUDEDIRS= ariadne cojets eurodec herwig fritiof \ @@\
-	 isajet jetset lepto63 pdf pythia
+INCLUDEDIRS= cojets eurodec herwig isajet pdf
 
 InstallIncludeSubdirs($(INCLUDEDIRS))
 


--- NEW FILE 003-enforce-FHS ---
diff -ur ../original-cernlib-source/src/geant321/miface/gmorin.F src/geant321/miface/gmorin.F
--- ../original-cernlib-source/src/geant321/miface/gmorin.F     Mon Sep 30 10:26:05 1996
+++ src/geant321/miface/gmorin.F     Tue Oct 22 07:27:55 2002
@@ -112,7 +112,7 @@
          OPEN(UNIT=MICROS,FILE=XSFILE, STATUS='OLD',READONLY)
 #endif
 #if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY)
-         XSFILE = 'xsneut95.dat'
+         XSFILE = 'DATADIR/xsneut95.dat'
          INQUIRE(FILE=XSFILE,EXIST=EXISTS)
          IF(.NOT.EXISTS) THEN
             CHROOT=' '
diff -ur ../original-cernlib-source/src/mclibs/cojets/test/test.F src/mclibs/cojets/test/test.F
--- ../original-cernlib-source/src/mclibs/cojets/test/test.F    Mon Mar 25 07:53:36 1996
+++ src/mclibs/cojets/test/test.F    Tue Oct 22 07:27:55 2002
@@ -6,7 +6,7 @@
 #if defined(CERNLIB_IBMVM)
       PARAMETER (DFILE='/COJETS DATA *')
 #else
-      PARAMETER (DFILE='cojets.dat')
+      PARAMETER (DFILE='DATADIR/cojets.dat')
 #endif
 C
 C          MAIN PROGRAM FOR COJETS
diff -ur ../original-cernlib-source/src/mclibs/eurodec/eurodec/eufiles.inc src/mclibs/eurodec/eurodec/eufiles.inc
--- ../original-cernlib-source/src/mclibs/eurodec/eurodec/eufiles.inc   Fri Mar  8 11:58:49 1996
+++ src/mclibs/eurodec/eurodec/eufiles.inc   Tue Oct 22 07:27:55 2002
@@ -18,7 +18,7 @@
       PARAMETER (ETFILE='/EUTITLE DAT   *')
 #endif
       CHARACTER*(*) EDFILE,ETFILE
-      PARAMETER (EDFILE='eurodec.dat')
+      PARAMETER (EDFILE='DATADIR/eurodec.dat')
       PARAMETER (ETFILE='eutitle.dat')

 #endif
diff -ur ../original-cernlib-source/src/mclibs/isajet/test/isajett.F src/mclibs/isajet/test/isajett.F
--- ../original-cernlib-source/src/mclibs/isajet/test/isajett.F Fri Mar 14 12:32:39 1997
+++ src/mclibs/isajet/test/isajett.F Tue Oct 22 07:27:55 2002
@@ -8,7 +8,7 @@
 #if defined(CERNLIB_VAXVMS)
       PARAMETER (DFILE='CERN_ROOT:[lib]isajet.dat')
 #else
-      PARAMETER (DFILE='isajet.dat')
+      PARAMETER (DFILE='DATADIR/isajet.dat')
 #endif
 #endif
 C


--- NEW FILE 005-enable-shadow-passwd ---
--- ../original-cernlib-source/src/packlib/cspack/tcpaw/tcpaw.c	Sat Jun 15 15:46:31 2002
+++ src/packlib/cspack/tcpaw/tcpaw.c	Mon Jul 22 10:52:11 2002
@@ -22,6 +22,9 @@
  *
  */
 #include "cspack/pilot.h"
+#if defined(CERNLIB_LINUX) && ! defined(CERNLIB_MACOSX)
+#define SHADOW_SUPPORT /* for Debian */
+#endif
 #if !defined(CERNLIB_IBM)||defined(CERNLIB_TCPSOCK)
 /*N.B. Must define sequence TCPLOG if a log file is required, e.g.*/
 /*#define LOGFILE "disk$dd:-ben.socks-serv.log"*/ /* VMS    */
@@ -225,7 +228,7 @@
 #endif /* OSK */
 #endif /* AUTHENT */
  
-#ifdef linux_softland
+#if defined(linux_softland) || defined(SHADOW_SUPPORT)
 #include <shadow.h>
 #endif /* linux_softland */
  
@@ -1774,10 +1777,10 @@
         union wait ret;
 #endif /* APOPWD1 */
  
-        char   *xpasswd, *crypt();
+        char   *xpasswd, *encrypted, *crypt();
         struct passwd *pw;
  
-#ifdef linux_softland
+#if defined(linux_softland) || defined(SHADOW_SUPPORT)
         struct spwd *spwd;
 #endif /* linux_softland */
  
@@ -1792,6 +1795,7 @@
                 reply("Unknown user %s.\n", user);
                 return(-2);
         }
+	encrypted = pw->pw_passwd;
  
 #ifdef linux_softland
         spwd = getspnam(user);
@@ -1799,6 +1803,29 @@
                 reply("User %s has illegal shadow password\n",user);
                 return(-2);
         }
+	encrypted = spwd->sp_pwdp;
+
+#elif defined(SHADOW_SUPPORT)
+	/* shadow passwords may not be enabled in Debian, so must check */
+	{
+		FILE *test = fopen("/etc/shadow", "r");
+		if (test) {
+			fclose(test);
+			spwd = getspnam(user);
+			if (spwd == NULL) {
+				reply("User %s has illegal shadow password\n",
+				      user);
+				return(-2);
+			}
+			encrypted = spwd->sp_pwdp;
+		}
+		else if (errno == EACCES) {
+			reply("Server has insufficient permissions to "
+			      "read /etc/shadow file\n");
+			return(-2);
+		}
+	}
+
 #endif /* linux_softland */
  
 #ifdef APOPWD1
@@ -1844,16 +1871,17 @@
 #else
  
 #ifdef linux_softland
-            xpasswd = pw_encrypt(pass,spwd->sp_pwdp);
+            xpasswd = pw_encrypt(pass, encrypted);
 #else
-            xpasswd = crypt(pass, pw->pw_passwd);
+            xpasswd = crypt(pass, encrypted);
 #endif /* linux_softland */
+
             /* The strcmp does not catch null passwords! */
-#ifdef linux_softland
-            if (spwd->sp_pwdp == '\0' || strcmp(xpasswd,spwd->sp_pwdp)) {
-#else
-            if (*pw->pw_passwd == '\0' || strcmp(xpasswd,pw->pw_passwd)) {
-#endif /* linux_softland */
+#if defined(linux_softland) || defined(SHADOW_SUPPORT)
+            if (*encrypted == '\0' || strcmp(xpasswd,spwd->sp_pwdp)) {
+#else
+            if (*encrypted == '\0' || strcmp(xpasswd,pw->pw_passwd)) {
+#endif /* linux_softland */
  
 #endif /* AFS */
  


--- NEW FILE 007-delete-fluka-refs ---
--- ./Imakefile	Thu Oct 24 04:00:18 2002
+++ src/geant321/Imakefile	Thu Oct 24 04:01:16 2002
@@ -4,7 +4,8 @@
 
 AllTarget(geant321)
 
-LIBDIRS= block cdf cgpack fiface fluka gbase gcons gdraw \ @@\
+/* Fluka removed from Debian package.  --Kevin McCarty */
+LIBDIRS= block cdf cgpack fiface gbase gcons gdraw erdecks erpremc matx55 \ @@\
          geocad ggeom gheisha ghits ghrout ghutils giface \ @@\
 	 giopa gkine gphys gscan gstrag gtrak guser gxint \ @@\
 	 miface miguti neutron peanut
@@ -26,9 +27,11 @@
 InstallLibraryAlias(geant321,geant,$(CERN_LIBDIR))
 InstallSharedLibrary(geant321,0.$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
+/* Fluka removed from Debian package for copyright reasons.  -- Kevin McCarty
 SubdirDataFile($(LIBRARY),flukaaf.dat,data)
 
 InstallNonExecFileTarget(install.lib,flukaaf.dat,$(CERN_LIBDIR))
+*/
 
 /* This will install the correct link for xsneut95.dat at CERN;
  * If you want a local copy of the file, just copy it there


--- NEW FILE 008-undef-PPC ---
--- src/mclibs/cojets/code/bradlp.old.F	2002-11-15 23:01:17.000000000 +0100
+++ src/mclibs/cojets/code/bradlp.F	2002-11-15 23:02:44.000000000 +0100
@@ -37,6 +37,14 @@
 #include "cojets/zpar2.inc"
 #include "cojets/zwpar.inc"
 #include "cojets/weakon.inc"
+
+C     necessary since PPC is defined in g77 on powerpc
+C     but stupidly enough, it's also a variable in this file
+C     --Kevin McCarty, for Debian
+#ifdef PPC
+#undef PPC
+#endif
+
       DIMENSION QP(4),QM(4),QK(4),QE(4),QN(4)
       DIMENSION COEF(2,2),QQV(2)
 C


--- NEW FILE 010-comis-allow-special-chars-in-path ---
--- src/pawlib/paw/code/pawfca.old.F	Thu Dec 12 13:03:45 2002
+++ src/pawlib/paw/code/pawfca.F	Thu Dec 12 13:04:41 2002
@@ -60,7 +60,11 @@
       IF(NCH.LE.0)GO TO 99
       IFILE=0
       TFILE=' '
-      IF(INDEX(CHFUNC,']').EQ.0.AND.INDEX(CHFUNC,':').EQ.0)THEN
+* Added '/' as a character symbolizing a filename; otherwise Unix paths
+* containing +, *, =, -, etc. return a bogus "Unknown routine" error
+* (Fixed by Kevin McCarty for Debian)
+      IF(INDEX(CHFUNC,']').EQ.0.AND.INDEX(CHFUNC,':').EQ.0.AND.
+     +   INDEX(CHFUNC,'/').EQ.0)THEN
          IF(INDEX(CHFUNC,'+').NE.0.OR.
      +      INDEX(CHFUNC,'*').NE.0.OR.
      +      INDEX(CHFUNC,'=').NE.0.OR.


--- NEW FILE 012-add-no-optimization-macro ---
--- src/config/fortran.rules.old	1997-05-30 18:25:18.000000000 +0200
+++ src/config/fortran.rules	2003-01-10 12:03:38.000000000 +0100
@@ -493,3 +493,11 @@
 	@echo FORTRANALLDEFINES=$(FORTRANALLDEFINES)
 #endif
 
+#ifdef FortranNoOptRule
+#undef FortranNoOptRule
+#endif
+#define FortranNoOptRule(target)					@@\
+SpecialFortranArchiveObjectRule(target,target,-O0 -g,NullParameter)	@@\
+SpecialFortranDebugObjectRule(target,target,-O0 -g,NullParameter)	@@\
+SpecialFortranSharedObjectRule(target,target,-O0 -g -fPIC,NullParameter)
+


--- NEW FILE 013-fix-paw-imakefile-special-rules ---
diff -ur src/pawlib/paw.old/code/Imakefile src/pawlib/paw/code/Imakefile
--- src/pawlib/paw.old/code/Imakefile	1998-09-25 05:33:51.000000000 -0400
+++ src/pawlib/paw/code/Imakefile	2002-12-12 22:01:49.000000000 -0500
@@ -56,7 +56,7 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC)
-SpecialFortranLibObjectRule(pawins,pawins,-O0,NullParameter)
+#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC)
+FortranNoOptRule(pawins)
 #endif
 
diff -ur src/pawlib/paw.old/fmotif/Imakefile src/pawlib/paw/fmotif/Imakefile
--- src/pawlib/paw.old/fmotif/Imakefile	1996-09-23 10:20:46.000000000 -0400
+++ src/pawlib/paw/fmotif/Imakefile	2002-12-12 22:02:18.000000000 -0500
@@ -3,7 +3,7 @@
 	plotisto.F pmhist.F pminit.F show_chain.F
 
 #ifdef CERNLIB_LINUX
-FORTRANOPTIONS = -fno-backslash  $(FORTRANSAVEOPTION) -fno-second-underscore
+FORTRANOPTIONS = -g -fno-backslash  $(FORTRANSAVEOPTION) -fno-second-underscore
 #endif
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -ur src/pawlib/paw.old/ntuple/Imakefile src/pawlib/paw/ntuple/Imakefile
--- src/pawlib/paw.old/ntuple/Imakefile	1999-09-14 05:20:08.000000000 -0400
+++ src/pawlib/paw/ntuple/Imakefile	2002-12-12 22:03:20.000000000 -0500
@@ -46,8 +46,8 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC)
-SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -o $@)
-SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -o $@)
-SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -o $@)
+#if defined(CERNLIB_LINUX)
+SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -g -o $@)
+SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -g -o $@)
+SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -g -fPIC -o $@)
 #endif


--- NEW FILE 014-fix-herwig-imakefile-special-rules ---
--- src/mclibs/herwig/code/Imakefile.old	1998-09-25 11:34:28.000000000 -0400
+++ src/mclibs/herwig/code/Imakefile	2002-12-12 22:27:10.000000000 -0500
@@ -43,7 +43,7 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC)
-SpecialFortranLibObjectRule(hwuci2,hwuci2,-O0,NullParameter)
+#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC)
+FortranNoOptRule(hwuci2)
 #endif
 


--- NEW FILE 015-fix-optimization ---
--- src/packlib/kernlib/kernnum/c204fort/Imakefile.old	1996-06-10 12:20:57.000000000 +0200
+++ src/packlib/kernlib/kernnum/c204fort/Imakefile	2003-01-10 11:48:02.000000000 +0100
@@ -17,3 +17,6 @@
 FORTRANSAVEOPTION = FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
+
+/* -O3 optimization breaks in g77 3.2 */
+FortranNoOptRule(muller)
--- src/packlib/kernlib/kernnum/g900fort/Imakefile.old	1996-06-12 12:04:36.000000000 +0200
+++ src/packlib/kernlib/kernnum/g900fort/Imakefile	2003-01-10 11:51:34.000000000 +0100
@@ -7,3 +7,6 @@
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
+
+/* -O3 optimization breaks in g77 3.2 */
+FortranNoOptRule(ranget)
--- src/mathlib/gen/d/Imakefile.old	2002-12-15 12:42:01.000000000 +0100
+++ src/mathlib/gen/d/Imakefile	2003-01-10 12:28:49.000000000 +0100
@@ -44,3 +44,11 @@
 FORTRANSAVEOPTION = FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
+
+/* -O3 optimization breaks in g77 3.2 */
+FortranNoOptRule(rderiv)
+FortranNoOptRule(rfrdh1)
+FortranNoOptRule(rknysd)
+
+/* -O1 -fno-automatic optimization creates wrong code in g77 2.95, 3.3, 3.4 */
+FortranNoOptRule(radmul)
--- src/mathlib/gen/e/Imakefile.old	1996-05-01 15:21:54.000000000 +0200
+++ src/mathlib/gen/e/Imakefile	2003-01-10 12:29:50.000000000 +0100
@@ -27,3 +27,7 @@
 #endif
 
 SubdirLibraryTarget(NullParameter,NullParameter)
+
+/* -O3 optimization breaks in g77 3.2 */
+FortranNoOptRule(rchecf)
+FortranNoOptRule(rcspln)
--- src/mclibs/isajet/isatape/Imakefile.old	1996-05-06 17:19:44.000000000 +0200
+++ src/mclibs/isajet/isatape/Imakefile	2003-01-10 12:30:42.000000000 +0100
@@ -5,3 +5,6 @@
 FORTRANSAVEOPTION = FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
+
+/* -O3 optimization breaks in g77 3.2 */
+FortranNoOptRule(isawev)
--- src/pawlib/comis/code/Imakefile.old	2004-02-19 18:10:49.000000000 +0100
+++ src/pawlib/comis/code/Imakefile	2004-02-19 18:10:23.000000000 +0100
@@ -40,6 +40,9 @@
 	mcline.F mcsident.F \ @@\
 	hkfill.F hkf1q.F /* moved here from src/packlib/hbook/code */
 
+/* optimizing this file, even at -O1, causes runtime breakage with g77 3.3 */
+FortranNoOptRule(csrfun)
+
 #if defined(CERNLIB_PAW)
 SRCS_F := $(SRCS_F) cspawi.F cskuix.F cktoiv.F cspawv.F csmkvd.F \ @@\
 		csf77.F cshext.F cshfast.F cssinpaw.F cspivec.F cspiwrvl.F
--- src/mclibs/pdf/spdf/Imakefile.old	2000-04-19 09:51:56.000000000 -0400
+++ src/mclibs/pdf/spdf/Imakefile	2004-06-08 12:18:45.973537322 -0400
@@ -98,3 +98,6 @@
 FORTRANOPTIONS += '-WF,-P'
 #endif
 SubdirLibraryTarget(NullParameter,NullParameter)
+
+/* -O2 optimization on ARM breaks in g77 3.3.3 */
+FortranNoOptRule(structm)


--- NEW FILE 018-move-kernlib-to-toplevel ---
--- src/Imakefile.old	2003-01-12 19:43:17.000000000 +0100
+++ src/Imakefile	2003-01-12 19:44:42.000000000 +0100
@@ -2,7 +2,8 @@
 #define PassCDebugFlags
 
 
-LIBDIRS= packlib pawlib graflib mathlib geant321 mclibs phtools
+LIBDIRS= kernlib packlib pawlib graflib code_motif mathlib geant321 \
+	 mclibs phtools
 
 SUBDIRS= $(LIBDIRS) patchy cfortran
 
@@ -19,5 +20,5 @@
 DelegateTarget(bin/kuipc,packlib)
 
 DelegateTarget(lib/packlib,packlib)
-DelegateTarget(lib/kernlib,packlib)
+DelegateTarget(lib/kernlib,kernlib)
 


--- NEW FILE 022-no-assign-string-literals ---
--- src/packlib/kuip/code_kuip/kuwhat.c.old	2003-01-19 00:51:48.000000000 +0100
+++ src/packlib/kuip/code_kuip/kuwhat.c	2003-01-19 19:44:41.000000000 +0100
@@ -1038,13 +1038,14 @@
 char *format_prompt( const char *prompt )
 {
   static char *curr_prompt = NULL;
+  static const char *Kuip_prompt = "Kuip >";
   char *p;
 
   if( curr_prompt != NULL )
     free( curr_prompt );
 
   if( prompt == NULL)
-    prompt = "Kuip >";
+    prompt = Kuip_prompt;
 
   curr_prompt = strdup( prompt );
   if( (p = strstr( curr_prompt, "[]" )) != NULL ) {
@@ -1290,14 +1291,15 @@
  */
 int kxdollar()
 {
+  static const char *ON = "ON", *OFF = "OFF";
   char *which = ku_getc();
 
   ku_alfa();
 
-  if( strcmp( which, "ON" ) == 0 ) {
+  if( strcmp( which, ON ) == 0 ) {
     kc_flags.try_getenv = 1;
   }
-  else if( strcmp( which, "OFF" ) == 0 ) {
+  else if( strcmp( which, OFF ) == 0 ) {
     kc_flags.try_getenv = 0;
   }
   else if( kc_flags.try_getenv ) {
@@ -1307,7 +1309,7 @@
     printf( " $var is not tried as being an environment variable.\n" );
   }
 
-  kc_value.set_dollar = kc_flags.try_getenv ? "ON" : "OFF";
+  kc_value.set_dollar = kc_flags.try_getenv ? ON : OFF;
 
   return 0;
 }
@@ -1319,15 +1321,16 @@
 int kxfilecase()
 {
   static int old_fcase = 0;
+  static const char *KEEP = "KEEP", *CONVERT = "CONVERT";
   char *fcase = ku_getc();
 
   ku_alfa();
 
-  if( strcmp( fcase, "KEEP" ) == 0 ) {
+  if( strcmp( fcase, KEEP ) == 0 ) {
     old_fcase = kc_flags.keep_fcase;
     kc_flags.keep_fcase = 1;
   }
-  else if( strcmp( fcase, "CONVERT" ) == 0 ) {
+  else if( strcmp( fcase, CONVERT ) == 0 ) {
     old_fcase = kc_flags.keep_fcase;
     kc_flags.keep_fcase = 0;
   }
@@ -1341,7 +1344,7 @@
     printf( " Filenames ARE case converted.\n" );
   }
 
-  kc_value.set_filecase = kc_flags.keep_fcase ? "KEEP" : "CONVERT";
+  kc_value.set_filecase = kc_flags.keep_fcase ? KEEP : CONVERT;
 
   return 0;
 }
@@ -1391,13 +1394,14 @@
 int kxrecallstyle()
 {
   static char *styles[] = { "KSH", "KSHO", "DCL", "DCLO" };
+  static const char *NONE = "NONE";
   static int gl_mask = 0;
   char *style = ku_getc();
 
   ku_alfa();
 
-  if( strcmp( style, "NONE" ) == 0 ) {
-    kc_value.set_recall_style = "NONE";
+  if( strcmp( style, NONE ) == 0 ) {
+    kc_value.set_recall_style = NONE;
     kc_window.use_getline = 0;
   }
   else if( strcmp( style, styles[0] ) == 0 ) {
@@ -1424,7 +1428,7 @@
     if( kc_window.use_getline )
       style = styles[gl_mask];
     else
-      style = "NONE";
+      style = NONE;
     printf( " Current recall style is %s\n", style );
     return 0;
   }
@@ -1883,6 +1887,7 @@
             const char *line )
 {
   char *prompt = str2dup( question, " " );
+  static const char *Go = "Go";
   int n;
 
   if( line != NULL )
@@ -1910,7 +1915,7 @@
       gl_config( "erase", 0 );
 #endif
     if( answer == NULL )
-      answer = "Go";
+      answer = Go;
 
     switch( answer[0] ) {
     default:
--- src/packlib/kuip/code_kuip/kmenu.c.old	2003-01-20 14:02:26.000000000 +0100
+++ src/packlib/kuip/code_kuip/kmenu.c	2003-01-22 13:56:17.000000000 +0100
@@ -775,6 +775,7 @@
   int status;
 
   if( npar >= 2 ) {
+    static const char *EDIT = "-EDIT", *NOEDIT = "-NOEDIT";
     char *view = ku_getc();
 
     if( strcmp( view, "E" ) == 0 || strcmp( view, "EDIT" ) == 0 )
@@ -782,7 +783,7 @@
     else
       edit_mode = 0;
 
-    kc_value.help_edit = edit_mode ? "-EDIT" : "-NOEDIT";
+    kc_value.help_edit = edit_mode ? EDIT : NOEDIT;
 
     if( path[0] == '\0' )
       return 0;
@@ -848,12 +849,13 @@
         strcmp( view, "-E" ) == 0 || strcmp( view, "-EDIT" ) == 0 ||
         strcmp( view, "N" ) == 0 || strcmp( view, "NOEDIT" ) == 0 ||
         strcmp( view, "-N" ) == 0 || strcmp( view, "-NOEDIT" ) == 0 ) {
+	static const char *EDIT = "-EDIT", *NOEDIT = "-NOEDIT";
         if( strcmp( view, "E" ) == 0 || strcmp( view, "EDIT" ) == 0 ||
             strcmp( view, "-E" ) == 0 || strcmp( view, "-EDIT" ) == 0 )
           edit_mode = 1;
         else
           edit_mode = 0;
-        kc_value.help_edit = edit_mode ? "-EDIT" : "-NOEDIT";
+        kc_value.help_edit = edit_mode ? EDIT : NOEDIT;
     } else if( strcmp( view, "K" ) == 0 || strcmp( view, "KEYWORD" ) == 0 ||
         strcmp( view, "-K" ) == 0 || strcmp( view, "-KEYWORD" ) == 0 ) {
         key_mode = 1;
@@ -2447,6 +2449,7 @@
   }
   else if( cmd != NULL ) {
     /* return next command */
+    static const char *Cmd = "Cmd", *InvCmd = "InvCmd";
     int len = 0;
     int i;
     ltext[0] = '\0';
@@ -2466,7 +2469,7 @@
       sprintf( &ltext[len], " ]" );
     }
     obj_desc[0] = cmd->name;
-    obj_desc[1] = cmd->hidden ? "InvCmd" : "Cmd";
+    obj_desc[1] = cmd->hidden ? InvCmd : Cmd;
     obj_desc[2] = cmd->path;
     obj_desc[3] = ltext;
     cmd = cmd->next;


--- NEW FILE 027-use-tmpfile-not-mktemp ---
--- src/pawlib/paw/stagerd/child.c.old	2003-04-23 23:46:07.000000000 +0200
+++ src/pawlib/paw/stagerd/child.c	2003-04-24 17:36:50.000000000 +0200
@@ -65,16 +65,21 @@
     fname = dir;
     fdir = (char *)0;
   }
-
+  
+#if 0
   strcpy(tmp,tmppath);
   strcat(tmp,TMP_TEMPLATE);
   mktemp(tmp);
+#endif
 
   /* builtin ftp client */
-
+  /* Fixed to use tmpfile() rather than the insecure mktemp()
+     -- Kevin McCarty, for Debian, 24 April 2003 */
+  
   if (bftp.bf_bufsize > 0) {
-    if (!(f = fopen(tmp,"w"))) {
-      errlog(LOG_ERR,"c_ftp_client() : can't open %s",tmp);
+    if (!(f = tmpfile())) {
+      errlog(LOG_ERR,"c_ftp_client() : tmpfile() failed : %s",
+	     strerror(errno););
       return SGD_RET_FOPEN;
     }
     ret = ftp_ftp(f,cl_dat,st_dat,fdir,fname);
@@ -142,15 +147,20 @@
     FILE *f;
     char tmp[PATH_MAX + 1], *s;
 
+#if 0
     strcpy(tmp,tmppath);
     strcat(tmp,TMP_TEMPLATE);
     mktemp(tmp);
+#endif
 
     /* builtin ftp client */
+    /* Fixed to use tmpfile() rather than the insecure mktemp()
+       -- Kevin McCarty, for Debian, 24 April 2003 */
 
     if (bftp.bf_bufsize > 0) {
-      if (!(f = fopen(tmp,"w"))) {
-        errlog(LOG_ERR,"c_stage_tape() : can't open %s",tmp);
+      if (!(f = tmpfile())) {
+        errlog(LOG_ERR,"c_stage_tape() : tmpfile() failed : %s",
+	       strerror(errno));
         return SGD_RET_FOPEN;
       }
       ret = ftp_clio(f,cl_dat,st_dat,volid,fseqid,lbltyp,volser);
--- src/packlib/kuip/programs/kxterm/kxterm.c.old	2003-08-19 17:38:06.000000000 -0400
+++ src/packlib/kuip/programs/kxterm/kxterm.c	2003-08-20 13:36:56.000000000 -0400
@@ -645,10 +645,9 @@
 void exit_kxterm()
 {
    /* close transcript file and if it is a tmp file remove it */
+   /* (the result of tmpfile() is removed automatically upon being closed) */
    if (tfp) {
       fclose(tfp);
-      if (tr_tmp_file)
-         remove(transcript_file);
    }
 
    exit(0);
@@ -1168,32 +1167,34 @@
      char *file;
 {
    /*
-    * close the tmp file, move it to user specified file and open it again
+    * copy the temp file to user specified file, close temp file and open
+    * user specified file again
     */
    if (tfp) {
       fflush(tfp);
       if (!strcmp(transcript_file, file))
          return;
       else {
-         char line[256];
+         char line[MAX_FILE_LENGTH + 50];
+	 FILE *stream;
 
-         fclose(tfp);
-         if (!(tfp = fopen(file, "w"))) {
+         if (!(stream = fopen(file, "w"))) {
             sprintf(line, "Cannot open transcript file %s",
                     file);
             warn_user(kuipIo, line);
          }
          else {
             /* copy current transcript to new file */
-            FILE *stream = fopen(transcript_file, "r");
-            while( fgets( line, (sizeof line), stream ) != NULL )
-               fputs( line, tfp );
-            fclose( stream );
-
+	    rewind( tfp );
+            while( fgets( line, (sizeof line), tfp ) != NULL )
+               fputs( line, stream );
+	    fclose( stream );
+            fclose( tfp );
+	    tfp = fopen(file, "a+");
+            strcpy(transcript_file, file);
+	    
             if (tr_tmp_file) {
-               remove(transcript_file);
                tr_tmp_file = False;
-               strcpy(transcript_file, file);
             }
             fflush(tfp);
          }
@@ -2684,15 +2685,19 @@
    init_kuipio();
 
    /* open tmpfile to save transcript pad */
-   tmpnam(transcript_file);
-   if (!(tfp = fopen(transcript_file, "w+"))) {
+   if (!(tfp = tmpfile())) {
       insert_string(outputText,
                     "*** Cannot open tmp file to save transcript pad ***\n",
                     False);
       XtSetSensitive(saveTransButton, False);
       XtSetSensitive(saveTransAsButton, False);
-   } else
+   }
+   else {
       tr_tmp_file = True;
+      /* since we don't know the filename created by tmpfile(), make it
+       * the null string: */
+      strcpy(transcript_file, "");
+   }
 
    /* unbuffered I/O */
    setbuf(stdin,  NULL);


--- NEW FILE 028-fix-isajet-docs ---
--- src/mclibs/isajet/doc/physics.doc.old	2001-10-08 16:03:08.000000000 +0200
+++ src/mclibs/isajet/doc/physics.doc	2003-05-08 11:09:09.000000000 +0200
@@ -122,7 +122,7 @@
 $W/Z$ decay. These were calculated using FORM 1.1 by J.~Vermaseren. The
 process $g + t \to W + b$ is {\it not} included. Both $g + b \to W^- +
 t$ and $g + \bar t \to W^- + \bar b$ of course give the same $W^- + t
-+\BARB_FINALSTATEAFTERQCDEVOLUTION
++\bar b$ final state after QCD evolution.  While the latter process is
 needed to describe the $m_t = 0$(!) mass singularity for $q_t \gg
 m_t$, it has a pole in the physical region at low $q_t$ from on-shell
 $t \to W + b$ decays. There is no obvious way to avoid this without


--- NEW FILE 030-filename-length-to-256 ---
--- src/packlib/hbook/hbook/hcdire.inc.old	2003-02-07 10:15:57.000000000 -0500
+++ src/packlib/hbook/hbook/hcdire.inc	2003-08-06 18:04:25.000000000 -0400
@@ -20,7 +20,7 @@
 *
 *CMZ :  4.20/03 28/07/93  09.33.32  by  Rene Brun
 *-- Author :
-      PARAMETER (NLPATM=100, MXFILES=50, LENHFN=128)
+      PARAMETER (NLPATM=100, MXFILES=50, LENHFN=256)
       COMMON /HCDIRN/NLCDIR,NLNDIR,NLPAT,ICDIR,NCHTOP,ICHTOP(MXFILES)
      +              ,ICHTYP(MXFILES),ICHLUN(MXFILES)
       CHARACTER*16   CHNDIR,    CHCDIR,    CHPAT    ,CHTOP


--- NEW FILE 031-fix-varargs-use ---
--- src/packlib/vmslibfiles/getservbyname.c.old	2003-08-07 14:52:20.000000000 -0400
+++ src/packlib/vmslibfiles/getservbyname.c	2003-08-07 15:02:15.000000000 -0400
@@ -10,7 +10,6 @@
 #include <stdio.h>
 #include <string.h>    /* strcmp */
 #include <stdlib.h>    /* atoi */
-#include <varargs.h>
 #include <netdb.h>
 #include <socket.h>
 #include <in.h>
--- src/packlib/cspack/tcpaw/getservbyname.c.old	2003-08-07 14:52:13.000000000 -0400
+++ src/packlib/cspack/tcpaw/getservbyname.c	2003-08-07 15:01:25.000000000 -0400
@@ -18,7 +18,6 @@
 /*          alias names are neither searched nor recorded.              */
  
 #include <stdio.h>
-#include <varargs.h>
 #include <netdb.h>
 #include <socket.h>
 #include <in.h>


--- NEW FILE 033-fix-undefined-insertchar ---
--- src/packlib/kuip/programs/kxterm/kuipio.c.old	2003-08-12 19:37:17.000000000 -0400
+++ src/packlib/kuip/programs/kxterm/kuipio.c	2003-08-13 16:48:08.000000000 -0400
@@ -573,7 +573,7 @@
                         EditMenu,
                         RES_CONVERT( XmNlabelString, "Copy" ),
                         RES_CONVERT( XmNmnemonic, "C" ),
-                        XmNaccelerator, "Ctrl<Key>InsertChar",
+                        XmNaccelerator, "Ctrl<Key>Insert",
                         RES_CONVERT( XmNacceleratorText, "Ctrl+Ins" ),
                         NULL );
         UxPutContext( copyButton, (char *) UxKuipIoContext );
@@ -585,7 +585,7 @@
                         EditMenu,
                         RES_CONVERT( XmNlabelString, "Paste" ),
                         RES_CONVERT( XmNmnemonic, "P" ),
-                        XmNaccelerator, "Shift<Key>InsertChar",
+                        XmNaccelerator, "Shift<Key>Insert",
                         RES_CONVERT( XmNacceleratorText, "Shift+Ins" ),
                         NULL );
         UxPutContext( pasteButton, (char *) UxKuipIoContext );


--- NEW FILE 035-do-not-use-XmFontListCreate ---
--- src/pawlib/paw/cmotif/att_font.c.old	2000-10-03 10:11:22.000000000 -0400
+++ src/pawlib/paw/cmotif/att_font.c	2003-09-18 16:10:20.000000000 -0400
@@ -215,18 +215,22 @@
  *****************************************************************************/
 static void MajButton(Widget w, Widget font,Widget pre,int postab)
 {
+   /* this function edited not to use obsolete function XmFontListCreate() */
    XmFontList police;
+   XmFontListEntry entry;
    XFontStruct *info_police;
    char strlabel[20];
    int prenum,policenum;
-
+   
    XtVaGetValues(pre,XmNuserData,&prenum,NULL);
    prenum--;
    XtVaGetValues(font,XmNuserData,&policenum,NULL);
    policenum--;
    if (( info_police=XLoadQueryFont(UxDisplay,StrFontTab[policenum]))== NULL)
       fprintf(stderr,"Unable to load font %s \n ",StrFontTab[policenum]);
-   police=XmFontListCreate(info_police,XmSTRING_DEFAULT_CHARSET);
+   entry = XmFontListEntryCreate(XmSTRING_DEFAULT_CHARSET,XmFONT_IS_FONT,
+				 (XtPointer)info_police);
+   police=XmFontListAppendEntry(NULL,entry);
    XtVaSetValues(w,XmNfontList,police,NULL);
    /* XFreeFont(UxDisplay,info_police);*/
 
--- src/packlib/kuip/code_motif/mkuip.c.old	1996-10-24 08:13:41.000000000 -0400
+++ src/packlib/kuip/code_motif/mkuip.c	2003-09-22 23:23:54.000000000 -0400
@@ -776,6 +776,7 @@
  ***********************************************************************/
 static void init_data ()
 {
+  /* This function edited not to use obsolete function XmFontListCreate() */
     int k;
 
     km_charset = XmSTRING_DEFAULT_CHARSET;
@@ -792,8 +793,11 @@
        if (help_font_struct == NULL)
            printf ("%s Warning: Font loaded for HELP (%s) is NULL \n",
                    main_prompt, srec.Help_font);
-       else
-           help_font = XmFontListCreate (help_font_struct,km_charset);
+       else {
+	   XmFontListEntry entry = XmFontListEntryCreate(
+	       km_charset, XmFONT_IS_FONT, (XtPointer)help_font_struct );
+           help_font = XmFontListAppendEntry( NULL, entry );
+       }
    }
 
    /*


--- NEW FILE 038-fix-strndup-macro-problem ---
--- src/packlib/kuip/kuip/kstring.h.old	1997-03-14 12:16:39.000000000 -0500
+++ src/packlib/kuip/kuip/kstring.h	2003-09-23 02:02:14.000000000 -0400
@@ -46,6 +46,10 @@
                      const char* str4 );
 extern char* str5dup( const char* str1, const char* str2, const char* str3,
                      const char* str4, const char* str5 );
+
+#ifdef strndup
+#undef strndup /* otherwise the next function declaration may bomb */
+#endif
 extern char* strndup( const char* buf, size_t n );
 extern char* stridup( int i );
 


--- NEW FILE 039-use-DBLE-not-REAL ---
--- src/mclibs/herwig/code/hwhiga.F.old	1996-12-03 09:16:56.000000000 -0500
+++ src/mclibs/herwig/code/hwhiga.F	2003-09-23 15:04:57.000000000 -0400
@@ -72,7 +72,7 @@
       TAMP(6)=HWHIG5(T,S,U,EMH2,EMQ2,2,0,5,0,0,0)
       TAMP(7)=HWHIG5(U,T,S,EMH2,EMQ2,3,0,6,0,0,0)
       DO 20 I=1,7
-      TAMPI(I)= REAL(TAMP(I))
+      TAMPI(I)= DBLE(TAMP(I))
   20  TAMPR(I)=-IMAG(TAMP(I))
 C Square and add prefactors
       WTGG=0.03125*FLOAT(NCOLO*(NCOLO**2-1))
--- src/mclibs/herwig/code/hwuli2.F.old	1996-12-03 09:17:04.000000000 -0500
+++ src/mclibs/herwig/code/hwuli2.F	2003-09-23 15:05:22.000000000 -0400
@@ -18,7 +18,7 @@
      &  1.644934066848226D0/
       PROD(Y,Y2)=Y*(ONE+A1*Y*(ONE+A2*Y*(ONE+A3*Y2*(ONE+A4*Y2*(ONE+A5*Y2*
      & (ONE+A6*Y2*(ONE+A7*Y2*(ONE+A8*Y2*(ONE+A9*Y2*(ONE+A10*Y2))))))))))
-      XR=REAL(X)
+      XR=DBLE(X)
       XI=IMAG(X)
       R2=XR*XR+XI*XI
       IF (R2.GT.ONE.AND.(XR/R2).GT.HALF) THEN


--- NEW FILE 044-fix-strdup-redefinition ---
--- src/packlib/kuip/kuip/kstring.h.old	2004-06-17 03:49:38.000000000 +0200
+++ src/packlib/kuip/kuip/kstring.h	2004-06-17 05:52:42.000000000 +0200
@@ -32,6 +32,9 @@
 
 extern char* strrstr( const char* str1, const char* str2 );
 
+#ifdef strdup
+# undef strdup
+#endif
 #define strdup Strdup           /* prototype without const */
 extern char* strdup( const char* str );
 


--- NEW FILE 045-compile-with-isasrt ---
--- src/mclibs/isajet/code/Imakefile.old	2004-07-20 15:47:36.477290000 -0400
+++ src/mclibs/isajet/code/Imakefile	2004-07-20 15:48:09.376627021 -0400
@@ -11,7 +11,7 @@
 	 fortop.F frgjet.F frgmnt.F getpt.F gettot.F heavyx.F \ @@\
 	 hevolv.F higgs.F idanti.F idgen.F iframs.F inisap.F ipartns.F \ @@\
 	 ipjset.F iprtns.F irmov0.F isabeg.F isaend.F isaevt.F isaini.F \ @@\
-	 isajet.F ispjet.F istrad.F iswdky.F jetgen.F \ @@\
+	 isajet.F isasrt.F ispjet.F istrad.F iswdky.F jetgen.F \ @@\
 	 label.F lboost.F logerr.F \ @@\
 	 logic.F logp.F logphi.F logphw.F logpt.F logqm.F logqt.F logthw.F \ @@\
 	 logx.F logxw.F logyth.F logyw.F lstsq.F mbias.F mbset.F nogood.F \ @@\


--- NEW FILE 047-fix-paw++-menus ---
--- src/packlib/kuip/code_motif/mkuip.c.orig	2004-09-22 19:22:29.260808000 -0400
+++ src/packlib/kuip/code_motif/mkuip.c	2004-09-22 19:52:21.874611456 -0400
@@ -1066,7 +1066,7 @@
 {
     int narg;
     Arg arglist[2];
-    Widget id_pdm;
+    Widget id_pdm, id_pdm_shell;
     Widget PdMenu[15];
 
     /*
@@ -1076,8 +1076,19 @@
     UxKuipBrowserContext = (_UxCkuipBrowser *)UxGetContext(parent);
 
     /*  create pulldown_menu */
-    id_pdm = XmCreatePulldownMenu (browserMenu,"OptionsPdMenu",arglist,0);
-
+    id_pdm_shell = XtVaCreatePopupShell ("OptionsPdMenu_shell",
+	xmMenuShellWidgetClass, browserMenu,
+	XmNwidth, 1,
+	XmNheight, 1,
+	XmNallowShellResize, TRUE,
+	XmNoverrideRedirect, TRUE,
+	NULL );
+    id_pdm = XtVaCreateWidget( "OptionsPdMenu",
+	xmRowColumnWidgetClass,
+	id_pdm_shell,
+	XmNrowColumnType, XmMENU_PULLDOWN,
+	NULL );
+/*  id_pdm = XmCreatePulldownMenu (browserMenu,"OptionsPdMenu",arglist,0); */
 
     /* create pulldown_menu_entry "Options" */
     XtVaCreateManagedWidget( "optionsMenu",
@@ -1091,7 +1102,7 @@
 /*  create list of push_buttons and separators for menu "Option"             */
 /*  create pulldown_menu for "Raise Window" (with list of appl. shells)       */
     narg = 0;
-#if XmREVISION == 99 /* problem with REVISION 2 ! */
+#if XmVERSION > 1 || XmREVISION >= 2
     XtSetArg(arglist[narg], XmNtearOffModel, XmTEAR_OFF_ENABLED); narg++;
 #endif
     kuipControlShellM = XmCreatePulldownMenu
@@ -1312,9 +1323,7 @@
 static void create_command_menu(parent)
    Widget parent;
 {
-    Widget id_pdme, id_pdm;
-    Arg    arglist[2];
-    int    narg;
+    Widget id_pdme, id_pdm, id_pdm_shell;
 
     /*
      *   find and restore the context for Browser
@@ -1323,12 +1332,26 @@
     UxKuipBrowserContext = (_UxCkuipBrowser *)UxGetContext(parent);
 
     /* create pulldown_menu_entry "Commands" for all commands */
-    narg = 0;
+
+    id_pdm_shell = XtVaCreatePopupShell ("CommandsPdMenu_shell",
+	xmMenuShellWidgetClass, browserMenu,
+	XmNwidth, 1,
+	XmNheight, 1,
+	XmNallowShellResize, TRUE,
+	XmNoverrideRedirect, TRUE,
+	NULL );
+    
+    id_pdm = XtVaCreateWidget( "CommandsPdMenu",
+	xmRowColumnWidgetClass,
+	id_pdm_shell,
+	XmNrowColumnType, XmMENU_PULLDOWN,
 #if XmVERSION > 1 || XmREVISION >= 2
-    XtSetArg(arglist[narg], XmNtearOffModel, XmTEAR_OFF_ENABLED); narg++;
+	XmNtearOffModel, XmTEAR_OFF_ENABLED,
 #endif
-    id_pdm = XmCreatePulldownMenu
-                     (browserMenu, "CommandsPdMenu", arglist, narg);
+	NULL );
+      
+/*      XmCreatePulldownMenu
+                     (browserMenu, "CommandsPdMenu", arglist, narg); */
 
     id_pdme = XtVaCreateManagedWidget( "id_pdme",
                         xmCascadeButtonGadgetClass, browserMenu,
@@ -1927,7 +1950,7 @@
    if (kuipControlShellM != NULL) XtDestroyWidget (kuipControlShellM);
 
    narg = 0;
-#if XmREVISION == 99 /* problem with REVISION 2 ! */
+#if XmVERSION > 1 || XmREVISION >= 2
    XtSetArg(arglist[narg], XmNtearOffModel, XmTEAR_OFF_ENABLED); narg++;
 #endif
    kuipControlShellM = XmCreatePulldownMenu


--- NEW FILE 048-log-to-var-log-not-tmp ---
diff -ur src.orig/packlib/cspack/cz/czopen.F src/packlib/cspack/cz/czopen.F
--- src.orig/packlib/cspack/cz/czopen.F	1996-03-08 10:44:23.000000000 -0500
+++ src/packlib/cspack/cz/czopen.F	2005-03-03 13:46:21.000000000 -0500
@@ -40,7 +40,7 @@
       CHARACTER*80 SERVICE
 #endif
 #if (defined(CERNLIB_APOLLO))&&(defined(CERNLIB__LOG))
-      CHARACTER*22 CHFILE
+      CHARACTER*26 CHFILE
 #endif
       EXTERNAL CZTCP
  
@@ -82,8 +82,8 @@
       CHFILE=' '
       CALL DATIME(ND,NT)
       WRITE(CHFILE,1000)ND,NT
- 1000 FORMAT('/tmp/cz',I6,I4,'.log')
-      DO 10 I=7,19
+ 1000 FORMAT('/var/log/cz',I6,I4,'.log')
+      DO 10 I=11,23
          IF(CHFILE(I:I).EQ.' ')CHFILE(I:I)='0'
   10  CONTINUE
       OPEN(UNIT=LUNCZ,FILE=CHFILE,STATUS='UNKNOWN')
diff -ur src.orig/packlib/cspack/doc/config/sysreq.txt src/packlib/cspack/doc/config/sysreq.txt
--- src.orig/packlib/cspack/doc/config/sysreq.txt	1996-03-08 10:44:18.000000000 -0500
+++ src/packlib/cspack/doc/config/sysreq.txt	2005-03-03 13:31:00.000000000 -0500
@@ -20,8 +20,8 @@
 SYSREQ  TRACE           yes             # Trace flag
 #
 MSG     HOST            sun2            # message daemon host name
-MSG     LOGR            /usr/tmp/msgr.log # msgr log file
-MSG     LOGI            /usr/tmp/msgi.log # msgi log file
+MSG     LOGR            /var/log/msgr.log # msgr log file
+MSG     LOGI            /var/log/msgi.log # msgi log file
 #
 NET     shift1          shift1-u        # Use alternate host name
 NET     shd01           shd01-u         # Use alternate host name
diff -ur src.orig/packlib/cspack/programs/zs/zs.F src/packlib/cspack/programs/zs/zs.F
--- src.orig/packlib/cspack/programs/zs/zs.F	1997-10-21 13:11:54.000000000 -0400
+++ src/packlib/cspack/programs/zs/zs.F	2005-03-03 13:47:31.000000000 -0500
@@ -59,7 +59,7 @@
 #if !defined(CERNLIB_IBM)||defined(CERNLIB_TCPSOCK)
       INTEGER STATUS
       INTEGER SSETUP,SCLOSE
-      CHARACTER*22 CHFILE
+      CHARACTER*34 CHFILE
 #endif
 #if defined(CERNLIB_IBM)
       CHARACTER*80 ARGS
@@ -88,8 +88,8 @@
       CHFILE=' '
       CALL DATIME(ND,NT)
       WRITE(CHFILE,1000)ND,NT
- 1000 FORMAT('/tmp/zs',I6,I4,'.log')
-      DO 1 I=7,19
+ 1000 FORMAT('/var/log/pawserv/zs',I6,I4,'.log')
+      DO 1 I=19,31
          IF(CHFILE(I:I).EQ.' ')CHFILE(I:I)='0'
     1 CONTINUE
       OPEN(UNIT=LUNCZ,FILE=CHFILE,STATUS='UNKNOWN',IOSTAT=ISTAT)
diff -ur src.orig/packlib/cspack/tcpaw/tcpaw.c src/packlib/cspack/tcpaw/tcpaw.c
--- src.orig/packlib/cspack/tcpaw/tcpaw.c	1999-09-15 12:19:46.000000000 -0400
+++ src/packlib/cspack/tcpaw/tcpaw.c	2005-03-03 14:03:12.000000000 -0500
@@ -27,7 +27,7 @@
 /*#define LOGFILE "disk$dd:-ben.socks-serv.log"*/ /* VMS    */
 /*#define LOGFILE "/user/brun/ben/serv.log"    */ /* Apollo */
 /*#define LOGFILE "/h0/psh/zs.log"             */ /* OS9    */
-/*#define LOGFILE "/tmp/serv.log"              */ /* example*/
+/*#define LOGFILE "/var/log/serv.log"          */ /* example*/
 #if defined(CERNLIB_IBMMVS)
 #pragma nosequence
 #pragma options (ALIAS)
@@ -351,7 +351,7 @@
 #endif /* OSK */
 #ifndef LOGFILE
 #include "cspack/tcplog.h"
-/*#define LOGFILE "/tmp/serv.log"               */  /* CUSTOMIZE THIS.. */
+/*#define LOGFILE "/var/log/serv.log"           */  /* CUSTOMIZE THIS.. */
 #endif /* LOGFILE */
 #endif /* SERVLOG */
 #endif /* DEBUG */
diff -ur src.orig/packlib/cspack/tcpaw/tcpold.c src/packlib/cspack/tcpaw/tcpold.c
--- src.orig/packlib/cspack/tcpaw/tcpold.c	1996-03-08 10:44:28.000000000 -0500
+++ src/packlib/cspack/tcpaw/tcpold.c	2005-03-03 14:03:56.000000000 -0500
@@ -12,7 +12,7 @@
 /*#define LOGFILE "disk$dd:-ben.socks-serv.log"*/ /* VMS    */
 /*#define LOGFILE "/user/brun/ben/serv.log"    */ /* Apollo */
 /*#define LOGFILE "/h0/psh/zs.log"             */ /* OS9    */
-/*#define LOGFILE "/tmp/serv.log"              */ /* example*/
+/*#define LOGFILE "/var/log/serv.log"          */ /* example*/
  
 #if defined(CERNLIB__DOC)
 /*      TCP/IP PACKAGE FOR REMOTE-PAW AND SIMILAR APPLICATIONS.
@@ -218,7 +218,7 @@
 #endif /* OSK */
 #ifndef LOGFILE
 #include "cspack/tcplog.h"
-/*#define LOGFILE "/tmp/serv.log"               */  /* CUSTOMIZE THIS.. */
+/*#define LOGFILE "/var/log/serv.log"           */  /* CUSTOMIZE THIS.. */
 #endif /* LOGFILE */
 #endif /* SERVLOG */
 #endif /* DEBUG */
diff -ur src.orig/packlib/hepdb/scripts/unix/ctab_root.dat src/packlib/hepdb/scripts/unix/ctab_root.dat
--- src.orig/packlib/hepdb/scripts/unix/ctab_root.dat	1996-04-16 06:09:09.000000000 -0400
+++ src/packlib/hepdb/scripts/unix/ctab_root.dat	2005-03-03 15:23:21.000000000 -0500
@@ -20,5 +20,5 @@
 #
 # Special check for cdmove
 #
-30 * * * * /afs/cern.ch/project/hepdb/scripts/cdmovechk >> /tmp/cdmovechk.log 2>&1
+30 * * * * /afs/cern.ch/project/hepdb/scripts/cdmovechk >> /var/log/cdmovechk.log 2>&1
 42 8,0 * * * ( /usr/lpp/adsm/scripts/cron_adsm.pl ) >/dev/null 2>&1


--- NEW FILE 049-fix-kuesvr-security-hole ---
diff -ur src.orig/packlib/kuip/code_kuip/kedit.c src/packlib/kuip/code_kuip/kedit.c
--- src.orig/packlib/kuip/code_kuip/kedit.c	1997-03-17 11:54:57.000000000 -0500
+++ src/packlib/kuip/code_kuip/kedit.c	2005-03-03 18:37:53.000000000 -0500
@@ -24,6 +24,7 @@
 
 static char *editor_cmd  = NULL; /* command which envoked edit server */
 static char *editor_file = NULL; /* file which was edited */
+static char  editor_tmp[22];     /* file to use as a lock file */
 
 
 /*
@@ -164,8 +165,26 @@
 
   if( use_server && kc_flags.use_server ) {
 #if defined(UNIX) && !defined(CERNLIB_WINNT)
+    int fid;
+    
+    /* Try to securely create the temporary file for the edit server.
+     * Has to be done in the parent process because the server has no
+     * way of passing back the name of a created temp file. */
+    strcpy( editor_tmp, "/usr/tmp/kuesvrXXXXXX" );
+    fid = mkstemp( editor_tmp );
+    if (fid == -1) {
+      strcpy( editor_tmp, "/tmp/kuesvrXXXXXX" );
+      fid = mkstemp( editor_tmp );
+      if (fid == -1) {
+	perror( "mkstemp" );
+	return status;
+      }
+    }
+    close( fid );
+    
     line = strdup( "kuesvr -p " );
     line = mstricat( line, getpid() );
+    line = mstr2cat( line, " -t ", editor_tmp );
     line = mstr4cat( line, " -c ", ku_path(), " -e '",
                     kc_value.set_host_editor );
     if( (p = strrchr( line, '&' )) != NULL )
@@ -355,6 +374,15 @@
 }
 
 
+void ku_shut()
+{
+#ifdef USE_EDIT_SERVER
+  if( kc_flags.use_server )
+    remove( editor_tmp );
+#endif
+}
+
+
 void F77_ENTRY_C(Kupad,chfile)
 /* { */
   char *file = fstrdup( chfile, len_chfile );
@@ -523,7 +551,7 @@
 #ifdef USE_EDIT_SERVER
 
   if( kjmpaddr.user_edit_F != NULL && kc_flags.editor_exit != 0 ) {
-    char lock_file[64];
+    char *lock_file = editor_tmp;
     int fid;
     int len;
     int nbytes;
@@ -534,27 +562,16 @@
 #ifdef UNIX
 
     /* /tmp cannot be locked on Sun if allocated on swap space */
-    sprintf( lock_file, "/usr/tmp/kuesvr.%d", (int)getpid() );
     fid = open( lock_file, O_RDONLY );
     if( fid == -1 ) {
-      /* we could be using an old server writing to /tmp */
-      fid = open( &lock_file[4], O_RDONLY );
-      if( fid == -1 ) {
-        perror( "kugsvr: open /tmp read-only" );
-        return;
-      }
-      close( fid );
-      fid = open( &lock_file[4], O_RDWR );
-      if( fid == -1 ) {
-        perror( "kugsvr: open /tmp read-write" );
-        return;
-      }
+      perror( "kugsvr: open tempfile read-only" );
+      return;
     }
     else {
       close( fid );
       fid = open( lock_file, O_RDWR );
       if( fid == -1 ) {
-        perror( "kugsvr: open /usr/tmp read-write" );
+        perror( "kugsvr: open tempfile read-write" );
         return;
       }
     }
diff -ur src.orig/packlib/kuip/code_kuip/kuwhat.c src/packlib/kuip/code_kuip/kuwhat.c
--- src.orig/packlib/kuip/code_kuip/kuwhat.c	1999-03-10 12:11:52.000000000 -0500
+++ src/packlib/kuip/code_kuip/kuwhat.c	2005-03-03 17:10:47.000000000 -0500
@@ -676,18 +676,6 @@
 }
 
 
-void ku_shut()
-{
-#ifdef USE_EDIT_SERVER
-  if( kc_flags.use_server ) {
-    char lock_file[64];
-    sprintf( lock_file, "/usr/tmp/kuesvr.%d", (int)getpid() );
-    if( remove( lock_file ) != 0 )
-      remove( &lock_file[4] );  /* old kuesvr used /tmp instead of /usr/tmp */
-  }
-#endif
-}
-
 #ifdef WIN32
 void fpcheck( void )
 {
diff -ur src.orig/packlib/kuip/programs/kuesvr/kuesvr.c src/packlib/kuip/programs/kuesvr/kuesvr.c
--- src.orig/packlib/kuip/programs/kuesvr/kuesvr.c	1996-03-08 10:33:05.000000000 -0500
+++ src/packlib/kuip/programs/kuesvr/kuesvr.c	2005-03-03 18:37:58.000000000 -0500
@@ -15,6 +15,7 @@
 char *editor = "vi";
 char *cmd    = '\0';
 char *file   = '\0';
+char *sfile  = '\0';
 
 
 main(int argc, char **argv)
@@ -22,7 +23,6 @@
    int     c, fid;
    char   *arg;
    char    shcmd[512];
-   char    sfile[128];
    char    msg[BUFSIZ];
    time_t  mtime;
    struct stat buf;
@@ -49,8 +49,13 @@
                   arg = *++argv;
                cmd = arg;
                break;
+	    case 't':
+	       if (*++arg == 0)
+		  arg = *++argv;
+	       sfile = arg;
+	       break;
             default:
-               fprintf(stderr,"Usage: kuesvr -p pid -c cmd [-e editor] file\n");
+               fprintf(stderr,"Usage: kuesvr -p pid -c cmd -t tmpfile [-e editor] file\n");
                exit(1);
          }
       } else {
@@ -59,8 +64,8 @@
       }
    }
 
-   if (!pid || !file || !cmd) {
-      fprintf(stderr,"Usage: kuesvr -p pid -c cmd [-e editor] file\n");
+   if (!pid || !file || !cmd || !sfile) {
+      fprintf(stderr,"Usage: kuesvr -p pid -c cmd -t tmpfile [-e editor] file\n");
       exit(1);
    }
 
@@ -74,31 +79,14 @@
    stat(file, &buf);
 
    /* open kuip edit server message file */
-   sprintf(sfile, "/usr/tmp/kuesvr.%d", pid);
-   /*
-    * Try first /usr/tmp and then /tmp for lock file.
-    * The lockf() call can fail if the directory is NFS mounted and
-    * the lockd daemon is not running.
-    */
- again:
-   fid = open(sfile, O_CREAT|O_APPEND|O_WRONLY, 0644);
+   fid = open(sfile, O_CREAT|O_APPEND|O_WRONLY, 0600);
    if (fid == -1) {
-      if (sfile[1] == 'u') {
-         strcpy(sfile, sfile+4);
-         goto again;
-      }
       perror("open");
       exit(1);
    }
 
    /* lock the file */
    if (lockf(fid, F_LOCK, (off_t)0) == -1) {
-      if (sfile[1] == 'u') {
-         close(fid);
-         remove(sfile);
-         strcpy(sfile, sfile+4);
-         goto again;
-      }
       perror("lockf");
       exit(1);
    }


--- NEW FILE 050-make-secure-comis-tmpdir ---
diff -urN src.orig/pawlib/comis/code/csinit.F src/pawlib/comis/code/csinit.F
--- src.orig/pawlib/comis/code/csinit.F	2002-06-19 10:27:59.000000000 -0400
+++ src/pawlib/comis/code/csinit.F	2005-03-04 13:01:40.000000000 -0500
@@ -82,6 +82,7 @@
       ITA=0
       IDP=0
       IFORS=1
+      ITMPLEN=0
       NCBARR=0
       NTRACE=1
       NPARAM=1
@@ -163,17 +164,17 @@
       JKUVBS=-1
 #endif
 #if (defined(CERNLIB_HPUX))&&(defined(CERNLIB_SHL))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='f77 -c +z +ppu'
       CHCC  ='cc -c +z'
 #endif
 #if (defined(CERNLIB_IBMRT))&&(defined(CERNLIB_SHL))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='xlf -qextname -qrndsngl -qcharlen=32767 -c'
       CHCC  ='cc -c'
 #endif
 #if (defined(CERNLIB_SUN))&&(defined(CERNLIB_SOLARIS))&&(defined(CERNLIB_SHL))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
 # if defined(CERNLIB_QFAPOGEE)
       CHF77 ='apf77 -c -pic'
       CHCC  ='apcc -c -pic'
@@ -201,22 +202,22 @@
 # endif
 #endif
 #if (defined(CERNLIB_SUN))&&(!defined(CERNLIB_SOLARIS))&&(defined(CERNLIB_SHL))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='f77 -c -pic'
       CHCC  ='cc -c -pic'
 #endif
 #if (defined(CERNLIB_LINUX))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='g77 -c'
       CHCC  ='cc -c'
 #endif
 #if (defined(CERNLIB_SGI))&&(defined(CERNLIB_SHL))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='f77 -c'
       CHCC  ='cc -cckr -c'
 #endif
 #if (defined(CERNLIB_ALPHA_OSF))&&(defined(CERNLIB_SHL))
-      CHPATH='/tmp/'
+      ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='f77 -c'
       CHCC  ='cc -c'
 #endif
diff -urN src.orig/pawlib/comis/deccc/Imakefile src/pawlib/comis/deccc/Imakefile
--- src.orig/pawlib/comis/deccc/Imakefile	1999-11-15 08:36:23.000000000 -0500
+++ src/pawlib/comis/deccc/Imakefile	2005-03-04 13:44:53.000000000 -0500
@@ -19,6 +19,10 @@
 SRCS_C := $(SRCS_C) cscald.c cscali.c cscalr.c cstrcmp.c ccopys.c
 #endif
 
+#if defined(CERNLIB_UNIX)
+SRCS_C := $(SRCS_C) cstmpd.c
+#endif
+
 #if defined(CERNLIB_HPUX) && defined(CERNLIB_SHL)
 SRCS_C := $(SRCS_C) cs_shl_get.c cs_shl_load.c cs_shl_symbols.c \ @@\
 		    cs_shl_unload.c cs_get_func.c
diff -urN src.orig/pawlib/comis/deccc/cstmpd.c src/pawlib/comis/deccc/cstmpd.c
--- src.orig/pawlib/comis/deccc/cstmpd.c	1969-12-31 19:00:00.000000000 -0500
+++ src/pawlib/comis/deccc/cstmpd.c	2005-03-05 20:18:29.000000000 -0500
@@ -0,0 +1,180 @@
+/*
+ * cs_mktmpdir.c
+ * Author: Kevin McCarty, March 4, 2005
+ * Purpose: safely create a temporary directory in UNIX for COMIS to use.
+ */
+
+#if defined(CERNLIB_UNIX)
+
+# include "comis/pilot.h"
+# include <stdlib.h>
+# include <string.h>
+# include <stdio.h>
+# include <errno.h>
+# include <unistd.h>
+# include <sys/stat.h>
+# include <sys/types.h>
+
+# if defined(CERNLIB_LINUX) || defined(CERNLIB_BSD)
+#  define mksafetemp mkdtemp
+# else
+
+/* reimplement mkdtemp() for systems without it */
+static char *mksafetemp(char *template)
+{
+  int i, len;
+  char * tempcopy;
+  FILE * randomfile = fopen("/dev/urandom", "r");
+  if (!randomfile)
+    randomfile = fopen("/dev/random", "r");
+  if (!randomfile)
+    return NULL;
+  
+  len = strlen(template);
+  if (len < 6 || strncmp("XXXXXX", template + len - 6, 6)) {
+    fclose(randomfile);
+    errno = EINVAL;
+    return NULL;
+  }
+  
+ again:
+  tempcopy = strdup(template);
+  
+  for (i = 0; i < 6; i++) {
+    unsigned char randomchar;
+    fread(&randomchar, 1, 1, randomfile);
+    randomchar %= 62;
+    if (randomchar < 10)
+      randomchar += '0';
+    else if (randomchar < 36)
+      randomchar += ('A' - 10);
+    else
+      randomchar += ('a' - 36);
+    tempcopy[i + len - 6] = randomchar;
+  }
+
+  if (mkdir(tempcopy, 0700)) {
+    free(tempcopy);
+    if (errno == EEXIST)
+      goto again;
+    else {
+      fclose(randomfile);
+      return NULL;
+    }
+  }
+
+  strcpy(template, tempcopy);
+  fclose(randomfile);
+  free(tempcopy);
+  return template;
+}
+# endif
+
+
+/* CSTMPD: securely creates a temporary directory for use by COMIS and
+ * returns the path in "result", a string of available size "length".
+ * Any initial value in "result" is ignored.
+ * The return value is the actual length of the directory path.
+ * 
+ * If a temporary directory previously created in the lifetime of the
+ * program still exists and has the right owner and permissions (0700),
+ * it is used instead.
+ */
+
+#if defined(CERNLIB_QX_SC)
+# define Cstmpd cstmpd_
+#endif
+#if defined(CERNLIB_QXNO_SC)
+# define Cstmpd cstmpd
+#endif
+#if defined(CERNLIB_QXCAPT)
+# define Cstmpd CSTMPD
+#endif
+int type_of_call Cstmpd(char * result, int * length)
+{
+  static char * current_dir = 0;
+  int i, mknewdir = 1;
+
+  /* by default (if something goes wrong) return a blank string */
+  memset(result, ' ', *length);
+  
+  if (current_dir && strlen(current_dir) < *length) {
+    /* Check whether cached value of current_dir is still a usable
+     * existing directory. */
+    struct stat buf;
+
+    if (lstat(current_dir, &buf) == 0) {
+      if (buf.st_uid == geteuid() && S_ISDIR(buf.st_mode) 
+	  && !S_ISLNK(buf.st_mode) && !(buf.st_mode & S_IWGRP)
+	  && !(buf.st_mode & S_IWOTH))
+	mknewdir = 0;
+    }
+  }
+  
+  /* Create a new temporary directory if necessary. */
+  if (mknewdir) {
+    char * template;
+    char * tmpdir;
+    
+    free(current_dir);
+    current_dir = malloc(*length);
+    template = malloc(*length);
+    if ((tmpdir = getenv("TMPDIR")) && *length > strlen(tmpdir) + 12)
+      strcpy(template, tmpdir);
+    else if (*length > 16)
+      strcpy(template, "/tmp");
+    else {
+      free(template);
+      free(current_dir);
+      current_dir = 0;
+      errno = ENAMETOOLONG;
+      return 0;
+    }
+    strcat(template, "/comisXXXXXX");
+    
+    if (!mksafetemp(template)) {
+      free(template);
+      free(current_dir);
+      current_dir = 0;
+      return 0;
+    }
+
+    strcpy(current_dir, template);
+  }
+
+  /* Put current_dir into result and make sure result is in FORTRAN format
+   * (no nul, ends with blanks), plus add a trailing slash. */
+  strncpy(result, current_dir, *length - 1);
+  result[strlen(current_dir)] = '/';
+  for (i = strlen(current_dir) + 1; i < *length; i++)
+    result[i] = ' ';
+  return strlen(current_dir) + 1;
+}
+
+#if 0
+/* test routine */
+int main()
+{
+  char tmp[26];
+  int length, len2;
+
+  for (length = 25; length > 0; length--) {
+    len2 = Cstmpd(tmp, &length);
+    tmp[length] = 0;
+    printf("length %d, tmpdir: `%s'\n", len2, tmp);
+    tmp[len2] = 0;
+    rmdir(tmp);
+  }
+
+  for (length = 25; length > 0; length--) {
+    len2 = Cstmpd(tmp, &length);
+    tmp[length] = 0;
+    printf("length %d, tmpdir: `%s'\n", len2, tmp);
+    tmp[len2] = 0;
+  }
+
+  return 0;
+}
+#endif
+
+#endif /* CERNLIB_UNIX */


--- NEW FILE 051-fix-miscellaneous-tmp-uses ---
diff -ur src.orig/config/Amoeba.cf src/config/Amoeba.cf
--- src.orig/config/Amoeba.cf	1995-12-20 10:26:47.000000000 -0500
+++ src/config/Amoeba.cf	2005-03-03 11:52:59.000000000 -0500
@@ -309,7 +309,8 @@
 #ifndef InstallManPageAliases
 #define	InstallManPageAliases(file,destdir,aliases)			@@\
 install.man::								@@\
-	@(TMP=/tmp/tmp.$$$$; \						@@\
+	@(TMP=$(DESTDIR)destdir/file.$(MANSUFFIX).$$$$; \		@@\
+	$(MKXDIRHIER) `dirname $${TMP}` ; \				@@\
 	$(RM) $${TMP}; \						@@\
 	echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \	@@\
 	for i in aliases; do (set -x; \					@@\
diff -ur src.orig/config/Imake.rules src/config/Imake.rules
--- src.orig/config/Imake.rules	2000-04-19 06:51:00.000000000 -0400
+++ src/config/Imake.rules	2005-03-03 12:22:32.000000000 -0500
@@ -999,7 +999,8 @@
 #ifndef InstallManPageAliases
 #define	InstallManPageAliases(file,destdir,aliases)			@@\
 install.man::								@@\
-	@(TMP=/tmp/tmp.$$$$; \						@@\
+	@(TMP=$(DESTDIR)destdir/file.$(MANSUFFIX).$$$$; \		@@\
+	$(MKDIRHIER) `dirname $${TMP}` ; \				@@\
 	RemoveFile($${TMP}); \						@@\
 	echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \	@@\
 	for i in aliases; do (set -x; \					@@\
diff -ur src.orig/config/NetBSD.cf src/config/NetBSD.cf
--- src.orig/config/NetBSD.cf	1995-12-20 10:26:45.000000000 -0500
+++ src/config/NetBSD.cf	2005-03-03 11:53:29.000000000 -0500
@@ -99,9 +99,7 @@
 file.0:: file.man							@@\
 	@if [ -f file.man ]; \						@@\
 	then \								@@\
-	cat file.man | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >/tmp/$$$$.man; \	@@\
-	cp /tmp/$$$$.man file.0; \					@@\
-	$(RM) /tmp/$$$$.man; \						@@\
+	cat file.man | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >file.0; \ @@\
 	fi 								@@\
 									@@\
 file.man::								@@\
@@ -119,9 +117,10 @@
 	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
 	for i in list; do \                                             @@\
 	  (set -x; \							@@\
-	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >/tmp/$$$$.suff; \	@@\
-	  $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff $(DESTDIR)dest/$$i.0; \	@@\
-	  $(RM) /tmp/$$$$.suff); \						@@\
+	  TMP=$(DESTDIR)dest/$$$$.suff ; \				@@\
+	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >$${TMP}; \ @@\
+	  $(INSTALL) -c $(INSTMANFLAGS) $${TMP} $(DESTDIR)dest/$$i.0; \	@@\
+	  $(RM) $${TMP} ); \						@@\
 	done
 
 #define InstallMultipleMan(list,dest)                                   @@\
diff -ur src.orig/config/bsdi.cf src/config/bsdi.cf
--- src.orig/config/bsdi.cf	1995-12-20 10:26:44.000000000 -0500
+++ src/config/bsdi.cf	2005-03-03 11:56:33.000000000 -0500
@@ -69,9 +69,7 @@
 file.0:: file.man							@@\
 	@if [ -f file.man ]; \						@@\
 	then \								@@\
-	cat file.man | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >/tmp/$$$$.man; \	@@\
-	cp /tmp/$$$$.man file.0; \					@@\
-	$(RM) /tmp/$$$$.man; \						@@\
+	cat file.man | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >file.0; \ @@\
 	fi 								@@\
 									@@\
 file.man::								@@\
@@ -89,9 +87,10 @@
 	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
 	for i in list; do \                                             @@\
 	  (set -x; \							@@\
-	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >/tmp/$$$$.suff; \	@@\
-	  $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff $(DESTDIR)dest/$$i.0; \	@@\
-	  $(RM) /tmp/$$$$.suff); \						@@\
+	  TMP=$(DESTDIR)dest/$$$$.suff ; \				@@\
+	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >$${TMP}; \	@@\
+	  $(INSTALL) -c $(INSTMANFLAGS) $${TMP} $(DESTDIR)dest/$$i.0; \	@@\
+	  $(RM) $${TMP} ); \						@@\
 	done
 
 #define InstallMultipleMan(list,dest)                                   @@\
diff -ur src.orig/config/ncr.cf src/config/ncr.cf
--- src.orig/config/ncr.cf	1995-12-20 10:26:42.000000000 -0500
+++ src/config/ncr.cf	2005-03-03 12:01:48.000000000 -0500
@@ -75,11 +75,11 @@
 file.z:: file.man							@@\
 	@if [ -f file.man ]; \						@@\
 	then \								@@\
-	cat file.man | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >/tmp/$$$$.man; \	@@\
-	$(RM) /tmp/$$$$.man.z; \					@@\
-	pack -f /tmp/$$$$.man; \					@@\
-	cp /tmp/$$$$.man.z file.z; \					@@\
-	$(RM) /tmp/$$$$.man.z; \					@@\
+	cat file.man | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >file.$$$$.man; \	@@\
+	$(RM) file.$$$$.man.z; \					@@\
+	pack -f file.$$$$.man; \					@@\
+	cp file.$$$$.man.z file.z; \					@@\
+	$(RM) file.$$$$.man.z; \					@@\
 	fi 								@@\
 									@@\
 file.man::								@@\
@@ -97,10 +97,11 @@
 	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
 	for i in list; do \                                             @@\
 	  (set -x; \							@@\
-	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >/tmp/$$$$.suff; \	@@\
-	  pack -f /tmp/$$$$.suff; \					@@\
-	  $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff.z $(DESTDIR)dest/$$i.z; \	@@\
-	  $(RM) /tmp/$$$$.suff.z); \						@@\
+	  TMP=$(DESTDIR)dest/$$$$.suff ; \				@@\
+	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) -man | $(COL) >$${TMP}; \	@@\
+	  pack -f $${TMP}; \						@@\
+	  $(INSTALL) -c $(INSTMANFLAGS) $${TMP}.z $(DESTDIR)dest/$$i.z; \ @@\
+	  $(RM) $${TMP}.z); \						@@\
 	done
 
 #define InstallMultipleMan(list,dest)                                   @@\
diff -ur src.orig/config/x386.cf src/config/x386.cf
--- src.orig/config/x386.cf	1995-12-20 10:26:43.000000000 -0500
+++ src/config/x386.cf	2005-03-03 12:12:41.000000000 -0500
@@ -107,9 +107,11 @@
 #define InstallManPageLong(file,destdir,dest)                           @@\
 install.man:: file.man                                                  @@\
 	$(RM) destdir/dest.$(MANSUFFIX)					@@\
-	cat file.man | neqn | nroff -man >/tmp/file.man  		@@\
-	$(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man destdir/dest.$(MANSUFFIX) @@\
-	$(RM) /tmp/file.man
+	TMP=destdir/dest.$$$$.$(MANSUFFIX) ; \				@@\
+	$(INSTALL) -c $(INSTMANFLAGS) file.man $${TMP} ; \		@@\
+	cat file.man | neqn | nroff -man >$${TMP} ; \			@@\
+	$(INSTALL) -c $(INSTMANFLAGS) $${TMP} destdir/dest.$(MANSUFFIX) ; \ @@\
+	$(RM) $${TMP}
 
 #define InstallMultipleMan(list,dest)                                   @@\
 install.man:: list                                                      @@\
@@ -117,9 +119,11 @@
 	for i in list; do \                                             @@\
 		(set -x; \						@@\
 		$(RM) dest/$$i; \					@@\
-		cat $$i | neqn | nroff -man >/tmp/$$i; \  		@@\
-		$(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i dest/$$i; \	@@\
-		$(RM) /tmp/$$i); \					@@\
+		TMP=dest/$$i.$$$$ ; \					@@\
+		$(INSTALL) -c $(INSTMANFLAGS) $$i $${TMP} ; \		@@\
+		cat $$i | neqn | nroff -man >$${TMP}; \  		@@\
+		$(INSTALL) -c $(INSTMANFLAGS) $${TMP} dest/$$i; \	@@\
+		$(RM) $${TMP} ); \					@@\
 	done
 
 /* If you have trouble with make bombing out in Xlib, try uncommenting this. */
diff -ur src.orig/patchy/yexpand.script src/patchy/yexpand.script
--- src.orig/patchy/yexpand.script	1994-09-26 07:51:09.000000000 -0400
+++ src/patchy/yexpand.script	2005-03-03 21:26:48.000000000 -0500
@@ -26,7 +26,7 @@
 # CERN_ROOT=":$CERN_ROOT" ; export CERN_ROOT 
   CERN_ROOT=":$CERN/$CERN_LEVEL" ; export CERN_ROOT 
 
-  tfile="/tmp/$tfile.yexp"
+  tfile="$HOME/$tfile.yexp"
   echo "#!/bin/sh"    >$tfile
   echo "  cat <<EOI" >>$tfile
   cat <$ifile        >>$tfile

cernlib-XmDrawShadow-no-prototype.patch:

--- NEW FILE cernlib-XmDrawShadow-no-prototype.patch ---
--- src/packlib/kuip/code_motif/iconwidget.c.old	2005-06-12 14:59:39.193949776 +0200
+++ src/packlib/kuip/code_motif/iconwidget.c	2005-06-12 14:41:25.865161016 +0200
@@ -31,7 +31,7 @@
 /* _Xm routine definitions  */
 void    _XmHighlightBorder ();
 void   _XmUnhighlightBorder ();
-void   _XmDrawShadow ();
+/*void   _XmDrawShadow ();*/
 
 /* Motif1.1 ( except apollo, hpux has _XmPrimitive... with two args only
  * Gunter 30-jan-95

cernlib-bimsel-nodouble-save.diff:

--- NEW FILE cernlib-bimsel-nodouble-save.diff ---
--- src/geant321/peanut/bimsel.F.old	2005-07-16 15:22:21.000000000 +0200
+++ src/geant321/peanut/bimsel.F	2005-07-16 15:22:47.000000000 +0200
@@ -41,14 +41,14 @@
 *
       LOGICAL LBCHCK, LFERMI, LLMDBR
 *
-      SAVE ABTAR , ZZTAR , SIGMP0, SIGMN0,
-     &     AMNHLP, RHOBIM, RPRONU, RADPRP, RADPRN, DSKRED, RHRUSF,
-     &     AUSFL , ZUSFL , BNDSAV, RADHLP, BFCHLP, BIMCLM, PRCOLP,
-     &     PRCOLN, IBTOLD, ICTOLD, KPROJ , NTRIAL, ITFRMI
-      SAVE SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1
-#ifndef CERNLIB_WINNT
+*      SAVE ABTAR , ZZTAR , SIGMP0, SIGMN0,
+*     &     AMNHLP, RHOBIM, RPRONU, RADPRP, RADPRN, DSKRED, RHRUSF,
+*     &     AUSFL , ZUSFL , BNDSAV, RADHLP, BFCHLP, BIMCLM, PRCOLP,
+*     &     PRCOLN, IBTOLD, ICTOLD, KPROJ , NTRIAL, ITFRMI
+*      SAVE SBHAL0, SBSKI0, SBCEN0, SBCEN1, SBSKI1, SBHAL1
+*#ifndef CERNLIB_WINNT
       SAVE
-#endif
+*#endif
       DATA IBTOLD, ICTOLD / 2*0 /
 *
       KPROJ  = JPROJ

cernlib-cernlib.patch:

--- NEW FILE cernlib-cernlib.patch ---
--- src/scripts/cernlib.save	2005-09-09 22:35:51.644226776 +0200
+++ src/scripts/cernlib	2005-09-09 22:55:26.747601989 +0200
@@ -16,12 +16,16 @@
   [ -z "$CERN_LEVEL" ] && gver="pro" || gver="$CERN_LEVEL"
  
   _P=0  ; _p=0 ;   _u=0 ; Gsys=""
+  #default is to use dynamic lapack
+  _l=1 ;
+  dynlapack=0;
   while [ $# -gt 0 ]
   do case $1 in
        -G) Gsys=$2   ; shift ;;
        -P) _P=1              ;;
        -s) _s="is an obsolete option"     ;;
        -u) _u=1 ; _p=1       ;;
+       -l) _l=0              ;;
        -v) gver=$2   ; shift ;;
        --) shift ; break     ;;
         *)         break     ;;
@@ -52,8 +56,19 @@
          [ $1 = "genlib"  ] && ln="mathlib.a $dir/libphtools"
          [ $1 = "bvsl"    ] && ln="mathlib"
          [ $1 = "mpalib"  ] && ln="mathlib"
-         [ $1 = "lapack"  ] && ln="lapack3.a $dir/libblas"
-	 [ $1 = "pawlib"  ] && ln="pawlib.a $dir/liblapack3.a $dir/libblas"
+         if [ $_l -eq 0 ] ; then
+           [ $1 = "pawlib"  ] && ln="pawlib.a $dir/liblapack3.a $dir/libblas"
+           [ $1 = "lapack"  ] && ln="lapack3.a $dir/libblas"
+         else
+           if [ $1 = "pawlib"  ] ; then 
+              ln="pawlib"
+              dynlapack=1
+           fi
+           if [ $1 = "lapack"  ] ; then
+              ln=""
+              dynlapack=1
+           fi
+         fi
          [ $1 = "pythia"  ] && ln="jetset"
       if [ $1 = "GKS" -o $1 = "gks" ] ; then
          drv="X11" ; glib="$1" ; dir="$CERN/gks/$lver/lib"
@@ -69,7 +84,7 @@
          [ $drv = "Motif" ] && drv="X11"
          ln="$ln.a $dir/libgraf$drv"
       fi
-         CERNLIB="$CERNLIB $dir/lib$ln.a"
+      [ -n "$ln" ] && CERNLIB="$CERNLIB $dir/lib$ln.a"
   done
   [ $_p -eq 0 ] && CERNLIB="$CERNLIB $CERN/$gver/lib/libpacklib.a"
 
@@ -113,7 +128,9 @@
       Linux)   [ -d /usr/X386/lib ] && SYSGX11="-L/usr/X386/lib -lX11"
 	       [ -d /usr/X11/lib ] && SYSGX11="-L/usr/X11/lib -lX11"
 	       [ -d /usr/X11R6/lib ] && SYSGX11="-L/usr/X11R6/lib -lX11"
+	       [ -d /usr/X11R6/lib64 ] && SYSGX11="-L/usr/X11R6/lib64 -lX11"
 	       [ -d /usr/X11R6/lib ] && SYSGMOTIF="-L/usr/X11R6/lib -lXm -lXt -lXp -lXext -lX11"
+	       [ -d /usr/X11R6/lib64 ] && SYSGMOTIF="-L/usr/X11R6/lib64 -lXm -lXt -lXp -lXext -lX11"
 	       [ `uname -m` = ppc ] && SYSGMOTIF="$SYSGMOTIF -lSM -lICE -lXpm"
 	       ;;
       NeXT)    SYSGX11="/usr/lib/X11/libX11.r" ;
@@ -208,6 +225,10 @@
      fi
      if [ "$Msys" = "Linux" ] ; then
         CERNLIB="$CERNLIB -lnsl -lcrypt -ldl"
+#        echo $CERNLIB | grep pawlib >/dev/null &&   CERNLIB="$CERNLIB -llapack -lblas"
+     fi
+     if [ $dynlapack = 1 ] ; then
+         CERNLIB="$CERNLIB -llapack -lblas"
      fi
   fi
  


--- NEW FILE cernlib-deadpool.txt ---
# This file lists all the files that were removed from the Cernlib source
# for copyright reasons.  Given is the file or directory to delete
# relative to $CERN_ROOT/src/.

# --Kevin McCarty, 19 Aug. 2003

# Authors of FLUKA and Pythia/Jetset did NOT give permission to release
# their code under GPL.  CERN should have checked this more carefully!!!
geant321/data/flukaaf.dat
geant321/fluka/
car/geanf321.car
car/geanf.car

mclibs/jetset/
car/jetset74.car
mclibs/pythia/

# removal of Pythia/Jetset also necessitates removal of Fritiof, Lepto, Ariadne
mclibs/fritiof/
mclibs/ariadne/
mclibs/ariadne_407/
mclibs/lepto63/

# other problematic files (mostly on VMS or obsolete archs)
graflib/higz/igold/golini.F
packlib/cspack/sysreq/pwd_vms.h
packlib/cspack/sysreq/sgtty.h
packlib/cspack/vmsc/
packlib/fatmen/scripts/unix/ctab_root.dat
packlib/kernlib/kernbit/z037/astdoc.F
packlib/kernlib/kernbit/z037/fiopat.s
pawlib/comis/comis/dlfcn.inc
pawlib/comis/deccc/dlfcn.c
pawlib/comis/obsolete/rsibm/
pawlib/paw/stagerd/bftp.c

cernlib-gfortran.diff:

--- NEW FILE cernlib-gfortran.diff ---
--- src/config/linux.cf.old	2005-06-16 21:11:15.000000000 +0200
+++ src/config/linux.cf	2005-06-16 21:09:23.000000000 +0200
@@ -216,7 +216,7 @@
     variable=value							@@\
 endif									@@\
 
-# else    /* g77 */
+# else    /* g77/gfortran */
 
 /* Start CERNLIB changes A.Waananen 15. Apr. 1996 */
 /*  Adapted to CERN style GF. 20-Sep-96 */
@@ -227,10 +227,10 @@
 # define OptimizedCDebugFlags	-O1 -fomit-frame-pointer
 
 #define f2cFortran	        YES
-#define FortranCmd		g77
+#define FortranCmd		gfortran
 #define XargsCmd		xargs
 #define FortranSaveFlags	/* */ /* Everything static !? */
-#define DefaultFCOptions	-fno-automatic -fno-second-underscore -fugly-complex
+#define DefaultFCOptions	-fno-second-underscore 
 #define CernlibSystem	        -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC
 
 # endif

cernlib-hwhiga_use_aimag.diff:

--- NEW FILE cernlib-hwhiga_use_aimag.diff ---
--- src/mclibs/herwig/code/hwhiga.F.old	2005-06-24 09:45:07.000000000 +0200
+++ src/mclibs/herwig/code/hwhiga.F	2005-06-24 10:11:59.000000000 +0200
@@ -73,7 +73,7 @@
       TAMP(7)=HWHIG5(U,T,S,EMH2,EMQ2,3,0,6,0,0,0)
       DO 20 I=1,7
       TAMPI(I)= DBLE(TAMP(I))
-  20  TAMPR(I)=-IMAG(TAMP(I))
+  20  TAMPR(I)=-AIMAG(TAMP(I))
 C Square and add prefactors
       WTGG=0.03125*FLOAT(NCOLO*(NCOLO**2-1))
      &    *(TAMPR(1)**2+TAMPI(1)**2+TAMPR(2)**2+TAMPI(2)**2

cernlib-hwuli2_use_aimag.diff:

--- NEW FILE cernlib-hwuli2_use_aimag.diff ---
--- src/mclibs/herwig/code/hwuli2.F.old	2005-06-24 10:09:09.000000000 +0200
+++ src/mclibs/herwig/code/hwuli2.F	2005-06-24 10:11:52.000000000 +0200
@@ -19,7 +19,7 @@
       PROD(Y,Y2)=Y*(ONE+A1*Y*(ONE+A2*Y*(ONE+A3*Y2*(ONE+A4*Y2*(ONE+A5*Y2*
      & (ONE+A6*Y2*(ONE+A7*Y2*(ONE+A8*Y2*(ONE+A9*Y2*(ONE+A10*Y2))))))))))
       XR=DBLE(X)
-      XI=IMAG(X)
+      XI=AIMAG(X)
       R2=XR*XR+XI*XI
       IF (R2.GT.ONE.AND.(XR/R2).GT.HALF) THEN
          Z=-LOG(ONE/X)

cernlib-install_scripts.patch:

--- NEW FILE cernlib-install_scripts.patch ---
--- src/scripts/Imakefile.old	2005-06-16 12:15:16.000000000 +0200
+++ src/scripts/Imakefile	2005-06-16 12:30:22.000000000 +0200
@@ -1,10 +1,10 @@
 
-InstallProgram(paw,$(CERN_BINDIR))
+InstallNamedProg(paw,paw,$(CERN_BINDIR))
 
 #if defined(CERNLIB_SHIFT)
 InstallNamedProg(cernlib_shift,cernlib,$(CERN_BINDIR))
 #else
-InstallProgram(cernlib,$(CERN_BINDIR))
+InstallNamedProg(cernlib,cernlib,$(CERN_BINDIR))
 #endif
 
-InstallProgram(gxint,$(CERN_BINDIR))
+InstallNamedProg(gxint,gxint,$(CERN_BINDIR))


--- NEW FILE cernlib-remove-deadpool ---
#!/bin/bash

set -e
cd .

for dir in `tr '/' ' ' < ./cernlib-deadpool.txt | awk '{print $1}' \
	| sed -e 's/#.*//g' -e '/$^/d' | sort | uniq` ; do
	file=src_${dir}.tar.gz
	echo Unpacking compressed source from $file...
	tar xzf $file
#	version=`ls -1 | head -n 1`
	version=2005
	echo Removing files with bad copyright...
	for badfile in `grep '^'$dir ./cernlib-deadpool.txt \
			| sed 's/\#.*$//g'` ; do
		path=$version/src/$badfile
		[ -e "$path" ] || echo "Skipping non-existent $path ..."
		rm -rf $version/src/$badfile
	done
	echo Repacking $file.
	tar czf $file $version
	rm -rf $version
done
echo Done.

exit 0


cernlib-rsrtnt64_goto_outer_block.diff:

--- NEW FILE cernlib-rsrtnt64_goto_outer_block.diff ---
--- src/mathlib/gen/b/rsrtnt64.F.old	2005-06-18 18:30:12.000000000 +0200
+++ src/mathlib/gen/b/rsrtnt64.F	2005-06-18 19:24:35.000000000 +0200
@@ -117,8 +117,15 @@
         ENDIF
        ELSE
         IF(N .EQ. 1) THEN
-         ASSIGN 11 TO JMP1
-         GO TO 10
+      C2=2*C
+      IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
+       H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
+     1           (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
+      ELSEIF(DELTA .EQ. 0) THEN
+       H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
+      ELSE
+       H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
+      ENDIF
    11    IF(K .EQ. 0) THEN
           H=H
          ELSEIF(K .EQ. 1) THEN
@@ -174,14 +181,28 @@
            H=2*((H1+B*U)/RT(U)-(H1+B*V)/RT(V))/DELTA
            LB1=11
           ELSEIF(K .EQ. 2) THEN
-           ASSIGN 12 TO JMP1
-           GO TO 10
+      C2=2*C
+      IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
+       H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
+     1           (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
+      ELSEIF(DELTA .EQ. 0) THEN
+       H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
+      ELSE
+       H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
+      ENDIF
    12      H1=DELTA-B**2
            H2=2*A*B
            H=(((H1*U-H2)/RT(U)-(H1*V-H2)/RT(V))/DELTA+H)/C
           ELSEIF(K .EQ. 3) THEN
-           ASSIGN 13 TO JMP1
-           GO TO 10
+      C2=2*C
+      IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
+       H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
+     1           (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
+      ELSEIF(DELTA .EQ. 0) THEN
+       H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
+      ELSE
+       H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
+      ENDIF
    13      H1=C*DELTA
            G1=A*C
            G2=3*B**2
@@ -217,8 +238,32 @@
         ENDIF
        ELSE
         IF(N .EQ. 1) THEN
-         ASSIGN 21 TO JMP2
-         GO TO 20
+      IF(C .EQ. 0) THEN
+       IF(B .EQ. 0) THEN
+        H=LOG(ABS(V/U))/SQRT(A)
+       ELSE
+        IF(A .LT. 0) THEN
+         H=2*(ATAN(SQRT(-(A+B*V)/A))-ATAN(SQRT(-(A+B*U)/A)))/SQRT(-A)
+        ELSE
+         WA=SQRT(A)
+         WU=SQRT(A+B*U)
+         WV=SQRT(A+B*V)
+         H=LOG(ABS((WV-WA)*(WU+WA)/((WV+WA)*(WU-WA))))/WA
+        ENDIF
+       ENDIF
+      ELSE
+       A2=2*A
+       IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. A .GT. 0) THEN
+        H=LOG(ABS((-2*SQRT(A*P(V))+B*V+A2)*U/
+     1           ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
+       ELSEIF(DELTA .EQ. 0) THEN
+        H=LOG(ABS((B*U+A2)*V/((B*V+A2)*U)))/SQRT(A)
+        IF(U*V .GT. 0) H=SIGN(H,U)
+       ELSE
+        H=(ASIN((B*V+A2)/(V*RTD))-ASIN((B*U+A2)/(U*RTD)))/SQRT(-A)
+        IF(U .LT. 0 .AND. V .LT. 0) H=-H
+       ENDIF
+      ENDIF
    21    IF(K .EQ. -1) THEN
           H=H
          ELSEIF(K .EQ. -2) THEN
@@ -257,8 +302,32 @@
            IF(U. LT. -X0) H=-H
           ENDIF
          ELSE
-          ASSIGN 22 TO JMP2
-          GO TO 20
+      IF(C .EQ. 0) THEN
+       IF(B .EQ. 0) THEN
+        H=LOG(ABS(V/U))/SQRT(A)
+       ELSE
+        IF(A .LT. 0) THEN
+         H=2*(ATAN(SQRT(-(A+B*V)/A))-ATAN(SQRT(-(A+B*U)/A)))/SQRT(-A)
+        ELSE
+         WA=SQRT(A)
+         WU=SQRT(A+B*U)
+         WV=SQRT(A+B*V)
+         H=LOG(ABS((WV-WA)*(WU+WA)/((WV+WA)*(WU-WA))))/WA
+        ENDIF
+       ENDIF
+      ELSE
+       A2=2*A
+       IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. A .GT. 0) THEN
+        H=LOG(ABS((-2*SQRT(A*P(V))+B*V+A2)*U/
+     1           ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
+       ELSEIF(DELTA .EQ. 0) THEN
+        H=LOG(ABS((B*U+A2)*V/((B*V+A2)*U)))/SQRT(A)
+        IF(U*V .GT. 0) H=SIGN(H,U)
+       ELSE
+        H=(ASIN((B*V+A2)/(V*RTD))-ASIN((B*U+A2)/(U*RTD)))/SQRT(-A)
+        IF(U .LT. 0 .AND. V .LT. 0) H=-H
+       ENDIF
+      ENDIF
    22     IF(K .EQ. -1) THEN
            H1=B*C
            H2=B**2-2*A*C
@@ -287,46 +356,7 @@
         ENDIF
        ENDIF
       ENDIF
-      GO TO 9
-
-   10 C2=2*C
-      IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
-       H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
-     1           (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
-      ELSEIF(DELTA .EQ. 0) THEN
-       H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
-      ELSE
-       H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
-      ENDIF
-      GO TO JMP1, (11,12,13)
 
-   20 IF(C .EQ. 0) THEN
-       IF(B .EQ. 0) THEN
-        H=LOG(ABS(V/U))/SQRT(A)
-       ELSE
-        IF(A .LT. 0) THEN
-         H=2*(ATAN(SQRT(-(A+B*V)/A))-ATAN(SQRT(-(A+B*U)/A)))/SQRT(-A)
-        ELSE
-         WA=SQRT(A)
-         WU=SQRT(A+B*U)
-         WV=SQRT(A+B*V)
-         H=LOG(ABS((WV-WA)*(WU+WA)/((WV+WA)*(WU-WA))))/WA
-        ENDIF
-       ENDIF
-      ELSE
-       A2=2*A
-       IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. A .GT. 0) THEN
-        H=LOG(ABS((-2*SQRT(A*P(V))+B*V+A2)*U/
-     1           ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
-       ELSEIF(DELTA .EQ. 0) THEN
-        H=LOG(ABS((B*U+A2)*V/((B*V+A2)*U)))/SQRT(A)
-        IF(U*V .GT. 0) H=SIGN(H,U)
-       ELSE
-        H=(ASIN((B*V+A2)/(V*RTD))-ASIN((B*U+A2)/(U*RTD)))/SQRT(-A)
-        IF(U .LT. 0 .AND. V .LT. 0) H=-H
-       ENDIF
-      ENDIF
-      GO TO JMP2, (21,22)
 
     9 RES=SIGN(R1,V1-U1)*H
       LRL=LLL

cernlib-static-tcpaw.diff:

--- NEW FILE cernlib-static-tcpaw.diff ---
--- src/packlib/cspack/tcpaw/tcpaw.c.old	2005-06-16 12:59:25.000000000 +0200
+++ src/packlib/cspack/tcpaw/tcpaw.c	2005-06-16 13:05:01.000000000 +0200
@@ -2405,7 +2405,10 @@
  */
 
 static  FILE *cfile;
- 
+
+static
+rnetrc(char *host, char **aname, char**apass);
+
 ruserpass(host, aname, apass)
         char *host, **aname, **apass;
 {
@@ -2445,7 +2448,10 @@
                 }
         }
 }
- 
+
+static
+token();
+
 static
 rnetrc(host, aname, apass)
         char *host, **aname, **apass;
@@ -2588,7 +2594,10 @@
 /*** NOTE MAXPASSWD IS DEFINED AS 8 IN ALL STANDARD UNIX SYSTEMS, BUT THIS
  *** GIVES US PROBLEMS INTERWORKING WITH VMS AND CRAY-SECURID SYSTEMS. ***/
 #define MAXPASSWD     20       /* max significant characters in password */
- 
+
+static void
+catch();
+
 char *
 getpass(prompt)
 char    *prompt;

cernlib-v107z0_X_before_string.diff:

--- NEW FILE cernlib-v107z0_X_before_string.diff ---
--- src/mathlib/gen/v/v107z0.inc.old	2005-06-18 20:15:25.000000000 +0200
+++ src/mathlib/gen/v/v107z0.inc	2005-06-18 20:20:05.000000000 +0200
@@ -17,7 +17,8 @@
 *
 
 #if defined(CERNLIB_LNX)||defined(CERNLIB_ALLIANT)||defined(CERNLIB_DECS)||defined(CERNLIB_MACMPW)||defined(CERNLIB_SGI)
-      DATA IZ0/'33000000'X/
+*      DATA IZ0/'33000000'X/
+      DATA IZ0/X'33000000'/
 
 #elif defined(CERNLIB_APOLLO)
       DATA IZ0/16#33000000/


--- NEW FILE cernlib.README ---
The change done with regard with the CERN library are as follow:

1) Package organization

The main package is cernlib-devel which includes the cernlib static 
libraries, include files and data files. Different versions (corresponding 
with years) of the cernlib can be installed along.

The other packages can't have different versions installed in parallel.

The package cernlib-utils contains the cernlib script which can be used
to compile the cernlib library, and /etc/profile.d/cernlib-<version>.sh
which sets the environment variables usefull for the cernlib.

The package kuipc contains the kuipc interpreter, paw contains the paw
binary, and cernlib-packlib contains the other binaries from the 
cernlib.

2) Filesystem Hierarchy Standard conformance

The upstream Cernlib installs in the subdirectories (bin, lib, include...) 
of the $CERN_ROOT directory which is usually $CERN/$CERN_LEVEL. A mix of
this approach and a standard FHS conformant approach has been followed here. 

For the libraries, the Cernlib upstream scheme has been retained, with 
CERN=/usr/lib/cernlib
CERN_LEVEL=2005
and therefore the libraries are in /usr/lib/cernlib/2005/lib. The 
environment variables are set in /etc/profile.d/cernlib-<version>.sh.

For the include files and the data files the subdirectory cernlib/2005
appears in the FHS location, without subdirectories, therefore we have the
equivalences:
$CERN_ROOT/include     ->     /usr/include/cernlib/$CERN_LEVEL/
$CERN_ROOT/share       ->     /usr/share/cernlib/$CERN_LEVEL/

The binary files go into /usr/bin.

3) Removal of non-free code

Debian patches and files from the debian Cernlib package where used to remove
files licensed under non-GPL compatible licences. The script 
cernlib-remove-deadpool and the file cernlib-deadpool.txt which lists 
problematic files can be used in the SOURCES directory with the 
upstream sources to remove the problematic files.

4) Use of external lapack

The cernlib script has been modified to use an external lapack and not
the one provided with the cernlib.


--- NEW FILE cernlib.m4 ---
dnl                                                      -*- Autoconf -*- 
dnl  autoconf macros for the cernlib libraries
dnl  Copyright (C) 2004 Patrice Dumas
dnl
dnl  This program is free software; you can redistribute it and/or modify
dnl  it under the terms of the GNU General Public License as published by
dnl  the Free Software Foundation; either version 2 of the License, or
dnl  (at your option) any later version.
dnl
dnl  This program is distributed in the hope that it will be useful,
dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dnl  GNU General Public License for more details.
dnl
dnl  You should have received a copy of the GNU General Public License
dnl  along with this program; if not, write to the Free Software
dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

dnl A basic axample of the macros usage:
dnl 
dnl AC_CERNLIB
dnl AC_LIB_CERNLIB(kernlib,CLTOU)
dnl AC_LIB_CERNLIB(mathlib,GAUSS)
dnl LIBS="$CERNLIB_LIBS $LIBS"

dnl The macro AC_CERNLIB tries to determine the cernlib location and
dnl whether the linking should be static or not. It should be called once and
dnl before a particular cernlib library is detected with the second macro.
dnl --with-static-cernlib forces the static or dynamic linking.
dnl --with-cernlib gives the location of cernlib.
dnl
dnl If the type of linking isn't forced it is detected as follow:
dnl - if the environment variable CERNLIB exists it is assumed to be the
dnl   location of the static library.
dnl - otherwise if the environment variable CERN_ROOT exists it is assumed 
dnl   that CERN_ROOT/lib is the location of the static library.
dnl - otherwise if the binary program 'cernlib' is in the path it is assumed 
dnl   that a static linking using the information reported by that binary is 
dnl   wanted.
dnl - otherwise a dynamic linking is performed.
dnl
dnl AC_LIB_CERNLIB ([LIBRARY = kernlib], [FUNCTION = CLTOU], [ACTION-IF-FOUND],
dnl          [ACTION-IF-NOT-FOUND]) 
dnl should be called afterwards for each of the cernlib library needed. 
dnl Based on the information collected by AC_CERNLIB the needed flags are 
dnl added to the linking flags or the files and flags are added to the 
dnl $CERNLIB_LIBS shell variable and a test of linking is performed.
dnl
dnl The static library linking flags and files are in $CERNLIB_LIBS.


# AC_CERNLIB check for cernlib location and whether it should be 
# statically linked or not.
AC_DEFUN([AC_CERNLIB], [
CERNLIB_LIB_PATH=
CERNLIB_STATIC=
AC_ARG_WITH(static_cernlib,
[  --with-static-cernlib             link statically with the cernlib],
[  CERNLIB_STATIC=$withval      ])

AC_ARG_WITH(cernlib,
[  --with-cernlib           cernlib location],
[  CERNLIB_LIB_PATH=$withval    ])


if test "z$CERNLIB_STATIC" != "zno"; then    
    CERNLIB_BIN=no
    if test "z$CERNLIB_LIB_PATH" = z; then
        if test "z$CERNLIB" != z -a -d "$CERNLIB"; then
            CERNLIB_LIB_PATH=$CERNLIB
            CERNLIB_STATIC="yes"
            AC_MSG_NOTICE([using the CERNLIB environment variable for cernlib location])
        elif test "z$CERN_ROOT" != z -a -d "$CERN_ROOT/lib"; then
            CERNLIB_LIB_PATH=$CERN_ROOT/lib
            CERNLIB_STATIC="yes"
            AC_MSG_NOTICE([using the CERN_ROOT environment variable for cernlib location])
        fi
        if test "z$CERNLIB_LIB_PATH" = "z"; then
            AC_PATH_PROG(CERNLIB_BIN, cernlib, no)
            if test $CERNLIB_BIN != no; then
                CERNLIB_STATIC="yes"
            fi
        fi
    fi
fi

if test "z$CERNLIB_STATIC" != "zyes"; then
    if test "z$CERNLIB_LIB_PATH" != z; then
         LDFLAGS="$LDFLAGS -L$CERNLIB_LIB_PATH"
    fi
fi
])

# AC_LIB_CERNLIB ([LIBRARY = kernlib], [FUNCTION = CLTOU], [ACTION-IF-FOUND],
#          [ACTION-IF-NOT-FOUND]) 
# check for a function in a library of the cernlib
AC_DEFUN([AC_LIB_CERNLIB], [

cernlib_lib_ok="no"

if test "z$1" = z; then
    cern_library=kernlib
else
    cern_library=$1
fi

if test "z$2" = z; then
    cern_func=CLTOU
else
    cern_func=$2
fi

if test "z$CERNLIB_STATIC" = "zyes"; then
    cernlib_lib_static_found=no
    AC_MSG_NOTICE([cernlib: linking with a static $cern_library])
    save_CERNLIB_LIBS="$CERNLIB_LIBS"
    if test "z$CERNLIB_BIN" != "zno"; then
        cernlib_bin_out=`$CERNLIB_BIN $cern_library`
        CERNLIB_LIBS="$cernlib_bin_out $CERNLIB_LIBS"
        cernlib_lib_static_found=yes
    elif test "z$CERNLIB_LIB_PATH" != z; then
dnl .a for UNIX libraries only ?
        if test -f "$CERNLIB_LIB_PATH/lib${cern_library}.a"; then 
            CERNLIB_LIBS="$CERNLIB_LIB_PATH/lib${cern_library}.a $CERNLIB_LIBS"
            cernlib_lib_static_found=yes
        fi
    fi
    if test "z$cernlib_lib_static_found" = zno; then
        AC_MSG_WARN([cannot determine the cernlib location for static linking])
    else
dnl now try the link
        AC_LANG_PUSH(Fortran 77)
        save_LIBS="$LIBS"; LIBS="$CERNLIB_LIBS $LIBS"
        AC_LINK_IFELSE([      program main
      call $cern_func
      end
], 
        [ 
            cernlib_lib_ok=yes
        ],
        [
            CERNLIB_LIBS="$save_CERNLIB_LIBS"
        ])
        LIBS="$save_LIBS"
        AC_LANG_POP(Fortran 77)
    fi
else
    AC_MSG_NOTICE([trying a dynamical link with $cern_library])
dnl FIXME ther could also be something like
dnl save_LIBS="$LIBS"; LIBS="$CERNLIB_LIBS $LIBS"
dnl CERNLIB_LIBS="-l$cern_library $CERNLIB_LIBS" 
dnl LIBS="$save_LIBS"
    AC_CHECK_LIB([$cern_library], [$cern_func],
       [ 
         AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
         LIBS="-l$1 $LIBS"

         cernlib_lib_ok=yes 
       ])
fi

AS_IF([test x"$cernlib_lib_ok" = xyes],
      [m4_default([$3], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_CERNLIB_${cern_library}_${cern_func}))
      ])],
      [
       AC_MSG_WARN([cannot link $cern_func in lib$cern_library ])
       $4
      ])

])


--- NEW FILE cernlib.sh.in ---
export CERN===CERN==
export CERN_LEVEL===CERN_LEVEL==
export CERN_VER=$CERN_LEVEL
export CERN_ROOT=$CERN/$CERN_LEVEL


--- NEW FILE cernlib.spec ---
Name:          cernlib
Version:       2005
Release:       4
Summary:       General purpose CERN library and associated binaries
Group:         Development/Libraries
# As explained in the cernlib on debian FAQ, cfortran can be considered LGPL.
# http://borex.princeton.edu/~kmccarty/faq.html#44
License:       GPL/LGPL/BSD
URL:           http://cernlib.web.cern.ch/cernlib/
# mandrake
#BuildRequires: libxorg-x11-devel lesstif-devel libblas3-devel liblapack3-devel
#BuildRequires: gcc-g77
#Requires:      libxorg-x11-devel lesstif-devel libblas3-devel liblapack3-devel
# fedora core
BuildRequires: xorg-x11-devel lapack-devel blas-devel openmotif-devel 
# there are missing f2c intrinsics in gfortran so gfortran cannot be used to
# build the cernlib
BuildRequires: /usr/bin/g77
BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# these sources are different from the upstream sources as files with 
# GPL incompatible licences are removed. You can use cernlib-remove-deadpool
# and cernlib-deadpool.txt to recreate them from the upstream
# In a directoory with the cernlib sources, issue 
# sh cernlib-remove-deadpool 
Source3: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_geant321.tar.gz
Source4: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_graflib.tar.gz
Source7: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_mclibs.tar.gz
Source8: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_packlib.tar.gz 
Source10: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_pawlib.tar.gz
# not used during the build (if I'm not wrong)
Source15: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_car.tar.gz
# unmodified files
Source0: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/include.tar.gz
Source1: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_config.tar.gz
Source2: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_Imakefile.tar.gz
Source5: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_include.tar.gz
Source6: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_mathlib.tar.gz 
Source11: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_phtools.tar.gz
Source12: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_scripts.tar.gz
# actually patchy isn't built, for the reason stated in
# see http://borex.princeton.edu/~kmccarty/faq.html#36
Source9: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_patchy.tar.gz
Source14: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_cfortran.tar.gz
Source16: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/lib/xsneut95.dat
# A shell script that goes in /etc/profile.d
Source100: cernlib.sh.in
Source105: cernlib.sh.in
# m4 macros for autoconf
Source101: cernlib.m4
# README file for paw slightly modified from the debian
Source102: paw.README
# README file that lists the changes done in the package
Source103: cernlib.README
# mkdirhier is used to create directories. Taken from xorg-x11
Source104: mkdirhier
# Files that can be used in the SOURCE directory to remove files with
# GPL incompatible licences from upstream sources
Source200: cernlib-remove-deadpool
Source201: cernlib-deadpool.txt

# change the cernlib script such that -llapack -lblas is used instead of 
# cernlib lapack
Patch: cernlib-cernlib.patch
# debian cernlib patch full of good things
Patch1: cernlib_2004.11.04-3.diff
# modified, to have only DATADIR
Patch2: 003-enforce-FHS
Patch3: 005-enable-shadow-passwd
Patch4: 007-delete-fluka-refs
Patch5: 008-undef-PPC
Patch6: 010-comis-allow-special-chars-in-path
Patch7: 012-add-no-optimization-macro
Patch8: 013-fix-paw-imakefile-special-rules
Patch9: 014-fix-herwig-imakefile-special-rules
Patch11: 015-fix-optimization
# not applied, break build
Patch12: 018-move-kernlib-to-toplevel
Patch13: 022-no-assign-string-literals
# fixed upstream
Patch14: 027-use-tmpfile-not-mktemp
Patch15: 028-fix-isajet-docs
Patch16: 030-filename-length-to-256
Patch17: 031-fix-varargs-use
Patch18: 033-fix-undefined-insertchar
Patch19: 035-do-not-use-XmFontListCreate
Patch20: 038-fix-strndup-macro-problem
Patch21: 039-use-DBLE-not-REAL
Patch22: 044-fix-strdup-redefinition
Patch23: 045-compile-with-isasrt
Patch24: 047-fix-paw++-menus
# fixed upstream 
Patch25: 048-log-to-var-log-not-tmp
# fixed upstream
Patch26: 049-fix-kuesvr-security-hole
# fixed upstream
Patch27: 050-make-secure-comis-tmpdir
# fixed upstream
Patch28: 051-fix-miscellaneous-tmp-uses
# extracted from 001-enable-shared-libs
Patch29: 001-delete-pythia-refs
# prepare gxint for substitutions of path and version
Patch30: gxint-script.diff
Patch31: cernlib-XmDrawShadow-no-prototype.patch
Patch32: cernlib-install_scripts.patch
Patch33: cernlib-static-tcpaw.diff
Patch34: cernlib-hwuli2_use_aimag.diff 
Patch35: cernlib-hwhiga_use_aimag.diff
Patch36: cernlib-gfortran.diff 
Patch42: cernlib-rsrtnt64_goto_outer_block.diff
Patch43: cernlib-v107z0_X_before_string.diff
Patch44: cernlib-bimsel-nodouble-save.diff


%description
CERN program library is a large collection of general purpose libraries
and modules maintained and offered on the CERN. Most of these programs 
were developed at CERN and are therefore oriented towards the needs of a 
physics research laboratory that is general mathematics, data analysis, 
detectors simulation, data-handling etc... applicable to a wide range 
of problems.

The devel packages are parallel installable, but not the helper
scripts from the utils subpackage.

%package devel
Summary:       General purpose CERN library static libraries and headers
Requires:      xorg-x11-devel lapack-devel blas-devel openmotif-devel
Group:         Development/Libraries

%description devel
CERN program library is a large collection of general purpose libraries
and modules maintained and offered on the CERN. Most of these programs 
were developed at CERN and are therefore oriented towards the needs of a 
physics research laboratory that is general mathematics, data analysis, 
detectors simulation, data-handling etc... applicable to a wide range 
of problems.

The cernlib-devel package contains the header files and libraries needed  
to develop programs that use the CERN library.  

%package utils
Summary:   CERN library compilation and environment setting scripts
Group:     Applications/System
Requires:  cernlib-devel = %{version}

%description utils
CERN library compilation and environment setting scripts.

This package will conflict with other versions, therefore if you 
want to have different compile script and different environments for 
different versions of the library you have to set them by hand.

%package -n paw
Group: Applications/Engineering
Summary: A program for the analysis and presentation of data

%description -n paw
PAW is conceived as an instrument to assist physicists in the analysis and 
presentation of their data. It provides interactive graphical presentation 
and statistical or mathematical analysis, working on objects familiar to 
physicists like histograms, event files (Ntuples), vectors, etc. PAW is 
based on several components of the CERN Program Library.

%package -n geant321
Summary:  Particle detector description and simulation tool
Group:    Applications/Engineering
Requires: cernlib-devel cernlib-utils
%description -n geant321
Geant simulates the passage of subatomic particles through matter, for 
instance, particle detectors. For maximum flexibility, Geant simulations 
are performed by linking Fortran code supplied by the user with the Geant 
libraries, then running the resulting executable.

This package includes gxint, the script used to perform this linking step. 

%package -n kuipc
Summary:  Cernlib's Kit for a User Interface Package (KUIP) compiler
Group:    Development/Languages
Requires: cernlib-devel

%description -n kuipc
KUIPC, the Kit for a User Interface Package Compiler, is a tool to simplify 
the writing of a program's user interface code. It takes as input a Command 
Definition File (CDF) that describes the commands to be understood by the 
program, and outputs C or FORTRAN code that makes the appropriate function 
calls to set up the user interface. This code can then be compiled and linked 
with the rest of the program. Since the generated code uses KUIP routines, 
the program must also be linked against the Packlib library that contains them.

%package packlib
Group: Applications/Archiving
Summary: I/O, network and other utilities from the cernlib

%description packlib
I/O, network and miscalleneous utilities based on the CERN Program 
Library. 
According to the responsible of the cernlib debian package, some
of these utilities may have security flaws.


%prep
%setup -c 
%setup -T -D -a 1
%setup -T -D -a 2
%setup -T -D -a 3
%setup -T -D -a 4
%setup -T -D -a 5
%setup -T -D -a 6
%setup -T -D -a 7
%setup -T -D -a 8
%setup -T -D -a 9
%setup -T -D -a 10
%setup -T -D -a 11
%setup -T -D -a 12
%setup -T -D -a 14
%setup -T -D -a 15

%patch -P 1 -p1
cd %{version}
%patch 
%patch -P 2 -p2
%patch -P 3 -p2
%patch -P 4
%patch -P 5
%patch -P 6
%patch -P 7
%patch -P 8
%patch -P 9
%patch -P 11
#%patch -P 12
%patch -P 13
#%patch -P 14
%patch -P 15
%patch -P 16
%patch -P 17 
%patch -P 18 
%patch -P 19 
%patch -P 20
%patch -P 21 
%patch -P 22 
%patch -P 23 
%patch -P 24 
#%patch -P 25 
#%patch -P 26 
#%patch -P 27 
#%patch -P 28 
%patch -P 29
%patch -P 30
%patch -P 31
%patch -P 32
%patch -P 33
%patch -P 34
%patch -P 35
# use gfortran
#%patch -P 36
# workaround gfortran bug
%patch -P 42
%patch -P 43
%patch -P 44


%build
CERN=$RPM_BUILD_DIR/cernlib-%{version}
CERN_LEVEL=%{version}
CERN_ROOT=$CERN/$CERN_LEVEL
CVSCOSRC=$CERN/$CERN_LEVEL/src
PATH=$CERN_ROOT/bin:$PATH

export CERN
export CERN_LEVEL
export CERN_ROOT 
export CVSCOSRC
export PATH

# set the CERN and CERN_LEVEL environment variables in a shell script
# meant to go to /etc/profile.d
sed -e 's/==CERN_LEVEL==/%{version}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE100} > cernlib-%{version}.sh
sed -e 's/==CERN_LEVEL==/%{version}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE105} > cernlib-%{version}.csh

cp %{SOURCE101} .
cp %{SOURCE102} .
cp %{SOURCE103} .
# copy xsneut.data in 2005/share/lib, where geant expects it to be
# there is a link from 2005/lib
mkdir -p %{version}/share/lib
cp %{SOURCE16} %{version}/share/lib

cd $CERN_ROOT

# substitude the right defaults in the cernlib script
sed -i -e 's:/cern:%{_libdir}/cernlib/:' -e 's:pro:%{version}:' src/scripts/cernlib

# substitute version in gxint with the right version
# substitute includedir in gxint to conform to FHS
sed -e 's/==VERSION==/%{version}/' -e 's:==includedir==:%{_includedir}:' src/scripts/gxint > src/scripts/gxint.new
cp src/scripts/gxint.new src/scripts/gxint

# substitute DATADIR in source files to conform to FHS
for file in src/geant321/miface/gmorin.F src/mclibs/cojets/test/test.F src/mclibs/eurodec/eurodec/eufiles.inc src/mclibs/isajet/test/isajett.F; do
  cp $file $file.bef
  sed -e 's:DATADIR:%{_datadir}/cernlib/%{version}:' $file.bef > $file
done

# Create the build directory structure

mkdir -p build bin lib build/log

cp %{SOURCE104} bin/
chmod a+x bin/mkdirhier

# Create the top level Makefile with imake
# the RPM optflags are not used

cd $CERN_ROOT/build
$CVSCOSRC/config/imake_boot

# Install kuipc and the scripts (cernlib, paw and gxint) in $CERN_ROOT/bin

make %{?_smp_mflags} bin/kuipc
make scripts/Makefile
cd scripts
make install.bin

# Install the libraries

cd $CERN_ROOT/build
#  %{?_smp_mflags} breaks the build
make

# Build paw
cd $CERN_ROOT/build/pawlib
make %{?_smp_mflags} install.bin

# Build packlib
cd $CERN_ROOT/build/packlib
make %{?_smp_mflags} install.bin

%install

rm -rf $RPM_BUILD_ROOT

%{__install} -d -m755 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
%{__install} -m755 cernlib-%{version}.sh $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
%{__install} -m755 cernlib-%{version}.csh $RPM_BUILD_ROOT%{_sysconfdir}/profile.d

%{__install} -d -m755 cfortran/Examples
%{__install} -m644 %{version}/include/cfortran/Examples/*.c cfortran/Examples/

%{__install} -d -m755 $RPM_BUILD_ROOT%{_datadir}/aclocal
%{__install} -m644 cernlib.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/cernlib.m4

cd %{version}
%{__install} -d -m755 $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib
%{__install} -d -m755 $RPM_BUILD_ROOT%{_datadir}/cernlib/%{version}
%{__install} -d -m755 $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}
%{__install} -d -m755 $RPM_BUILD_ROOT%{_bindir}/

%{__install} -m644 lib/*.dat $RPM_BUILD_ROOT%{_datadir}/cernlib/%{version}
%{__install} -m644 lib/gxint321.f $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}
(cd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} && %{__ln_s} gxint321.f gxint.f)

%{__install} -m755 bin/* $RPM_BUILD_ROOT%{_bindir}/
# to preserve symlinks
(cd lib && tar cf - *.a) | (cd $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib && tar xf -)
(cd include && tar cf - *) | (cd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} && tar xf -)

rm -rf $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}/cfortran/Examples/
rm -f $RPM_BUILD_ROOT%{_bindir}/mkdirhier


%clean
rm -rf $RPM_BUILD_ROOT

# the utils and devel are separated to have the possibility to install
# parallel versions of the library

%files devel
%defattr(-,root,root,-)
%{_libdir}/cernlib/%{version}
%{_datadir}/cernlib/%{version}
%{_includedir}/cernlib/%{version}
%{_datadir}/aclocal/cernlib.m4
# those file should be in a cernlib main package
%doc cernlib.README debian/copyright
%doc debian/libgeant1.README.debian debian/libpdflib804-dev.README.debian
%doc debian/libmathlib1.README.debian debian/montecarlo-base.README.debian
# devel specific files
%doc cfortran 

%files utils
%defattr(-,root,root,-)
%{_bindir}/cernlib
%{_sysconfdir}/profile.d/cernlib-%{version}.sh
%{_sysconfdir}/profile.d/cernlib-%{version}.csh

%files -n paw
%defattr(-,root,root,-)
%{_bindir}/paw++
%{_bindir}/paw
%{_bindir}/pawX11
%doc paw.README 

%files -n geant321
%defattr(-,root,root,-)
%{_bindir}/gxint

%files -n kuipc
%defattr(-,root,root,-)
%{_bindir}/kuipc

%files packlib
%defattr(-,root,root,-)
%{_bindir}/cdbackup
%{_bindir}/cdserv
%{_bindir}/fatmen
%{_bindir}/fatsrv
%{_bindir}/kuesvr
%{_bindir}/zserv
%{_bindir}/cdmake
%{_bindir}/fatnew
%{_bindir}/pawserv
%{_bindir}/cdmove
%{_bindir}/fatback
%{_bindir}/fatsend
%{_bindir}/hepdb
%{_bindir}/kxterm
%{_bindir}/zftp
%doc debian/zftp.README.debian

%changelog
* Tue Nov 15 2005 Patrice Dumas <dumas at centre-cired.fr> - 2005-4
- add a .csh file
- correct defaults in cernlib scripts

* Sun Sep 11 2005 Patrice Dumas <dumas at centre-cired.fr> - 2005-3
- add rm -rf $RPM_BUILD_ROOT

* Thu Sep  1 2005 Patrice Dumas <dumas at centre-cired.fr> - 2005-2
- minor update of cernlib.README
- modify the cernlib script patch to use /usr/X11R6/lib64 if existing

* Tue Jun 09 2005 Patrice Dumas <dumas at centre-cired.fr> - 2005-1
- full rewrite of the spec file from Scientific Linux
- use some ideas and many patches from debian cernlib

cernlib_2004.11.04-3.diff:

--- NEW FILE cernlib_2004.11.04-3.diff ---
--- cernlib-2004.11.04.orig/debian/po/templates.pot
+++ cernlib-2004.11.04/debian/po/templates.pot
@@ -0,0 +1,49 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#. Note to translators: only the English word "Both" below should be translated
+#: ../pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid ""
+"This package includes both the pawserv daemon (permitting remote hosts to "
+"read local files while running PAW/Paw++) and the zserv daemon (allowing "
+"remote hosts to log in using CERN's ZFTP protocol).  These servers are run "
+"from inetd; you may enable either or both of them. Unless you have very "
+"specialized requirements, most likely you only want to enable pawserv."
+msgstr ""
--- cernlib-2004.11.04.orig/debian/po/de.po
+++ cernlib-2004.11.04/debian/po/de.po
@@ -0,0 +1,56 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans#
+#    Developers do not need to manually edit POT or PO files.
+# Erik Schanze <mail at erikschanze.de>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cernlib_2004.01.20-1_templates\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: 2004-05-25 00:25+0200\n"
+"Last-Translator: Erik Schanze <mail at erikschanze.de>\n"
+"Language-Team: German <debian-l10n-german at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+
+#. Type: select
+#. Choices
+#. Note to translators: only the English word "Both" below should be translated
+#: ../pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr "Pawserv, Zserv, beide"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr "Server, die inetd starten soll"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid ""
+"This package includes both the pawserv daemon (permitting remote hosts to "
+"read local files while running PAW/Paw++) and the zserv daemon (allowing "
+"remote hosts to log in using CERN's ZFTP protocol).  These servers are run "
+"from inetd; you may enable either or both of them. Unless you have very "
+"specialized requirements, most likely you only want to enable pawserv."
+msgstr ""
+"Dieses Paket enthält sowohl den Pawserv-Dienst (Der verhindert, dass "
+"entfernte Rechner das lokale Dateisystem lesen können während PAW/Paw++ "
+"läuft.) als auch den Zserv-Dienst (Der erlaubt entfernten Rechnern sich über "
+"CERN's ZFTP-Protokoll anzumelden.).  Diese Dienste werden vom inetd "
+"gestartet; Sie können einen von beiden oder alle beide aktivieren. "
+"Höchstwahrscheinlich wollen Sie nur dem Pawserv aktivieren, es sei denn, Sie "
+"haben sehr spezielle Anforderungen."
--- cernlib-2004.11.04.orig/debian/po/fr.po
+++ cernlib-2004.11.04/debian/po/fr.po
@@ -0,0 +1,55 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cernlib\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: 2004-03-09 07:50+0100\n"
+"Last-Translator: Christian Perrier <bubulle at debian.org>\n"
+"Language-Team: French <debian-l10n-french at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#. Note to translators: only the English word "Both" below should be translated
+#: ../pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr "Pawserv, Zserv, Les deux"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr "Serveurs à lancer depuis inetd :"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid ""
+"This package includes both the pawserv daemon (permitting remote hosts to "
+"read local files while running PAW/Paw++) and the zserv daemon (allowing "
+"remote hosts to log in using CERN's ZFTP protocol).  These servers are run "
+"from inetd; you may enable either or both of them. Unless you have very "
+"specialized requirements, most likely you only want to enable pawserv."
+msgstr ""
+"Ce paquet fournit à la fois le démon pawserv (qui permet aux hôtes distants "
+"d'accéder aux fichiers locaux lorsque PAX/Paw++ sont utilisés) et le démon "
+"zserv (qui permet aux hôtes distants d'effectuer des connexions avec le "
+"protocole ZFTP du CERN). Ces deux serveurs sont lancés par le super-serveur "
+"inetd, il est possible d'activer l'un ou l'autre ou bien les deux. À moins "
+"d'avoir des besoins particuliers, il sera en général suffisant d'activer "
+"pawserv."
--- cernlib-2004.11.04.orig/debian/po/ja.po
+++ cernlib-2004.11.04/debian/po/ja.po
@@ -0,0 +1,54 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cernlib 2004.01.20-4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: 2004-07-04 21:24+0900\n"
+"Last-Translator: Hideki Yamane <henrich at samba.gr.jp>\n"
+"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
[...20760 lines suppressed...]
+
+1) Package layout
+
+To install parts of Cernlib, you may use one or more of these metapackages:
+
+cernlib-core       - Cernlib main programs and libraries
+cernlib-core-dev   - Cernlib development headers, tools and static libraries
+cernlib-montecarlo - Cernlib Monte Carlo libraries (both shared and static)
+cernlib            - All of the above plus Geant 3.21
+cernlib-extras     - A few extra programs not of interest to most people
+
+or for finer-grained installation, see the list below of Cernlib systems and
+the corresponding Debian packages in which they are included.
+
+SYSTEM or program	Debian Package
+-----------------	--------------
+COMIS			libpaw1
+CSPACK			libpacklib1
+ |_ pawserv, zserv	pawserv
+ \_ zftp		zftp
+DZDOC			libgraflib1
+ \_ dzeX11, dzedit	dzedit
+EPIO			libpacklib1
+FATMEN			libpacklib1
+ \_ fatmen, fatsrv, ...	[Not currently packaged]
+FFREAD			libpacklib1
+GEANT			libgeant1, geant321, geant321-data, geant321-doc
+HBOOK			libpacklib1
+HEPDB			libpacklib1
+ \_ hepdb, cdbackup, ...[Not currently packaged]
+HIGZ			libgrafx11-1
+HPLOT			libgraflib1
+KAPACK			libpacklib1
+KERNLIB			libkernlib1
+KUIP			libpacklib1, libkuipx11-1 [*]
+ |_ kuesvr		libpacklib1
+ |_ kuipc		kuipc
+ \_ kxterm		kxterm
+MATHLIB			libmathlib1
+MINUIT			libpacklib1
+Monte Carlo /		libcojets1, libeurodec1, libherwig59, libisajet758 [**]
+	    \		libpdflib804, libphotos202, libphtools1
+(N)PATCHY		[Not currently packaged - won't even compile.]
+PAW			libpaw1
+ \_ PAW, Paw++		paw, paw++, paw-common, paw-demos
+SIGMA			libpaw1
+ZBOOK			libpacklib1
+ZEBRA			libpacklib1
+
+[*] libkuipx11-1 contains the library libkuipX11, which is the graphical
+interface component of packlib's KUIP subsystem.  This has been split out
+into a separate library for Debian so that the packlib packages need not
+depend on X libraries.
+
+[**] ISAJET is not currently available on the m68k architecture due to
+a bug in g77 that prevents it from compiling.
+
+Static libraries and header files for development are available from the
+Cernlib development packages: For each lib* package there exists a
+corresponding lib*-dev package, e.g., libpacklib1-dev.  You will need to
+install the appropriate development packages in order to compile programs
+that link against Cernlib libraries.
+
+See also the README.Debian files for specific packages.
+
+
+2) Using shared libraries
+
+The default installation of Cernlib creates only static libraries on Linux,
+resulting in unnecessary code bloat and redundancy.  The Debian packages of
+Cernlib have been altered to use shared libraries.  In some cases this may
+cause unexpected compilation failure of user programs linking against them,
+since the linker is more strict about what it will accept in DLLs than in
+static code.  Please file a bug report on the appropriate library package in
+any such case.
+
+Since the Cernlib libraries were not written with the intent of having them be
+shared, some of them may have bugs when linked against dynamically.  In
+particular, see the README.Debian file for the libpaw1-dev package.  So when
+linking your own programs against CERN libraries, you may want to use the
+-static compiler flag.  (The 'cernlib' script will currently do this for you
+automatically unless you give cernlib the -dy or -safe flag.  This default may
+be changed in future Debian releases.)  
+
+As a special case, there are also paw-static and paw++-static Debian packages
+available; these are the same as paw and paw++ packages, but linked statically
+against Cernlib libraries.  They may be removed from future releases if the
+(dynamically linked) paw and paw++ packages continue to behave correctly.
+
+
+3) Meeting the Filesystem Hierarchy Standard
+
+The upstream authors of Cernlib have the CERN libraries and programs install
+into a particular base directory $CERN_ROOT, usually /cern/<version> (where
+<version> is either a year or one of {old,pro,dev}).  Below that are the
+subdirectories bin, lib, and shlib (among others).  For the Debian packaging,
+in order to comply with Debian policy and the FHS, everything has been moved.
+(The FHS specification may be found in the debian-policy package if you are
+interested.)
+
+The programs in $CERN_ROOT/bin have been placed into /usr/bin and /usr/sbin;
+static libraries in $CERN_ROOT/lib and shared libraries (which upstream does
+not generate) have been put into /usr/lib; data files in $CERN_ROOT/lib have
+been moved to /usr/share/<packagename>; header files have been moved to
+/usr/include or a subdirectory thereof; documentation has been moved to
+/usr/share/doc/<packagename>.  Cernlib programs have been altered for Debian to
+accommodate these changes, when necessary.
+
+Some third-party programs that use Cernlib may rely on the environment
+variables $CERN, $CERN_LEVEL, etc.  For compatibility with the file layout in
+Debian packages, you may set these (in .bashrc or .tcshrc, for instance) to
+have the following values:
+
+	bash, sh, zsh			csh, tcsh
+	-------------			---------
+	export CERN=/usr		setenv CERN /usr
+	export CERN_LEVEL=.		setenv CERN_LEVEL .
+	export CERN_ROOT=/usr		setenv CERN_ROOT /usr
+
+
+4) Mixing Debian and CERN versions of Cernlib
+
+You can still use Debian's cernlib script (see the man page for cernlib(1))
+to link libraries from an upstream version of Cernlib.  Assuming that you
+have a non-Debian Cernlib installation in /opt/cern/2001 for instance, you
+would first define $CERN appropriately:
+	export CERN=/opt/cern
+then call the cernlib script with the appropriate version number:
+	g77 -o myprogram myprogram.F `cernlib -v 2001 library1 library2`
+I have not tested this, so file a bug if there are problems.
+
+You should be aware that the version of the kuesvr "edit server" binary
+provided by Debian has command-line flags that are incompatible with those
+of the version provided by CERN.  It was necessary to introduce this
+incompatibility for security reasons.  If you have the libpacklib1 package
+installed, see "man 1 kuesvr" for more information.
+
+
+5) Removal of non-free code
+
+Unfortunately not all of Cernlib is under the same license.  Although CERN has
+put Cernlib under the GPL, some pieces of source code still state that they are
+licensed by other entities.  Much non-free code, code with ambiguous licensing,
+and GPL-incompatible code has been replaced or removed from the upstream
+source in order to permit Cernlib packages to be in the main Debian archive.
+The copyright file in this directory and the README.Debian files for individual
+packages (particularly, the montecarlo-base package) are more specific.  A
+complete list of removed files may be found in the file deadpool.txt in this
+directory.
+
+-- Kevin McCarty <kmccarty at princeton.edu>, Thu, 10 Mar 2005
+
--- cernlib-2004.11.04.orig/debian/libpaw1-dev.TODO
+++ cernlib-2004.11.04/debian/libpaw1-dev.TODO
@@ -0,0 +1,13 @@
+This will only be done after the release of sarge, as it will break binary
+compatibility and require a soname change:
+
+Split libpaw1 into two libraries & packages: one that depends on Lesstif
+and one that doesn't.  This breaks compatibility for pawlib and everything
+depending upon it.  Adding a linker script /usr/lib/libpawlib.so similar to
+/usr/lib/libc.so permits us to change the output of cernlib only when linking
+without Lesstif is requested:
+
+  /* hypothetical libpawlib.so linker script */
+  OUTPUT_FORMAT(elf${BITS}-${ARCH}) /*replace $BITS and $ARCH as appropriate*/
+  GROUP ( /usr/lib/libpawlib.so.2 /usr/lib/libpawlib-nolesstif.so.2 )
+
--- cernlib-2004.11.04.orig/debian/dzedit.dirs
+++ cernlib-2004.11.04/debian/dzedit.dirs
@@ -0,0 +1 @@
+usr/bin
--- cernlib-2004.11.04.orig/debian/libpaw1-dev.dirs
+++ cernlib-2004.11.04/debian/libpaw1-dev.dirs
@@ -0,0 +1,3 @@
+usr/lib
+usr/include
+usr/include/cfortran
--- cernlib-2004.11.04.orig/debian/geant321.install
+++ cernlib-2004.11.04/debian/geant321.install
@@ -0,0 +1,6 @@
+debian/tmp/usr/bin/gxint
+debian/tmp/usr/share/geant321/gxint321.f
+debian/tmp/usr/share/geant321/gxint.f
+debian/tmp/etc/X11/app-defaults/Geant++
+debian/tmp/etc/X11/app-defaults/KxGeant++
+debian/tmp/usr/share/man/man1/gxint.1
--- cernlib-2004.11.04.orig/debian/pawserv.config
+++ cernlib-2004.11.04/debian/pawserv.config
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+db_input low pawserv/which_servers || true
+db_go
+
+exit 0
+

gxint-script.diff:

--- NEW FILE gxint-script.diff ---
--- src/scripts/gxint.orig	2005-06-12 14:12:21.183392960 +0200
+++ src/scripts/gxint	2005-06-12 14:14:52.733353864 +0200
@@ -78,7 +78,7 @@
      fi
   fi
  
-drv="/X11" ; ver="pro" ; OUT="${HOME}/GEANT$$"
+drv="/X11" ; ver="==VERSION==" ; OUT="${HOME}/GEANT$$"
 gxint=""
  
 while [ $# -gt 0 ]
@@ -142,7 +142,8 @@
  
 CLIB="geant${gvs} pawlib graflib$drv packlib mathlib"
  
-[ -z "$_m" ] && gxint="${CERN}/${ver}/lib/gxint${gvs}.$_o" 
+#[ -z "$_m" ] && gxint="${CERN}/${ver}/lib/gxint${gvs}.$_o" 
+[ -z "$_m" ] && gxint="==includedir==/cernlib/${ver}/gxint${gvs}.f" 
  
 cat << EoD
 $line


--- NEW FILE mkdirhier ---
#!/bin/sh
# $Xorg: mkdirhier.sh,v 1.3 2000/08/17 19:41:53 cpqbld Exp $
# Courtesy of Paul Eggert

newline='
'
IFS=$newline

case ${1--} in
-*) echo >&2 "mkdirhier: usage: mkdirhier directory ..."; exit 1
esac

status=

for directory
do
	case $directory in
	'')
		echo >&2 "mkdirhier: empty directory name"
		status=1
		continue;;
	*"$newline"*)
		echo >&2 "mkdirhier: directory name contains a newline: \`\`$directory''"
		status=1
		continue;;
	///*) prefix=/;; # See Posix 2.3 "path".
	//*) prefix=//;;
	/*) prefix=/;;
	-*) prefix=./;;
	*) prefix=
	esac

	IFS=/
	set x $directory
	case $2 in
	    */*)	# IFS parsing is broken
		IFS=' '
		set x `echo $directory | tr / ' '`
		;;
	esac
	IFS=$newline
	shift

	for filename
	do
		path=$prefix$filename
		prefix=$path/
		shift

		test -d "$path" || {
			paths=$path
			for filename
			do
				if [ -n "$filename" -a "$filename" != "." ]; then
					path=$path/$filename
					paths=$paths$newline$path
				fi
			done

			mkdir $paths || status=$?

			break
		}
	done
  done

exit $status


--- NEW FILE paw.README ---
Notes on paw
------------

1) Graphics window corruption

If you experience corruption of the graphics window when other windows are
moved over top of it, turn on the BackingStore option of the X server.
In the "Screen" section of your /etc/X11/XF86Config-4 file or 
/etc/X11/xorg.conf, you should have
something like:

Section "Screen"
        .
        .
        .
    Option "BackingStore"
        .
        .
        .
EndSection

2) Remote data files

PAW can read files remotely from computers running the distributed PAW
(pawserv) server, which is included in the cernlib-packlib package.  This is
done from within PAW using 'rlogin' and 'rshell' commands; see the PAW
User's Guide for details.  Please note that these commands transmit passwords
in clear text and should be used only within a secured LAN.

3) Path issues

If you compile a FORTRAN script within PAW, the path to the file cannot
be excessively long (more than 256 characters).

4) 64-bit issues

Note that this package is not yet fully functional on 64-bit machines, as the
COMIS portion of Pawlib does not yet work correctly on those architectures.

-- Kevin McCarty <kmccarty at princeton.edu>, Mon, 29 Nov 2004

Adapted to the rpm package by 
-- Dumas Patrice <dumas at centre-cired.fr>, Tue, 16 Jun 2005


--- NEW FILE xsneut95.dat ---
MICAP neutron cross-section file. TOL=2.0% ANG=2.0%   C.Zeitnitz                
Wed Nov  2 13:53:35 1994
       135
     2  1000   100  1001   100     1  2004   100     2  3006     8  3007
    92     1  4009   100     2  5011    80  5010    20     1  6000   100
     1  7014   100     1  8016   100     1  9019   100     1 11023   100
     1 11023   100     1 12000   100     1 13027   100     1 14000   100
     1 15031   100     1 16000   100     1 17000   100     1 18000   100
     1 20000   100     1 20000   100     1 20000   100     1 20000   100
     1 24000   100     1 24000   100     1 26000   100     1 26000   100
     1 28000   100     1 28000   100     1 29000   100     1 30000   100
     1 32074   100     4 32072    35 32073    10 32074    45 32076    10
     1 32074   100     1 32074   100     1 36084   100     5 36080     2
 36082    12 36083    12 36084    57 36086    17     1 36084   100     1
 36084   100     1 40090   100     5 40090    52 40091    11 40092    17
 40094    17 40096     3     1 42000   100     1 42000   100     1 42000
   100     1 42000   100     1 42000   100     1 47000   100     1 47000
   100     1 48000   100     1 50120   100     5 50116    17 50117     9
 50118    27 50119    10 50120    37     1 51000   100     1 53127   100
     1 53127   100     7 54128     2 54129    27 54130     4 54131    21
 54132    27 54134    10 54136     9     1 55133   100     5 56134     9
 56135     6 56136     7 56137    10 56138    67     1 58140   100     2
 58140    89 58142    11     1 58140   100     1 58140   100     1 58140
   100     1 58140   100     1 64158   100     6 64154     2 64155    14
 64156    21 64157    16 64158    25 64160    22     1 64158   100     1
 64158   100     1 64158   100     1 64158   100     1 64158   100     1
 64158   100     1 64158   100     1 73181   100     1 73181   100     1
 74000   100     1 74000   100     1 74000   100     1 74000   100     1
 79197   100     1 79197   100     1 79197   100     1 82000   100     1
 82000   100     1 83209   100     1 83209   100     1 83209   100     1
 83209   100     1 83209   100     1 83209   100     1 90232   100     1
 90232   100     1 92238   100     2 92238   100 92235   100     1 92238
   100     1 92238   100     1 92238   100     1 92238   100     1 92238
   100     1 92238   100     1 92238   100     1 92238   100     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
         2
  53 127I-127 - Secondary Distributions taken from Xe-128                       
  50 120Sn-120 - Secondary Distributions taken from Sn-119                      
        79   2349834                                                            
     13027         1     32110     26000         2    119089     82000         3
     28119      1000         4      1431      1001         5      1429      6000
         6     13622      2004         7      1599      4009         8      8322
     29000         9     25983     18000        10      4117      7014        11
     23476      8016        12     26365     14000        13     72078     74000
        14     79386     92238        15    129598     11023        16     73225
     53127        17     23531     55133        18     36065     48000        19
     15321     28000        20     50434     24000        21     62559     51000
        22     64851     20000        23     36030     30000        24    100078
     17000        25     21217      9019        26     22078     12000        27
     16114     42000        28     21505     73181        29     42120      5011
        30      2556      5010        31      9043      3006        32      6994
      3007        33      7679     56134        34      6064     56135        35
     13482     56136        36      2992     56137        37      5644     56138
        38      5143     16000        39     39738     36080        40      6671
     36082        41      5221     36083        42      5136     36084        43
      5839     36086        44      4568     54128        45      9638     54129
        46     33274     54130        47     10752     54131        48     21740
     54132        49      6036     54134        50      5030     54136        51
      3636     50116        52      5968     50117        53      7986     50118
        54      5274     50119        55      4282     50120        56     19480
     47000        57    218325     79197        58    148550     32072        59
      4948     32073        60      5852     32074        61      3146     32076
        62      3560     15031        63      4098     90232        64    141681
     92235        65     32694     40090        66     21045     40091        67
     38535     40092        68     31511     40094        69     32547     40096
        70     17043     58140        71      1148     58142        72      1106
     64154        73     27323     64155        74     24659     64156        75
     16865     64157        76     23911     64158        77     49629     64160
        78     28465     83209        79     61475                              
     32110 26.75000     300.0000    0.2000000E-010.2000000E-01         0        
       424         4         2        66         0       758                    
      1988      2152       100         0         0         0         0        18
         0         0         0         0         0        56        58        40
        44        54        36        30        34        60        52        32
        42        32        50        38        36        28        34        30
        30        34        38        36        30        34        30        26
        28        24        22        24        24        20        16        20
        18        18        16        10         6         0       276       200
        36        22         0       260         0         0         0         0
         0         0      1314         0         0         0         0        76
         0         0         0         0         0         0         0         0
         0       226       226       242       118       132       132        16
       130       130        80        80        80        68        16        16
        16        16        16        16        16        16        16        16
        16        16        16        16        16        16        16        16
        16        16        16        16        16        16        16        16
        16         0       537         0         0         0         0         0
         0         0         0         0         0         0                    
0.1000000E-04 28.73320    0.1499773E-04 23.48940    0.2417630E-04 18.54000      
0.3729844E-04 14.97160    0.5609613E-04 12.26050    0.8699111E-04 9.914310      
0.1235370E-03 8.387400    0.1785105E-03 7.061430    0.2546435E-03 6.008350      
0.4060548E-03 4.905550    0.5908444E-03 4.210490    0.1000000E-02 3.465530      
0.1549717E-02 3.005880    0.2779216E-02 2.549220    0.4984161E-02 2.191020      
0.8938444E-02 1.892350    0.1549717E-01 1.709680    0.3388094E-01 1.587050      
0.1157224     1.469550     1.000000     1.386070     133.9168     1.350970      
 5000.000     1.312360     5750.000     1.557090     5800.000     1.663630      
 5820.000     1.831460     5840.000     2.192390     5850.000     2.539280      
 5860.000     3.156980     5865.000     3.670050     5870.000     4.428320      
 5874.000     5.331470     5878.000     6.711530     5882.000     8.973720      
 5884.000     10.67900     5886.000     13.01050     5888.000     16.29160      
 5890.000     21.03940     5892.000     28.01160     5894.000     38.08570      
 5897.000     59.64760     5899.000     76.01720     5901.000     89.18550      
 5903.000     94.28770     5905.000     89.16120     5907.000     75.98320      
 5911.000     44.45600     5913.000     32.60630     5915.000     24.19140      
 5916.000     21.04050     5918.000     16.29400     5920.000     13.01320      
 5922.000     10.68200     5924.000     8.977050     5928.000     6.713780      
 5932.000     5.327960     5936.000     4.422660     5940.000     3.798570      
 5945.000     3.252300     5950.000     2.875060     5960.000     2.392960      
 5970.000     2.103670     5980.000     1.924090     6000.000     1.717430      
 6050.000     1.519160     6100.000     1.454200     6600.000     1.333170      
 7000.000     1.325060     8000.000     1.347850     10300.00     1.212620      
 10400.00     1.244100     10440.00     1.306160     10460.00     1.395580      
 10470.00     1.484100     10480.00     1.637440     10505.00     2.339920      
 10510.00     2.378450     10515.00     2.314690     10530.00     1.852470      
 10540.00     1.613490     10550.00     1.469180     10580.00     1.299870      
 10600.00     1.259980     10800.00     1.197510     11000.00     1.193310      
 11200.00     1.224630     11260.00     1.314480     11290.00     1.495090      
 11325.00     2.028760     11330.00     2.049660     11340.00     1.962760      
 11370.00     1.489880     11400.00     1.311070     11450.00     1.211170      
 11500.00     1.171260     12000.00     1.116200     12400.00     1.115140      
 12800.00     1.175660     12900.00     1.232100     13050.00     1.436410      
 13200.00     1.855850     13250.00     1.890590     13300.00     1.795650      
 13400.00     1.488290     13500.00     1.288950     13600.00     1.184960      
 13800.00     1.093600     16000.00    0.9712260     20000.00    0.8129720      
 24500.00    0.5930930     25500.00    0.6130080     26000.00    0.6520220      
 28000.00    0.9243710     29000.00     1.123310     29500.00     1.285600      
 30200.00     1.693500     30600.00     2.093720     31000.00     2.685010      
 31400.00     3.542390     31800.00     4.760060     32200.00     6.457090      
 32600.00     8.767900     33000.00     11.99370     33500.00     17.30780      
 34600.00     32.41990     35000.00     35.38340     35200.00     35.43420      
 35600.00     32.82760     36500.00     22.18100     37000.00     17.84960      
 38000.00     12.61310     39000.00     9.266090     40000.00     7.138350      
 41000.00     5.788140     42000.00     4.909990     44000.00     3.865460      
 46000.00     3.232440     48000.00     2.833250     55000.00     2.066130      
 60000.00     1.731120     64000.00     1.611090     66000.00     1.608100      
 70000.00     1.753250     72000.00     1.963280     74000.00     2.351360      
 76000.00     3.043600     77000.00     3.560750     78000.00     4.230940      
 79000.00     5.093170     80000.00     6.192430     81000.00     7.579820      
 82000.00     9.529810     85000.00     16.45710     86000.00     18.20580      
 87000.00     19.14490     88400.00     19.10430     88700.00     19.85040      
 89000.00     18.34430     90400.00     16.11610     90600.00     16.10770      
 90800.00     16.77620     91000.00     18.68750     91100.00     18.33800      
 91300.00     15.66380     91600.00     13.96030     93000.00     11.09190      
 95000.00     8.439280     97000.00     6.727640     100000.0     4.985700      
 102000.0     4.193600     105000.0     3.392790     108000.0     2.865290      
 110000.0     2.645340     112000.0     2.543430     114000.0     2.589490      
 115000.0     2.694860     116000.0     2.944190     117000.0     3.511210      
 117500.0     4.038620     118200.0     5.315690     118800.0     7.239810      
 119600.0     10.57160     120000.0     11.10750     120400.0     10.11300      
 121200.0     6.599100     121800.0     4.732440     122500.0     3.452300      
 123000.0     2.884470     123500.0     2.517500     125000.0     1.871690      
 126000.0     1.582680     127000.0     1.402640     128000.0     1.325630      
 129000.0     1.348600     130000.0     1.467580     131000.0     1.677550      
 132000.0     1.975020     134000.0     2.959630     136000.0     4.212980      
 138000.0     5.768950     143000.0     10.40870     145000.0     11.49800      
 146000.0     11.61810     148000.0     11.05890     152000.0     9.001570      
 154000.0     8.746350     155000.0     9.084160     156000.0     9.879460      
 158500.0     13.01430     159000.0     13.03380     160000.0     11.84750      
 162000.0     8.298320     163000.0     7.109700     164000.0     6.302850      
 166000.0     5.383830     168000.0     4.949560     175000.0     4.069930      
 185000.0     3.238320     190000.0     3.073620     194000.0     3.384490      
 198000.0     4.190370     206000.0     6.398990     210000.0     6.138550      
 220000.0     4.569350     222000.0     4.407050     223000.0     4.456400      
 223400.0     4.690530     223600.0     4.990120     224000.0     6.046830      
 224200.0     5.781890     224400.0     5.136420     224600.0     4.701020      
 225000.0     4.314560     226000.0     4.035350     230000.0     3.636130      
 240000.0     2.944100     255000.0     2.075810     255500.0     2.148770      
 256200.0     2.450750     256600.0     2.936160     256800.0     3.391010      
 257300.0     5.258420     257400.0     5.454270     257500.0     5.424150      
 257600.0     5.175710     258000.0     3.601410     258200.0     3.063420      
 258400.0     2.713520     258800.0     2.342320     259500.0     2.160470      
 260500.0     2.253060     262000.0     1.786950     262500.0     1.686400      
 263000.0     1.663850     263400.0     1.701060     264500.0     1.482600      
 267000.0     1.330300     267500.0     1.328230     268000.0     1.395950      
 268200.0     1.510130     268400.0     1.799640     268550.0     2.083240      
 268600.0     2.103570     268700.0     1.971520     268900.0     1.573640      
 269000.0     1.456860     269200.0     1.330200     269500.0     1.246210      
 270000.0     1.176130     270500.0     1.167890     273500.0     1.537620      
 274000.0     1.646800     274500.0     1.852470     280000.0     5.024870      
 282000.0     5.909090     284000.0     6.383900     286000.0     6.409470      
 295000.0     4.938530     304000.0     4.192590     306000.0     4.168360      
 310000.0     4.381040     312000.0     4.754960     315000.0     5.466420      
 317000.0     5.022480     320000.0     4.036240     322000.0     3.680930      
 330000.0     3.121190     344000.0     2.618620     344800.0     2.684940      
 345300.0     3.019210     346000.0     2.622950     350000.0     2.444240      
 355000.0     2.338440     358000.0     2.402790     360000.0     2.595910      
 362000.0     3.055440     363000.0     3.468130     364000.0     4.081950      
 365000.0     4.974410     367500.0     8.114350     368500.0     8.508310      
 369500.0     7.732890     371500.0     5.209310     372500.0     4.435590      
 373500.0     4.144870     374500.0     4.378580     376000.0     5.147460      
 376500.0     5.015150     377000.0     4.568140     378000.0     3.317320      
 378500.0     2.841760     379500.0     2.235450     381000.0     1.773240      
 382000.0     1.524320     384600.0    0.7068520     384800.0    0.6620590      
 385000.0    0.6561130     385200.0    0.7098240     385400.0    0.8415870      
 385600.0     1.061310     385800.0     1.363710     386000.0     1.732840      
 386800.0     3.382330     387400.0     4.217400     388000.0     4.481510      
 388500.0     4.378600     390000.0     3.601790     391000.0     3.243890      
 392000.0     3.057390     398000.0     2.768380     402000.0     2.874630      
[...407083 lines suppressed...]
 10000.00    0.0000000E+00 16969.00    0.3534920E-06 23938.00    0.4813090E-06  
 30907.00    0.5975380E-06 44846.00    0.8005340E-06 58784.00    0.9689320E-06  
 72722.00    0.1107040E-05 93630.00    0.1264790E-05 114540.0    0.1373680E-05  
 142410.0    0.1458100E-05 170290.0    0.1488870E-05 205140.0    0.1473790E-05  
 246950.0    0.1403460E-05 463000.0    0.8129120E-06 525720.0    0.6682000E-06  
 595410.0    0.5358670E-06 672070.0    0.4228150E-06 748730.0    0.3379160E-06  
 790550.0    0.3015610E-06 839330.0    0.2666650E-06 888110.0    0.2375730E-06  
 936900.0    0.2142050E-06 992650.0    0.1924860E-06 1083300.    0.1648620E-06  
 1166900.    0.1481680E-06 1264400.    0.1345710E-06 1431700.    0.1196650E-06  
 1752300.    0.1007040E-06 2486600.    0.6793000E-07 3016200.    0.4829280E-07  
 3249900.    0.4111060E-07 3499100.    0.3442700E-07 3748300.    0.2868250E-07  
 3997600.    0.2379120E-07 4324700.    0.1850630E-07 4667300.    0.1413650E-07  
 5025600.    0.1060580E-07 5228100.    0.8995490E-08 5430600.    0.7618010E-08  
 5648600.    0.6359610E-08 5897900.    0.5151070E-08 6038100.    0.4238740E-08  
 6178200.    0.3463680E-08 6365200.    0.2612300E-08 6552100.    0.1934550E-08  
 6676700.    0.1563200E-08 6816900.    0.1210840E-08 6957100.    0.9179810E-09  
0.1200000E+080.0000000E+00                                                      
0.1200000E+08         1        51                                               
        51         2                                                            
 10000.00    0.0000000E+00 18964.00    0.2554920E-06 27927.00    0.3637590E-06  
 36891.00    0.4622220E-06 54818.00    0.6357300E-06 72745.00    0.7808560E-06  
 90673.00    0.9009360E-06 117560.0    0.1040700E-05 153420.0    0.1164220E-05  
 189270.0    0.1232190E-05 225130.0    0.1257570E-05 269950.0    0.1246280E-05  
 332690.0    0.1178120E-05 610560.0    0.6908180E-06 700200.0    0.5582850E-06  
 789840.0    0.4487300E-06 888440.0    0.3538950E-06 942220.0    0.3119790E-06  
 1049800.    0.2452580E-06 1112500.    0.2150250E-06 1175300.    0.1902600E-06  
 1238000.    0.1696020E-06 1363500.    0.1367010E-06 1498000.    0.1130540E-06  
 1623500.    0.9752930E-07 1766900.    0.8515650E-07 1991000.    0.7198110E-07  
 2349500.    0.5720770E-07 2786200.    0.4302900E-07 3067300.    0.3559130E-07  
 3330900.    0.2959280E-07 3612000.    0.2414700E-07 3893200.    0.1958660E-07  
 4191900.    0.1559300E-07 4385100.    0.1341620E-07 4596000.    0.1136140E-07  
 4806800.    0.9601520E-08 5035300.    0.7983660E-08 5246100.    0.6720890E-08  
 5474500.    0.5567160E-08 5650200.    0.4810510E-08 5861100.    0.4030760E-08  
 6019200.    0.3337760E-08 6177400.    0.2753000E-08 6388200.    0.2114970E-08  
 6511200.    0.1806450E-08 6634200.    0.1537810E-08 6757200.    0.1304340E-08  
 6897800.    0.1075380E-08 7038300.    0.8814280E-090.1200000E+080.0000000E+00  
0.1300000E+08         1        50                                               
        50         2                                                            
 10000.00    0.0000000E+00 20958.00    0.1576500E-06 31916.00    0.2334600E-06  
 53832.00    0.3681030E-06 64790.00    0.4284450E-06 86707.00    0.5360010E-06  
 108620.0    0.6278990E-06 130540.0    0.7057590E-06 174370.0    0.8245040E-06  
 218200.0    0.9026740E-06 262040.0    0.9487480E-06 316830.0    0.9714950E-06  
 382580.0    0.9616959E-06 459280.0    0.9170720E-06 853770.0    0.5380410E-06  
 974310.0    0.4379540E-06 1094900.    0.3539940E-06 1226300.    0.2806640E-06  
 1368800.    0.2187920E-06 1522200.    0.1691480E-06 1609900.    0.1467910E-06  
 1708500.    0.1253940E-06 1785200.    0.1110260E-06 1861900.    0.9895930E-07  
 1949600.    0.8747870E-07 2103000.    0.7189870E-07 2267400.    0.5967430E-07  
 2464600.    0.4882970E-07 2683800.    0.4013480E-07 2924900.    0.3293680E-07  
 3101300.    0.2859530E-07 3308400.    0.2448580E-07 3394800.    0.2284910E-07  
 3707800.    0.1801170E-07 4020900.    0.1416620E-07 4353500.    0.1092960E-07  
 4549200.    0.9361990E-08 4764400.    0.7881090E-08 4979600.    0.6621950E-08  
 5214400.    0.5465500E-08 5429600.    0.4575710E-08 5664400.    0.3762420E-08  
 6075200.    0.2495280E-08 6231800.    0.2092730E-08 6388300.    0.1750470E-08  
 6525200.    0.1494110E-08 6642600.    0.1302230E-08 6779600.    0.1106760E-08  
 6936100.    0.9164120E-090.1200000E+080.0000000E+00                            
0.1400000E+08         1        46                                               
        46         2                                                            
 10000.00    0.0000000E+00 22953.00    0.1234660E-06 35905.00    0.1879540E-06  
 61810.00    0.3030800E-06 87715.00    0.4028670E-06 113620.0    0.4889040E-06  
 165430.0    0.6247400E-06 217240.0    0.7203570E-06 269050.0    0.7834050E-06  
 320860.0    0.8204730E-06 385620.0    0.8389130E-06 463340.0    0.8308430E-06  
 566960.0    0.7868550E-06 1033300.    0.4633250E-06 1175700.    0.3774580E-06  
 1331200.    0.2988600E-06 1486600.    0.2356520E-06 1655000.    0.1818540E-06  
 1745600.    0.1584650E-06 1836300.    0.1383560E-06 1939900.    0.1188260E-06  
 2056500.    0.1000570E-06 2147200.    0.8725420E-07 2250800.    0.7502060E-07  
 2354400.    0.6487090E-07 2471000.    0.5543020E-07 2600500.    0.4702750E-07  
 2807800.    0.3684280E-07 2963200.    0.3115300E-07 3131600.    0.2619220E-07  
 3222200.    0.2401220E-07 3459600.    0.1923040E-07 3783000.    0.1449150E-07  
 4127900.    0.1085360E-07 4494400.    0.8029440E-08 4688500.    0.6848080E-08  
 4904100.    0.5735810E-08 5141200.    0.4715550E-08 5378400.    0.3871770E-08  
 5615500.    0.3174600E-08 6046700.    0.2095530E-08 6305500.    0.1589450E-08  
 6456400.    0.1349660E-08 6607300.    0.1144260E-08 6758200.    0.9682590E-09  
0.1200000E+080.0000000E+00                                                      
0.1500000E+08         1        47                                               
        47         2                                                            
 10000.00    0.0000000E+00 24947.00    0.8000970E-07 39894.00    0.1252520E-06  
 54841.00    0.1673830E-06 69788.00    0.2069930E-06 99682.00    0.2794120E-06  
 129580.0    0.3430790E-06 159470.0    0.3990330E-06 219260.0    0.4900370E-06  
 279050.0    0.5569440E-06 353780.0    0.6129980E-06 428520.0    0.6452070E-06  
 518200.0    0.6592900E-06 622830.0    0.6511880E-06 757350.0    0.6160990E-06  
 1355200.    0.3675050E-06 1549500.    0.2962060E-06 1728900.    0.2402220E-06  
 1923200.    0.1902490E-06 2027800.    0.1675030E-06 2237100.    0.1295230E-06  
 2506200.    0.9154960E-07 2625700.    0.7779810E-07 2745300.    0.6625910E-07  
 2864900.    0.5645660E-07 2999400.    0.4741220E-07 3133900.    0.3988430E-07  
 3283400.    0.3310650E-07 3358100.    0.3022680E-07 3537500.    0.2431330E-07  
 3731800.    0.1948900E-07 3926100.    0.1565500E-07 4135400.    0.1252920E-07  
 4255000.    0.1101380E-07 4414600.    0.9356420E-08 4598700.    0.7795010E-08  
 4748200.    0.6751740E-08 4912600.    0.5771390E-08 5050600.    0.5058910E-08  
 5286100.    0.4070050E-08 5545200.    0.3217330E-08 5922100.    0.2239980E-08  
 6181200.    0.1705740E-08 6407300.    0.1347450E-08 6652300.    0.1034570E-08  
 6817200.    0.8664140E-090.1200000E+080.0000000E+00                            
0.1600000E+08         1        50                                               
        50         2                                                            
 10000.00    0.0000000E+00 13132.00    0.1100780E-06 16264.00    0.1342470E-06  
 22527.00    0.1742310E-06 28791.00    0.2028910E-06 35055.00    0.2189270E-06  
 41319.00    0.2299900E-06 50714.00    0.2407940E-06 60824.00    0.2479270E-06  
 100820.0    0.2612710E-06 135270.0    0.2814680E-06 264120.0    0.3977890E-06  
 348830.0    0.4596310E-06 433540.0    0.5020950E-06 535190.0    0.5310960E-06  
 636840.0    0.5413790E-06 772370.0    0.5346870E-06 941780.0    0.5046360E-06  
 1670300.    0.3000550E-06 1890500.    0.2450060E-06 2110700.    0.1978290E-06  
 2347900.    0.1555440E-06 2585100.    0.1212420E-06 2720600.    0.1049370E-06  
 2923900.    0.8322710E-07 3042500.    0.7199220E-07 3181700.    0.6061520E-07  
 3313600.    0.5158200E-07 3449100.    0.4363020E-07 3601600.    0.3617760E-07  
 3771000.    0.2940530E-07 3957400.    0.2341520E-07 4143700.    0.1869850E-07  
 4347000.    0.1462610E-07 4465600.    0.1269840E-07 4584200.    0.1104890E-07  
 4702800.    0.9618560E-08 4863700.    0.7987790E-08 5075500.    0.6265690E-08  
 5228000.    0.5294550E-08 5380500.    0.4469860E-08 5549900.    0.3708300E-08  
 5736200.    0.3041960E-08 5944900.    0.2394640E-08 6185200.    0.1815330E-08  
 6329400.    0.1538540E-08 6515500.    0.1243930E-08 6665800.    0.1047170E-08  
 6803500.    0.8981340E-090.1200000E+080.0000000E+00                            
0.1700000E+08         1        50                                               
        50         2                                                            
 10000.00    0.0000000E+00 15126.00    0.1854620E-06 20253.00    0.2429290E-06  
 25379.00    0.2946920E-06 28936.00    0.3253370E-06 35632.00    0.3774400E-06  
 45884.00    0.4394510E-06 61263.00    0.5050740E-06 71516.00    0.5348590E-06  
 86895.00    0.5637530E-06 107400.0    0.5783550E-06 142550.0    0.5687470E-06  
 240680.0    0.4864190E-06 297070.0    0.4517610E-06 363720.0    0.4291920E-06  
 466240.0    0.4231770E-06 502330.0    0.4262400E-06 512380.0    0.4260700E-06  
 729570.0    0.4356670E-06 881050.0    0.4289320E-06 1070400.    0.4054930E-06  
 1941500.    0.2343620E-06 2187600.    0.1916470E-06 2433800.    0.1547670E-06  
 2532900.    0.1422670E-06 2698900.    0.1216600E-06 2964000.    0.9480880E-07  
 3134400.    0.8045400E-07 3494200.    0.5484500E-07 3645700.    0.4627000E-07  
 3797200.    0.3894100E-07 3948700.    0.3274090E-07 4119100.    0.2693510E-07  
 4308500.    0.2161370E-07 4516800.    0.1697890E-07 4725100.    0.1332890E-07  
 4952300.    0.1023340E-07 5084800.    0.8761290E-08 5217400.    0.7522570E-08  
 5349900.    0.6443490E-08 5584500.    0.4913830E-08 5766500.    0.3973260E-08  
 5920900.    0.3296400E-08 6107400.    0.2634660E-08 6296700.    0.2089410E-08  
 6497600.    0.1636440E-08 6599700.    0.1447590E-08 6826900.    0.1097400E-08  
 7026200.    0.8614570E-090.1200000E+080.0000000E+00                            
0.1800000E+08         1        48                                               
        48         2                                                            
 10000.00    0.0000000E+00 17121.00    0.1854380E-06 24242.00    0.2574960E-06  
 38483.00    0.3794520E-06 45604.00    0.4303100E-06 59846.00    0.5171510E-06  
 74087.00    0.5867300E-06 95450.00    0.6648060E-06 116810.0    0.7155030E-06  
 145300.0    0.7535670E-06 173780.0    0.7653110E-06 209380.0    0.7560360E-06  
 240230.0    0.7319360E-06 401640.0    0.5723470E-06 522700.0    0.4785180E-06  
 629510.0    0.4245220E-06 743440.0    0.3886580E-06 921460.0    0.3531140E-06  
 2103000.    0.1825890E-06 2396100.    0.1460850E-06 2668200.    0.1171580E-06  
 2961200.    0.9138160E-07 3254200.    0.7062580E-07 3494100.    0.5692580E-07  
 3819300.    0.4149660E-07 3986800.    0.3479160E-07 4214900.    0.2730690E-07  
 4321700.    0.2427730E-07 4510000.    0.1979320E-07 4719300.    0.1574900E-07  
 4949600.    0.1222660E-07 5055900.    0.1093020E-07 5179800.    0.9478810E-08  
 5305400.    0.8233560E-08 5431000.    0.7170230E-08 5577500.    0.6077210E-08  
 5724000.    0.5154320E-08 5872800.    0.4331980E-08 6017000.    0.3673970E-08  
 6163500.    0.3085730E-08 6331000.    0.2536580E-08 6519400.    0.2032300E-08  
 6641700.    0.1763420E-08 6707700.    0.1625980E-08 6917000.    0.1267240E-08  
 7021700.    0.1117410E-08 7170400.    0.9353160E-090.1200000E+080.0000000E+00  
0.1900000E+08         1        47                                               
        47         2                                                            
 10000.00    0.0000000E+00 19115.00    0.1756900E-06 28231.00    0.2547720E-06  
 37346.00    0.3258430E-06 55576.00    0.4469210E-06 64692.00    0.4991560E-06  
 82922.00    0.5898230E-06 110270.0    0.6952710E-06 137610.0    0.7695880E-06  
 174070.0    0.8311910E-06 210540.0    0.8602850E-06 256110.0    0.8638400E-06  
 330950.0    0.8202650E-06 556920.0    0.6027370E-06 720990.0    0.4703820E-06  
 857720.0    0.3925390E-06 1021800.    0.3275810E-06 1267900.    0.2632710E-06  
 1395500.    0.2386920E-06 1559600.    0.2129340E-06 2096200.    0.1460180E-06  
 2394200.    0.1161850E-06 2669300.    0.9292490E-07 2967300.    0.7221180E-07  
 3288300.    0.5448690E-07 3471700.    0.4616230E-07 3723800.    0.3639350E-07  
 3884300.    0.3084550E-07 4044800.    0.2616430E-07 4228200.    0.2158000E-07  
 4407100.    0.1788560E-07 4623400.    0.1423320E-07 4824200.    0.1149660E-07  
 5053500.    0.8997560E-08 5296200.    0.6938930E-08 5443200.    0.5931590E-08  
 5580700.    0.5108320E-08 5741200.    0.4288840E-08 5901700.    0.3585120E-08  
 6137200.    0.2754660E-08 6360200.    0.2139930E-08 6543600.    0.1740130E-08  
 6617700.    0.1604300E-08 6749900.    0.1376980E-08 6956200.    0.1088340E-08  
 7074200.    0.9521500E-090.1200000E+080.0000000E+00                            
0.2000000E+08         1        48                                               
        48         2                                                            
 10000.00    0.0000000E+00 21110.00    0.1216700E-06 34028.00    0.1944910E-06  
 54439.00    0.2924900E-06 76658.00    0.3843570E-06 98878.00    0.4634400E-06  
 121100.0    0.5302870E-06 154430.0    0.6115470E-06 198870.0    0.6889220E-06  
 243300.0    0.7382010E-06 298850.0    0.7689540E-06 354400.0    0.7764740E-06  
 432170.0    0.7584270E-06 538620.0    0.6999880E-06 909890.0    0.4631400E-06  
 1032100.    0.3985990E-06 1232100.    0.3138140E-06 1365400.    0.2694080E-06  
 1620900.    0.2055370E-06 1865300.    0.1620410E-06 2054200.    0.1359230E-06  
 2165300.    0.1231580E-06 2388800.    0.1010760E-06 2653100.    0.8032910E-07  
 2965500.    0.6113180E-07 3157700.    0.5186220E-07 3277800.    0.4631900E-07  
 3446000.    0.3977500E-07 3710300.    0.3094290E-07 3878500.    0.2609690E-07  
 4070700.    0.2150850E-07 4238900.    0.1808670E-07 4431200.    0.1484070E-07  
 4647400.    0.1187140E-07 4863700.    0.9485230E-08 5055900.    0.7790610E-08  
 5224100.    0.6520270E-08 5368300.    0.5607400E-08 5536500.    0.4699120E-08  
 5824800.    0.3447760E-08 5993000.    0.2881050E-08 6137200.    0.2452680E-08  
 6305400.    0.2043580E-08 6473500.    0.1700310E-08 6617700.    0.1455310E-08  
 6882000.    0.1086860E-08 7098300.    0.8570550E-090.1200000E+080.0000000E+00  
         1         10.0000000E+00         1         2                           
         2         2                                                            
0.1000000E-04 1.000000    0.2000000E+08 1.000000                                
         1         2                                                            
         2         2                                                            
0.1000000E-04         1         9                                               
         9         2                                                            
 4054000.    0.0000000E+00 4055000.    0.3265000E-03 4056000.    0.0000000E+00  
 4101000.    0.0000000E+00 4102000.    0.2183530E-03 4103000.    0.0000000E+00  
 4170000.    0.0000000E+00 4171000.    0.4551480E-03 4172000.    0.0000000E+00  
0.2000000E+08         1         9                                               
         9         2                                                            
 4054000.    0.0000000E+00 4055000.    0.3265000E-03 4056000.    0.0000000E+00  
 4101000.    0.0000000E+00 4102000.    0.2183530E-03 4103000.    0.0000000E+00  
 4170000.    0.0000000E+00 4171000.    0.4551480E-03 4172000.    0.0000000E+00  
ENDE                                                                            
ENDF                                                                            


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	16 Nov 2005 23:20:04 -0000	1.1
+++ .cvsignore	16 Nov 2005 23:34:07 -0000	1.2
@@ -0,0 +1,15 @@
+include.tar.gz
+src_Imakefile.tar.gz
+src_car.tar.gz
+src_cfortran.tar.gz
+src_config.tar.gz
+src_geant321.tar.gz
+src_graflib.tar.gz
+src_include.tar.gz
+src_mathlib.tar.gz
+src_mclibs.tar.gz
+src_packlib.tar.gz
+src_patchy.tar.gz
+src_pawlib.tar.gz
+src_phtools.tar.gz
+src_scripts.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	16 Nov 2005 23:20:04 -0000	1.1
+++ sources	16 Nov 2005 23:34:07 -0000	1.2
@@ -0,0 +1,15 @@
+cdbd82c54aed8d1385f1ef0a10be8667  include.tar.gz
+03bfd1239e57a23ab087bf29fe48c8a8  src_Imakefile.tar.gz
+1f25e16563f89a69c1b15b8ed11af904  src_car.tar.gz
+9e686519ae3a52344222b21c9444ddd6  src_cfortran.tar.gz
+b72b89cb3a7f7c592d28b992c95b4eff  src_config.tar.gz
+2cf91d533315b430f4e36c1c6e23841a  src_geant321.tar.gz
+f09d0f28e5c7ecc1a3932369f5a15dab  src_graflib.tar.gz
+9ebd72a2b6e5349b25fc93e7b20c172a  src_include.tar.gz
+0ec66e6d4920af79999b4c73fd3b065a  src_mathlib.tar.gz
+ce6d941a50c3e1fdc8bdcc4ec2988116  src_mclibs.tar.gz
+d7d4628d136ed97f1e9ba164774a6878  src_packlib.tar.gz
+fd20e80b3f58fc88168bcd6ce701f999  src_patchy.tar.gz
+dcd46166a57a8a4ec45d872d79839f1a  src_pawlib.tar.gz
+f215b9adba3cfb3be4bd74d624f00d32  src_phtools.tar.gz
+b30b121167ddf6508c22fc25a4272276  src_scripts.tar.gz




More information about the fedora-extras-commits mailing list