1pkginfo(4)                       File Formats                       pkginfo(4)
2
3
4

NAME

6       pkginfo - package characteristics file
7

DESCRIPTION

9       pkginfo  is  an  ASCII  file  that describes the characteristics of the
10       package along with information that helps control the flow of installa‐
11       tion. It is created by the software package developer.
12
13
14       Each  entry in the pkginfo file is a line that establishes the value of
15       a parameter in the following form:
16
17         PARAM="value"
18
19
20
21       There is no required order in which the parameters  must  be  specified
22       within  the  file. The PKG, NAME, ARCH, VERSION and CATEGORY parameters
23       are mandatory. Other parameters are optional.
24
25
26       pkginfo provides optional parameters and  an  environment  variable  in
27       support  of  the  zones  (multiple  Solaris  environments) feature. See
28       zones(5).
29
30
31       The following paramaters are mandatory:
32
33       ARCH
34
35           A comma-separated list of alphanumeric  tokens  that  indicate  the
36           architecture  associated with the package. The pkgmk(1) tool can be
37           used to create or modify this  value  when  actually  building  the
38           package. The maximum length of a token is 16 characters and it can‐
39           not include a comma.
40
41           Solaris's installation software meaningfully uses only  one  archi‐
42           tecture token of the form:
43
44             <instruction_set_architecture>[.<platform_group>]
45
46           where  platform_group  is  intended  only  for Solaris installation
47           packages. Third party application software should  restrict  itself
48           to ARCH values from the following Solaris-supported instruction set
49           architectures  (uname  -p):  sparc,  i386,  and  ppc.  Examples  of
50           Solaris'  platform  groups  (uname  -m)  are  sun4u  for  the SPARC
51           instruction set  and  i86pc  for  the  i386  instruction  set.  See
52           uname(1) and isalist(1) for more details.
53
54
55       CATEGORY
56
57           A  comma-separated  list of categories under which a package can be
58           displayed. A package must at least belong to the system or applica‐
59           tion category. Categories are case-insensitive and can contain only
60           alphanumerics. Each category is limited in length to 16 characters.
61
62
63       NAME
64
65           Text that specifies the package name (maximum length of  256  ASCII
66           characters).  Use the NAME parameter as the foundation for describ‐
67           ing the functionality and purpose of the  package;  spell  out  any
68           acronyms  and  avoid  internal product/project code names. The DESC
69           parameter can then be used to expand the  descriptive  information.
70           Use the NAME parameter to state as specifically as possible the use
71           of the package, why a user would need to load it, and so on.
72
73
74       PKG
75
76           Abbreviation for the package being installed. All characters in the
77           abbreviation  must  be  alphanumeric.  You can also use the and +
78           characters in the  abbreviation.  The  first  character  cannot  be
79           numeric, a + or a -.
80
81           The  abbreviation  is limited to a maximum length of 32 characters.
82           install, new, and all are reserved abbreviations. It  is  customary
83           to  make the first four letters unique to your company, such as the
84           company's stock symbol.
85
86
87       VERSION
88
89           Text that specifies the current version associated with  the  soft‐
90           ware  package.  The  maximum length is 256 ASCII characters and the
91           first character cannot be a left parenthesis. The pkgmk(1) tool can
92           be  used  to create or modify this value when actually building the
93           package. Current Solaris software practice is to assign this param‐
94           eter monotonically increasing Dewey decimal values of the form:
95
96             <major_revision>.<minor_revision>[.<micro_revision>]
97
98           where  all  the revision fields are integers. The versioning fields
99           can be extended to an arbitrary string of numbers in  Dewey-decimal
100           format, if necessary.
101
102
103
104       The following parameters are optional:
105
106       BASEDIR
107
108           The  pathname  to a default directory where "relocatable" files can
109           be installed. If blank, the package  is  not  relocatable  and  any
110           files  that  have relative pathnames are not installed. An adminis‐
111           trator can override the default directory.
112
113
114       CLASSES
115
116           A space-separated list of classes defined for a package. The  order
117           of  the  list  determines  the  order  in  which  the  classes  are
118           installed. Classes listed first are installed first (on a media  by
119           media basis). This parameter can be modified by the request script.
120
121
122       DESC
123
124           Text  that describes the package (maximum length of 256 ASCII char‐
125           acters). This parameter value is used to provide the installer with
126           a  description of what the package contains and should build on the
127           description provided in the NAME parameter. Try  to  make  the  two
128           parameters  work  together  so  that a pkginfo -l provides a fairly
129           comprehensive textual description of the package.
130
131
132       EMAIL
133
134           An electronic address where further  information  is  available  or
135           bugs can be reported (maximum length of 256 ASCII characters).
136
137
138       HOTLINE
139
140           Phone  number  and/or mailing address where further information can
141           be received or bugs can be reported (maximum length  of  256  ASCII
142           characters).
143
144
145       INTONLY
146
147           Indicates  that  the package should only be installed interactively
148           when set to any non-null value.
149
150
151       ISTATES
152
153           A list of allowable run states for package installation (for  exam‐
154           ple, "S s 1" allows run states of S, s or 1). The Solaris operating
155           environment supports the run levels s, S, 0, 1, 2,  3,  5,  and  6.
156           Applicable run levels for this parameter are s, S, 1, 2, and 3. See
157           init(1M) for details.
158
159
160       MAXINST
161
162           The maximum number of package instances that should be allowed on a
163           machine  at the same time. By default, only one instance of a pack‐
164           age is allowed. This parameter must be set in order to have  multi‐
165           ple  instances of a package. In order to support multiple instances
166           of packages (for example, packages that differ  in  their  ARCH  or
167           VERSION  parameter value), the value of this parameter must be high
168           enough to allow for all instances of  a  given  package,  including
169           multiple versions coexisting on a software server.
170
171
172       ORDER
173
174           A list of classes defining the order in which they should be put on
175           the medium. Used by pkgmk(1) in creating the package.  Classes  not
176           defined  in  this field are placed on the medium using the standard
177           ordering procedures.
178
179
180       PSTAMP
181
182           Production stamp used to mark the pkgmap(4) file on the output vol‐
183           umes. Provides a means for distinguishing between production copies
184           of a version if more than one is in use at a time. If PSTAMP is not
185           defined, the default is used. The default consists of the UNIX sys‐
186           tem machine name followed by  the  string  "YYYYMMDDHHMMSS"  (year,
187           month, date, hour, minutes, seconds).
188
189
190       RSTATES
191
192           A list of allowable run states for package removal (for example, "S
193           s 1" allows run states of S, s or 1). The Solaris  operating  envi‐
194           ronment  supports the run levels s, S, 0, 1, 2, 3, 5, and 6. Appli‐
195           cable run levels for this parameter are s,  S,  1,  2,  and  3  See
196           init(1M) for details.
197
198
199       SUNW_ISA
200
201           Solaris-only  optional  parameter that indicates a software package
202           contains 64-bit objects if it is set to sparcv9. If this  parameter
203           is  not  set, the default ISA (instruction set architecture) is set
204           to the value of the ARCH parameter.
205
206
207       SUNW_LOC
208
209           Solaris-only optional parameter used to indicate a software package
210           containing  localization  files for a given product or application.
211           The parameter value is a comma-separated list of locales  supported
212           by  a package. It is only used for packages containing localization
213           files, typically the message catalogues. The allowable  values  for
214           this  string  field are those found in the table of Standard Locale
215           Names located in the International Language Environments Guide.
216
217             SUNW_LOC="<locale_name>,<locale_name>,..,\
218             <locale_name>"
219
220           where
221
222             <locale_name>::= <language>[_<territory>]\
223             [.<codeset>]
224             <language>::= the set of names from ISO 639
225             <territory>::= the set of territories specified
226             in ISO 3166
227             <codeset>::= is a string corresponding to the coded
228             character set
229
230           Since a value of C specifies the traditional UNIX  system  behavior
231           (American  English,  en_US), packages belonging to the C locale are
232           viewed as non-localized packages, and thus must not  have  SUNW_LOC
233           and  SUNW_PKGLIST  included  in  their  pkginfo  file. See also the
234           SUNW_LOC parameter in  packagetoc(4)  and  setlocale(3C)  for  more
235           information.  This keyword is not recognized by the add-on software
236           utility Software Manager.
237
238
239       SUNW_PKG_DIR
240
241           A value set by pkgadd that contains the location of the  installing
242           package.  This value is provided to any install time package proce‐
243           dure scripts that need to know  where  the  installing  package  is
244           located.  This parameter should never be set manually from within a
245           pkginfo file.
246
247
248       SUNW_PKG_ALLZONES
249
250           Defines whether a package, when installed, must  be  installed  and
251           must  be  identical  in  all  zones.  Assigned value can be true or
252           false. The default value is false. The setting of SUNW_PKG_ALLZONES
253           has the effects described below.
254
255           If set to true, the following conditions are in effect:
256
257               o      The package must be installed in the global zone.
258
259               o      The  package  must  be  installed in any non-global zone
260                      that is created.
261
262               o      The package must be identical in all zones.
263
264               o      The package can be installed only  by  the  global  zone
265                      administrator.
266
267               o      The  package  cannot  be  installed by a non-global zone
268                      administrator.
269           If set to false, the following conditions are in effect:
270
271               o      The package is not  required  to  be  installed  in  all
272                      zones.
273
274               o      The  package  is not required to be identical across all
275                      zones.
276
277               o      The package can be installed by the global zone adminis‐
278                      trator or by a non-global zone administrator.
279           Packages  that  must  be  identical  across all zones must set this
280           variable to true. This would include packages that  deliver  compo‐
281           nents  that  are  part  of  the  core operating system, or that are
282           dependent on interfaces exported by the core operating  system,  or
283           that  deliver  device  drivers,  or  runtime  libraries that use or
284           export operating system interfaces that are not  guaranteed  to  be
285           stable across minor releases.
286
287           Packages  that  deliver  components  that  are not part of the core
288           operating system (such as application programs) that can be differ‐
289           ent between any two zones must set this variable to false.
290
291           With respect to SUNW_PKG_ALLZONES, keep in mind the following:
292
293               o      Use  of  pkgadd  in the global zone installs packages in
294                      all zones unless -G is specified, in which case packages
295                      are  installed  in  the global zone only. The setting of
296                      SUNW_PKG_ALLZONES does not  change  this  behavior.  For
297                      example,  a  package that has a setting of SUNW_PKG_ALL‐
298                      ZONES=false is not installed in the global zone only.
299
300               o      The SUNW_PKG_ALLZONES attribute controls whether a pack‐
301                      age must be installed in all zones (and must be the same
302                      in all zones) when it is installed.
303
304               o      Use of the -G option to pkgadd with a package  that  has
305                      SUNW_PKG_ALLZONES=true  is an error and causes installa‐
306                      tion of that package to fail.
307
308
309       SUNW_PKG_HOLLOW
310
311           Defines whether a package should be visible in any non-global  zone
312           if that package is required to be installed and be identical in all
313           zones (for example, a  package  that  has  SUNW_PKG_ALLZONES=true).
314           Assigned  value  can  be true or false. The default value is false.
315           The package  is  not  required  to  be  installed,  but  if  it  is
316           installed, the setting of SUNW_PKG_HOLLOW has the effects described
317           below.
318
319           If set to false, the following conditions are in effect:
320
321               o      If installed in the global zone, the package content and
322                      installation  information are required in all non-global
323                      zones.
324
325               o      Software delivered by the package is visible in all non-
326                      global  zones.  An  example  of  such a a package is the
327                      package that delivers the truss(1) command.
328           If set to true, the following conditions are in effect:
329
330               o      The package content is not delivered on  any  non-global
331                      zone.  However,  the package installation information is
332                      required on all non-global zones.
333
334               o      The package delivers software that should not be visible
335                      in all non-global zones. Examples include kernel drivers
336                      and system configuration files that  work  only  in  the
337                      global  zone. This setting allows the non-global zone to
338                      resolve dependencies on packages that are installed only
339                      in the global zone without actually installing the pack‐
340                      age data.
341
342               o      In the global zone, the package is recognized as  having
343                      been  installed,  and  all components of the package are
344                      installed. Directories are created, files are installed,
345                      and  class action and other scripts are run as appropri‐
346                      ate when the package is installed.
347
348               o      In a non-global zone, the package is recognized as  hav‐
349                      ing been installed, but no components of the package are
350                      installed. No directories  are  created,  no  files  are
351                      installed,  and no class action or other install scripts
352                      are run when the package is installed.
353
354               o      When removed from the global zone, the package is recog‐
355                      nized  as  having been completely installed. Appropriate
356                      directories and files are removed, and class  action  or
357                      other  install  scripts  are  run  when  the  package is
358                      removed.
359
360               o      When removed from a non-global zone, the package is rec‐
361                      ognized  as  not  having  been  completely installed. No
362                      directories are removed, no files are  removed,  and  no
363                      class  action  or other install scripts are run when the
364                      package is removed.
365
366               o      The package is recognized  as  being  installed  in  all
367                      zones for purposes of dependency checking by other pack‐
368                      ages that rely on this package being installed.
369           If SUNW_PKG_ALLZONES is set to false, the value  of  this  variable
370           has  no  meaning.  It  is  a  package  construction  error  to  set
371           SUNW_PKG_ALLZONES to false, then set SUNW_PKG_HOLLOW to true.
372
373
374       SUNW_PKG_THISZONE
375
376           Defines whether a package must be installed  in  the  current  zone
377           only.  Assigned  value  can  be true or false. The default value is
378           false. The setting of SUNW_PKG_THISZONE has the  effects  described
379           below.
380
381           If set to true, the following conditions are in effect:
382
383               o      The package is installed in the current zone only.
384
385               o      If  installed  in  the  global  zone, the package is not
386                      added to any  currently  existing  or  yet-to-be-created
387                      non-global  zones.  This is the same behavior that would
388                      occur if the -G option were specified to pkgadd.
389           If set to false, the following conditions are in effect:
390
391               o      If pkgadd is run in a non-global zone,  the  package  is
392                      installed in the current zone only.
393
394               o      If  pkgadd  is  run  in  the global zone, the package is
395                      installed in the global zone, and is also  installed  in
396                      all  currently  installed non-global zones. In addition,
397                      the package will be  propagated  to  all  future,  newly
398                      installed non-global zones.
399
400
401       SUNW_PKGLIST
402
403           Solaris-only  optional  parameter  used to associate a localization
404           package to the package(s) from which it is derived. It is  required
405           whenever the SUNW_LOC parameter is defined. This parameter value is
406           an comma-separated list of package abbreviations of the form:
407
408             SUNW_PKGLIST="pkg1[:version],pkg2[:version],..."
409
410           where version (if specified) should match the version string in the
411           base package specified (see VERSION parameter in this manual page).
412           When in use, SUNW_PKGLIST helps  determine  the  order  of  package
413           installation.  The  packages  listed in the parameter are installed
414           before the localization package in question is installed. When left
415           blank,  SUNW_PKGLIST="",  the package is assumed to be required for
416           the locale to function correctly. See the SUNW_PKGLIST parameter in
417           packagetoc(4)  for more information. This keyword is not recognized
418           by the add-on software utility Software Manager.
419
420
421       SUNW_PKGTYPE
422
423           Solaris-only parameter for Sun  internal  use  only.  Required  for
424           packages  part  of the Solaris operating environment releases which
425           install into the /, /usr, /usr/kvm, and /usr/openwin file  systems.
426           The  Solaris  operating environment installation software must know
427           which packages are part of which file system to properly install  a
428           server/client  configuration.  The  currently  allowable values for
429           this parameter are root, usr,  kvm,  and  ow.  If  no  SUNW_PKGTYPE
430           parameter is present, the package is assumed to be of BASEDIR=/opt.
431           SUNW_PKGTYPE is optional only for packages which install  into  the
432           /opt  name  space as is the case for the majority of Solaris add-on
433           software. See the SUNW_PKGTYPE parameter in packagetoc(4) for  fur‐
434           ther information.
435
436
437       SUNW_PKGVERS
438
439           Solaris-only parameter indicating of version of the Solaris operat‐
440           ing environment package interface.
441
442             SUNW_PKGVERS="<sunw_package_version>"
443
444           where <unw_package_version> has the form x.y[.z] and x,  y,  and  z
445           are  integers.  For  packages  built  for this release and previous
446           releases, use SUNW_PKGVERS="1.0".
447
448
449       SUNW_PRODNAME
450
451           Solaris-only parameter indicating the  name  of  the  product  this
452           package  is  a  part  of  or comprises (maximum length of 256 ASCII
453           characters). A few examples of currently used SUNW_PRODNAME  values
454           are: "SunOS", "OpenWindows", and "Common Desktop Environment".
455
456
457       SUNW_PRODVERS
458
459           Solaris-only  parameter  indicating  the  version or release of the
460           product described in SUNW_PRODNAME (maximum  length  of  256  ASCII
461           characters).  For  example,  where  SUNW_PRODNAME="SunOS",  and the
462           Solaris 2.x Beta release, this string could be  "5.x  BETA",  while
463           for  the  Solaris  2.x  FCS release, the string would be "5.x". For
464           Solaris 10, the string is "5.10". If the SUNW_PRODNAME parameter is
465           NULL, so should be the SUNW_PRODVERS parameter.
466
467
468       ULIMIT
469
470           If  set,  this  parameter is passed as an argument to the ulimit(1)
471           command (see limit(1)), which establishes the  maximum  size  of  a
472           file during installation.
473
474
475       VENDOR
476
477           Used to identify the vendor that holds the software copyright (max‐
478           imum length of 256 ASCII characters).
479
480
481       VSTOCK
482
483           The vendor stock number, if any, that identifies this product (max‐
484           imum length of 256 ASCII characters).
485
486
487
488       For further discussion of the zones-related parameters described above,
489       see System Administration  Guide:   Virtualization  Using  the  Solaris
490       Operating System.
491

ENVIRONMENT VARIABLES

493       The following environment variables are available only to package class
494       action scripts and to checkinstall, preinstall, postinstall scripts.
495
496       SUNW_PKG_INSTALL_ZONENAME
497
498           This variable is set only during  the  initial  installation  of  a
499           zone.
500
501           If  this  variable  is  not  set,  the  system does not support the
502           zones(5) feature. In this case, the package is being  installed  to
503           or removed from a system that is not configured for zones.
504
505           If  the  variable is set, and equal to global, the package is being
506           installed to or removed from the global zone.
507
508           If the variable is set and not equal  to  global,  the  package  is
509           being installed to or removed from the non-global zone named by the
510           contents of the environment variable ${SUNW_PKG_INSTALL_ZONENAME}.
511
512
513       PKG_INIT_INSTALL
514
515           This variable  is  set  only  during  an  initial  installation  of
516           Solaris,  such as installing Solaris from a CD, DVD, or net install
517           image.
518
519           If this variable is set and equal to  TRUE,  then  the  package  is
520           being installed as part of an initial installation of Solaris.
521
522           If this variable is not set, or set and not equal to TRUE, then the
523           package is not being installed as part of an  initial  installation
524           of Solaris.
525
526
527
528       The  following  code excerpt illustrates the semantics of the preceding
529       environment variables.
530
531         if [ $PKG_INIT_INSTALL != "" ] ; then
532                 # Package being installed as part of initial
533                 # installation of Solaris.
534
535         elif [ $SUNW_PKG_INSTALL_ZONENAME != "" ] ; then
536
537             if [ $SUNW_PKG_INSTALL_ZONENAME != "global" ] ; then
538                  # Package being installed as part of initial installation
539                  # of non-global zone $SUNW_PKG_INSTALL_ZONENAME
540             else
541                  # Package being installed as part of initial installation
542                  # of a global zone.
543             fi
544
545         else
546             # Package not being installed as part of initial installation of
547             # Solaris and package not being installed as part of initial
548             # installation of non-global zone.
549         fi
550
551

EXAMPLES

553       Example 1 A Sample pkginfo File
554
555
556       Here is a sample pkginfo file:
557
558
559         SUNW_PRODNAME="SunOS"
560         SUNW_PRODVERS="5.5"
561         SUNW_PKGTYPE="usr"
562         SUNW_PKG_ALLZONES=false
563         SUNW_PKG_HOLLOW=false
564         PKG="SUNWesu"
565         NAME="Extended System Utilities"
566         VERSION="11.5.1"
567         ARCH="sparc"
568         VENDOR="Sun Microsystems, Inc."
569         HOTLINE="Please contact your local service provider"
570         EMAIL=""
571         VSTOCK="0122c3f5566"
572         CATEGORY="system"
573         ISTATES="S 2"
574         RSTATES="S 2"
575
576

ATTRIBUTES

578       See attributes(5) for descriptions of the following attributes:
579
580
581
582
583       ┌─────────────────────────────┬─────────────────────────────┐
584       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
585       ├─────────────────────────────┼─────────────────────────────┤
586       │Availability                 │SUNWcsu                      │
587       ├─────────────────────────────┼─────────────────────────────┤
588       │Interface Stability          │See entries below            │
589       ├─────────────────────────────┼─────────────────────────────┤
590       │PKG value                    │Evolving                     │
591       ├─────────────────────────────┼─────────────────────────────┤
592       │VERSION value                │Evolving                     │
593       ├─────────────────────────────┼─────────────────────────────┤
594       │NAME value                   │Evolving                     │
595       ├─────────────────────────────┼─────────────────────────────┤
596       │DESC value                   │Evolving                     │
597       ├─────────────────────────────┼─────────────────────────────┤
598       │ARCH value                   │Evolving                     │
599       ├─────────────────────────────┼─────────────────────────────┤
600       │CATEGORY value               │Evolving                     │
601       ├─────────────────────────────┼─────────────────────────────┤
602       │BASEDIR value                │Evolving                     │
603       ├─────────────────────────────┼─────────────────────────────┤
604       │ISTATES value                │Evolving                     │
605       ├─────────────────────────────┼─────────────────────────────┤
606       │RSTATES value                │Evolving                     │
607       ├─────────────────────────────┼─────────────────────────────┤
608       │MAXINST value                │Evolving                     │
609       ├─────────────────────────────┼─────────────────────────────┤
610       │SUNW_PKG_ALLZONES            │Evolving                     │
611       ├─────────────────────────────┼─────────────────────────────┤
612       │SUNW_PKG_HOLLOW              │Evolving                     │
613       ├─────────────────────────────┼─────────────────────────────┤
614       │SUNW_PKG_THISZONE            │Evolving                     │
615       ├─────────────────────────────┼─────────────────────────────┤
616       │SUNW_PRODNAME                │Evolving                     │
617       ├─────────────────────────────┼─────────────────────────────┤
618       │SUNW_PRODVERS                │Evolving                     │
619       ├─────────────────────────────┼─────────────────────────────┤
620       │SUNW_PKGVERS                 │Evolving                     │
621       ├─────────────────────────────┼─────────────────────────────┤
622       │SUNW_PKGTYPE                 │Unstable                     │
623       ├─────────────────────────────┼─────────────────────────────┤
624       │SUNW_LOC                     │Evolving                     │
625       ├─────────────────────────────┼─────────────────────────────┤
626       │SUNW_PKGLIST                 │Evolving                     │
627       ├─────────────────────────────┼─────────────────────────────┤
628       │SUNW_PKG_DIR                 │Evolving                     │
629       ├─────────────────────────────┼─────────────────────────────┤
630       │PKG_INIT_INSTALL             │Unstable                     │
631       └─────────────────────────────┴─────────────────────────────┘
632

SEE ALSO

634       isalist(1),  limit(1),  pkgmk(1),  uname(1),  init(1M),  setlocale(3C),
635       clustertoc(4),   order(4),   packagetoc(4),  pkgmap(4),  attributes(5),
636       zones(5)
637
638
639       Application Packaging Developer's Guide
640
641
642       International Language Environments Guide
643
644
645       System Administration Guide:  Virtualization Using the Solaris  Operat‐
646       ing System
647

NOTES

649       Developers  can  define  their  own installation parameters by adding a
650       definition to this file. A developer-defined parameter must begin  with
651       a capital letter.
652
653
654       Trailing white space after any parameter value is ignored. For example,
655       VENDOR="Sun Microsystems, Inc." is the same  as  VENDOR="Sun  Microsys‐
656       tems, Inc. ".
657
658
659
660SunOS 5.11                        24 Mar 2006                       pkginfo(4)
Impressum