The releases of share packages are independent of releases of GAP. Therefore share packages should be wrapped up in separate files that can be installed onto any version of GAP. Similarly a share package can be upgraded any time without the need to wait for new releases of GAP.
Because it is independent of the version of GAP a share package should be
archived from the GAP pkg directory, that is all files are archived with
the path starting the package's name.
The archive of a share package should contain all files necessary for the
share package to work. This includes a manual.six file in the
documentation subdirectory which is created by TeXing the documentation.
If the package provides a substantial amount of code,
especially if it is intended to be loaded automatically, create a completion
file (see Package Completion) and include it with the package.
We use the ZOO archiver to provide GAP archives and we ask you to
use this format for your share packages. If zoo is not installed on your
system, you can get source code for example at
ftp://ftp.tex.ac.uk/pub/archive/tools/zoo
ZOO by itself archives all files as binary files. This may lead to minor
problems when viewing files on DOS or Macintosh systems, which use a
different textfile format (CRLF versus LF). To overcome such problems we use
the following mechanism for the GAP archive files, which is supported by
the unzoo we are providing (but is unfortunately not part of the standard
ZOO format):
All files are archived as Unix versions. (If you are using a Windows PC or a Macintosh the easiest way to achieve this is to ftp the files in text mode to a Unix machine and do the archiving there.)
In ZOO one can add comments to files. Whenever a file gets a comment
!TEXT! this file will be considered as text (respectively one can enforce
binary mode by a !BINARY comment) and unzoo will extract it accordingly,
adding a CR on non-Unix systems.
If you are using the standard UNIX version of zoo the command
zoo c archive.zoo filenamewill prompt you for a comment to add to the file filename in the archive
archive.zoo. You will enter for example
!TEXT! /END
Normally, all files of a share package except dvi files or special binary
files are text files.
If you are unsure about the format, you can use the ``list'' feature of
ZOO on an existing package (for example XGAP) to see all files with
comments:
zoo lc xgap.zoo
GAP 4 manual