PKGPROTO(1) User Commands PKGPROTO(1)
pkgproto - generate prototype file entries for input to pkgmk command
pkgproto [-i] [-c class] [path1]
pkgproto [-i] [-c class] [path1=path2]...
pkgproto scans the indicated paths and generates prototype(5) file
entries that may be used as input to the pkgmk(1) command.
If no paths are specified on the command line, standard input is
assumed to be a list of paths. If the pathname listed on the command
line is a directory, the contents of the directory is searched.
However, if input is read from stdin, a directory specified as a
pathname will not be searched.
Package commands, such as pkgproto, are largefile(7)-aware. They
handle files larger than 2 GB in the same way they handle smaller
files. In their current implementations, pkgadd(8), pkgtrans(1) and
other package commands can process a datastream of up to 4 GB.
-i
Ignores symbolic links and records the paths as ftype=f
(a file) versus ftype=s (symbolic link).
-c class
Maps the class of all paths to class.
path1
Pathname where objects are located.
path2
Pathname which should be substituted on output for path1.
The following example shows a common usage of pkgproto and a partial
listing of the output produced.
example% pkgproto /bin=bin /usr/bin=usrbin /etc=etc
f none bin/sed=/bin/sed 0775 bin bin
f none bin/sh=/bin/sh 0755 bin daemon
f none bin/sort=/bin/sort 0755 bin bin
f none usrbin/sdb=/usr/bin/sdb 0775 bin bin
f none usrbin/shl=/usr/bin/shl 4755 bin bin
d none etc/master.d 0755 root daemon
f none etc/master.d/kernel=/etc/master.d/kernel 0644 root daemon
f none etc/rc=/etc/rc 0744 root daemon
The following command shows pkgproto accepting the output of the find
command.
example% find / -type d -print | pkgproto
d none / 755 root root
d none /bin 755 bin bin
d none /usr 755 root root
d none /usr/bin 775 bin bin
d none /etc 755 root root
d none /tmp 777 root root
0
Successful completion.
>0
An error occurred.
pkgmk(1), pkgparam(1), pkgtrans(1), prototype(5), attributes(7),
largefile(7), pkgadd(8)
Application Packaging Developer's Guide
By default, pkgproto creates symbolic link entries for any symbolic
link encountered (ftype=s). When you use the -i option, pkgproto
creates a file entry for symbolic links (ftype=f). The prototype(5)
file would have to be edited to assign such file types as v
(volatile), e (editable), or x (exclusive directory). pkgproto
detects linked files. If multiple files are linked together, the
first path encountered is considered the source of the link.
By default, pkgproto prints prototype entries on the standard output.
However, the output should be saved in a file (named Prototype or
prototype, for convenience) to be used as input to the pkgmk(1)
command.
October 30, 2007 PKGPROTO(1)
NAME
pkgproto - generate prototype file entries for input to pkgmk command
SYNOPSIS
pkgproto [-i] [-c class] [path1]
pkgproto [-i] [-c class] [path1=path2]...
DESCRIPTION
pkgproto scans the indicated paths and generates prototype(5) file
entries that may be used as input to the pkgmk(1) command.
If no paths are specified on the command line, standard input is
assumed to be a list of paths. If the pathname listed on the command
line is a directory, the contents of the directory is searched.
However, if input is read from stdin, a directory specified as a
pathname will not be searched.
Package commands, such as pkgproto, are largefile(7)-aware. They
handle files larger than 2 GB in the same way they handle smaller
files. In their current implementations, pkgadd(8), pkgtrans(1) and
other package commands can process a datastream of up to 4 GB.
OPTIONS
-i
Ignores symbolic links and records the paths as ftype=f
(a file) versus ftype=s (symbolic link).
-c class
Maps the class of all paths to class.
OPERANDS
path1
Pathname where objects are located.
path2
Pathname which should be substituted on output for path1.
EXAMPLES
Example 1: Basic Usage
The following example shows a common usage of pkgproto and a partial
listing of the output produced.
example% pkgproto /bin=bin /usr/bin=usrbin /etc=etc
f none bin/sed=/bin/sed 0775 bin bin
f none bin/sh=/bin/sh 0755 bin daemon
f none bin/sort=/bin/sort 0755 bin bin
f none usrbin/sdb=/usr/bin/sdb 0775 bin bin
f none usrbin/shl=/usr/bin/shl 4755 bin bin
d none etc/master.d 0755 root daemon
f none etc/master.d/kernel=/etc/master.d/kernel 0644 root daemon
f none etc/rc=/etc/rc 0744 root daemon
Example 2: Using pkgproto in a Pipeline
The following command shows pkgproto accepting the output of the find
command.
example% find / -type d -print | pkgproto
d none / 755 root root
d none /bin 755 bin bin
d none /usr 755 root root
d none /usr/bin 775 bin bin
d none /etc 755 root root
d none /tmp 777 root root
EXIT STATUS
0
Successful completion.
>0
An error occurred.
SEE ALSO
pkgmk(1), pkgparam(1), pkgtrans(1), prototype(5), attributes(7),
largefile(7), pkgadd(8)
Application Packaging Developer's Guide
NOTES
By default, pkgproto creates symbolic link entries for any symbolic
link encountered (ftype=s). When you use the -i option, pkgproto
creates a file entry for symbolic links (ftype=f). The prototype(5)
file would have to be edited to assign such file types as v
(volatile), e (editable), or x (exclusive directory). pkgproto
detects linked files. If multiple files are linked together, the
first path encountered is considered the source of the link.
By default, pkgproto prints prototype entries on the standard output.
However, the output should be saved in a file (named Prototype or
prototype, for convenience) to be used as input to the pkgmk(1)
command.
October 30, 2007 PKGPROTO(1)