108 lines
2.6 KiB
Groff
108 lines
2.6 KiB
Groff
.\" $NetBSD: pkg_rolling-replace.8,v 1.2 2006/12/06 10:41:29 wiz Exp $
|
|
.Dd August 7, 2006
|
|
.Dt PKG_ROLLING-REPLACE 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm pkg_rolling-replace
|
|
.Nd rebuild or update packages using 'make replace' in tsorted order
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl hnuv
|
|
.Op Fl x Ar pkgs
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
runs
|
|
.Dq make replace
|
|
on packages that have been marked with the
|
|
.Dq unsafe_depends=YES
|
|
flag or the
|
|
.Dq rebuild=YES
|
|
flag, optionally replacing any outdated packages (as reported by
|
|
.Xr pkg_chk 8 )
|
|
as well.
|
|
.Pp
|
|
Whenever
|
|
.Dq make replace
|
|
is run on a package, all installed packages
|
|
that depend on it are marked with the
|
|
.Dq unsafe_depends=YES
|
|
flag, which indicates that they may no longer be ABI-compatible
|
|
with the replaced package.
|
|
Running
|
|
.Nm
|
|
with no arguments will restore such packages to a safe state by
|
|
building a dependency graph, running
|
|
.Xr tsort 1
|
|
on it, and running
|
|
.Dq make replace
|
|
in the resulting topological order.
|
|
The dependency graph and topological sort are re-calculated after each
|
|
.Dq make replace ,
|
|
in case it causes additional packages to be marked unsafe.
|
|
.Pp
|
|
The user can mark additional packages to be rebuilt by setting the
|
|
.Dq rebuild=YES
|
|
flag on them using the command
|
|
.Dl % pkg_admin set rebuild=YES Aq pkg
|
|
.Pp
|
|
If the
|
|
.Fl u
|
|
option is given,
|
|
.Nm
|
|
will use
|
|
.Xl pkg_chk 8
|
|
to check for packages for which the version in pkgsrc is different
|
|
than the installed version, and run
|
|
.Dq make replace
|
|
on those packages as well (tsorting them along with the unsafe/rebuild
|
|
packages).
|
|
(Usually this results in packages being upgraded to newer versions,
|
|
assuming the pkgsrc tree is more recent than the currently installed
|
|
packages.)
|
|
.Ss Options
|
|
.Bl -tag -width xxxxxxxx
|
|
.It Fl h
|
|
Brief help.
|
|
.It Fl n
|
|
Display actions that would be taken, but don't actually run
|
|
.Dq make replace
|
|
or change any flags on installed packages.
|
|
This option attempts to calculate the new packages that would be
|
|
marked unsafe after each
|
|
.Dq make replace .
|
|
.It Fl u
|
|
Use
|
|
.Xl pkg_chk 8
|
|
to check for outdated packages, and replace those too.
|
|
.It Fl v
|
|
Verbose output.
|
|
.It Fl x Ar pkgs
|
|
Exclude the comma-separated list of packages from the update check
|
|
when
|
|
.Fl u
|
|
is given (does not exclude unsafe or rebuild-requested packages).
|
|
.El
|
|
.Sh ENVIRONMENT
|
|
.Nm
|
|
uses the following environment variables.
|
|
.Bl -tag -width xxxx
|
|
.It Ev PKGSRCDIR
|
|
Base of pkgsrc tree.
|
|
Defaults to
|
|
.Pa /usr/pkgsrc .
|
|
.It Ev PKG_DBDIR
|
|
pkgsrc database directory.
|
|
If not set in environment then defaults to
|
|
.Pa /var/db/pkg .
|
|
.El
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
.An Nick Goffee
|
|
.Aq ngoffee@bbn.com ,
|
|
with initial idea and many suggestions from
|
|
.An Greg Troxel
|
|
.Aq gdt@ir.bbn.com .
|
|
.Sh BUGS
|
|
.Nm
|
|
does not run fully automatically when any significant number of
|
|
packages need to be replaced.
|