Archive files

The actual software and associated materials for a package are stored in archive files. GIMZIP creates an archive file for each input data set or file specified by a <FILEDEF> tag. An archive file consists of a portable image of the original data set or file and attributes of the original data set or file needed to reload the data from the portable image.

The attributes of the original data set or file are recorded in a file attribute file in the UNIX file system called GIMFAF.XML. For data sets, the portable image of the original data set is stored temporarily as a file in the UNIX file system (this step is not required for UNIX files and directories). The name of this temporary file is the type attribute value for the archive (SMPPTFIN, SMPHOLD, SMPRELF) or the name MVSFILE if the archive has no type attribute specified. An archive file is then created by using the UNIX System Services pax command to combine the GIMFAF.XML file and the original data into an archive. Although a UNIX file is not first stored as a temporary file with a name matching its type attribute value, its name within the archive will be its type attribute value, or the name MVSFILE, if the archive has no type attribute specified. The GIMUNZIP service routine and the RECEIVE command both expect an archive file to contain the GIMFAF.XML component file, and the following, depending on the original content:
For data sets:
a file named SMPPTFIN, SMPHOLD, SMPRELF, or MVSFILE
For UNIX files:
a file named SMPPTFIN, SMPHOLD, or MVSFILE
For UNIX directories:
the directory and its contents are stored in the archive using the original names.

Data sets and files with a type of README are an exception to the previously described archive processing. README data sets and files have no file attribute file and are not archived using pax, but rather are stored unchanged in a file in the package directory. Likewise, README data sets and files are not subject to archive segmentation.

The absolute names for archive and README files in the package directory use the following format:
/package_directory/subdir/Snnnn.original__name.pax.Z
The absolute names for archive segment files in the package directory use the following format:
/package_directory/subdir/date_timeofday.nofm
package_directory
indicates the package directory specified on the SMPDIR DD statement.
subdir
indicates the subdirectory into which the archive file is stored. GIMZIP creates this subdirectory based on the filetype or the subdir attributes specified on the <FILEDEF> tag for the data set. If neither attribute is specified, then no subdirectory is used. If the file type is README, the subdirectory is created only if the subdir attribute has been specified.
Snnnn
specifies the sequence indicator for the archive file. The sequence indicator is necessary so the correct order can be determined for the SMPHOLD and SMPPTFIN files when eventually processed by the SMP/E RECEIVE command. GIMZIP processes the input data sets or files in the sequence in which they are specified in the package control tags and the indicator is assigned accordingly. All archive files, except those specified with a file type of SMPRELF, are assigned a sequence indicator. If the file type is README and an archid tag was specified, then no sequence number will be assigned.
original_name
specifies the original name of the data set, file, or directory, as indicated on the <FILEDEF> tag. This could also be the archid for UNIX directories and README data sets or files, or the date and time for UNIX directories, if the archid is not specified.
pax.Z
is the file extension for all archive files, except those with a file type of README. The pax.Z extension indicates a file that has been processed by the UNIX System Services pax command with the compress option.
date_timeofday
the date and time of day value, unique for each archive, but the same for each segment file of a particular archive.
n
segment number
m
the total number of segments for the archive.