[cthon04] add tests.init.sh to generate right tests.init file
diff mbox series

Message ID 20190326025625.4206-1-yin-jianhong@163.com
State New
Headers show
Series
  • [cthon04] add tests.init.sh to generate right tests.init file
Related show

Commit Message

Jianhong.Yin March 26, 2019, 2:56 a.m. UTC
recently nfsometer->cthon04 tests always fail on RHEL-8 and Fedora

before, tests.init is used as both shell script and Makefile
it's hard to dynamic config to compile successfully on both RHEL-7
and RHEL-8.

so I think introduce a generater to get right tests.init is better

Signed-off-by: Jianhong Yin <jiyin@redhat.com>
---
based on git://git.linux-nfs.org/projects/steved/cthon04.git
test pass on RHEL-8 RHEL-7 RHEL-6 RHEL-5 and RHEL-4

 .gitignore                    |   1 +
 Makefile                      |   8 +-
 README                        |   3 +
 tests.init => tests.init.orig |   0
 tests.init.sh                 | 390 ++++++++++++++++++++++++++++++++++
 5 files changed, 401 insertions(+), 1 deletion(-)
 rename tests.init => tests.init.orig (100%)
 create mode 100755 tests.init.sh

Comments

Steve Dickson March 28, 2019, 4 p.m. UTC | #1
On 3/25/19 10:56 PM, Jianhong.Yin wrote:
> recently nfsometer->cthon04 tests always fail on RHEL-8 and Fedora
> 
> before, tests.init is used as both shell script and Makefile
> it's hard to dynamic config to compile successfully on both RHEL-7
> and RHEL-8.
> 
> so I think introduce a generater to get right tests.init is better
> 
> Signed-off-by: Jianhong Yin <jiyin@redhat.com>
Committed... 

steved.
> ---
> based on git://git.linux-nfs.org/projects/steved/cthon04.git
> test pass on RHEL-8 RHEL-7 RHEL-6 RHEL-5 and RHEL-4
> 
>  .gitignore                    |   1 +
>  Makefile                      |   8 +-
>  README                        |   3 +
>  tests.init => tests.init.orig |   0
>  tests.init.sh                 | 390 ++++++++++++++++++++++++++++++++++
>  5 files changed, 401 insertions(+), 1 deletion(-)
>  rename tests.init => tests.init.orig (100%)
>  create mode 100755 tests.init.sh
> 
> diff --git a/.gitignore b/.gitignore
> index 0956596..67f57f3 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,4 +1,5 @@
>  */*.o
> +tests.init
>  basic/test1
>  basic/test2
>  basic/test3
> diff --git a/Makefile b/Makefile
> index 05859bb..9fd76d9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -7,12 +7,14 @@
>  # 'make dist DESTDIR=path'	copies sources to path
>  # 'make tar DESTDIR=path'       runs make dist and then packs the directory 
>  # 'make rpm DESTDIR=path'       runs make tar and runs rpmbuild -ta on it 
> -	
>  
>  DESTDIR=/no/such/path
>  COPYFILES=runtests tests.init server domount.c README READWIN.txt Testitems \
>  	getopt.c tests.h unixdos.h cthon04.spec
>  
> +# generate tests.init file
> +$(shell ./tests.init.sh)
> +
>  include tests.init
>  
>  all: domount getopt
> @@ -73,3 +75,7 @@ rpm: tar
>  mknewdirs:
>  	-mkdir $(DESTDIR)/basic $(DESTDIR)/general $(DESTDIR)/special \
>  	       $(DESTDIR)/tools $(DESTDIR)/lock
> +
> +.PHONY: tests.init
> +tests.init:
> +	sh ./tests.init.sh
> diff --git a/README b/README
> index 28367fa..3e20792 100644
> --- a/README
> +++ b/README
> @@ -540,6 +540,9 @@ None were found.
>  See READWIN.txt for information about running the tests under DOS or
>  Windows.
>  
> +Changes for 2019 include the following:
> +
> +1. Add tests.init.sh to generate tests.init file.
>  
>  Changes for 2004 include the following:
>  
> diff --git a/tests.init b/tests.init.orig
> similarity index 100%
> rename from tests.init
> rename to tests.init.orig
> diff --git a/tests.init.sh b/tests.init.sh
> new file mode 100755
> index 0000000..a8a856c
> --- /dev/null
> +++ b/tests.init.sh
> @@ -0,0 +1,390 @@
> +#!/bin/sh
> +
> +OS=${1:-Linux}
> +FSTYPE=$${2:-nfs}
> +Initfile=tests.init
> +
> +cat <<\EOF >$Initfile
> +#
> +#       @(#)tests.init	1.26 2003/12/30 Connectathon testsuite
> +#
> +MNTOPTIONS="rw,hard,intr"
> +# Dummy MNTPOINT definition; should get overriden by server script.
> +MNTPOINT="/mnt"
> +
> +SERVER=""
> +SERVPATH="/server"
> +TEST="-a"
> +TESTARG="-t"
> +
> +EOF
> +
> +# set MOUNTCMD and UMOUNTCMD
> +echo "# set MOUNTCMD and UMOUNTCMD" >>$Initfile
> +case $OS in
> +SVR3)
> +cat <<\EOF >>$Initfile
> +# Use this mount command if using:
> +#	SVR3
> +MOUNTCMD='./domount -f NFS,$MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
> +EOF
> +;;
> +SVR4|Solaris2.x)
> +cat <<\EOF >>$Initfile
> +# Use this mount command if using:
> +#	SVR4
> +#	Solaris 2.x
> +MOUNTCMD='./domount -F nfs -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
> +CFSMOUNTCMD='./domount -F cachefs -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
> +EOF
> +;;
> +BSD|SunOS4.x|Tru64UNIX|HPUX|Linux|AIX|MacOSX)
> +cat <<\EOF >>$Initfile
> +# Use this mount command if using:
> +#	BSD
> +#	SunOS 4.X
> +#	Tru64 UNIX
> +#	HPUX
> +#	Linux
> +#	AIX
> +#	Mac OS X
> +# At least some BSD systems don't recognize "hard" (since that's the
> +# default), so you might also want to use this definition of MNTOPTIONS.
> +MNTOPTIONS="rw,intr"
> +MOUNTCMD='./domount -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
> +EOF
> +;;
> +DG/UX)
> +cat <<\EOF >>$Initfile
> +# Use this mount command if using:
> +#	DG/UX
> +MOUNTCMD='./domount -t nfs -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
> +EOF
> +;;
> +esac
> +
> +if test $FSTYPE = cifs; then
> +	cat <<\EOF >>$Initfile
> +# Use this mount command if using:
> +#	SMB/CIFS
> +MOUNTCMD='./domount -t cifs -o $MNTOPTIONS //$SERVER/$SERVPATH $MNTPOINT'
> +EOF
> +fi
> +cat <<\EOF >>$Initfile
> +UMOUNTCMD='./domount -u $MNTPOINT'
> +
> +EOF
> +
> +# set DASHN and BLC
> +echo "# set DASHN and BLC" >>$Initfile
> +case $OS in
> +SVR3|SVR4|Solaris2.x|HPUX)
> +cat <<\EOF >>$Initfile
> +# Use the next two lines if using:
> +#	SVR3
> +#	SVR4
> +#	Solaris 2.x
> +#	HPUX
> +DASHN=
> +BLC=\\c
> +EOF
> +;;
> +BSD|SunOS4.x|Linux|Tru64UNIX|MacOSX)
> +cat <<\EOF >>$Initfile
> +# Use the next two lines if using:
> +#	BSD
> +#	SunOS 4.X
> +#	Linux
> +#	Tru64 UNIX
> +#	Mac OS X
> +DASHN=-n
> +BLC=
> +EOF
> +;;
> +esac
> +
> +# set PATH
> +echo >>$Initfile
> +echo -e "# set PATH" >>$Initfile
> +case $OS in
> +Solaris2.x)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	Solaris 2.x
> +PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/sbin:/bin:/usr/bin:/usr/ucb:/etc:.
> +
> +# Use this path for:
> +#	Solaris 2.x with GCC
> +#PATH=/opt/gnu/bin:/usr/ccs/bin:/sbin:/bin:/usr/bin:/usr/ucb:/etc:.
> +
> +EOF
> +;;
> +
> +HPUX)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	HPUX
> +PATH=/bin:/usr/bin:/etc:/usr/etc:/usr/local/bin:/usr/contrib/bin:.
> +
> +EOF
> +;;
> +
> +BSD|SunOS4.x)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	BSD
> +#	SunOS 4.X
> +PATH=/bin:/usr/bin:/usr/ucb:/etc:/usr/etc:.
> +
> +EOF
> +;;
> +
> +Tru64UNIX|SVR4|Linux)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	Tru64 UNIX
> +#	SVR4
> +#	Linux
> +PATH=/bin:/usr/bin:/usr/ucb:/usr/ccs/bin:/sbin:/usr/sbin:.
> +
> +EOF
> +;;
> +
> +DG/UX)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	DG/UX
> +PATH=/bin:/usr/bin:/usr/ucb:/etc:/usr/etc:.
> +
> +EOF
> +;;
> +
> +IRIX)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	IRIX
> +PATH=/bin:/usr/bin:/usr/bsd:/etc:/usr/etc:.
> +
> +EOF
> +;;
> +
> +AIX)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	AIX
> +PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
> +
> +EOF
> +;;
> +
> +MacOSX)
> +cat <<\EOF >>$Initfile
> +# Use this path for:
> +#	Mac OS X
> +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:.
> +EOF
> +;;
> +esac
> +
> +#===============================================================================
> +
> +cat <<\EOF >>$Initfile
> +# -----------------------------------------------
> +# Defines for various variables used in scripts and makefiles.
> +#
> +# Do not remove the following three lines.  They may be overridden by
> +# other configuration parameters lower in this file, but these three
> +# variables must be defined.
> +CC=cc
> +CFLAGS=
> +LIBS=
> +LOCKTESTS=tlock
> +EOF
> +
> +case $OS in
> +SVR3)
> +cat <<\EOF >>$Initfile
> +# Use with SVR3 systems.
> +# Add -TR2 to CFLAGS for use on Amdahl UTS systems.
> +CFLAGS=-DSVR3
> +LIBS=`echo -lrpc -lsocket`
> +EOF
> +;;
> +
> +BSD)
> +cat <<\EOF >>$Initfile
> +# Use with BSD systems.
> +CC=gcc
> +CFLAGS=`echo -Duse_directs -DBSD`
> +MOUNT=/sbin/mount
> +UMOUNT=/sbin/umount
> +EOF
> +;;
> +
> +SVR4)
> +cat <<\EOF >>$Initfile
> +# Use with SVR4 systems.
> +CFLAGS=-DSVR4
> +LIBS=`echo -lsocket -lnsl`
> +EOF
> +;;
> +
> +SunOS4.x)
> +cat <<\EOF >>$Initfile
> +# Use with SunOS 4.X systems
> +CC=/usr/5bin/cc
> +CFLAGS=`echo -DSUNOS4X -DNEED_STRERROR`
> +EOF
> +;;
> +
> +Solaris2.x)
> +cat <<\EOF >>$Initfile
> +# Use with Solaris 2.x systems.  Need the 5.0 C compiler (or later)
> +# for 64-bit mode.
> +#CC=/opt/SUNWspro/bin/cc
> +# Use this with GCC
> +#CC=/opt/gnu/bin/gcc
> +# Use this through Solaris 2.6.  For Solaris 2.7 and later, use
> +# this for 32-bit mode applications.
> +#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG`
> +# Use this with gcc (32-bit binaries):
> +#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG -mcpu=ultrasparc`
> +# For Solaris 2.7 and later, use this for 64-bit mode applications
> +# (Sun compiler).
> +#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG -xO0 -xarch=v9 -dalign -Xt -L/usr/lib/sparcv9`
> +# Use this to make 64-bit binaries with gcc (3.1 or later; untested): 
> +#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG -m64`
> +LIBS=`echo -lsocket -lnsl`
> +# Use this through Solaris 2.5.1.
> +#LOCKTESTS=`echo tlock`
> +# Use with 2.6 and later systems, 32-bit mode.
> +LOCKTESTS=`echo tlocklfs tlock64`
> +# Use with 2.7 and later, 64-bit mode.
> +#LOCKTESTS=`echo tlocklfs`
> +EOF
> +;;
> +
> +Tru64UNIX)
> +cat <<\EOF >>$Initfile
> +# Use with Tru64 UNIX systems
> +#CFLAGS=`echo -O -DTRU64 -DOSF1 -DMMAP -DSTDARG`
> +# use the following instead of the above if using gcc
> +#CFLAGS=`echo -O -DTRU64 -DOSF1 -DMMAP -DSTDARG -fwritable-strings`
> +# 64-bit binaries with gcc (3.1 or later; untested):
> +#CFLAGS=`echo -O -DTRU64 -DOSF1 -DMMAP -DSTDARG -fwritable-strings -m64`
> +#MOUNT=/sbin/mount
> +#UMOUNT=/sbin/umount
> +EOF
> +;;
> +
> +HPUX10B)
> +cat <<\EOF >>$Initfile
> +# Use with HPUX systems, 10.00 and earlier.
> +CFLAGS=-DHPUX
> +CC=/bin/cc
> +RM=/bin/rm
> +MAKE=/bin/make
> +EOF
> +;;
> +
> +HPUX10a)
> +cat <<\EOF >>$Initfile
> +# Use with HPUX 10.01.
> +CFLAGS=`echo -Ae -DHPUX`
> +CC=/opt/ansic/bin/cc
> +RM=/bin/rm
> +MAKE=/usr/bin/make
> +EOF
> +;;
> +
> +HPUX11-32)
> +cat <<\EOF >>$Initfile
> +# Use with HPUX 11.0, 32-bit machines.
> +CFLAGS=`echo -Ae -DHPUX -D_PSTAT64 -D_LARGEFILE64_SOURCE -DPORTMAP`
> +CC=/opt/ansic/bin/cc
> +LIBS=`echo -lnsl`
> +RM=/bin/rm
> +MAKE=/usr/bin/make
> +EOF
> +;;
> +
> +HPUX11-64)
> +cat <<\EOF >>$Initfile
> +# Use with HPUX 11.0, 64-bit machines.
> +CFLAGS=`echo -Ae -DHPUX -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE`
> +CC=/opt/ansic/bin/cc
> +RM=/bin/rm
> +MAKE=/usr/bin/make
> +EOF
> +;;
> +
> +DG/UX)
> +cat <<\EOF >>$Initfile
> +# Use with DG/UX systems.
> +CFLAGS=-DSVR4
> +LIBS=`echo -lsocket -lnsl`
> +EOF
> +;;
> +
> +IRIX)
> +cat <<\EOF >>$Initfile
> +# Use with IRIX systems. Use HAVE_SOCKLEN_T for IRIX >= 6.5.19. 
> +CFLAGS=`echo -g -DHAVE_SOCKLEN_T -DSTDARG -DSVR4 -DIRIX -DMMAP`
> +EOF
> +;;
> +
> +AIX)
> +cat <<\EOF >>$Initfile
> +# Use with AIX.
> +CC=gcc
> +CFLAGS=`echo -DAIX -DSTDARG -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE`
> +LOCKTESTS=`echo tlocklfs`
> +EOF
> +;;
> +
> +MacOSX)
> +cat <<\EOF >>$Initfile
> +# Use with Mac OS X
> +CFLAGS=`echo -DMACOSX -DNATIVE64 -DLARGE_LOCKS`
> +MOUNT=/sbin/mount
> +UMOUNT=/sbin/umount
> +LOCKTESTS=`echo tlock`
> +EOF
> +;;
> +
> +Linux)
> +cat <<\EOF >>$Initfile
> +MOUNT=/bin/mount
> +UMOUNT=/bin/umount
> +LOCKTESTS=`echo tlocklfs tlock64`
> +
> +# Use with Linux if your distro doesn't provide a "cc".
> +CC=gcc
> +
> +# Use with Linux 2.2 / GNU libc 2.0
> +#CFLAGS=`echo -DLINUX -DGLIBC=20 -DMMAP -DSTDARG -fwritable-strings`
> +#LIBS=`echo -lnsl`
> +
> +# Use with Linux 2.4 / GNU libc 2.2
> +#CFLAGS=`echo -DLINUX -DGLIBC=22 -DMMAP -DSTDARG -fwritable-strings`
> +#LIBS=`echo -lnsl`
> +
> +# Use with Linux 2.6 / gcc 4.0
> +CFLAGS=`echo -DLINUX -DHAVE_SOCKLEN_T -DGLIBC=22 -DMMAP -DSTDARG`
> +LIBS=`echo -lnsl`
> +
> +EOF
> +
> +if [ glibc-2.26 = `{ rpm -qf /etc/ld.so.conf; echo glibc-2.26; } | sort | head -n1` ]; then
> +	cat <<\EOF >>$Initfile
> +# Use with Linux glibc > 2.26
> +CFLAGS=`echo -DLINUX -DHAVE_SOCKLEN_T -DGLIBC=22 -DMMAP -DSTDARG`
> +CFLAGS+=`pkg-config --cflags libtirpc`
> +LIBS=`pkg-config --libs libtirpc`
> +EOF
> +fi
> +
> +;;
> +esac
> +
> +
>

Patch
diff mbox series

diff --git a/.gitignore b/.gitignore
index 0956596..67f57f3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@ 
 */*.o
+tests.init
 basic/test1
 basic/test2
 basic/test3
diff --git a/Makefile b/Makefile
index 05859bb..9fd76d9 100644
--- a/Makefile
+++ b/Makefile
@@ -7,12 +7,14 @@ 
 # 'make dist DESTDIR=path'	copies sources to path
 # 'make tar DESTDIR=path'       runs make dist and then packs the directory 
 # 'make rpm DESTDIR=path'       runs make tar and runs rpmbuild -ta on it 
-	
 
 DESTDIR=/no/such/path
 COPYFILES=runtests tests.init server domount.c README READWIN.txt Testitems \
 	getopt.c tests.h unixdos.h cthon04.spec
 
+# generate tests.init file
+$(shell ./tests.init.sh)
+
 include tests.init
 
 all: domount getopt
@@ -73,3 +75,7 @@  rpm: tar
 mknewdirs:
 	-mkdir $(DESTDIR)/basic $(DESTDIR)/general $(DESTDIR)/special \
 	       $(DESTDIR)/tools $(DESTDIR)/lock
+
+.PHONY: tests.init
+tests.init:
+	sh ./tests.init.sh
diff --git a/README b/README
index 28367fa..3e20792 100644
--- a/README
+++ b/README
@@ -540,6 +540,9 @@  None were found.
 See READWIN.txt for information about running the tests under DOS or
 Windows.
 
+Changes for 2019 include the following:
+
+1. Add tests.init.sh to generate tests.init file.
 
 Changes for 2004 include the following:
 
diff --git a/tests.init b/tests.init.orig
similarity index 100%
rename from tests.init
rename to tests.init.orig
diff --git a/tests.init.sh b/tests.init.sh
new file mode 100755
index 0000000..a8a856c
--- /dev/null
+++ b/tests.init.sh
@@ -0,0 +1,390 @@ 
+#!/bin/sh
+
+OS=${1:-Linux}
+FSTYPE=$${2:-nfs}
+Initfile=tests.init
+
+cat <<\EOF >$Initfile
+#
+#       @(#)tests.init	1.26 2003/12/30 Connectathon testsuite
+#
+MNTOPTIONS="rw,hard,intr"
+# Dummy MNTPOINT definition; should get overriden by server script.
+MNTPOINT="/mnt"
+
+SERVER=""
+SERVPATH="/server"
+TEST="-a"
+TESTARG="-t"
+
+EOF
+
+# set MOUNTCMD and UMOUNTCMD
+echo "# set MOUNTCMD and UMOUNTCMD" >>$Initfile
+case $OS in
+SVR3)
+cat <<\EOF >>$Initfile
+# Use this mount command if using:
+#	SVR3
+MOUNTCMD='./domount -f NFS,$MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
+EOF
+;;
+SVR4|Solaris2.x)
+cat <<\EOF >>$Initfile
+# Use this mount command if using:
+#	SVR4
+#	Solaris 2.x
+MOUNTCMD='./domount -F nfs -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
+CFSMOUNTCMD='./domount -F cachefs -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
+EOF
+;;
+BSD|SunOS4.x|Tru64UNIX|HPUX|Linux|AIX|MacOSX)
+cat <<\EOF >>$Initfile
+# Use this mount command if using:
+#	BSD
+#	SunOS 4.X
+#	Tru64 UNIX
+#	HPUX
+#	Linux
+#	AIX
+#	Mac OS X
+# At least some BSD systems don't recognize "hard" (since that's the
+# default), so you might also want to use this definition of MNTOPTIONS.
+MNTOPTIONS="rw,intr"
+MOUNTCMD='./domount -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
+EOF
+;;
+DG/UX)
+cat <<\EOF >>$Initfile
+# Use this mount command if using:
+#	DG/UX
+MOUNTCMD='./domount -t nfs -o $MNTOPTIONS $SERVER\:$SERVPATH $MNTPOINT'
+EOF
+;;
+esac
+
+if test $FSTYPE = cifs; then
+	cat <<\EOF >>$Initfile
+# Use this mount command if using:
+#	SMB/CIFS
+MOUNTCMD='./domount -t cifs -o $MNTOPTIONS //$SERVER/$SERVPATH $MNTPOINT'
+EOF
+fi
+cat <<\EOF >>$Initfile
+UMOUNTCMD='./domount -u $MNTPOINT'
+
+EOF
+
+# set DASHN and BLC
+echo "# set DASHN and BLC" >>$Initfile
+case $OS in
+SVR3|SVR4|Solaris2.x|HPUX)
+cat <<\EOF >>$Initfile
+# Use the next two lines if using:
+#	SVR3
+#	SVR4
+#	Solaris 2.x
+#	HPUX
+DASHN=
+BLC=\\c
+EOF
+;;
+BSD|SunOS4.x|Linux|Tru64UNIX|MacOSX)
+cat <<\EOF >>$Initfile
+# Use the next two lines if using:
+#	BSD
+#	SunOS 4.X
+#	Linux
+#	Tru64 UNIX
+#	Mac OS X
+DASHN=-n
+BLC=
+EOF
+;;
+esac
+
+# set PATH
+echo >>$Initfile
+echo -e "# set PATH" >>$Initfile
+case $OS in
+Solaris2.x)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	Solaris 2.x
+PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/sbin:/bin:/usr/bin:/usr/ucb:/etc:.
+
+# Use this path for:
+#	Solaris 2.x with GCC
+#PATH=/opt/gnu/bin:/usr/ccs/bin:/sbin:/bin:/usr/bin:/usr/ucb:/etc:.
+
+EOF
+;;
+
+HPUX)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	HPUX
+PATH=/bin:/usr/bin:/etc:/usr/etc:/usr/local/bin:/usr/contrib/bin:.
+
+EOF
+;;
+
+BSD|SunOS4.x)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	BSD
+#	SunOS 4.X
+PATH=/bin:/usr/bin:/usr/ucb:/etc:/usr/etc:.
+
+EOF
+;;
+
+Tru64UNIX|SVR4|Linux)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	Tru64 UNIX
+#	SVR4
+#	Linux
+PATH=/bin:/usr/bin:/usr/ucb:/usr/ccs/bin:/sbin:/usr/sbin:.
+
+EOF
+;;
+
+DG/UX)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	DG/UX
+PATH=/bin:/usr/bin:/usr/ucb:/etc:/usr/etc:.
+
+EOF
+;;
+
+IRIX)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	IRIX
+PATH=/bin:/usr/bin:/usr/bsd:/etc:/usr/etc:.
+
+EOF
+;;
+
+AIX)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	AIX
+PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
+
+EOF
+;;
+
+MacOSX)
+cat <<\EOF >>$Initfile
+# Use this path for:
+#	Mac OS X
+PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:.
+EOF
+;;
+esac
+
+#===============================================================================
+
+cat <<\EOF >>$Initfile
+# -----------------------------------------------
+# Defines for various variables used in scripts and makefiles.
+#
+# Do not remove the following three lines.  They may be overridden by
+# other configuration parameters lower in this file, but these three
+# variables must be defined.
+CC=cc
+CFLAGS=
+LIBS=
+LOCKTESTS=tlock
+EOF
+
+case $OS in
+SVR3)
+cat <<\EOF >>$Initfile
+# Use with SVR3 systems.
+# Add -TR2 to CFLAGS for use on Amdahl UTS systems.
+CFLAGS=-DSVR3
+LIBS=`echo -lrpc -lsocket`
+EOF
+;;
+
+BSD)
+cat <<\EOF >>$Initfile
+# Use with BSD systems.
+CC=gcc
+CFLAGS=`echo -Duse_directs -DBSD`
+MOUNT=/sbin/mount
+UMOUNT=/sbin/umount
+EOF
+;;
+
+SVR4)
+cat <<\EOF >>$Initfile
+# Use with SVR4 systems.
+CFLAGS=-DSVR4
+LIBS=`echo -lsocket -lnsl`
+EOF
+;;
+
+SunOS4.x)
+cat <<\EOF >>$Initfile
+# Use with SunOS 4.X systems
+CC=/usr/5bin/cc
+CFLAGS=`echo -DSUNOS4X -DNEED_STRERROR`
+EOF
+;;
+
+Solaris2.x)
+cat <<\EOF >>$Initfile
+# Use with Solaris 2.x systems.  Need the 5.0 C compiler (or later)
+# for 64-bit mode.
+#CC=/opt/SUNWspro/bin/cc
+# Use this with GCC
+#CC=/opt/gnu/bin/gcc
+# Use this through Solaris 2.6.  For Solaris 2.7 and later, use
+# this for 32-bit mode applications.
+#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG`
+# Use this with gcc (32-bit binaries):
+#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG -mcpu=ultrasparc`
+# For Solaris 2.7 and later, use this for 64-bit mode applications
+# (Sun compiler).
+#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG -xO0 -xarch=v9 -dalign -Xt -L/usr/lib/sparcv9`
+# Use this to make 64-bit binaries with gcc (3.1 or later; untested): 
+#CFLAGS=`echo -DSVR4 -DMMAP -DSOLARIS2X -DSTDARG -m64`
+LIBS=`echo -lsocket -lnsl`
+# Use this through Solaris 2.5.1.
+#LOCKTESTS=`echo tlock`
+# Use with 2.6 and later systems, 32-bit mode.
+LOCKTESTS=`echo tlocklfs tlock64`
+# Use with 2.7 and later, 64-bit mode.
+#LOCKTESTS=`echo tlocklfs`
+EOF
+;;
+
+Tru64UNIX)
+cat <<\EOF >>$Initfile
+# Use with Tru64 UNIX systems
+#CFLAGS=`echo -O -DTRU64 -DOSF1 -DMMAP -DSTDARG`
+# use the following instead of the above if using gcc
+#CFLAGS=`echo -O -DTRU64 -DOSF1 -DMMAP -DSTDARG -fwritable-strings`
+# 64-bit binaries with gcc (3.1 or later; untested):
+#CFLAGS=`echo -O -DTRU64 -DOSF1 -DMMAP -DSTDARG -fwritable-strings -m64`
+#MOUNT=/sbin/mount
+#UMOUNT=/sbin/umount
+EOF
+;;
+
+HPUX10B)
+cat <<\EOF >>$Initfile
+# Use with HPUX systems, 10.00 and earlier.
+CFLAGS=-DHPUX
+CC=/bin/cc
+RM=/bin/rm
+MAKE=/bin/make
+EOF
+;;
+
+HPUX10a)
+cat <<\EOF >>$Initfile
+# Use with HPUX 10.01.
+CFLAGS=`echo -Ae -DHPUX`
+CC=/opt/ansic/bin/cc
+RM=/bin/rm
+MAKE=/usr/bin/make
+EOF
+;;
+
+HPUX11-32)
+cat <<\EOF >>$Initfile
+# Use with HPUX 11.0, 32-bit machines.
+CFLAGS=`echo -Ae -DHPUX -D_PSTAT64 -D_LARGEFILE64_SOURCE -DPORTMAP`
+CC=/opt/ansic/bin/cc
+LIBS=`echo -lnsl`
+RM=/bin/rm
+MAKE=/usr/bin/make
+EOF
+;;
+
+HPUX11-64)
+cat <<\EOF >>$Initfile
+# Use with HPUX 11.0, 64-bit machines.
+CFLAGS=`echo -Ae -DHPUX -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE`
+CC=/opt/ansic/bin/cc
+RM=/bin/rm
+MAKE=/usr/bin/make
+EOF
+;;
+
+DG/UX)
+cat <<\EOF >>$Initfile
+# Use with DG/UX systems.
+CFLAGS=-DSVR4
+LIBS=`echo -lsocket -lnsl`
+EOF
+;;
+
+IRIX)
+cat <<\EOF >>$Initfile
+# Use with IRIX systems. Use HAVE_SOCKLEN_T for IRIX >= 6.5.19. 
+CFLAGS=`echo -g -DHAVE_SOCKLEN_T -DSTDARG -DSVR4 -DIRIX -DMMAP`
+EOF
+;;
+
+AIX)
+cat <<\EOF >>$Initfile
+# Use with AIX.
+CC=gcc
+CFLAGS=`echo -DAIX -DSTDARG -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE`
+LOCKTESTS=`echo tlocklfs`
+EOF
+;;
+
+MacOSX)
+cat <<\EOF >>$Initfile
+# Use with Mac OS X
+CFLAGS=`echo -DMACOSX -DNATIVE64 -DLARGE_LOCKS`
+MOUNT=/sbin/mount
+UMOUNT=/sbin/umount
+LOCKTESTS=`echo tlock`
+EOF
+;;
+
+Linux)
+cat <<\EOF >>$Initfile
+MOUNT=/bin/mount
+UMOUNT=/bin/umount
+LOCKTESTS=`echo tlocklfs tlock64`
+
+# Use with Linux if your distro doesn't provide a "cc".
+CC=gcc
+
+# Use with Linux 2.2 / GNU libc 2.0
+#CFLAGS=`echo -DLINUX -DGLIBC=20 -DMMAP -DSTDARG -fwritable-strings`
+#LIBS=`echo -lnsl`
+
+# Use with Linux 2.4 / GNU libc 2.2
+#CFLAGS=`echo -DLINUX -DGLIBC=22 -DMMAP -DSTDARG -fwritable-strings`
+#LIBS=`echo -lnsl`
+
+# Use with Linux 2.6 / gcc 4.0
+CFLAGS=`echo -DLINUX -DHAVE_SOCKLEN_T -DGLIBC=22 -DMMAP -DSTDARG`
+LIBS=`echo -lnsl`
+
+EOF
+
+if [ glibc-2.26 = `{ rpm -qf /etc/ld.so.conf; echo glibc-2.26; } | sort | head -n1` ]; then
+	cat <<\EOF >>$Initfile
+# Use with Linux glibc > 2.26
+CFLAGS=`echo -DLINUX -DHAVE_SOCKLEN_T -DGLIBC=22 -DMMAP -DSTDARG`
+CFLAGS+=`pkg-config --cflags libtirpc`
+LIBS=`pkg-config --libs libtirpc`
+EOF
+fi
+
+;;
+esac
+
+