HPUX fpkg[1m]






 fpkg(1M)                                                           fpkg(1M)





 NAME
      fpkg - file packaging utility for use with update(1m)

 SYNOPSIS
      fpkg [-m media_type] [-d destination_directory] [-a archive_file] [-s
      device_size] [-V media_format_version] [-S machine_series] [-c
      comment_string] [-L log_file] [-hvM] Product_Specification_File

      fpkg [-L log_file] [-v] -r media_directory > Product_Specification_File

 DESCRIPTION
      fpkg is used to package a collection of files and produce media in a
      format usable by update (see update(1M)).  The media produced can be
      either tape archive format (see tar(1)) or in a format usable by
      netdistd (see netdistd(1M)).  fpkg cannot be used to make CD-ROM
      media.  When making network media fpkg must be executed by user root
      (super-user) so that file modes can be correctly set under the netdist
      directory.  Making tape media does not require root privileges unless
      source files cannot otherwise can be read.  For tape media, file modes
      are set inside the archive and no special privileges are required.

      fpkg packages files according to the specifications in the user-
      supplied Product_Specification_File (PSF), unless the -r option is
      specified.  With the -r option, fpkg examines the given
      media_directory, and writes a PSF to the standard output.  The PSF
      that is produced can be used as input to a second invocation of fpkg
      in order to repackage media_directory.  media_directory can be a
      netdistd directory, or a mounted CD-ROM (See -r description for
      details).

    Options
      fpkg recognizes the following options:

           -m media_type  Valid media_type is either network or tape.
                          Setting media_type to network causes fpkg to load
                          the package into the destination_directory (-d
                          option) in a format suitable for use by netdistd.
                          Setting media_type to tape causes fpkg to write
                          the package to the specified archive_file (-a
                          option) in tar format which is directly usable by
                          update.  Specifying the -m option is redundant
                          information and not necessary if the -a or -d
                          option has been specified (these options imply the
                          media type).

                          The default media_type is network.

           -d destination_directory
                          Specifies the directory in which fpkg creates the
                          package in a format suitable for use by netdistd.
                          This option implies a media_type (-m option) of



 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                          network.  fpkg must be executed by root (super-
                          user) when making network media.

                          The default destination_directory is /netdist.

           -a archive_file
                          Specifies the output device file (or regular disk
                          file) for fpkg to write the tape archive.  The
                          output device (or file) can then be used directly
                          by update.  The output is also readable by tar
                          (although only the table-of-contents option is of
                          real use).  This option implies a media_type (-m
                          option) of type tape.  An archive_file argument of
                          - causes fpkg to write the resulting archive to
                          standard out.  This can be useful when writing to
                          a device on a remote host (see EXAMPLES).

                          The default archive_file is /dev/rmt/0m.

           -s device_size Specifies the archive_file capacity in Mbytes
                          (where 1 Mbyte = 1024 x 1024 bytes).  Used only if
                          the media_type (-m or -a option) is tape.  The
                          size information is used to determine how much of
                          the package can fit on one tape volume.  This
                          information is necessary when the package spans
                          more than one tape volume.  For some devices fpkg
                          can automatically determine the capacity.  For
                          those devices the default sizes are:

                               Cartridge tape:       63 Mbytes
                               9-track tapes:        40 Mbytes
                               DDS tapes:            1330 Mbytes
                               Regular disk file:    size of free file
                                                     system space.

           -V media_format_version
                          Specifies the format of media produced by fpkg.
                          media_format_version determines which versions of
                          update are able to read the media produced.
                          update is able to read media marked with a
                          media_format_version older than the time of its
                          release, but not newer.  Acceptable values for
                          media_format_version are: A.B7.00, A.B8.00, and
                          A.B8.05.  If media_format_version does not match
                          one of these, it is rounded down to one of the
                          accepted values and a notice message is produced.
                          Only A.B8.05 media fully supports the S700.

                          The default media_format_version is A.B8.00.





 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





           -S machine_series
                          Specifies which series of machines can read the
                          media produced.  Acceptable values are: 300
                          (implies also Series 400), 700, and 800.  For tape
                          media it is possible to allow all series to read
                          the media, in which case the -S option should be
                          omitted and the PSF should not set any
                          architecture specifiers (sys or is keywords or H
                          or M flags to the ff keyword).  For network media,
                          this information is needed because an element of
                          the netdistd directory structure contains the
                          series name.

                          For tape media of version A.B8.05, it is possible
                          to specify a mixture of machines that can load the
                          media.  In this case, multiple -S options can be
                          specified (such as -S700 or -S800).

                          For network media, fpkg uses the -S option to
                          determine which subdirectory (300, 700, or 800)
                          under the destination_directory to place the
                          package.  If multiple -S options are given, fpkg
                          uses the first one found for determining the
                          netdist subdirectory.  Therefore fpkg must be
                          executed multiple times, rearranging the -S
                          options so that the package can be placed in each
                          of the appropriate subdirectories.

                          The default machine_series is ``all series'' for
                          tape media.  For network media it defaults to the
                          machine series that fpkg is executed from.  This
                          default value is overridden if the PSF contains
                          any machine-architecture specifiers (fpkg issues a
                          notice in this case).

           -c comment-string
                          Allows the user to override the default comment
                          string that is placed in the MAIN.pkg file used by
                          netdistd.  The default string is: Fileset packages
                          for use by update(1M).

           -L logfile     Changes the log file from the default:
                          /tmp/fpkg.log, to logfile.  fpkg appends a log of
                          messages, errors, option settings, and other
                          information to this file.

           -h             This option tells fpkg to ignore files that are
                          symbolic links, and to treat the linked-to file as
                          the file to be placed into the package instead of
                          the link.  Without the -h option, fpkg stores the
                          symbolic link as it appears.  update then restores



 Hewlett-Packard Company            - 3 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                          the symbolic link when the media is loaded.

           -v             Sets verbose mode.  fpkg prints information that
                          is normally not necessary.  This is useful for
                          determining what defaults were chosen and for a
                          step-by-step progress report.  Normally fpkg
                          issues some status information, notices, and
                          errors.

           -M             Setting this option allows fpkg to produce media
                          that contains filesets destined for a mixture of
                          architectures.  However, until HP-UX Release 9.0,
                          update refuses to load media that contains
                          filesets with mixed architecture specifiers.
                          Using this option may cause the media to be
                          loadable only by HP-UX Release 9.0 or later
                          systems.  fpkg gives a warning if this is the
                          case.

           -r media_directory
                          Recreates a PSF that can be used in a second
                          invocation of fpkg to repackage the filesets found
                          in media_directory.  This option is used to
                          transfer filesets from either CD-ROM or netdistd
                          media to tape.  media_directory is the path name
                          of a mounted CD-ROM, or that of the architecture
                          level of a netdistd directory (such as
                          /UPDATE_CDROM, /netdist/300, /netdist/800, etc).
                          updist should be used when transferring media to a
                          netdistd directory (see updist(1M)).

                          fpkg skips any filesets on CD-ROM media that are
                          secured (encrypted).  If the -v option is given, a
                          notice is given for each secured fileset skipped.
                          If a secured fileset is to be transferred to the
                          tape media, updist must be used (with a valid
                          codeword) to first transfer the fileset or
                          filesets to a netdistd directory where they are in
                          unencrypted form.  A PSF can then be created from
                          the netdist media and appended to the deficient
                          PSF created from the secured CD-ROM.  If all
                          desired filesets were loaded by updist, the PSF
                          created from the netdistd directory should be
                          complete as-is.  Use appropriate precautions when
                          duplicating any material that may be protected by
                          copyright and/or license agreements.

           -?             Any invalid option causes fpkg to display a
                          general usage message.





 Hewlett-Packard Company            - 4 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





    Product Specification File (PSF) format
      Update media appears as a three-layer hierarchy.  The top layer
      contains partitions.  Under each partition is a collection of
      filesets.  Each fileset contains any number of files.

      The PSF is used to specify the structure of the package and the
      attributes of the files and filesets contained in the package.  It is
      composed of recognized keywords and lists of file names to be included
      in the package (one per line).  Extra white space is ignored.
      Comments are recommended, and consist of a # character followed by
      optional arbitrary text through end-of-line.  In general, the pseudo
      structure of the PSF is:

           Partition name and description
                Fileset name and description
                Fileset attributes
                     Files in fileset
                Another fileset
                Attributes
                     Files in this fileset
           Next Partition name and description
                Next Fileset
                Attributes
                     Files
           etc, etc, ...

    Valid Keywords.
      The PSF is made up of a list of keywords usually followed by an
      argument of some kind.  For example:

           pn OS-CORE

      defines the next partition which is to be named OS-CORE.  The
      following table is a list of recognized keywords.  Most keywords have
      a short (abbreviated) form and an unabbreviated, more readable form;
      the two forms can be used interchangeably:

      tab(;); lB     lB     lB lB lf4p+1 lf4p+1 l  l.  _
      Keyword;Unabbreviated Form;Argument(s);Required?  _
      pn;partition_name;string;Recommended
      pd;partition_description;string;Recommended fn;fileset_name;string;Yes
      fd;fileset_description;string;Recommended
      ff;fileset_flags;characters;No is;instruction_set;instruction-id;No
      sys;system_architecture_type;Series-list;No
      dep;fileset_dependency;string(s);No fv;fileset_version;version-
      string;No ffperm;fileset_file_permission;owner group mode;No
      fdperm;fileset_directory_permission;owner group mode;No
      customize;;filename;No decustomize;;filename;No copyright;;filename;No
      CDFinfo;;filename;No systemfile;;filename;No media_order;;number;No
      media_format;;format-version;No pr;pseudo_root;path[=path];No
      F;Files;*, or none;Yes _



 Hewlett-Packard Company            - 5 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





    Keyword Descriptions.
      The recognized keywords are described below:

      pn | partition_name
                     Example: pn OS-CORE
                     Indicates the partition name to which the filesets that
                     follow this keyword belong.  This keyword must precede
                     the partition description and any fileset specifiers
                     within the partition.  Maximum length is 14 characters;
                     anything beyond 14 is ignored.

      pd | partition_description
                     Example: pd "The base product"
                     Gives the current partition a short description string.
                     Maximum length is 32 characters; anything beyond 32 is
                     ignored.

      fn | fileset_name
                     Example: fn UX-CORE
                     Always necessary and is used to mark and name the
                     beginning of a new fileset.  Must precede any other
                     keywords associated with this fileset (except for
                     partition information).  Maximum length is 14
                     characters; anything beyond 14 is ignored.  Note that
                     each fileset name must be unique, both on the update
                     media and when loaded onto a system.  Care should be
                     taken when naming filesets to avoid fileset name
                     collisions.  Look in the /system or /etc/filesets
                     directory for examples of names already in use on your
                     system (this is not by any means the complete set).

      fd | fileset_description
                     Example: fd "OS Runtime files"
                     Gives the current fileset a short description of what
                     purpose the fileset serves.  Maximum length is 32
                     characters; anything beyond 32 is ignored.

      ff | fileset_flags
                     Example: ff CD
                     Used to assign special attributes to a fileset.
                     Depending on these attributes, update treats this
                     fileset differently.  The argument to this keyword is a
                     list of characters; each character has a special
                     meaning (order is not important).  Possible character
                     flags are:

                     B    Causes update to rebuild the kernel and reboot
                          after the fileset is loaded and after its
                          customize script is run.  All filesets marked with
                          a B flag are loaded before the kernel is rebuilt.




 Hewlett-Packard Company            - 6 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)




                     C    Indicates that this fileset cannot be loaded under
                          a user-specified directory; it must be loaded
                          relative to /.

                     Y    Indicates to update that it should run sysrm or
                          rmfn to remove any existing fileset having the
                          same name, prior to reloading.  This can slow the
                          update process considerably and is not normally
                          done.  It is best to remove specific unwanted
                          files in the customize script.

                     D    Used to indicate that the fileset's customize
                          script should not be run until after all filesets
                          have been loaded.  This is the default action for
                          filesets loaded with 8.05-or-later update.  Thus
                          this flag is obsolete (but can still be specified)
                          for loading on 8.05 or later systems.  This flag
                          is not compatible with the B flag.

                     S    Used only if this media is later transferred to a
                          CD-ROM through HP's integration and manufacturing
                          process.  When this flag is set, the fileset is
                          encrypted upon transfer to the CD.  When
                          encrypted, the fileset cannot be loaded without
                          first obtaining a codeword (password).  Note that
                          fpkg cannot make CD-ROM media.

                     The architecture-specific flags H and M are used on
                     A.B7.00 and A.B8.00 version media.  For A.B8.05 media,
                     use the sys and is keywords instead.  The H and M flags
                     may be used to specify the types of machines that can
                     load this fileset.  These flags can be left off to
                     indicate that the fileset is loadable by all series
                     machines.  Or they can be left off and later specified
                     by using the -S command line option, in which case fpkg
                     automatically supplies these flags (if the media
                     version is A.B7.00 or A.B8.00 - if the media version is
                     A.B8.05, it uses the appropriate sys and is keywords).
                     All filesets on the media must have the same
                     architecture-specific flags (unless the -M option is
                     used).  It is recommended that neither the H nor M flag
                     be specified and that the -S option be used, causing
                     fpkg to supply the appropriate flags.

                     H    For A.B7.00 and A.B8.00 version media, this flag
                          is used to indicate that this fileset is loadable
                          only onto HP-PA-RISC architecture machines, namely
                          Series 800 and Series 700.  The H and M flags
                          cannot be used simultaneously.





 Hewlett-Packard Company            - 7 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                     M    Used to specify the architecture type, like the H
                          flag, but instead indicates compatibility with MC
                          -680x0 series machines; namely Series 300 and
                          Series 400.  Cannot be used simultaneously with
                          the H flag.

      sys | system_architecture_type
                     Example: sys S700,S800
                     Can be used to specify which series of systems are
                     allowed to load this fileset.  This keyword is only
                     valid with A.B8.05-version media.  Valid system types
                     are S300, S400 (translated to be S300), S600
                     (translated to be S800), S700, S800, or * (meaning
                     any).  One or more series specifiers can be used,
                     separated by commas.  If this keyword is used, the is
                     keyword must also be specified.  This keyword cannot be
                     used in conjunction with the H or M flag to the ff
                     keyword.  It is recommended that neither the sys or is
                     keywords be used, and the -S command-line option be
                     used to allow fpkg to automatically generate this
                     keyword (as appropriate).  Using the sys and is to
                     specify the architecture overrides the value set with
                     the -S option.  This keyword is used primarily when
                     some filesets are for a different architecture.

      is | instruction_set
                     Example: is PA_RISC_1_0
                     Can be used to specify the instruction set of systems
                     allowed to load this fileset.  This keyword is only
                     valid with A.B8.05 version media.  Valid instruction-
                     set identifiers are: MC68020 (for Series 300 and Series
                     400 machines), PA_RISC_1_0 (for Series 700 and Series
                     800), PA_RISC_1_1 (for Series 700 only), or *,
                     indicating that any instruction-set machine can load
                     this fileset.  If this keyword is used, the sys keyword
                     must also be specified.  This keyword cannot be used in
                     conjunction with the H or M flag to the ff keyword.  It
                     is recommended that neither the sys nor is keywords be
                     used and the -S command line option be used to allow
                     fpkg to automatically generate this keyword (as
                     appropriate).  Specifying the architecture with the sys
                     and is keywords overrides the value set with the -S
                     option.  This keyword is mainly used when not all
                     filesets are for the same architecture.

      dep | fileset_dependency
                     Usage: dep fileset [version]
                     Example: dep UX-CORE A.B8.07.0A
                     Can be used to specify any fileset (and fileset
                     version) that must be loaded before, or along with this
                     fileset for the product to function properly.  This



 Hewlett-Packard Company            - 8 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                     keyword can be used multiple times for the same fileset
                     if it depends on multiple filesets.  fpkg gives a
                     warning if the fileset depended on is not contained in
                     the same package.  This is because update cannot
                     enforce this dependency if it is not on the same media;
                     it can only give a warning during loading.  The
                     optional version string is used to specify what version
                     of another fileset this fileset depends on.  This
                     version feature is not supported when making A.B7.00
                     media (fpkg gives a warning in this case).  See the fv
                     keyword for more details.  Fileset name must not exceed
                     14 characters; version is truncated at 11 characters.

      fv | fileset_version
                     Example: fv A.B8.07.0A
                     Sets the version string for the current fileset.  The
                     version string is used by update to prevent the
                     accidental loading of a fileset that is older than what
                     currently resides on the system.  update gives a
                     warning if the fileset version being loaded is lower
                     than the version of the same fileset already loaded.
                     The version string is also used in calculating fileset
                     dependencies (refer to the dep keyword).  Giving a
                     fileset a version allows other filesets to depend on a
                     particular version of this fileset.  For example, if
                     this fileset is loaded onto a system and has a fileset
                     version of A.B8.07.0A (as in the above example), and
                     later another fileset is loaded that has a dependency
                     on version A.B8.05.0A of this fileset, update proceeds
                     with the load because it knows that the system contains
                     a fileset equal or greater than the version required.
                     The concept of giving a fileset a version number was
                     introduced at HP-UX Release 8.0.  Therefore when making
                     media for HP-UX 7.0, the fileset version is ignored,
                     and fpkg gives a warning (if the media version (-V) is
                     A.B7.00).  Giving a fileset version A.B7.00 (the
                     default) indicates to update that it should not use the
                     version number in its calculations, and it always
                     reloads the fileset if another selected fileset depends
                     on it.

                     update (and thus fpkg), requires that the fileset
                     version be at least A.B7.00; thus a version of A.B6.5
                     is rejected.

                     Fileset version strings are a sequence of dot-separated
                     letters and digits.  When update compares two version
                     strings, it compares each corresponding sub-string
                     between the dots.  So a version of B6 is greater than
                     A.B7.00.  Version strings are truncated at 11
                     characters.



 Hewlett-Packard Company            - 9 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





      ffperm | fileset_file_permission
                     Usage: ffperm owner group mode
                     Example: ffperm root bin 0555
                     The ffperm or fileset_file_permission keyword is used
                     to set the default file permissions on files listed
                     following this keyword up to the next occurrence of the
                     ffperm keyword or the beginning of the next fileset
                     (determined by the fn keyword).  If this keyword is not
                     given for a particular fileset, the default action is
                     that each file inherits the permissions (owner, group
                     and mode) of the source file.  This keyword is most
                     useful when a group of files all have the same
                     permissions.  To set the permissions on a per-file
                     basis, or to override the default permissions, the -o,
                     -g, and -m file flags can be used (see the F keyword
                     for more details).  File modes are assumed to be
                     specified in octal, a leading 0 can be used to
                     emphasize this, but is not necessary.  To specify a
                     hexadecimal mode, use a 0x prefix.  Modes cannot be
                     specified in decimal.  Any field (owner, group, or
                     mode) can be left to take the default action by
                     specifying a * character in its place.  Default
                     permissions for directories can be set using the fdperm
                     keyword.

      fdperm | fileset_directory_permission
                     Usage: fdperm owner group mode
                     Example: fdperm root bin 0777
                     The fdperm or fileset_directory_permission keyword is
                     very similar to the ffperm keyword, except that it is
                     used to specify the default permissions for
                     directories.  See ffperm description for details.

      customize      Example: customize /foo/filename
                     Allows a customize script to be placed on the media and
                     associated with the current fileset.  This script is
                     executed after the fileset has been successfully
                     loaded.  The customize script is executed with the
                     current working directory set to where the fileset is
                     loaded (usually /, but can be relocated as specified by
                     the user, if the fileset flag ff C is not specified).
                     The customize script is passed one argument, which is
                     either HP-MC68020 or HP-PA depending on which type of
                     machine the fileset is loaded for (this is useful when
                     loading on a mixed-architecture cluster).

      decustomize    Example: decustomize /users/joe/file
                     Allows a decustomize script to be placed on the media
                     and associated with the current fileset.  This script
                     is executed when the fileset is removed using rmfn (see
                     rmfn(1M)).  It is important to know that the



 Hewlett-Packard Company           - 10 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                     decustomize script is executed twice.  The first time
                     rmfn runs the script is just to check if the fileset is
                     removable; the second time, it is called just prior to
                     the removal of all files loaded with this fileset.  It
                     is during the second invocation that actions related to
                     file removal should take place (such as killing
                     processes, etc).  The first invocation of the script is
                     given two arguments: the machine architecture (HP-
                     MC68020 or HP-PA), and the word check (meaning don't do
                     anything yet, just checking).  The second invocation of
                     the script is given just one argument (the machine
                     architecture).  The script should exit with a return
                     code of 0 if no problems are encountered, and with the
                     value 1 if an error occurred.  The first invocation of
                     the script is the only chance it has to stop the
                     removal process (by exiting with a value of 1).

      copyright      Example: copyright /build/thecopyright
                     Used to place a file on the system called:
                     /system/fileset-name/copyright.  This is where most HP
                     applications place copyright information about the
                     product contained in that fileset.

      CDFinfo        Example: CDFinfo /build/cluster.info
                     Allows a CDFinfo file to be placed on the media and
                     associated with the current fileset (see cdfinfo(4)).
                     The CDFinfo file contains rules that update uses when
                     loading the fileset onto a clustered system.  These
                     rules specify which files should be loaded as context-
                     dependent files (or CDFs).  The rules in this file also
                     apply to sam when a system is changed into a cluster
                     server, or when adding a cnode (see sam(1M)).  A CDF
                     info file is not necessary if the application is not
                     supported on HP-UX clusters, or if all the files are
                     system-independent (i.e., can be shared by all systems
                     in a cluster).

      systemfile     Example: systemfile /build/routines
                     Used if a file needs to be loaded in the
                     /system/fileset-name directory but has no specific
                     keyword to place it there (i.e., is not a customize,
                     decustomize, copyright, or CDFinfo file).  The file is
                     loaded under the fileset directory associated with the
                     current fileset, and is named the same as the basename
                     of the source file.

                     Do not place files called index in this directory; that
                     name is created by fpkg and used by update, and other
                     utilities.  Also if the filesets are to be loaded into
                     a system running 8.0 HP-UX, update removes the
                     obsoleted files called revlist, pif, and customize,old.



 Hewlett-Packard Company           - 11 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                     It is best to avoid using system files of these names.

      media_order    Example: media_order 2
                     Range: 1-10
                     Used to control the order in which filesets are written
                     to tape media.  All filesets with media_order 1 are
                     processed first, then those with media_order 2, etc.
                     However, all filesets that are marked with the ff B
                     flag are placed on the media first (with media_order
                     used to sort among these B flagged filesets).  This is
                     because update loads all B marked filesets first so
                     that the new kernel can be built.

                     Those filesets with the same media_order are placed on
                     the media as they appear in the PSF (this is the
                     default case, all filesets initially having media_order
                     1).

      media_format   Example: media_format A.B8.00
                     Can be used to specify the media format version from
                     within the PSF.  This value must agree with any
                     media_format_version supplied with the -V option.

      pr | pseudo_root
                     Usage: pr source-directory[=destination-directory]
                     Example 1: pr /users/joe/build
                     Example 2: pr /users/joe/build=/usr/bin
                     The pr or pseudo_root keyword specifies where the
                     source files are to be found on the system, and
                     optionally where those files should be placed when
                     loaded by update.  The usage shown in example 1 causes
                     fpkg to look for the source files in the directory
                     /users/joe/build.  Any files (not beginning with /)
                     specified with the F keyword have their path prefixed
                     with the path /users/joe/build and included in the
                     current fileset.  If the F * keyword is used,
                     everything under the directory /users/joe/build are
                     included in the current fileset.

                     The usage in example 2 also causes fpkg to look for
                     files in the directory /users/joe/build, but the files
                     have the path /users/joe/build replaced with the path
                     /usr/bin when they are stored on the media.  This is
                     very useful if the directory that holds the source
                     files is different than where they should be when
                     loaded by update.

      F | Files      Usage: F [*]

                     Example 1:
                                  F



 Hewlett-Packard Company           - 12 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





                                  file1
                                  file2
                                  etc...

                     Example 2:   F *

                     Used to specify the files to be included in the current
                     fileset.  In the usage shown in example 1, the keyword
                     is used to show that all the file names that follow
                     this line are to be included in the current fileset.
                     All following lines that do not match a reserved fpkg
                     keyword are assumed to be file names.  If a filename
                     conflicts with a reserved keyword, the filename can be
                     modified by either using its full path, or by inserting
                     ./ in front of the name.

                     The usage shown in example 2 requires that the pr
                     (pseudo_root) keyword be specified prior to this
                     keyword.  In this usage, the keyword says to start in
                     the source-directory specified by the pr keyword and
                     recursively include all files and directories found
                     under that directory.

                     The file names that can follow the F keyword can have
                     the following format:

                          sourcefile [destination] [-o owner] [-g group] [-m
                          mode]

                     For example:

                          #specify a single file
                          sourcefile

                          # specify where to get the file and
                          # what to name it on the media
                          sourcefile destination

                          # specify a file, and override permissions
                          sourcefile -o root -g bin -m 0755

 EXAMPLES
      The examples below show how to use fpkg keywords to construct a useful
      PSF.  They assume that certain files and directory structures already
      exist on the system where fpkg is being executed.

    Example PSF:
      # This fileset uses some of fpkg's more advanced
      # features, and has multiple partitions and filesets

      # Start of DATABASE partition



 Hewlett-Packard Company           - 13 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





      pn DATABASE
      pd "The Database"

          fn DBASE-RUN
          fd "The database application"
              # set flag to make update load files under `/'
                  ff C
                  customize /build/scripts/customize-DBASE
                  decustomize /build/scripts/decustomize-DBASE
                  CDFinfo /build/scripts/CDFinfo-DBASE
                  copyright /build/misc/rights
                  fv  A.B8.07.1A
              # This fileset depends on 8.07 version of C-MIN
                  dep C-MIN A.B8.07.1A
              #
              # The DBASE-RUN product contains everything in
              # /build/dbase/bin, and is loaded on the users system
              # under /usr/bin. These are all executables so set the
              # fileset permissions as such.
              #
              # set default permissions for files and directories
                  ffperm bin bin 0655
                  fdperm bin bin 0555
              # specify the source and dest directories
                  pr /build/dbase/bin=/usr/bin

              # load all files from bin directory
                  F *

              # Now add the support files. Set permissions one-by-one
                  pr /build=/usr
                  F
              # set permissions of directory
                  lib -o bin -g other -m 555
              # Load these files from /build/lib to /usr/lib
                  lib/dictionary -o root -g bin -m 0444
                  lib/library -o root -o bin -m 644

              # Now add some misc files.
                  ffperm bin bin 666 # set default perms for files
                  pr /build/misc=/usr/local/misc
                  F
                  file1
                  file2
                  ffperm bin bin 555 # set new default perms
                  F
                  file3
                  file4

              # Start the DBASE-DOC fileset now
              fn DBASE-DOC



 Hewlett-Packard Company           - 14 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)




              fd "Documentation for DBASE"
                  copyright /build/misc/rights
                  # manuals in correct place on this machine
                  pr /usr/man/man1
                  # include all manuals as they appear.
                  F *

              # Now start another partition, DBEXAMPLES
              pn DBEXAMPLES
              pd "Database examples"
                  fn DBASE-EXAMPLE
                  fd "Example database's"
                      # specify directory permissions
                      fdperm bin bin 555
                      pr /build/examples=/usr/local/examples
                      F
                      # override permissions on each file
                      # and rename them.
                      example1 good -o bin -g bin -m 644
                      example2 bad  -o bin -b bin -m 555
                      example3 ugly -o bin -b bin -m 444

      Common usages of fpkg are shown below:

           Create netdistd media for S300 machines (using the Product
           Specification File /tmp/psf).

                fpkg -d /netdist/rel1.0 -S300 -v /tmp/psf

           Create a S800 tape from a existing netdistd directory (2 steps).

                fpkg -r /netdist/800 > /tmp/psf

                fpkg -a /dev/rmt/0m -S800 -v /tmp/psf

           Create a tape using a device on a remote host (tape size must be
           specified).  It is important to set the output block size with
           obs (as opposed to bs which sets the input block size as well).

                fpkg -a - -s1330 /tmp/psf | remsh host dd obs=10k
                of=/dev/rmt/0m

           Create a tape image, then transfer the image to DDS and cartridge
           tapes, respectively.

                fpkg -a /tmp/update.image /tmp/psf

                dd if=/tmp/update.image of=/dev/rmt/0m bs=10k

                cat /tmp/update.image | tcio -o -Z -vV -S 8 /dev/update.src




 Hewlett-Packard Company           - 15 -     HP-UX Release 9.0: August 1992






 fpkg(1M)                                                           fpkg(1M)





 SEE ALSO
      update(1M), update(4), netdistd(1M), rmfn(1M), CDFinfo(4), sam(1M),
      tar(1).
      Creating Product Packages for HP-UX manual.


















































 Hewlett-Packard Company           - 16 -     HP-UX Release 9.0: August 1992