summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pkg_install/delete/pkg_delete.1
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1994-12-06 01:04:17 +0000
committerjkh <jkh@FreeBSD.org>1994-12-06 01:04:17 +0000
commit46ecb27be87b8d41cc76e7f0ffa04d757de9db0b (patch)
treed6cb6449ed109919c30f3b7760546beea24e5f38 /usr.sbin/pkg_install/delete/pkg_delete.1
parent773a5f451d951042f1a9541533ee9b5c97430c39 (diff)
downloadFreeBSD-src-46ecb27be87b8d41cc76e7f0ffa04d757de9db0b.zip
FreeBSD-src-46ecb27be87b8d41cc76e7f0ffa04d757de9db0b.tar.gz
More changes from John T. Kohl. Man pages, mostly.
Submitted by: jtkohl
Diffstat (limited to 'usr.sbin/pkg_install/delete/pkg_delete.1')
-rw-r--r--usr.sbin/pkg_install/delete/pkg_delete.1224
1 files changed, 142 insertions, 82 deletions
diff --git a/usr.sbin/pkg_install/delete/pkg_delete.1 b/usr.sbin/pkg_install/delete/pkg_delete.1
index cde1ba6..d868e18 100644
--- a/usr.sbin/pkg_install/delete/pkg_delete.1
+++ b/usr.sbin/pkg_install/delete/pkg_delete.1
@@ -14,111 +14,171 @@
.\" Jordan K. Hubbard
.\"
.\"
-.\" @(#)pkg_delete.1
+.\" @(#)pkg_delete.8
.\"
-.TH pkg_delete 1 "July 18, 1993" "" "FreeBSD"
-
-.SH NAME
-pkg_delete - a utility for deleting previously installed software package distributions.
-.SH SYNOPSIS
-.na
-.B pkg_delete
-.RB [options]
-.RB "pkg-name\ [.. pkg-name]"
-
-.SH DESCRIPTION
+.Dd November 25, 1994
+.Dt pkg_delete 8
+.Os NetBSD 1.0
+.Sh NAME
+.Nm pkg_delete
+.Nd a utility for deleting previously installed software package distributions.
+.Sh SYNOPSIS
+.Nm
+.Op Fl vDdnf
+.Op Fl p Ar prefix
+.Ar pkg-name ...
+.Sh DESCRIPTION
The
-.B pkg_delete
+.Nm
command is used to delete packages that have been previously installed
with the
-.B pkg_add
+.Xr pkg_add 8
command.
-.SH OPTIONS
-.TP
+.Sh WARNING
+.Bf -emphasis
+Since the
+.Nm
+command may execute scripts or programs provided by a package file,
+your system may be susceptible to ``trojan horses'' or other subtle
+attacks from miscreants who create dangerous package files.
+.Pp
+You are advised to verify the competence and identity of those who
+provide installable package files. For extra protection, examine all
+the package control files in the package record directory (
+.Pa /var/db/pkg/<pkg-name>/ ).
+Pay particular
+attention to any +INSTALL, +DEINSTALL, +REQUIRE or +MTREE_DIRS files,
+and inspect the +CONTENTS file for
+.Cm @cwd ,
+.Cm @mode
+(check for setuid),
+.Cm @dirrm ,
+.Cm @exec ,
+and
+.Cm @unexec
+directives, and/or use the
+.Xr pkg_info 1
+command to examine the installed package control files.
+.Ef
+
+.Sh OPTIONS
The following command line options are supported.
-.TP
-.B \-v
+.Bl -tag -width indent
+.It Ar pkg-name ...
+The named packages are deinstalled.
+.It Fl v
Turns on verbose output.
-.B "Optional."
-.TP
-.B \-D
-If an de-installation script exists for a given package, do not execute it.
-.B "Optional."
-.TP
-.B \-n
-Don't actually de-install a package, just report the steps that
-would be taken if it was.
-.B "Optional."
-.TP
-.BI "\-p\ " prefix
+.Em "Optional."
+.It Fl D
+If a deinstallation script exists for a given package, do not execute it.
+.Em "Optional."
+.It Fl n
+Don't actually deinstall a package, just report the steps that
+would be taken if it were.
+.Em "Optional."
+.It Fl p Ar prefix
Sets
-.I prefix
+.Ar prefix
as the directory in which to delete files from any installed packages
-which do not explicitly set theirs.
-.B "Optional."
-.PP
-.SH "TECHNICAL DETAILS"
-.B
-pkg_delete
-does pretty much what it says. It looks for a package in /var/db/pkg
-and sets about deleting the files that make up the package and, finally,
-the record of the package itself.
-.PP
+which do not explicitly set theirs. For most packages, the prefix will
+be set automatically to the installed location by
+.Xr pkg_add 8 .
+.Em "Optional."
+.It Fl d
+Remove empty directories created by file cleanup. By default, only
+files/directories explicitly listed in a package's contents (either as
+normal files/directories or with the
+.Cm @dirrm
+directive) will be removed at deinstallation time. This option tells
+.Nm
+to also remove any directories that were emptied as a result of removing
+the package.
+.Em "Optional."
+.It Fl f
+Force removal of the package, even if a dependency is recorded or the
+deinstall or require script fails.
+.Em "Optional."
+.El
+
+.Pp
+.Sh TECHNICAL DETAILS
+.Nm
+does pretty much what it says. It examines installed package records in
+.Pa /var/db/pkg/<pkg-name> ,
+deletes the package contents, and finally removes the package records.
+.Pp
+If a package is required by other installed packages,
+.Nm
+will list those dependent packages and refuse to delete the package
+(unless the
+.Fl f
+option is given).
+.Pp
If the package contains a
-.B require
+.Ar require
file (see
-.B pkg_create
-), then this is executed first with the flags
-.PP
-.B <script>
-.I pkg-name DEINSTALL
-.PP
-to see whether or not de-installation should continue (a non-zero exit
-status means no).
-.PP
+.Xr pkg_create 8 ),
+then this is executed first as
+.Bd -filled -offset indent -compact
+.Cm require
+.Ar <pkg-name>
+.Ar DEINSTALL
+.Ed
+(where
+.Ar pkg-name
+is the name of the package in question and
+.I DEINSTALL
+is a keyword denoting that this is a deinstallation)
+to see whether or not deinstallation should continue. A non-zero exit
+status means no, unless the
+.Fl f
+option is specified.
+.Pp
If a
-.B de-install
+.Cm deinstall
script exists for the package, it is executed before any files are removed.
It is this script's responsibility to clean up any additional messy details
around the package's installation, since all
-.B pkg_delete
+.Nm
knows how to do is delete the files created in the original distribution.
The
-.B de-install
-script is called with the flags
-.PP
-.B <script>
-.I pkg-name DEINSTALL
-.PP
-Where
-.I pkg-name
-is the name of the package in question and
-.I DEINSTALL
-is a keyword denoting that this is a deinstallation. Passing the keyword
+.Nm deinstall
+script is called as:
+.Bd -filled -offset indent -compact
+.Cm deinstall
+.Ar <pkg-name>
+.Ar DEINSTALL
+.Ed
+Passing the keyword
+.Ar DEINSTALL
lets you potentially write only one program/script that handles all
aspects of installation and deletion.
-.PP
+.Pp
All scripts are called with the environment variable
-.B PKG_PREFIX
+.Ev PKG_PREFIX
set to the installation prefix (see the
-.B -p
+.Fl p
option above). This allows a package author to write a script
that reliably performs some action on the directory where the package
-is installed, even if the user might have changed it by
-.B -p
-when
-.B pkg_add
+is installed, even if the user might have changed it by specifying the
+.Fl p
+option when running
+.Nm
or
-.B pkg_delete
-is run.
-.PP
-.SH BUGS
+.Cm pkg_add .
+.Sh SEE ALSO
+.Xr pkg_info 1 ,
+.Xr mktemp 3 ,
+.Xr mtree 8 ,
+.Xr pkg_add 8 ,
+.Xr pkg_create 8 .
+.Sh AUTHORS
+.Bl -tag -width indent -compact
+.It "Jordan Hubbard"
+most of the work
+.It "John Kohl"
+refined it for NetBSD
+.El
+.Sh BUGS
Sure to be some.
-.SH "SEE ALSO"
-.BR pkg_create "(" 1 "),"
-.BR pkg_info "(" 1 "),"
-.BR pkg_add "(" 1 "),"
-.SH AUTHORS
-Jordan Hubbard
-
OpenPOWER on IntegriCloud