8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man4 / pkgmap.4
blobaa3199cc680bf226c13a0f56f64d430cb30872d4
1 '\" te
2 .\" Copyright 1989 AT&T
3 .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH PKGMAP 4 "Jul 12, 2006"
8 .SH NAME
9 pkgmap \- package contents description file
10 .SH DESCRIPTION
11 .sp
12 .LP
13 \fBpkgmap\fR is an \fBASCII\fR file that provides a complete listing of the
14 package contents. It is automatically generated by \fBpkgmk\fR(1) using the
15 information in the \fBprototype\fR(4) file.
16 .sp
17 .LP
18 Each entry in \fBpkgmap\fR describes a single ``deliverable object file.'' A
19 deliverable object file includes shell scripts, executable objects, data files,
20 directories, and so forth. The entry consists of several fields of information,
21 each field separated by a space. The fields are described below and must appear
22 in the order shown.
23 .sp
24 .ne 2
25 .na
26 \fB\fIpart\fR\fR
27 .ad
28 .RS 12n
29 An optional field designating the part number in which the object resides. A
30 part is a collection of files and is the atomic unit by which a package is
31 processed. A developer can choose the criteria for grouping files into a part
32 (for example, based on class). If no value is defined in this field, part 1 is
33 assumed.
34 .RE
36 .sp
37 .ne 2
38 .na
39 \fB\fIftype\fR\fR
40 .ad
41 .RS 12n
42 A one-character field that indicates the file type. Valid values are listed
43 below. File types are divided between those that are not to be modified and
44 those that are modifiable.
45 .sp
46 Files of the following types must never be modified:
47 .sp
48 .ne 2
49 .na
50 \fB\fBb\fR\fR
51 .ad
52 .RS 5n
53 block special device
54 .RE
56 .sp
57 .ne 2
58 .na
59 \fB\fBc\fR\fR
60 .ad
61 .RS 5n
62 character special device
63 .RE
65 .sp
66 .ne 2
67 .na
68 \fB\fBd\fR\fR
69 .ad
70 .RS 5n
71 directory
72 .RE
74 .sp
75 .ne 2
76 .na
77 \fB\fBf\fR\fR
78 .ad
79 .RS 5n
80 a standard executable file, data file, or other type of file, the contents of
81 which must never be modified.
82 .RE
84 .sp
85 .ne 2
86 .na
87 \fB\fBi\fR\fR
88 .ad
89 .RS 5n
90 information file (such as a file containing a copyright, list of dependencies,
91 or package information) or installation script (such as checkinstall, class
92 action [\fBi.\fR], pre/post install/remove), the contents of which must never
93 be modified.
94 .RE
96 .sp
97 .ne 2
98 .na
99 \fB\fBl\fR\fR
101 .RS 5n
102 linked file
106 .ne 2
108 \fB\fBp\fR\fR
110 .RS 5n
111 named pipe
115 .ne 2
117 \fB\fBs\fR\fR
119 .RS 5n
120 symbolic link
124 .ne 2
126 \fB\fBx\fR\fR
128 .RS 5n
129 an exclusive directory accessible only by this package
132 Files of the following types can be modified:
134 .ne 2
136 \fB\fBe\fR\fR
138 .RS 5n
139 An editable file, intended to be edited (selectively modified) after
140 installation. An editable file is expected to change on installation or
141 removal, can be shared by several packages, and must be installed by a class
142 action script. Examples are a configuration file or a list of users.
146 .ne 2
148 \fB\fBv\fR\fR
150 .RS 5n
151 A volatile file, intended to be overwritten or appended to after installation.
152 A volatile file is not expected to change on installation or removal, is not
153 preserved between installations, and can be installed by a class action script.
154 Examples are a log file or a lock file.
157 Following package installation, the contents of files of all types except
158 \fBe\fR and \fBv\fR must not change. Any file that is subject to change should
159 be marked as \fBe\fR or \fBv\fR.
163 .ne 2
165 \fB\fIclass\fR\fR
167 .RS 12n
168 The installation class to which the file belongs. This name must contain only
169 alphanumeric characters and be no longer than 12 characters. It is not
170 specified if the \fIftype\fR is \fBi\fR (information file).
174 .ne 2
176 \fB\fIpathname\fR\fR
178 .RS 12n
179 \fIpathname\fR may contain variables of the form \fB$\fR\fIvariable\fR that
180 support install-time configuration of the file. \fIvariable\fR may be embedded
181 in the pathname structure. (See \fBprototype\fR(4) for definitions of variable
182 specifications.)
184 Do not use the following reserved words in \fIpathname\fR, since they are
185 applied by \fBpkgadd\fR(1M) using a different mechanism:
187 .in +2
189 PKG_INSTALL_ROOT
190 BASEDIR
191 CLIENT_BASEDIR
193 .in -2
199 .ne 2
201 \fB\fImajor\fR\fR
203 .RS 12n
204 The major device number. The field is only specified for block or character
205 special devices.
209 .ne 2
211 \fB\fIminor\fR\fR
213 .RS 12n
214 The minor device number. The field is only specified for block or character
215 special devices.
219 .ne 2
221 \fB\fImode\fR\fR
223 .RS 12n
224 The octal mode of the file (for example, 0664). A question mark (\fB?\fR)
225 indicates that the mode will be left unchanged, implying that the file already
226 exists on the target machine. This field is not used for linked files,
227 packaging information files, or non-installable files.
229 The mode can contain a variable specification. (See \fBprototype\fR(4) for
230 definitions of variable specifications.)
234 .ne 2
236 \fB\fIowner\fR\fR
238 .RS 12n
239 The owner of the file (for example, \fBbin\fR or \fBroot\fR). The field is
240 limited to 14 characters in length. A question mark (\fB?\fR) indicates that
241 the owner will be left unchanged or changed to the owner stored in the package
242 database, which could be different from what is on the file system. When the
243 question mark is used, it implies that the file is already on the file system.
244 This field is not used for linked files or non-installable files. It is used
245 optionally with a package information file. If used, it indicates with what
246 owner an installation script will be executed.
248 The owner can contain a variable specification. (See \fBprototype\fR(4) for
249 definitions of variable specifications.)
253 .ne 2
255 \fB\fIgroup\fR\fR
257 .RS 12n
258 The group to which the file belongs (for example, \fBbin\fR or \fBsys\fR). The
259 field is limited to 14 characters in length. A question mark (\fB?\fR)
260 indicates that the group will be left unchanged or changed to the owner stored
261 in the package database, which could be different from what is on the file
262 system. When the question mark is used, it implies that the file is already on
263 the file system. This field is not used for linked files or non-installable
264 files. It is used optionally with a package information file. If used, it
265 indicates with what group an installation script will be executed.
267 The group can contain a variable specification. (See \fBprototype\fR(4) for
268 definitions of variable specifications.)
272 .ne 2
274 \fB\fIsize\fR\fR
276 .RS 12n
277 The actual size of the file in bytes. This field is not specified for named
278 pipes, special devices, directories or linked files.
282 .ne 2
284 \fB\fIcksum\fR\fR
286 .RS 12n
287 The checksum of the file contents. This field is not specified for named pipes,
288 special devices, directories, or linked files.
292 .ne 2
294 \fB\fImodtime\fR\fR
296 .RS 12n
297 The time of last modification, as reported by the \fBstat\fR(2) function call.
298 This field is not specified for named pipes, special devices, directories, or
299 linked files.
304 Each \fBpkgmap\fR file must have one line that provides information about the
305 number of parts, maximum size of parts that make up the package, and,
306 optionally, the size of the package after compression (where size is given in
307 512-byte blocks). This line is in the following format:
310 \fB:\fR \fInumber_of_parts\fR \fImaximum_part_size\fR \fIcompressed_pkg_size\fR
313 Lines that begin with ``\fB#\fR'' are comment lines and are ignored.
316 When files are saved during installation before they are overwritten, they are
317 normally just copied to a temporary pathname. However, for files whose mode
318 includes execute permission (but which are not editable), the existing version
319 is linked to a temporary pathname and the original file is removed. This allows
320 processes which are executing during installation to be overwritten.
321 .SH EXAMPLES
323 \fBExample 1 \fRA Sample \fBpkgmap\fR File
325 .in +2
327 \fB: 2 500
328 1 i pkginfo 237 1179 541296672
329 1 b class1 /dev/diskette 17 134 0644 root other
330 1 c class1 /dev/rdiskette 17 134 0644 root other
331 1 d none bin 0755 root bin
332 1 f none bin/INSTALL 0755 root bin 11103 17954 541295535
333 1 f none bin/REMOVE 0755 root bin 3214 50237 541295541
334 1 l none bin/UNINSTALL=bin/REMOVE
335 1 f none bin/cmda 0755 root bin 3580 60325 541295567
336 1 f none bin/cmdb 0755 root bin 49107 51255 541438368
337 1 f class1 bin/cmdc 0755 root bin 45599 26048 541295599
338 1 f class1 bin/cmdd 0755 root bin 4648 8473 541461238
339 1 f none bin/cmde 0755 root bin 40501 1264 541295622
340 1 f class2 bin/cmdf 0755 root bin 2345 35889 541295574
341 1 f none bin/cmdg 0755 root bin 41185 47653 541461242
342 2 d class2 data 0755 root bin
343 2 p class1 data/apipe 0755 root other
344 2 d none log 0755 root bin
345 2 v none log/logfile 0755 root bin 41815 47563 541461333
346 2 d none save 0755 root bin
347 2 d none spool 0755 root bin
348 2 d none tmp 0755 root bin\fR
350 .in -2
353 .SH SEE ALSO
356 \fBpkgmk\fR(1), \fBpkgadd\fR(1M), \fBstat\fR(2), \fBpkginfo\fR(4),
357 \fBprototype\fR(4)
360 \fIApplication Packaging Developer\&'s Guide\fR
361 .SH NOTES
364 The \fBpkgmap\fR file may contain only one entry per unique pathname.