PKG_PATCH(1) FreeBSD General Commands Manual PKG_PATCH(1)

NAME

pkg_patch — a utility for managing binary package patches.

SYNOPSIS

pkg_patch [−f] [−v] −a patchfile
pkg_patch
[−b] [−v] −c source_package target_package patch_file
pkg_patch
[−b] [−v] [−p pkg_repo_url] −m source_dir target_dir patch_dir
pkg_patch
[−v] −u patch_url
pkg_patch −h

DESCRIPTION

The pkg_patch command is used to work with patches to binary packages - creating them from existing binary packages and applying them to live systems. It implements infrastructure for mass package creation and distribution over the web. The −a and −u command flags are intended to be used by end-users to apply individual packages or mass update their installed packages. The other command flags are intended for package patch repo maintainers.

OPTIONS

The following command line arguments are supported:

−v

Turn on verbose output.

−f

Force continuing operation even if non-critical errors are encountered, such as error in installed package state or unsatisfied dependancies.

−a

Apply the specified package patch to the current live system. The currently installed package must match the source package from which the patch was generated.

−c

Create a package patch from two specified binary package files.

−m

Mass-create package patches from two directories of packages. The pkg_patch will attempt to match each package from the source directory to exactly one package in the target directory and produce both patches and the index file in the specified patch directory. The resulting directory will be called the "package patch repository."

−p

URL of the package repository containing full packages (i.e. not patches) compatible with packages in target_dir. This URL is used by clients to fetch the

−u

Compare the current system state with the package patch repository and update any packages found to need updating.

−h

Show usage help message.

TECHNICAL DETAILS

The pkg_patch utility operates on binary package files and on the live system, including the package database in /var/db/pkg. All documented modes of operation require pkg_patch to be run as the superuser. Currently, pkg_patch does not invoke any scripts or commands specified in the package files.

SEE ALSO

pkg_add(1), pkg_create(1), pkg_delete(1), pkg_info(1), pkg_version(1), bsdiff(1)

AUTHORS

Ivan Voras ⟨ivoras@freebsd.org⟩

BUGS

Many low-level details of pkg_patch (such as hard link handling, etc) depend on the behaviour of the tar(1) utility. This is also the reason why pkg_patch needs superuser privileges while running in all modes of operation.

FreeBSD 9.0 August 9, 2010 FreeBSD 9.0