rpms/cernlib/devel 211-fix-comis-on-ia64-alpha.dpatch, NONE, 1.1 319-work-around-imake-segfaults.dpatch, NONE, 1.1 cernlib_2005.05.09.dfsg-5.diff, NONE, 1.1 patchy-case.patch, NONE, 1.1 patchy-fcasplit.patch, NONE, 1.1 patchy-insecure_tmp_use.diff, NONE, 1.1 patchy-p4comp.patch, NONE, 1.1 patchy-perror.patch, NONE, 1.1 patchy-rceta.patch, NONE, 1.1 211-fix-comis-on-amd64.dpatch, 1.1, 1.2 307-use-canonical-cfortran.dpatch, 1.2, 1.3 800-implement-shared-library-rules-in-Imake.dpatch, 1.1, 1.2 cernlib-gfortran.diff, 1.1, 1.2 cernlib.spec, 1.19, 1.20 paw.README, 1.3, 1.4 211-fix-comis-on-ia64.dpatch, 1.1, NONE cernlib_2005.05.09.dfsg-3.diff, 1.1, NONE

Patrice Dumas (pertusus) fedora-extras-commits at redhat.com
Tue Apr 11 22:45:34 UTC 2006


Author: pertusus

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

Modified Files:
	211-fix-comis-on-amd64.dpatch 
	307-use-canonical-cfortran.dpatch 
	800-implement-shared-library-rules-in-Imake.dpatch 
	cernlib-gfortran.diff cernlib.spec paw.README 
Added Files:
	211-fix-comis-on-ia64-alpha.dpatch 
	319-work-around-imake-segfaults.dpatch 
	cernlib_2005.05.09.dfsg-5.diff patchy-case.patch 
	patchy-fcasplit.patch patchy-insecure_tmp_use.diff 
	patchy-p4comp.patch patchy-perror.patch patchy-rceta.patch 
Removed Files:
	211-fix-comis-on-ia64.dpatch cernlib_2005.05.09.dfsg-3.diff 
Log Message:
* Tue Apr 11 2006 Patrice Dumas <dumas at centre-cired.fr> - 2005-14
- add patchy version 4 and build cernlib patchy. From Mattias Ellert.
- update to newer debian patchset



--- NEW FILE 211-fix-comis-on-ia64-alpha.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 211-fix-comis-on-ia64-alpha.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Further patch building on Harald Vogt's amd64 patch attempting to
## DP: fix PAW on Itanium/Alpha Linux.  This does not yet work completely...

@DPATCH@
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/ccopys.c cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/ccopys.c
--- cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/ccopys.c	2006-03-24 15:36:37.723420777 -0500
+++ cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/ccopys.c	2006-03-24 15:36:45.236828642 -0500
@@ -39,12 +39,45 @@
  * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005)
  */
 
+/* For Itanium and Alpha, the situation is even worse.  Itanium architecture
+ * has the data section starts at 0x6000000000000000.  The stack is
+ * supposed to be between 0x80...0 and 0xa0...0 starting at the high end
+ * and growing downwards, although on a test machine (merulo.debian.org)
+ * it seemed instead to start at 0x6000100000000000 and grow downwards.
+ * The addresses we actually get are truncated to the lowest 32 bits,
+ * so we assume that those greater than 0x80000000 are in the stack.
+ *
+ * Constant strings are in the text section starting at 0x40...0; we hope
+ * this function doesn't receive any.
+ *
+ * On Alpha, on the other hand, I couldn't find any docs for the Linux
+ * segmentation for virtual memory.  Judging by a test machine
+ * (escher.debian.org), the data section starts slightly above 0x120010000.
+ * On the other hand the stack grows downward from 0x120000000.  Here it
+ * seems safe to suppose that the variable is in the stack if the uint32
+ * truncated address received is less than 0x20000000.
+ * 
+ * -- Kevin McCarty
+ */
+	
 #if defined(CERNLIB_QMLXIA64)
      int *ja, *jb;
      int *nn;
 {
   int i,n; char *a,*b;
   n=*nn; a=*ja; b=*jb;
+# if defined (__ia64__) || defined (__alpha__)
+#  if defined (__ia64__)
+#   define autotest(_var) ((unsigned long)(_var) > 0x80000000)
+#  else /* __alpha__ */
+#   define autotest(_var) ((unsigned long)(_var) < 0x20000000)
+#  endif
+  static int dummy = 0;
+  unsigned long staticbase = ((unsigned long)&dummy) & 0xffffffff00000000L;
+  unsigned long autobase = ((unsigned long)&i) & 0xffffffff00000000L;
+  a = (unsigned long)a + (autotest(a) ? autobase : staticbase);
+  b = (unsigned long)b + (autotest(b) ? autobase : staticbase);
+# endif
 #else
      char **ja, **jb;
      int *nn;
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cscald.c cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cscald.c
--- cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cscald.c	2006-03-24 15:36:37.723420777 -0500
+++ cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cscald.c	2006-03-24 15:51:18.796348318 -0500
@@ -74,6 +74,24 @@
 /*    printf ("cscald - *fptr,ptr,jumpad_ are: %p %p %p %p\n", *fptr, ptr, jumpad_); */
    long p[16];
    int  count;  for ( count=0; count<16; count++ )  p[count] = pin[count];
+
+/* See relevant comments in cstrcmp.c regarding this hideous hack */
+# if defined (__ia64__) || defined (__alpha__)
+#  if defined (__ia64__)
+#   define autotest(_var) ((unsigned long)(_var) > 0x80000000)
+#  else /* __alpha__ */
+#   define autotest(_var) ((unsigned long)(_var) < 0x20000000)
+#  endif
+  static int dummy = 0;
+  unsigned long staticbase = ((unsigned long)&dummy) & 0xffffffff00000000L;
+  unsigned long autobase = ((unsigned long)&count) & 0xffffffff00000000L;
+  for (count = 0; count < 16; count++)
+    if (p[count])
+      if (autotest(p[count]))
+	p[count] += autobase;
+      else
+	p[count] += staticbase;  
+# endif
 #else
  double (type_of_call *(*name)) ();
  int *n;
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cscali.c cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cscali.c
--- cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cscali.c	2006-03-24 15:36:37.723420777 -0500
+++ cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cscali.c	2006-03-24 15:51:05.440199025 -0500
@@ -67,6 +67,24 @@
 /*    printf ("cscali - *fptr,ptr,jumpad_ are: %p %p %p %p\n", *fptr, ptr, jumpad_); */
    long p[16];
    int  count;  for ( count=0; count<16; count++ )  p[count] = pin[count];
+
+/* See relevant comments in cstrcmp.c regarding this hideous hack */
+# if defined (__ia64__) || defined (__alpha__)
+#  if defined (__ia64__)
+#   define autotest(_var) ((unsigned long)(_var) > 0x80000000)
+#  else /* __alpha__ */
+#   define autotest(_var) ((unsigned long)(_var) < 0x20000000)
+#  endif
+  static int dummy = 0;
+  unsigned long staticbase = ((unsigned long)&dummy) & 0xffffffff00000000L;
+  unsigned long autobase = ((unsigned long)&count) & 0xffffffff00000000L;
+  for (count = 0; count < 16; count++)
+    if (p[count])
+      if (autotest(p[count]))
+        p[count] += autobase;
+      else
+        p[count] += staticbase;
+# endif
 #else
  int (type_of_call *(*name)) ();
  int *n;
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cscalr.c cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cscalr.c
--- cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cscalr.c	2006-03-24 15:36:37.724420566 -0500
+++ cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cscalr.c	2006-03-24 15:50:47.519024096 -0500
@@ -89,6 +89,24 @@
    long p[16];
    int  count;  for ( count=0; count<16; count++ )  p[count] = pin[count];
    double r;
+
+/* See relevant comments in cstrcmp.c regarding this hideous hack */
+# if defined (__ia64__) || defined (__alpha__)
+#  if defined (__ia64__)
+#   define autotest(_var) ((unsigned long)(_var) > 0x80000000)
+#  else /* __alpha__ */
+#   define autotest(_var) ((unsigned long)(_var) < 0x20000000)
+#  endif
+  static int dummy = 0;
+  unsigned long staticbase = ((unsigned long)&dummy) & 0xffffffff00000000L;
+  unsigned long autobase = ((unsigned long)&count) & 0xffffffff00000000L;
+  for (count = 0; count < 16; count++)
+    if (p[count])
+      if (autotest(p[count]))
+        p[count] += autobase;
+      else
+        p[count] += staticbase;
+# endif
 #else
  float (type_of_call *(*name)) ();
  int *n;
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cstrcmp.c cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cstrcmp.c
--- cernlib-2005.05.09.dfsg~/src/pawlib/comis/deccc/cstrcmp.c	2006-03-24 15:36:37.724420566 -0500
+++ cernlib-2005.05.09.dfsg/src/pawlib/comis/deccc/cstrcmp.c	2006-03-24 15:36:45.236828642 -0500
@@ -42,6 +42,27 @@
  * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005)
  */
 
+/* For Itanium and Alpha, the situation is even worse.  Itanium architecture
+ * has the data section starts at 0x6000000000000000.  The stack is
+ * supposed to be between 0x80...0 and 0xa0...0 starting at the high end
+ * and growing downwards, although on a test machine (merulo.debian.org)
+ * it seemed instead to start at 0x6000100000000000 and grow downwards.
+ * The addresses we actually get are truncated to the lowest 32 bits,
+ * so we assume that those greater than 0x80000000 are in the stack.
+ *
+ * Constant strings are in the text section starting at 0x40...0; we hope
+ * this function doesn't receive any.
+ *
+ * On Alpha, on the other hand, I couldn't find any docs for the Linux
+ * segmentation for virtual memory.  Judging by a test machine
+ * (escher.debian.org), the data section starts slightly above 0x120010000.
+ * On the other hand the stack grows downward from 0x120000000.  Here it
+ * seems safe to suppose that the variable is in the stack if the uint32
+ * truncated address received is less than 0x20000000.
+ *
+ * -- Kevin McCarty
+ */
+
 #if defined(CERNLIB_QMLXIA64)
      int *ja, *jb;
      int *na, *nb;
@@ -56,6 +77,18 @@
     {
       a=*jb; b=*ja; la=*nb; lb=*na; k=-1;
      }
+# if defined (__ia64__) || defined (__alpha__)
+#  if defined (__ia64__)
+#   define autotest(_var) ((unsigned long)(_var) > 0x80000000)
+#  else /* __alpha__ */
+#   define autotest(_var) ((unsigned long)(_var) < 0x20000000)
+#  endif
+  static int dummy = 0;
+  unsigned long staticbase = ((unsigned long)&dummy) & 0xffffffff00000000L;
+  unsigned long autobase = ((unsigned long)&i) & 0xffffffff00000000L;
+  a = (unsigned long)a + (autotest(a) ? autobase : staticbase);
+  b = (unsigned long)b + (autotest(b) ? autobase : staticbase);
+# endif
 #else
      char **ja, **jb;
      int *na, *nb;


--- NEW FILE 319-work-around-imake-segfaults.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 319-work-around-imake-segfaults.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: If at first Imake doesn't succeed, try, try again.
## DP: (Hideous workaround for non-deterministic imake segfaults on hppa.)

@DPATCH@
diff -urNad cernlib-2005.05.09.dfsg~/src/config/Imake.rules cernlib-2005.05.09.dfsg/src/config/Imake.rules
--- cernlib-2005.05.09.dfsg~/src/config/Imake.rules	2006-01-02 10:35:09.050384887 -0500
+++ cernlib-2005.05.09.dfsg/src/config/Imake.rules	2006-01-02 10:38:18.693611381 -0500
@@ -1296,7 +1296,11 @@
 	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) \		@@\
 	             -DPackageTop=$(PACKAGETOP)	\			@@\
 		     -DPackageName=$(PACKAGE_NAME) \			@@\
-		     imakeflags -f $<
+		     imakeflags -f $< || \				@@\
+		$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) \	@@\
+	             -DPackageTop=$(PACKAGETOP)	\			@@\
+		     -DPackageName=$(PACKAGE_NAME) \			@@\
+		     imakeflags -f $< || exit 1
 
 #endif /* BuildMakefileTarget */
 
@@ -2127,7 +2131,11 @@
 			ImakeSubCmdHelper -DTOPDIR=$$imaketop \		@@\
 			-DCURDIR=$$curdir$$i \				@@\
 			-DPackageTop=$(PACKAGETOP) \			@@\
-			-DPackageName=$(PACKAGE_NAME); \		@@\
+			-DPackageName=$(PACKAGE_NAME) || \		@@\
+			ImakeSubCmdHelper -DTOPDIR=$$imaketop \		@@\
+			-DCURDIR=$$curdir$$i \				@@\
+			-DPackageTop=$(PACKAGETOP) \			@@\
+			-DPackageName=$(PACKAGE_NAME) || exit 1; \	@@\
 		fi; \							@@\
 		$(MAKE) $(MFLAGS) Makefiles; \				@@\
 		cd $$newtop; \						@@\
@@ -2322,7 +2330,12 @@
 			-DCURDIR=$$curdir$$i \				@@\
 			-DPackageTop=$(PACKAGETOP) \			@@\
 			-DPackageName=$(PACKAGE_NAME) \			@@\
-			-f $$imakefile; \				@@\
+			-f $$imakefile || \				@@\
+			ImakeSubCmdHelper -DTOPDIR=$$imaketop \		@@\
+			-DCURDIR=$$curdir$$i \				@@\
+			-DPackageTop=$(PACKAGETOP) \			@@\
+			-DPackageName=$(PACKAGE_NAME) \			@@\
+			-f $$imakefile || exit 1; \			@@\
 		fi; \							@@\
 	fi;
 #endif

cernlib_2005.05.09.dfsg-5.diff:

***** Error reading new file: [Errno 2] No such file or directory: 'cernlib_2005.05.09.dfsg-5.diff'
patchy-case.patch:

--- NEW FILE patchy-case.patch ---
diff -ur 2004.orig/src/patchy/Imakefile 2004/src/patchy/Imakefile
--- 2004.orig/src/patchy/Imakefile	1997-01-21 18:29:14.000000000 +0100
+++ 2004/src/patchy/Imakefile	2005-05-28 02:23:04.000000000 +0200
@@ -79,8 +79,8 @@
 	@ ln -s $< $@
 
 %.f:  $(LDIR)%.cra $(LDIR)patchy.car
-	ypatchy - $@ $< TTY .go
-	
+	ypatchy - :$@ :$< TTY .go
+
 .f.o:
 	$(FC) -c $(FORTRANOPTIONS) $(FDEBUGFLAGS) $<
 

patchy-fcasplit.patch:

--- NEW FILE patchy-fcasplit.patch ---
--- patchy/fcasplit.f.orig	2006-04-10 01:06:32.000000000 +0200
+++ patchy/fcasplit.f	2006-04-10 01:16:05.000000000 +0200
@@ -23,7 +23,7 @@
       PARAMETER   (CHIDA = ';DECK  I' )
       PARAMETER   (CHOVER= 'UNKNOWN')
  
-      PARAMETER   (CHPOF = '-c -O2 -Nx800 -Nc200')
+      PARAMETER   (CHPOF = '-c -O2')
       PARAMETER   (CHPOC = '-c -O2 -posix')
       PARAMETER   (CHPOA = ' ')
  

patchy-insecure_tmp_use.diff:

--- NEW FILE patchy-insecure_tmp_use.diff ---
diff -u patchy-orig/yindex patchy/yindex
--- patchy-orig/yindex	2006-04-11 10:33:39.000000000 +0200
+++ patchy/yindex	2006-04-11 10:44:10.000000000 +0200
@@ -11,7 +11,7 @@
    [ -z "$PATCHY_VERSION" ] && PATCHY_VERSION="4.15"
    PATCHY=$CERN/patchy/$PATCHY_VERSION/bin
  
-ftmp=/tmp/`echo $0 | awk -F/ '{ print $NF }'`$$
+#ftmp=/tmp/`echo $0 | awk -F/ '{ print $NF }'`$$
  
 if [ $# -eq 0 ] ; then
    cat << EoI
@@ -45,6 +45,8 @@
       exit 1
 fi
  
+exttmp=`echo $0 | awk -F/ '{ print $NF }'`$$
+ftmp="$file-$exttmp"
 if [ "$ext" != "pam" ] ; then
    echo " Preparing temporary binary PAM file, ...wait"
    ${PATCHY}/ytobin $pam $ftmp.pam - - ${ftmp}.lis .GO  > /dev/null
Seulement dans patchy: yindex-orig
diff -u patchy-orig/ylist patchy/ylist
--- patchy-orig/ylist	2006-04-11 10:33:48.000000000 +0200
+++ patchy/ylist	2006-04-11 10:40:17.000000000 +0200
@@ -11,7 +11,7 @@
    [ -z "$PATCHY_VERSION" ] && PATCHY_VERSION="4.15"
    PATCHY=$CERN/patchy/$PATCHY_VERSION/bin
  
-ftmp=/tmp/`echo $0 | awk -F/ '{ print $NF }'`$$
+#ftmp=/tmp/`echo $0 | awk -F/ '{ print $NF }'`$$
  
 if [ $# -eq 0 ] ; then
    cat << EoI
@@ -45,6 +45,8 @@
       exit 1
 fi
  
+exttmp=`echo $0 | awk -F/ '{ print $NF }'`$$
+ftmp="$file-$exttmp"
 if [ "$ext" != "pam" ] ; then
    echo " Preparing temporary binary PAM file, ...wait"
    ${PATCHY}/ytobin $pam $ftmp.pam - - ${ftmp}.lis .GO  > /dev/null
Seulement dans patchy: ylist-orig

patchy-p4comp.patch:

--- NEW FILE patchy-p4comp.patch ---
--- patchy/p4comp.fca.orig	2006-04-08 12:46:17.000000000 +0200
+++ patchy/p4comp.fca	2006-04-08 12:47:34.000000000 +0200
@@ -11458,7 +11458,7 @@
       IF (JCARD.GE.NTOTCC)   RETURN
       LE = LTK + KDNWT1 - 1
       DO 12 L=LTK,LE
-      IF (AND(IQ(L),'FF000000'X).EQ.0)    GO TO 14
+      IF (AND(IQ(L),X'FF000000').EQ.0)    GO TO 14
    12 CONTINUE
       NWTK = KDNWT
       NCH  = 80
@@ -12383,7 +12383,7 @@
       IF (JCARD.GE.NTOTCC)   RETURN
       LE = LTK + KDNWT1 - 1
       DO 13 L=LTK,LE
-      IF (AND(IQ(L),'FF000000'X).EQ.0)    GO TO 14
+      IF (AND(IQ(L),X'FF000000').EQ.0)    GO TO 14
    13 CONTINUE
       NWTK   = KDNWT
       NCHCCT = 80
@@ -14260,7 +14260,7 @@
 C--------------    END CDE                             --------------
 C     DIMENSION    MM(10), ITP(9)                                        A8M
       DIMENSION    MM(6),  ITP(9)                                       -A8M
-      PARAMETER   ( NBLANK = '20202000'X )
+      PARAMETER   ( NBLANK = X'20202000' )
  
       IT     = ITP(1)
       JARTPX = 0
@@ -14430,7 +14430,7 @@
  
    24 JLOW = JCH
  
-      MV(JCH) = AND (MV(JCH), 'FFFFFFDF'X)
+      MV(JCH) = AND (MV(JCH), X'FFFFFFDF')
  
    49 CONTINUE
       JCCLOW = MAX  (JCCLOW,JLOW)
@@ -14465,8 +14465,8 @@
  
  
  
-      DATA ACTION/'HOLD  ','RESUME','EOF   ','REWIND','ATTACH','DETACH'
-     +,           'EOFREW','CLOSE ' /
+      DATA ACTION/6HHOLD  ,6HRESUME,6HEOF   ,6HREWIND,6HATTACH,6HDETACH
+     +,           6HEOFREW,6HCLOSE  /
  
 C------    CODE BITS IN  IOTALL, IOTOFF, IOTON, IOTYP
  
@@ -14801,7 +14801,7 @@
       DO 31 JC=1,NCD
       J = J+1
       DO 19 JJ=1,KDNWT1
-      IF (AND(MV(J),'FF000000'X).EQ.0)   GO TO 31
+      IF (AND(MV(J),X'FF000000').EQ.0)   GO TO 31
    19 J = J+1
    31 CONTINUE
  
@@ -14825,7 +14825,7 @@
  
       DO 16 J=1,KDNWT1
       KIMA(J)= MV(J)
-      IF (AND(KIMA(J),'FF000000'X).EQ.0)    GO TO 31
+      IF (AND(KIMA(J),X'FF000000').EQ.0)    GO TO 31
    16 CONTINUE
       J = KDNWT
       KIMA(J)= MV(J)
@@ -14855,7 +14855,7 @@
  
       DO 16 J=1,KDNWT1
       KIMA(J)= MV(J)
-      IF (AND(KIMA(J),'FF000000'X).EQ.0)    GO TO 31
+      IF (AND(KIMA(J),X'FF000000').EQ.0)    GO TO 31
    16 CONTINUE
       J = KDNWT
       KIMA(J)= MV(J)
@@ -17316,6 +17316,8 @@
 /*>    ROUTINE ABEND
   CERN PROGLIB# Z035    ABEND           .VERSION KERNFOR  4.31  911111
 */
+#include <stdlib.h>
+
 void abend_()
 {
     exit(7);
@@ -17430,7 +17432,7 @@
       char *fname;
       int  *lgname;
 {
-      char *malloc();
+      void *malloc();
       char *ptalc, *pttext;
       int  fchput();
       int  nalc;
@@ -17664,7 +17666,7 @@
       char *ftext;
       int  lgtext;
 {
-      char *malloc();
+      void *malloc();
       char *ptalc, *ptuse;
       char *utext;
       int  nalc;

patchy-perror.patch:

--- NEW FILE patchy-perror.patch ---
--- 2005/src/patchy/patchy.car.orig	1996-07-15 13:46:22.000000000 +0200
+++ 2005/src/patchy/patchy.car	2006-04-09 02:18:17.000000000 +0200
@@ -3708,7 +3708,7 @@
 
    38 WRITE (IQTYPE,9038) CHLIFI(1:NN)
 +SELF, IF=QS_UNIX.
-      IF (LUNOLD.NE.0)  CALL PERRORF (' System msg')
+      IF (LUNOLD.NE.0)  CALL PERROR (' System msg')
 +SELF.
       IF (NQINIT.EQ.0)  THEN
           IF (IQPRNT.NE.IQTYPE)  WRITE (IQPRNT,9038) CHLIFI(1:NN)
@@ -4399,7 +4399,7 @@
       CHARACTER    MSG*(*)
 
 +SELF, IF=QS_UNIX.
-      CALL PERRORF (' Perror has')
+      CALL PERROR (' Perror has')
 +SELF.
       CALL P_KILL (MSG)
       END
@@ -4446,7 +4446,7 @@
       CHARACTER    MSG*(*)
 
 +SELF, IF=QS_UNIX.
-      CALL PERRORF ('Perror has')
+      CALL PERROR ('Perror has')
 +SELF.
       CALL P_FATAL (MSG)
       END
@@ -15112,7 +15112,7 @@
 +DECK, SEGVIOL, T=JOIN, IF=QDIAG, IF=QS_UNIX.
       SUBROUTINE SEGVIOL
 
-      CALL PERRORF ('perrorf has')
+      CALL PERROR ('perror has')
       CALL P_KILL ('SEGVIOL reached')
 
       END

patchy-rceta.patch:

--- NEW FILE patchy-rceta.patch ---
--- patchy/rceta.sh.orig	1995-05-04 21:23:45.000000000 +0200
+++ patchy/rceta.sh	2006-04-08 12:20:26.000000000 +0200
@@ -225,8 +225,8 @@
       RETURN
       END
 \\
- fort77 -o rceta rceta.f
- rceta    <<\\
+ f77 -o rceta rceta.f
+ ./rceta    <<\\
 CODE  INTERNAL A1 REPRESENTATION OF THE CETA SET / LNX
 CODE  CARD    1  IN HOLLERITH FOR CETA VALUES  1 - 47
 CODE  CARD    2  IN HOLLERITH FOR CETA VALUES 65 - 90


Index: 211-fix-comis-on-amd64.dpatch
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/211-fix-comis-on-amd64.dpatch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 211-fix-comis-on-amd64.dpatch	14 Dec 2005 16:52:26 -0000	1.1
+++ 211-fix-comis-on-amd64.dpatch	11 Apr 2006 22:45:34 -0000	1.2
@@ -396,8 +396,8 @@
        ITMPLEN=CSTMPD(CHPATH, 256)
 -      CHF77 ='g77 -c'
 -      CHCC  ='cc -c'
-+      CHF77 ='g77 -c -fPIC'
-+      CHCC  ='cc -c -fPIC'
++      CHF77 ='g77 -g -c -fPIC'
++      CHCC  ='cc -g -c -fPIC'
  #endif
  #if (defined(CERNLIB_SGI))&&(defined(CERNLIB_SHL))
        ITMPLEN=CSTMPD(CHPATH, 256)


Index: 307-use-canonical-cfortran.dpatch
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/307-use-canonical-cfortran.dpatch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- 307-use-canonical-cfortran.dpatch	14 Dec 2005 16:52:26 -0000	1.2
+++ 307-use-canonical-cfortran.dpatch	11 Apr 2006 22:45:34 -0000	1.3
@@ -7,8 +7,8 @@
 
 @DPATCH@
 diff -urNad cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.doc cernlib-2005.05.09.dfsg/src/cfortran/cfortran.doc
---- cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.doc	1998-12-11 17:17:09.000000000 +0000
-+++ cernlib-2005.05.09.dfsg/src/cfortran/cfortran.doc	2005-12-09 18:01:09.000000000 +0000
+--- cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.doc	1998-12-11 12:17:09.000000000 -0500
++++ cernlib-2005.05.09.dfsg/src/cfortran/cfortran.doc	2005-12-27 11:33:41.183131708 -0500
 @@ -195,13 +195,13 @@
  HP9000> f77 -c cfortex.f
  HP9000> CC -o cfortest cfortest.c cfortex.o -lI77 -lF77 && cfortest
@@ -79,24 +79,25 @@
  - YOU MAY NOT RECEIVE MONEY FOR THE DISTRIBUTION OR FOR ITS MEDIA 
    (E.G. TAPE, DISK, COMPUTER, PAPER.)
 diff -urNad cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.h cernlib-2005.05.09.dfsg/src/cfortran/cfortran.h
---- cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.h	2002-09-11 17:05:51.000000000 +0000
-+++ cernlib-2005.05.09.dfsg/src/cfortran/cfortran.h	2005-12-09 18:01:09.000000000 +0000
+--- cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.h	2002-09-11 13:05:51.000000000 -0400
++++ cernlib-2005.05.09.dfsg/src/cfortran/cfortran.h	2005-12-19 08:29:41.000000000 -0500
 @@ -1,4 +1,4 @@
 -/* cfortran.h  4.4_cernlib2002 */
 +/* cfortran.h  4.4 */
  /* http://www-zeus.desy.de/~burow/cfortran/                   */
  /* Burkhard Burow  burow at desy.de                 1990 - 2002. */
  
-@@ -11,6 +11,35 @@
+@@ -11,6 +11,38 @@
     MODIFYING, COPYING AND DISTRIBUTING THE CFORTRAN.H PACKAGE.
  */
  
 +/* The following modifications were made by the authors of CFITSIO or by me. 
-+ * I've flagged them below with "(CFITSIO)" or "(KMCCARTY)".
++ * They are flagged below with CFITSIO, the author's initials, or KMCCARTY.
 + * PDW = Peter Wilson
 + * DM  = Doug Mink
-+ * LEB = ??
-+ * -- Kevin McCarty, for Debian (11/29/2003) */
++ * LEB = Lee E Brotzman
++ * MR  = Martin Reinecke
++ * -- Kevin McCarty, for Debian (19 Dec. 2005) */
 +
 +/*******
 +   Modifications:
@@ -118,12 +119,14 @@
 +      Dec 2005: If f2cFortran is defined, enforce REAL functions in FORTRAN
 +                returning "double" in C.  This was one of the items on
 +		Burkhard's TODO list. (KMCCARTY)
++      Dec 2005: Modifications to support 8-byte integers. (MR)
++		USE AT YOUR OWN RISK!
 + *******/
 +
  /* 
    Avoid symbols already used by compilers and system *.h:
    __ - OSF1 zukal06 V3.0 347 alpha, cc -c -std1 cfortest.c
-@@ -75,7 +104,8 @@
+@@ -75,7 +107,8 @@
  
  /* Remainder of cfortran.h depends on the Fortran compiler. */
  
@@ -133,7 +136,7 @@
  #define f2cFortran
  #endif
  
-@@ -90,6 +120,27 @@
+@@ -90,6 +123,27 @@
                             Support f2c or f77 with gcc, vcc with f2c. 
                             f77 with vcc works, missing link magic for f77 I/O.*/
  #endif
@@ -161,7 +164,7 @@
  #if defined(__hpux)             /* 921107: Use __hpux instead of __hp9000s300 */
  #define       hpuxFortran       /*         Should also allow hp9000s7/800 use.*/
  #endif
-@@ -131,6 +182,7 @@
+@@ -131,6 +185,7 @@
  #if !(defined(mipsFortran)||defined(DECFortran)||defined(vmsFortran)||defined(CONVEXFortran)||defined(PowerStationFortran)||defined(AbsoftUNIXFortran)||defined(AbsoftProFortran)||defined(SXFortran))
  /* If your compiler barfs on ' #error', replace # with the trigraph for #     */
   #error "cfortran.h:  Can't find your environment among:\
@@ -169,7 +172,7 @@
      - MIPS cc and f77 2.0. (e.g. Silicon Graphics, DECstations, ...)     \
      - IBM AIX XL C and FORTRAN Compiler/6000 Version 01.01.0000.0000     \
      - VAX   VMS CC 3.1 and FORTRAN 5.4.                                  \
-@@ -151,7 +203,8 @@
+@@ -151,7 +206,8 @@
      - NAG f90: Use #define NAGf90Fortran, or cc -DNAGf90Fortran          \
      - Absoft UNIX F77: Use #define AbsoftUNIXFortran or cc -DAbsoftUNIXFortran \
      - Absoft Pro Fortran: Use #define AbsoftProFortran \
@@ -179,7 +182,7 @@
  /* Compiler must throw us out at this point! */
  #endif
  #endif
-@@ -164,7 +217,8 @@
+@@ -164,7 +220,8 @@
  
  /* Throughout cfortran.h we use: UN = Uppercase Name.  LN = Lowercase Name.   */
  
@@ -189,7 +192,7 @@
  #define CFC_(UN,LN)            _(LN,_)      /* Lowercase FORTRAN symbols.     */
  #define orig_fcallsc(UN,LN)    CFC_(UN,LN)
  #else 
-@@ -268,7 +322,8 @@
+@@ -268,7 +325,8 @@
  #endif
  
  #ifndef apolloFortran
@@ -199,7 +202,7 @@
  #define CF_NULL_PROTO
  #else                                         /* HP doesn't understand #elif. */
  /* Without ANSI prototyping, Apollo promotes float functions to double.    */
-@@ -512,7 +567,7 @@
+@@ -512,7 +570,7 @@
                      *( (F).dsc$l_m[0]=(F).dsc$bounds[0].dsc$l_u=(ELEMNO)  ),   \
    (F).dsc$a_a0    =  ( (F).dsc$a_pointer=(C) ) - (F).dsc$w_length          ,(F))
  
@@ -208,8 +211,14 @@
  #define _NUM_ELEMS      -1
  #define _NUM_ELEM_ARG   -2
  #define NUM_ELEMS(A)    A,_NUM_ELEMS
-@@ -540,7 +595,8 @@
+@@ -538,9 +596,14 @@
+   if (i==(unsigned)num_term) break;
+   else strv += elem_len-i;
  }
++if (0) {  /* to prevent not used warnings in gcc (added by ROOT) */
++   c2fstrv(0, 0, 0, 0); f2cstrv(0, 0, 0, 0); kill_trailing(0, 0);
++   vkill_trailing(0, 0, 0, 0); num_elem(0, 0, 0, 0);
++}
  return (int)num;
  }
 -#endif
@@ -218,7 +227,53 @@
  /*-------------------------------------------------------------------------*/
  
  /*           UTILITIES FOR C TO USE STRINGS IN FORTRAN COMMON BLOCKS       */
-@@ -1451,7 +1507,12 @@
+@@ -1318,6 +1381,7 @@
+ #define     INTVVVVVVV_cfTYPE int
+ #define LOGICALVVVVVVV_cfTYPE int
+ #define    LONGVVVVVVV_cfTYPE long
++#define LONGLONGVVVVVVV_cfTYPE long long   /* added by MR December 2005 */
+ #define   SHORTVVVVVVV_cfTYPE short
+ #define          PBYTE_cfTYPE INTEGER_BYTE
+ #define        PDOUBLE_cfTYPE DOUBLE_PRECISION 
+@@ -1325,6 +1389,7 @@
+ #define           PINT_cfTYPE int
+ #define       PLOGICAL_cfTYPE int
+ #define          PLONG_cfTYPE long
++#define      PLONGLONG_cfTYPE long long  /* added by MR December 2005 */
+ #define         PSHORT_cfTYPE short
+ 
+ #define CFARGS0(A,T,V,W,X,Y,Z) _3(T,_cf,A)
+@@ -1342,6 +1407,7 @@
+ #define            INT_cfINT(N,A,B,X,Y,Z)        DOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define        LOGICAL_cfINT(N,A,B,X,Y,Z)        DOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define           LONG_cfINT(N,A,B,X,Y,Z)        DOUBLE_cfINT(N,A,B,X,Y,Z)
++#define       LONGLONG_cfINT(N,A,B,X,Y,Z)        DOUBLE_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
+ #define          SHORT_cfINT(N,A,B,X,Y,Z)        DOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define          PBYTE_cfINT(N,A,B,X,Y,Z)       PDOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define        PDOUBLE_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,PINT,B,X,Y,Z,0)
+@@ -1349,6 +1415,7 @@
+ #define           PINT_cfINT(N,A,B,X,Y,Z)       PDOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define       PLOGICAL_cfINT(N,A,B,X,Y,Z)       PDOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define          PLONG_cfINT(N,A,B,X,Y,Z)       PDOUBLE_cfINT(N,A,B,X,Y,Z)
++#define      PLONGLONG_cfINT(N,A,B,X,Y,Z)       PDOUBLE_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
+ #define         PSHORT_cfINT(N,A,B,X,Y,Z)       PDOUBLE_cfINT(N,A,B,X,Y,Z)
+ #define          BYTEV_cfINT(N,A,B,X,Y,Z)       DOUBLEV_cfINT(N,A,B,X,Y,Z)
+ #define         BYTEVV_cfINT(N,A,B,X,Y,Z)      DOUBLEVV_cfINT(N,A,B,X,Y,Z)
+@@ -1392,6 +1459,13 @@
+ #define      LONGVVVVV_cfINT(N,A,B,X,Y,Z)   DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
+ #define     LONGVVVVVV_cfINT(N,A,B,X,Y,Z)  DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
+ #define    LONGVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
++#define      LONGLONGV_cfINT(N,A,B,X,Y,Z)       DOUBLEV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
++#define     LONGLONGVV_cfINT(N,A,B,X,Y,Z)      DOUBLEVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
++#define    LONGLONGVVV_cfINT(N,A,B,X,Y,Z)     DOUBLEVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
++#define   LONGLONGVVVV_cfINT(N,A,B,X,Y,Z)    DOUBLEVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
++#define  LONGLONGVVVVV_cfINT(N,A,B,X,Y,Z)   DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
++#define LONGLONGVVVVVV_cfINT(N,A,B,X,Y,Z)  DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
++#define LONGLONGVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */
+ #define         SHORTV_cfINT(N,A,B,X,Y,Z)       DOUBLEV_cfINT(N,A,B,X,Y,Z)
+ #define        SHORTVV_cfINT(N,A,B,X,Y,Z)      DOUBLEVV_cfINT(N,A,B,X,Y,Z)
+ #define       SHORTVVV_cfINT(N,A,B,X,Y,Z)     DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
+@@ -1451,7 +1525,12 @@
  #define      BYTE_cfPU(A)   CFextern INTEGER_BYTE      FCALLSC_QUALIFIER A
  #define    DOUBLE_cfPU(A)   CFextern DOUBLE_PRECISION  FCALLSC_QUALIFIER A
  #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
@@ -231,7 +286,80 @@
  #else				   	                   
  #define     FLOAT_cfPU(A)   CFextern FLOATFUNCTIONTYPE FCALLSC_QUALIFIER A
  #endif				   	                   
-@@ -2088,7 +2149,12 @@
+@@ -1589,6 +1668,7 @@
+ #define            INT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define        LOGICAL_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LOGICAL,A,B,C,D,E)
+ #define           LONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
++#define       LONGLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
+ #define          SHORT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define          BYTEV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define         BYTEVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+@@ -1632,6 +1712,13 @@
+ #define      LONGVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define     LONGVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define    LONGVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
++#define      LONGLONGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
++#define     LONGLONGVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
++#define    LONGLONGVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
++#define   LONGLONGVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
++#define  LONGLONGVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
++#define LONGLONGVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
++#define LONGLONGVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
+ #define         SHORTV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define        SHORTVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define       SHORTVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+@@ -1645,6 +1732,7 @@
+ #define           PINT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define       PLOGICAL_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PLOGICAL,A,B,C,D,E)
+ #define          PLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
++#define      PLONGLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */
+ #define         PSHORT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
+ #define         STRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,STRING,A,B,C,D,E)
+ #define        PSTRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PSTRING,A,B,C,D,E)
+@@ -1957,6 +2045,7 @@
+ #define            INT_cfT(M,I,A,B,D) *A
+ #define        LOGICAL_cfT(M,I,A,B,D)  F2CLOGICAL(*A)
+ #define           LONG_cfT(M,I,A,B,D) *A
++#define       LONGLONG_cfT(M,I,A,B,D) *A /* added by MR December 2005 */
+ #define          SHORT_cfT(M,I,A,B,D) *A
+ #define          BYTEV_cfT(M,I,A,B,D)  A
+ #define        DOUBLEV_cfT(M,I,A,B,D)  A
+@@ -1964,6 +2053,7 @@
+ #define           INTV_cfT(M,I,A,B,D)  A
+ #define       LOGICALV_cfT(M,I,A,B,D)  A
+ #define          LONGV_cfT(M,I,A,B,D)  A
++#define      LONGLONGV_cfT(M,I,A,B,D)  A /* added by MR December 2005 */
+ #define         SHORTV_cfT(M,I,A,B,D)  A
+ #define         BYTEVV_cfT(M,I,A,B,D)  (void *)A /* We have to cast to void *,*/
+ #define        BYTEVVV_cfT(M,I,A,B,D)  (void *)A /* since we don't know the   */
+@@ -2001,6 +2091,12 @@
+ #define      LONGVVVVV_cfT(M,I,A,B,D)  (void *)A
+ #define     LONGVVVVVV_cfT(M,I,A,B,D)  (void *)A
+ #define    LONGVVVVVVV_cfT(M,I,A,B,D)  (void *)A
++#define     LONGLONGVV_cfT(M,I,A,B,D)  (void *)A /* added by MR December 2005 */
++#define    LONGLONGVVV_cfT(M,I,A,B,D)  (void *)A /* added by MR December 2005 */
++#define   LONGLONGVVVV_cfT(M,I,A,B,D)  (void *)A /* added by MR December 2005 */
++#define  LONGLONGVVVVV_cfT(M,I,A,B,D)  (void *)A /* added by MR December 2005 */
++#define LONGLONGVVVVVV_cfT(M,I,A,B,D)  (void *)A /* added by MR December 2005 */
++#define LONGLONGVVVVVVV_cfT(M,I,A,B,D)  (void *)A /* added by MR December 2005 */
+ #define        SHORTVV_cfT(M,I,A,B,D)  (void *)A
+ #define       SHORTVVV_cfT(M,I,A,B,D)  (void *)A
+ #define      SHORTVVVV_cfT(M,I,A,B,D)  (void *)A
+@@ -2013,6 +2109,7 @@
+ #define           PINT_cfT(M,I,A,B,D)  A
+ #define       PLOGICAL_cfT(M,I,A,B,D)  ((*A=F2CLOGICAL(*A)),A)
+ #define          PLONG_cfT(M,I,A,B,D)  A
++#define      PLONGLONG_cfT(M,I,A,B,D)  A /* added by MR December 2005 */
+ #define         PSHORT_cfT(M,I,A,B,D)  A
+ #define          PVOID_cfT(M,I,A,B,D)  A
+ #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran)
+@@ -2083,12 +2180,18 @@
+ #define     INT_cfFZ(UN,LN) int   FCALLSC_QUALIFIER fcallsc(UN,LN)(
+ #define LOGICAL_cfFZ(UN,LN) int   FCALLSC_QUALIFIER fcallsc(UN,LN)(
+ #define    LONG_cfFZ(UN,LN) long  FCALLSC_QUALIFIER fcallsc(UN,LN)(
++#define LONGLONG_cfFZ(UN,LN) long long FCALLSC_QUALIFIER fcallsc(UN,LN)( /* added by MR December 2005 */
+ #define   SHORT_cfFZ(UN,LN) short FCALLSC_QUALIFIER fcallsc(UN,LN)(
+ #define    VOID_cfFZ(UN,LN) void  FCALLSC_QUALIFIER fcallsc(UN,LN)(
  #ifndef __CF__KnR
  /* The void is req'd by the Apollo, to make this an ANSI function declaration.
     The Apollo promotes K&R float functions to double. */
@@ -245,7 +373,7 @@
  #ifdef vmsFortran
  #define  STRING_cfFZ(UN,LN) void  FCALLSC_QUALIFIER fcallsc(UN,LN)(fstring *AS
  #else
-@@ -2104,7 +2170,12 @@
+@@ -2104,7 +2207,12 @@
  #endif
  #else
  #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
@@ -258,7 +386,7 @@
  #else
  #define   FLOAT_cfFZ(UN,LN) FLOATFUNCTIONTYPE FCALLSC_QUALIFIER fcallsc(UN,LN)(
  #endif
-@@ -2118,7 +2189,12 @@
+@@ -2118,13 +2226,19 @@
  #define    BYTE_cfF(UN,LN)     BYTE_cfFZ(UN,LN)
  #define  DOUBLE_cfF(UN,LN)   DOUBLE_cfFZ(UN,LN)
  #ifndef __CF_KnR
@@ -271,3 +399,18 @@
  #else
  #define   FLOAT_cfF(UN,LN)    FLOAT_cfFZ(UN,LN)
  #endif
+ #define     INT_cfF(UN,LN)      INT_cfFZ(UN,LN)
+ #define LOGICAL_cfF(UN,LN)  LOGICAL_cfFZ(UN,LN)
+ #define    LONG_cfF(UN,LN)     LONG_cfFZ(UN,LN)
++#define LONGLONG_cfF(UN,LN) LONGLONG_cfFZ(UN,LN) /* added by MR December 2005 */
+ #define   SHORT_cfF(UN,LN)    SHORT_cfFZ(UN,LN)
+ #define    VOID_cfF(UN,LN)     VOID_cfFZ(UN,LN)
+ #define  STRING_cfF(UN,LN)   STRING_cfFZ(UN,LN),
+@@ -2187,6 +2301,7 @@
+ #define LOGICAL_cfI  return C2FLOGICAL(A0);
+ #endif
+ #define    LONG_cfI  return A0;
++#define LONGLONG_cfI  return A0; /* added by MR December 2005 */
+ #define   SHORT_cfI  return A0;
+ #define  STRING_cfI  return   ;
+ #define    VOID_cfI  return   ;


Index: 800-implement-shared-library-rules-in-Imake.dpatch
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/800-implement-shared-library-rules-in-Imake.dpatch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 800-implement-shared-library-rules-in-Imake.dpatch	30 Nov 2005 22:01:01 -0000	1.1
+++ 800-implement-shared-library-rules-in-Imake.dpatch	11 Apr 2006 22:45:34 -0000	1.2
@@ -6,8 +6,8 @@
 
 @DPATCH@
 diff -urNad cernlib-2005.05.09.dfsg~/src/config/Imake.rules cernlib-2005.05.09.dfsg/src/config/Imake.rules
---- cernlib-2005.05.09.dfsg~/src/config/Imake.rules	2005-11-29 17:07:32.035570303 +0000
-+++ cernlib-2005.05.09.dfsg/src/config/Imake.rules	2005-11-29 17:07:40.003888782 +0000
+--- cernlib-2005.05.09.dfsg~/src/config/Imake.rules	2006-01-02 10:42:00.576902424 -0500
++++ cernlib-2005.05.09.dfsg/src/config/Imake.rules	2006-01-02 10:42:08.484202137 -0500
 @@ -904,6 +904,8 @@
   * InstallSharedLibrary - generate rules to install the indicated sharable 
   * Library
@@ -27,7 +27,7 @@
  
  /*
   * InstallLinkKitLibrary - rule to install Link Kit library.
-@@ -1963,6 +1966,15 @@
+@@ -1967,6 +1970,15 @@
  #endif /* InstallSubdirs */
  
  /*
@@ -43,7 +43,7 @@
   * InstallBinSubdirs - generate rules to recursively install programs and
   *		       scripts
   */
-@@ -2341,9 +2353,12 @@
+@@ -2354,9 +2366,12 @@
   */
  #ifndef DefinePackageLibrary
  #define DefinePackageLibrary(locallib) \
@@ -57,8 +57,8 @@
  override PACKAGE_LIB:= LibraryTargetName(locallib) $(PACKAGE_LIB)	@@\
  									@@\
 diff -urNad cernlib-2005.05.09.dfsg~/src/config/biglib.rules cernlib-2005.05.09.dfsg/src/config/biglib.rules
---- cernlib-2005.05.09.dfsg~/src/config/biglib.rules	2000-04-19 10:51:01.000000000 +0000
-+++ cernlib-2005.05.09.dfsg/src/config/biglib.rules	2005-11-29 17:09:29.336812562 +0000
+--- cernlib-2005.05.09.dfsg~/src/config/biglib.rules	2000-04-19 06:51:01.000000000 -0400
++++ cernlib-2005.05.09.dfsg/src/config/biglib.rules	2006-01-02 10:42:08.485201922 -0500
 @@ -227,7 +227,7 @@
  	RanLibrary($@)
  #endif
@@ -120,8 +120,8 @@
  #ifndef SharedLibraryBuild
  #define SharedLibraryBuild(libname,version)				@@\
 diff -urNad cernlib-2005.05.09.dfsg~/src/config/lnxLib.rules cernlib-2005.05.09.dfsg/src/config/lnxLib.rules
---- cernlib-2005.05.09.dfsg~/src/config/lnxLib.rules	1995-12-20 15:26:45.000000000 +0000
-+++ cernlib-2005.05.09.dfsg/src/config/lnxLib.rules	2005-11-29 17:07:40.004888571 +0000
+--- cernlib-2005.05.09.dfsg~/src/config/lnxLib.rules	1995-12-20 10:26:45.000000000 -0500
++++ cernlib-2005.05.09.dfsg/src/config/lnxLib.rules	2006-01-02 10:42:08.485201922 -0500
 @@ -43,6 +43,9 @@
  #ifndef PositionIndependentCplusplusFlags
  #define PositionIndependentCplusplusFlags -fPIC

cernlib-gfortran.diff:

Index: cernlib-gfortran.diff
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/cernlib-gfortran.diff,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cernlib-gfortran.diff	16 Nov 2005 23:34:07 -0000	1.1
+++ cernlib-gfortran.diff	11 Apr 2006 22:45:34 -0000	1.2
@@ -1,6 +1,6 @@
---- 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 @@
+--- 2005/src/config/linux.cf-old	2006-03-15 11:32:47.000000000 +0100
++++ 2005/src/config/linux.cf	2006-03-15 11:33:52.000000000 +0100
+@@ -478,7 +478,7 @@
      variable=value							@@\
  endif									@@\
  
@@ -9,16 +9,20 @@
  
  /* 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
+@@ -498,14 +498,13 @@
+ #endif
  
  #define f2cFortran	        YES
--#define FortranCmd		g77
-+#define FortranCmd		gfortran
+-#define FortranCmd		g77 -g
++#define FortranCmd		gfortran -g
  #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
+ #define OptimisedFortranFlags	OptimizedCDebugFlags -funroll-loops
+ /* Remove -fomit-frame-pointer since -O implies it and it inhibits debugging */
+ #ifndef DefaultFCOptions
+-# define DefaultFCOptions	-fno-automatic -fno-second-underscore \
+-				-fugly-complex
++# define DefaultFCOptions	-fno-automatic -fno-second-underscore
+ #endif
+ #define CernlibSystem	        CernlibDefaultDefines CernlibMachineDefines \
+ 				CernlibLocalDefines


Index: cernlib.spec
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/cernlib.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- cernlib.spec	16 Feb 2006 22:00:29 -0000	1.19
+++ cernlib.spec	11 Apr 2006 22:45:34 -0000	1.20
@@ -1,6 +1,6 @@
 Name:          cernlib
 Version:       2005
-Release:       13%{?dist}
+Release:       14%{?dist}
 Summary:       General purpose CERN library and associated binaries
 Group:         Development/Libraries
 # As explained in the cernlib on debian FAQ, cfortran can be considered LGPL.
@@ -18,6 +18,8 @@
 #BuildRequires: xorg-x11-devel lapack-devel blas-devel openmotif-devel 
 # fc devel
 BuildRequires: imake lapack-devel blas-devel openmotif-devel 
+# for patchy build scripts
+BuildRequires: tcsh
 # workaround #173530
 BuildRequires: libXau-devel
 # there are missing f2c intrinsics in gfortran so gfortran cannot be used to
@@ -45,11 +47,12 @@
 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
+# patchy 4 source files, provided by Mattias Ellert
+Source17: patchy.tar.gz
+
 # Shell scripts that go in /etc/profile.d
 Source100: cernlib.sh.in
 Source105: cernlib.csh.in
@@ -67,7 +70,7 @@
 Source201: cernlib-deadpool.txt
 
 # debian patchset
-Patch0: cernlib_2005.05.09.dfsg-3.diff
+Patch0: cernlib_2005.05.09.dfsg-5.diff
 # change file to directory to DATADIR
 Patch1100: cernlib-enforce-FHS.diff
 Patch1: 001-fix-missing-fluka.dpatch
@@ -108,7 +111,7 @@
 Patch210: 210-improve-cfortran-header-files.dpatch
 # split in newer debian patchset
 Patch2110: 211-fix-comis-on-amd64.dpatch
-Patch2111: 211-fix-comis-on-ia64.dpatch
+Patch2111: 211-fix-comis-on-ia64-alpha.dpatch
 Patch300: 300-skip-duplicate-lenocc.dpatch
 # Use another approach, see cernlib-enforce-FHS
 # Patch33: 301-datafiles-comply-with-FHS.dpatch
@@ -135,6 +138,8 @@
 Patch314: 314-permit-using-regcomp-for-re_comp.dpatch
 Patch315: 315-fixes-for-MacOSX.dpatch
 Patch318: 318-additional-gcc-3.4-fixes.dpatch
+# certainly not needed
+Patch319: 319-work-around-imake-segfaults.dpatch
 
 Patch700: 700-remove-kernlib-from-packlib-Imakefile.dpatch
 Patch701: 701-patch-hbook-comis-Imakefiles.dpatch
@@ -190,6 +195,16 @@
 Patch1205: cernlib-gfortran.diff 
 Patch1207: cernlib-v107z0_X_before_string.diff
 
+# patchy 4
+Patch1500: patchy-rceta.patch
+Patch1501: patchy-insecure_tmp_use.diff
+Patch1502: patchy-fcasplit.patch
+Patch1503: patchy-p4comp.patch
+
+# patchy 5 (included in cernlib)
+Patch1504: patchy-case.patch
+Patch1505: patchy-perror.patch
+
 %description
 CERN program library is a large collection of general purpose libraries
 and modules maintained and offered on the CERN. Most of these programs 
@@ -279,6 +294,13 @@
 According to the responsible of the cernlib debian package, some
 of these utilities may have security flaws.
 
+%package -n patchy
+Group: Applications/Archiving
+Summary: The patchy utilities
+
+%description -n patchy
+Utilities for extracting sources from patchy cards and cradles.
+
 
 %prep
 %setup -c 
@@ -295,6 +317,20 @@
 %setup -T -D -a 12
 %setup -T -D -a 14
 %setup -T -D -a 15
+%setup -T -D -a 17
+
+# patch patchy 4 installer fortran generator script
+%patch -P 1500
+%patch -P 1501
+
+# unpack the patchy version 4 sources
+pushd patchy
+        ./rceta.sh
+popd
+
+%patch -P 1502
+%patch -P 1503
+
 
 %patch -p1
 cd %{version}
@@ -355,6 +391,7 @@
 cp src/pawlib/paw/tree/converter.h src/pawlib/paw/paw/
 
 %patch -P 318 -p1
+%patch -P 319 -p1
 
 # move kernlib out of packlib (debian 700-move-kernlib-to-top-level.sh.dpatch)
 mv src/packlib/kernlib src/kernlib
@@ -458,13 +495,15 @@
 %patch -P 805 -p1
 %patch -P 806 -p1
 
+%patch -P 1504 -p1
+%patch -P 1505 -p1
 
 %patch -P 1200
 %patch -P 1201
 %patch -P 1203
 %patch -P 1204
 # use gfortran
-#%patch -P 1205
+#%patch -P 1205 -p1
 # workaround gfortran bug
 %patch -P 1207
 
@@ -518,7 +557,8 @@
 
 # substitude the right defaults in the scripts
 sed -i -e 's:"/cern":"%{_libdir}/cernlib/":' -e 's:"pro":"%{version}":' \
-	src/scripts/paw src/scripts/cernlib src/graflib/dzdoc/dzedit/dzedit.script
+	src/scripts/paw src/scripts/cernlib src/graflib/dzdoc/dzedit/dzedit.script \
+	../patchy/ylist ../patchy/yindex
 
 # substitute version in gxint with the right version
 # substitute includedir in gxint to conform to FHS, and gxint.o to gxint.f
@@ -528,6 +568,9 @@
 sed -i -e 's:DATADIR:%{_datadir}/cernlib/%{version}:' \
   src/geant321/miface/gmorin.F src/mclibs/cojets/test/test.F src/mclibs/eurodec/eurodec/eufiles.inc src/mclibs/isajet/test/isajett.F
 
+# substitute bindir in ylist and yindex to conform to FHS
+sed -i -e 's:\$CERN/patchy/\$PATCHY_VERSION/bin:%{_bindir}:' ../patchy/ylist ../patchy/yindex
+
 # Create the build directory structure
 mkdir -p build bin lib shlib
 
@@ -546,6 +589,16 @@
 cp %{SOURCE104} bin/
 chmod a+x bin/mkdirhier
 
+PATHSAVE=$PATH
+# Build patchy version 4
+pushd ../patchy
+#        export PATH="$CERN/patchy:$CERN/patchy/p4sub:$PATH" 
+        export PATH=".:..:$PATH" 
+        p4boot.sh 0
+popd
+find ../patchy -name y* -a -perm -755 -exec install {} bin ';'
+export PATH=$PATHSAVE
+
 # Create the top level Makefile with imake
 
 cd $CERN_ROOT/build
@@ -556,6 +609,7 @@
 # Install kuipc and the scripts (cernlib, paw and gxint) in $CERN_ROOT/bin
 
 make %{?_smp_mflags} bin/kuipc
+make patchy/Makefile
 make scripts/Makefile
 cd scripts
 make install.bin
@@ -576,6 +630,10 @@
 cd $CERN_ROOT/build/packlib
 make %{?_smp_mflags} install.bin
 
+# Build patchy
+cd $CERN_ROOT/build/patchy
+make %{?_smp_mflags} install.bin
+
 %install
 
 rm -rf $RPM_BUILD_ROOT
@@ -610,7 +668,6 @@
 # to preserve symlinks
 (cd lib && tar cf - *.a) | (cd $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib && tar xf -)
 (cd shlib && tar cf - *.so*) | (cd $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib && tar xf -)
-#(cd src/include && tar cf - *) | (cd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} && tar xf -)
 
 rm -f $RPM_BUILD_ROOT%{_bindir}/mkdirhier
 
@@ -711,7 +768,39 @@
 %{_bindir}/zftp
 %doc debian/debhelper/zftp.README.debian
 
+%files -n patchy
+%defattr(-,root,root,-)
+%{_bindir}/fcasplit
+%{_bindir}/nycheck
+%{_bindir}/nydiff
+%{_bindir}/nyindex
+%{_bindir}/nylist
+%{_bindir}/nymerge
+%{_bindir}/nypatchy
+%{_bindir}/nyshell
+%{_bindir}/nysynopt
+%{_bindir}/nytidy
+%{_bindir}/ycompar
+%{_bindir}/yedit
+%{_bindir}/yexpand
+%{_bindir}/yfrceta
+%{_bindir}/yindex
+%{_bindir}/yindexb
+%{_bindir}/ylist
+%{_bindir}/ylistb
+%{_bindir}/ypatchy
+%{_bindir}/ysearch
+%{_bindir}/yshift
+%{_bindir}/ytobcd
+%{_bindir}/ytobin
+%{_bindir}/ytoceta
+
+
 %changelog
+* Tue Apr 11 2006 Patrice Dumas <dumas at centre-cired.fr> - 2005-14
+- add patchy version 4 and build cernlib patchy. From Mattias Ellert.
+- update to newer debian patchset
+
 * Thu Feb 16 2006 Patrice Dumas <dumas at centre-cired.fr> - 2005-13
 - rebuild for fc5
 


Index: paw.README
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/paw.README,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- paw.README	14 Dec 2005 16:52:26 -0000	1.3
+++ paw.README	11 Apr 2006 22:45:34 -0000	1.4
@@ -41,6 +41,11 @@
 
 to the beginning of them.
 
+5) Shared libs
+
+PAW is linked dynamically, therefore the pawlib used is selected by the
+/etc/ld.so.conf or $LD_LIBRARY_PATH settings.
+
 -- Kevin McCarty <kmccarty at debian.org>, Tue, 22 Nov 2005
 
 Adapted to the rpm package by 


--- 211-fix-comis-on-ia64.dpatch DELETED ---


--- cernlib_2005.05.09.dfsg-3.diff DELETED ---




More information about the fedora-extras-commits mailing list