On 2015-09-10 12:13, Scott Ford wrote:
> All:
>
> I need some help with SMP/E. I need to convert our software to use SMP/E. I
> am not a SMP/E heavy. I have the following;
>
> 1. Linklib
> 2. Proclib
> 3. Parmlib
> 4. JCLLIB ( for install ) , this can be removed , because SMP/E will do it
> 5. Rexx Clistlib
>
> I need a how to build a complete package and then how do I install it. I
> want to use GIMZIP, I think this should work.
>
Ah! This motivates me to put together an SMP/E package/install
boilerplate/cheat-sheet. I'll attach it, and Cc: you directly
because LISTSERV will discard it.
Probably less than half done, but all the steps complete with RC=0.
Uses SYS1.SAMPLIB(ASMASAMP) as a dummy payload and SYS1.SAMPLIB(GIMSAMPU)
to do some of the setup.
It's a here-document in a shell script because that's what I'm most
comfortable with.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
#! /bin/sh
# User modifiable parameters.
: ${MVS_USER=$LOGNAME}
: ${HLQ=$MVS_USER.GIMTEST}
: ${JHOME=/usr/lpp/java/J6.0.1} # Go find one that works.
: ${VOLUME=TSO021} # You probably have to change this.
: ${SMPDIR=/tmp/$MVS_USER/samp.SMPDIR}
: ${UNIT=SYSALLDA}
{ cat <<end-of-job
//
//GIMSAMP JOB 505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//* Doc: Minimal GIMZIP
//*
// EXPORT SYMLIST=*
//*
//USERC OUTPUT JESDS=ALL,DEFAULT=YES,
//* DEST=&SYSNAME..&SYSUID,
// CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//BPX EXEC PGM=BPXBATCH, Delete and re-create SMPDIR.
// PARM='SH set -x; export -p; rm -r \$SMPDIR; mkdir -p \$SMPDIR'
//STDENV DD *
SMPDIR=$SMPDIR
//STDOUT DD SYSOUT=(,)
//STDERR DD SYSOUT=(,)
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//EXTRACT EXEC PGM=IEBCOPY Extract one SRC member from SAMPLIB.
//SYSPRINT DD SYSOUT=(,)
//HANDLE DD DISP=(MOD,CATLG),UNIT=SYSALLDA,SPACE=(CYL,(1,,1)),
// DSORG=PO,DSNTYPE=LIBRARY,
// DSN=$HLQ.GIMSAMP.F1
//OUTPUT DD DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
//INPUT DD DISP=SHR,DSN=SYS1.SAMPLIB
//SYSIN DD *
COPY INDD=INPUT,OUTDD=OUTPUT
SELECT MEMBER=((ASMASAMP,,R))
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//MCS EXEC PGM=IEBGENER Create SMPPTFIN data set.
//SYSPRINT DD SYSOUT=(,)
//SYSIN DD *
//HANDLE DD DISP=(MOD,CATLG),SPACE=(1000,1000),UNIT=SYSALLDA,
// DSN=$HLQ.SMPMCS
//SYSUT2 DD DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
//SYSUT1 DD *
!!! Very incomplete !!!
whatever
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//STEP EXEC PGM=GIMZIP Create GIMZIP archive
//SMPJHOME DD PATH='$JHOME'
//SMPDIR DD PATH='$SMPDIR'
//SMPOUT DD SYSOUT=(,)
//SYSPRINT DD SYSOUT=(,)
//SYSIN DD *
<GIMZIP description="This is the software package for GIMSAMP.
Copyright (c), Whoever. All rights reserved.
Built: $(TZ=GMT0 date)
!!! Very incomplete !!!
" >
<FILEDEF name="$HLQ.SMPMCS"
description="This is the SMPMCS file for GIMTEST."
type="SMPPTFIN"> </FILEDEF>
<!-- ====== Relative files for GIMSAMP ===== -->
<FILEDEF name="$HLQ.GIMSAMP.F1"
description="This is SMP/E RELFILE F1 for GIMSAMP."
type="SMPRELF"> </FILEDEF>
</GIMZIP>
//SYSUT2 DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
//SYSUT3 DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
//SYSUT4 DD UNIT=SYSALLDA,SPACE=(CYL,(25,5))
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//* Edit GIMSAMPU to make executable and create CSIs and Libraries.
//* Manually delete all your $HLQ.**
//* data sets before running again!
$( set -x
cp "//'SYS1.SAMPLIB(GIMSAMPU)'" /dev/fd/1 |
sed "s/ *$//
/^..GIMSAMPU/d
/VOL=SER=&VOLUME/d
s/&VOLUME&/$VOLUME/
# For non-VSAM data sets.
s/SYSALLDA/\&UNIT\&/
# For all data sets.
s/&UNIT&/$UNIT/
s/&HLQ&/$HLQ/
" )
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//*
//* !!! Very incomplete !!!
//* Still need to create and define DLIB and TLIB data sets.
//UPDZONE2 EXEC PGM=GIMSMP ,COND=(0,LT)
//SMPCSI DD DSN=$HLQ.GLOBAL.CSI,DISP=SHR
//SMPLOG DD SYSOUT=*
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SMPLIST DD SYSOUT=*
//SMPPTS DD DSN=$HLQ.SMPPTS,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDARY(GLOBAL).
UCLIN.
ENDUCL.
SET BOUNDARY(TARGET).
UCLIN.
ENDUCL.
SET BOUNDARY(DLIB).
UCLIN.
ENDUCL.
//*
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//
end-of-job
} | /bin/submit
exit $?
:w ! sh
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN