pkgmk(1)




NAME

     pkgmk - produce an installable package


SYNOPSIS

     pkgmk  [-o]  [-a arch]  [-b base_src_dir]   [-d device]   [-
     f prototype]   [-l limit]   [-p pstamp]   [-r root_path]  [-
     v version] [variable=value...] [pkginst]


DESCRIPTION

     The pkgmk utility produces an installable package to be used
     as  input  to  the  pkgadd(1M) command. The package contents
     will be in directory structure format.

     The command uses the package prototype(4) file as input  and
     creates a pkgmap(4) file. The contents for each entry in the
     prototype file is copied to the appropriate output location.
     Information  concerning  the  contents (checksum, file size,
     modification date) is computed  and  stored  in  the  pkgmap
     file, along with attribute information specified in the pro-
     totype file.

     pkgmk searches for the files listed in the prototype(4) file
     as  described in the following conditions. Note: If a proto-
     type file contains the explicit  location  of  the  file  to
     include  in  the package, then the following search explana-
     tions do not apply.

     1. If neither -b nor -r options are specified, the file name
        component  of  each  file path listed in the prototype(4)
        file is expected to be found in the same directory as the
        prototype(4) file

     2. If -b is specified as a relative path (without a  leading
        "/"), then base_src_dir is prepended to the relative file
        paths from the prototype(4) file. The resulting  path  is
        searched   for   in  the  root_path  directories.   If  a
        root_path is not specified, it defaults to "/".

     3. If -b is specified as an absolute path  (with  a  leading
        "/"),  then  base_src_dir  is  prepended  to the relative
        paths from the prototype(4) file and the  result  is  the
        location of the file. root_path is not searched.

     4. If -r is specified, then full file paths  are  used  from
        the  prototype(4)  file. Relative paths have base_src_dir
        prepended. If base_src_dir is not specified, it  defaults
        to "".  The resulting path is searched for in each direc-
        tory of the root_path.

     If  you  created  your  prototype   file   using   "pkgproto
     a/relative/path" or "pkgproto a/relative/path=install/path",
     then you should use the -r root_path option to  specify  the
     location  of  a/relative/path  so  that  pkgmk can correctly
     locate your source files.


OPTIONS

     The following options are supported:

     -a arch
           Overrides the architecture information provided in the
           pkginfo(4) file with arch.

     -b base_src_dir
           Prepends the indicated base_src_dir to locate relocat-
           able objects on the source machine. Use this option to
           search for all objects in the  prototype  file.  pkgmk
           expects  to  find  the  objects in /base_src_dir or to
           locate the objects by use of the -b  and  -r  options,
           respectively.

     -d device
           Creates the package on device. device can be an  abso-
           lute  directory  pathname  or  the  identifiers  for a
           floppy  disk   or   removable   disk   (for   example,
           /dev/diskette). The default device is the installation
           spool directory (/var/spool/pkg).

     -f prototype
           Uses the file prototype as input to the  command.  The
           default prototype filename is [Pp]rototype.

     -l limit
           Specifies the maximum size in 512 byte blocks  of  the
           output device as limit. By default, if the output file
           is a directory  or  a  mountable  device,  pkgmk  will
           employ the df(1M) command to dynamically calculate the
           amount of available space on the output  device.  This
           option  is  useful  in conjunction with pkgtrans(1) to
           create a package with a datastream format.

     -o    Overwrites the same instance; package instance will be
           overwritten if it already exists.

     -p pstamp
           Overrides  the  production  stamp  definition  in  the
           pkginfo(4) file with pstamp.

     -r root_path
           Uses the indicated root_path with the source  pathname
           appended  to  locate  objects  on  the source machine,
           using a comma (,) as the separator for the  path  ele-
           ments.  If this option is specified, look for the full
           destination path in each of the directories specified.
           If  neither  -b nor -r is specified, look for the leaf
           filename in the current directory.

     -v version
           Overrides the  version  information  provided  in  the
           pkginfo(4) file with version.

     variable=value
           Places  the  indicated  variable  in   the   packaging
           environment.  (See  prototype(4)  for  definitions  of
           variable specifications.)


OPERANDS

     The following operand is supported:

     pkginst
           A package designation by its instance. An instance can
           be  the  package  abbreviation  or a specific instance
           (for example, inst.1 or inst.2). All  instances  of  a
           package can be requested by inst.*. The asterisk char-
           acter (*) is a special character to  some  shells  and
           may  need  to  be escaped. In the C-Shell, "*" must be
           surrounded by single  quotes  (')  or  preceded  by  a
           backslash (\).


EXIT STATUS

     The following exit values are returned:

     0     Successful completion.

     >0    An error occurred.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|


SEE ALSO

     pkgparam(1),  pkgproto(1),  pkgtrans(1),  uname(1),  df(1M),
     pkgadd(1M),   pkginfo(4),  pkgmap(4),  prototype(4),  attri-
     butes(5)

     Application Packaging Developer's Guide


NOTES

     Architecture information is provided  on  the  command  line
     with  the  -a  option  or  in  the  prototype(4) file. If no
     architecture information is supplied, pkgmk uses the  output
     of uname -m (see uname(1)).

     Version information is provided on the command line with the
     -v  option or in the pkginfo(4) file. If no version informa-
     tion is supplied, a default based on  the current date  will
     be provided.

     Command line definitions for both architecture  and  version
     override the prototype(4) definitions.


Man(1) output converted with man2html