.TH CREATE 8.SH NAMEcreate, inst, info \- archive or update a file system.SH SYNOPSIS.B install/create.RB [ -u ].RB [ -U ].RB [ -v ].RB [ -x ].RB [ -o ].RB [ -p.IR proto ].RB [ -r.IR root ].RB [ -s.IR source ].RB [ -N.IR uid ].RB [ -G.IR gid ].RB [ -d.IR description ].I name.PP.B install/inst.RB [ -c ].RB [ -h ].RB [ -t ].RB [ -u ].RB [ -v ].RB [ -F ].RB [ -r.IR root ].I name.RI [ prefix.IR ... ].PP.B install/info.RB [ -r ].I package.SH DESCRIPTION.I Createcopies files from the file tree.I source(default.BR / )to an output file in archive format appropriate for a software distribution. The name of the outputfile is the time that the archive was made. The latter includes wrap headers that describethe distribution..I Nameis typically the name of the product or software package. The.B -poption specifies the prototype file.I prototo use to build the archive..PPEach line of the.I protofile specifies a file to copy.Indentation is significant,with each level of indentation corresponding to a level in the file tree.Fields within a line are separated by white space.The first field is the last path element in the destination file tree.The second field specifies the permissions.The third field is the owner of the file,and the fourth is the group owning the file.The fifth field is the name of the file from which to copy;this file is read from the current name space,not the source file tree.All fields except the first are optional..PPNames beginning with a.L $are expanded as environment variables.If the first file specified in a directory is.LR * ,all of the files in that directory are copied.If the first file is.LR % ,all of the non-directory files in that directory are copied.If the first file is.LR + ,all of the files are copied, and all subdirectoriesare recursively copied..PPFiles in the source tree that are not specified in the.I protofileare not placed in the archive..PPThe remaining options to.I createare:.TP 10.B -uBuild an update distribution rather than a base distribution. In this case .I nameshould be the name of the previous archive file built for this product. Only filesthat are out of date with respect to the latter are included in the archive. Files whichno longer exist will be marked for removal..TP.B -UBuild an update package distribution instead. This is a hybrid of a basedistribution and an update distribution..TP.B -vPrint out the files as they go into the archive..TP.B -xPrint out the files that would go into the archive but do not actually archive them..TP.B -oCopy the archive file to the standard output rather than putting it in a date stamped output file..TP.B -r rootSpecifies the location of any previous archives for this product..TP.B -N uidGive all the files in the archive the user id specified..TP.B -G gidGive all the files in the archive the group id specified,.TP.B -d descriptionGive a description of the distribution. This is placed in the wrap header files..PD.PP.I Instinstalls archive files made by.I create ..I Nameis the name of the archive file to install. Any further names after this are treated as pathprefixes and only files in the archive that have one of the given prefixes are actually installed.The option to.I instare :.TP 10.B -cCarry on regardless when errors occur. The default behaviour is to exit on encountering an error..TP.B -hOnly print the names of the files in the archive..TP.B -tGive each installed file the same date stamp as indicated by that file's entry in the archive..TP.B -uGive each installed file the same date stamp, user id and group id as shown in the archive..TP.B -vPrint out the names of directories as they are installed..TP.B -FForce the installation of the files in the archive even when the corresponding local filehas apparently been locally updated or already exists..TP.B -r rootSpecifies the root of destination tree where the files will be copied to..PD.PP.I Infoprints information about either a specific file produced by.I createor about all files making up a package in the.B /wraptree. In particular base packages,full updates and partial updates are distinguished. The .B -roptionspecifies the the root of the tree to look in. This defaults to.BR / ..SH EXAMPLES.PPMake an archive to establish a new base package for an Inferno distribution:.IP.EXinstall/create -o -N inferno -G inf -d InfernoOS -p PROTO Inferno.1.0 > inferno.arch.EE.PPHere the name of the product is Inferno.1.0..PPInstall that archive on another machine:.IP.EXinstall/inst -r / inferno.arch.EE.PPHere the product is placed in / with the user and group ids being set to those of theperson doing the installation..SH SOURCE.B /appl/cmd/install/arch.b.br.B /appl/cmd/install/create.b.br.B /appl/cmd/install/info.b.br.B /appl/cmd/install/inst.b.br.B /appl/cmd/install/proto.b.br.B /appl/cmd/install/wrap.b.SH "SEE ALSO".IR archfs (4)
.TH CREATE 8
.SH NAME
create, inst, info \- archive or update a file system
.SH SYNOPSIS
.B install/create
.RB [ -u ]
.RB [ -U ]
.RB [ -v ]
.RB [ -x ]
.RB [ -o ]
.RB [ -p
.IR proto ]
.RB [ -r
.IR root ]
.RB [ -s
.IR source ]
.RB [ -N
.IR uid ]
.RB [ -G
.IR gid ]
.RB [ -d
.IR description ]
.I name
.PP
.B install/inst
.RB [ -c ]
.RB [ -h ]
.RB [ -t ]
.RB [ -u ]
.RB [ -v ]
.RB [ -F ]
.RB [ -r
.IR root ]
.I name
.RI [ prefix
.IR ... ]
.PP
.B install/info
.RB [ -r ]
.I package
.SH DESCRIPTION
.I Create
copies files from the file tree
.I source
(default
.BR / )
to an output file in archive format appropriate for a software distribution. The name of the output
file is the time that the archive was made. The latter includes wrap headers that describe
the distribution.
.I Name
is typically the name of the product or software package. The
.B -p
option specifies the prototype file
.I proto
to use to build the archive.
.PP
Each line of the
.I proto
file specifies a file to copy.
Indentation is significant,
with each level of indentation corresponding to a level in the file tree.
Fields within a line are separated by white space.
The first field is the last path element in the destination file tree.
The second field specifies the permissions.
The third field is the owner of the file,
and the fourth is the group owning the file.
The fifth field is the name of the file from which to copy;
this file is read from the current name space,
not the source file tree.
All fields except the first are optional.
.PP
Names beginning with a
.L $
are expanded as environment variables.
If the first file specified in a directory is
.LR * ,
all of the files in that directory are copied.
If the first file is
.LR % ,
all of the non-directory files in that directory are copied.
If the first file is
.LR + ,
all of the files are copied, and all subdirectories
are recursively copied.
.PP
Files in the source tree that are not specified in the
.I proto
file
are not placed in the archive.
.PP
The remaining options to
.I create
are:
.TP 10
.B -u
Build an update distribution rather than a base distribution. In this case
.I name
should be the name of the previous archive file built for this product. Only files
that are out of date with respect to the latter are included in the archive. Files which
no longer exist will be marked for removal.
.TP
.B -U
Build an update package distribution instead. This is a hybrid of a base
distribution and an update distribution.
.TP
.B -v
Print out the files as they go into the archive.
.TP
.B -x
Print out the files that would go into the archive but do not actually archive them.
.TP
.B -o
Copy the archive file to the standard output rather than putting it in a date stamped output file.
.TP
.B -r root
Specifies the location of any previous archives for this product.
.TP
.B -N uid
Give all the files in the archive the user id specified.
.TP
.B -G gid
Give all the files in the archive the group id specified,
.TP
.B -d description
Give a description of the distribution. This is placed in the wrap header files.
.PD
.PP
.I Inst
installs archive files made by
.I create .
.I Name
is the name of the archive file to install. Any further names after this are treated as path
prefixes and only files in the archive that have one of the given prefixes are actually installed.
The option to
.I inst
are :
.TP 10
.B -c
Carry on regardless when errors occur. The default behaviour is to exit on encountering an error.
.TP
.B -h
Only print the names of the files in the archive.
.TP
.B -t
Give each installed file the same date stamp as indicated by that file's entry in the archive.
.TP
.B -u
Give each installed file the same date stamp, user id and group id as shown in the archive.
.TP
.B -v
Print out the names of directories as they are installed.
.TP
.B -F
Force the installation of the files in the archive even when the corresponding local file
has apparently been locally updated or already exists.
.TP
.B -r root
Specifies the root of destination tree where the files will be copied to.
.PD
.PP
.I Info
prints information about either a specific file produced by
.I create
or about all files making up a package in the
.B /wrap
tree. In particular base packages,
full updates and partial updates are distinguished. The
.B -r
option
specifies the the root of the tree to look in. This defaults to
.BR / .
.SH EXAMPLES
.PP
Make an archive to establish a new base package for an Inferno distribution:
.IP
.EX
install/create -o -N inferno -G inf -d InfernoOS -p PROTO Inferno.1.0 > inferno.arch
.EE
.PP
Here the name of the product is Inferno.1.0.
.PP
Install that archive on another machine:
.IP
.EX
install/inst -r / inferno.arch
.EE
.PP
Here the product is placed in / with the user and group ids being set to those of the
person doing the installation.
.SH SOURCE
.B /appl/cmd/install/arch.b
.br
.B /appl/cmd/install/create.b
.br
.B /appl/cmd/install/info.b
.br
.B /appl/cmd/install/inst.b
.br
.B /appl/cmd/install/proto.b
.br
.B /appl/cmd/install/wrap.b
.SH "SEE ALSO"
.IR archfs (4)