Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/pkg
Path: blob/main/docs/pkg-set.8
2065 views
.\"
.\" FreeBSD pkg - a next generation package for the installation and maintenance
.\" of non-core utilities.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\"
.\"     @(#)pkg.8
.\"
.Dd August 27, 2025
.Dt PKG-SET 8
.Os
.Sh NAME
.Nm "pkg set"
.Nd modify information in the installed database
.Sh SYNOPSIS
.Nm
.Op Fl a
.Op Fl A Ar 0|1
.Op Fl n Ar oldname:newname
.Op Fl o Ar oldorigin:neworigin
.Op Fl p
.Op Fl v Ar 0|1
.Op Fl y
.Op Fl Cgix
.Ar pkg-name
.Pp
.Nm
.Op Cm --all
.Op Cm --automatic Ar 0|1
.Op Cm --change-name Ar oldname:newname
.Op Cm --change-origin Ar oldorigin:neworigin
.Op Cm --partial
.Op Cm --yes
.Op Fl v Ar 0|1
.Op Cm --{case-sensitive,glob,case-insensitive,regex}
.Ar pkg-name
.Sh DESCRIPTION
.Nm
is used to modify information concerning installed packages.
.Nm
should always be used with caution.
.Sh OPTIONS
The following options are supported by
.Nm :
.Bl -tag -width automatic
.It Fl A Ar 01 , Cm --automatic Ar 01
Set automatic flag for the package: 0 is not automatic, 1 is automatic.
This affects the operation of
.Xr pkg-autoremove 8 .
.It Fl a , Cm --all
Match all installed packages.
.It Fl C , Cm --case-sensitive
Make the standard or the regular expression
.Fl ( x )
matching against
.Ar pkg-name
case sensitive.
.It Fl g , Cm --glob
Match
.Ar pkg-name
as a globbing expression.
.It Fl i , Cm --case-insensitive
Make the standard or regular expression
.Fl ( x )
matching against
.Ar pkg-name
case insensitive.
This is the default, unless modified by setting
.Ev CASE_SENSITIVE_MATCH
to true in
.Pa pkg.conf .
.It Fl n Ar oldname:newname , Cm --change-name Ar oldname:newname
Change the package name of a given dependency from
.Ar oldname
to
.Ar newname .
.It Fl o Ar oldorigin:neworigin , Cm --change-origin Ar oldorigin:neworigin
Change the port origin of a given dependency from
.Ar oldorigin
to
.Ar neworigin .
This corresponds to the port directory that the package originated from.
Typically, this is only needed for upgrading a library or package that
has MOVED or when the default version of a major port dependency
changes. (DEPRECATED)
Usually this will be explained in /usr/ports/UPDATING.
Also see
.Xr pkg-updating 8
and
.Sx EXAMPLES .
.It Fl p , Cm --partial
Turn the
.Fl o
or
.Fl -n
options from exact match renames into substring search in replace in all
installed packages.
.It Fl x , Cm --regex
Match
.Ar pkg-name
as a regular expression according to the "modern" or "extended" syntax of
.Xr re_format 7 .
.It Fl v Ar 01
Set or unset the
.Qq vital
flag on the target package(s).
Set to
.Ar 0
to disable the
.Qq vital
flag, and
.Ar 1
to enable it.
.It Fl y , Cm --yes
Assume yes rather than asking for confirmation before modifying package information.
.El
.Pp
If neither the
.Fl g
nor
.Fl x
options are used, the default is to match pkg-name exactly.
.Sh FILES
See
.Xr pkg.conf 5 .
.Sh EXAMPLES
Change a package from automatic to non-automatic, which will prevent
.Ic autoremove
from removing it:
.Dl % pkg set -A 0 perl-5.14
.Pp
Change a package from non-automatic to automatic, which will make
.Ic autoremove
allow it be removed once nothing depends on it:
.Dl % pkg set -A 1 perl-5.14
.Pp
Rename all the php83- packages into php84- packages in order to prepare
for an upgrade
.Dl % pkg set -p -n php83:php84
.Sh ENVIRONMENT
The following environment variables affect the execution of
.Nm .
See
.Xr pkg.conf 5
for further description.
.Bl -tag -width ".Ev NO_DESCRIPTIONS"
.It Ev CASE_SENSITIVE_MATCH
.El
.Sh SEE ALSO
.Xr pkg_create 3 ,
.Xr pkg_printf 3 ,
.Xr pkg_repo_create 3 ,
.Xr pkg_repos 3 ,
.Xr pkg-keywords 5 ,
.Xr pkg-lua-script 5 ,
.Xr pkg-repository 5 ,
.Xr pkg-script 5 ,
.Xr pkg-triggers 5 ,
.Xr pkg.conf 5 ,
.Xr pkg 8 ,
.Xr pkg-add 8 ,
.Xr pkg-alias 8 ,
.Xr pkg-annotate 8 ,
.Xr pkg-audit 8 ,
.Xr pkg-autoremove 8 ,
.Xr pkg-check 8 ,
.Xr pkg-clean 8 ,
.Xr pkg-config 8 ,
.Xr pkg-create 8 ,
.Xr pkg-delete 8 ,
.Xr pkg-fetch 8 ,
.Xr pkg-info 8 ,
.Xr pkg-install 8 ,
.Xr pkg-key 8 ,
.Xr pkg-lock 8 ,
.Xr pkg-query 8 ,
.Xr pkg-register 8 ,
.Xr pkg-repo 8 ,
.Xr pkg-repositories 8 ,
.Xr pkg-rquery 8 ,
.Xr pkg-search 8 ,
.Xr pkg-shell 8 ,
.Xr pkg-shlib 8 ,
.Xr pkg-ssh 8 ,
.Xr pkg-stats 8 ,
.Xr pkg-triggers 8 ,
.Xr pkg-update 8 ,
.Xr pkg-updating 8 ,
.Xr pkg-upgrade 8 ,
.Xr pkg-version 8 ,
.Xr pkg-which 8