DEFAULT_VERSIONS+=perl=5.34
DEFAULT_VERSIONS+=perl5=5.34
This means that the package you built and installed has a higher version than the one in the port index file /usr/ports/INDEX-12.db. That index file may be out of sync with the actual ports directory tree.perl5-5.34.0 > succeeds index (index has 5.32.1_1)
pkg version -v
to pkg version --ports -v
, the latter uses the actual ports tree, not the index. If it is indeed caused by the index, see portsdb() on how to re-create the index.-R
option to force pkg-version(8) to compare with the remote repository.-I
, -P
or -R
to force it to select a particular source.The database of available packages and versions to compare against the
installed packages may be chosen by specifying one of -P, -R or -I or by
setting VERSION_SOURCE in pkg.conf(5). If not specified then the ports
index file will be used if it exists (-I). Otherwise, should a ports
tree exist that will be used to compare versions (-P). Failing either of
those two choices, the repository catalogue will be used (-R).
$ pkg version -vRx perl
Updating FreeBSD repository catalogue...
Fetching packagesite.pkg: 100% 6 MiB 6.7MB/s 00:01
Processing entries: 100%
FreeBSD repository update completed. 31265 packages processed.
All repositories are up to date.
perl5-5.34.0 > succeeds remote (remote has 5.32.1_1)
$ pkg version -vx perl
perl5-5.34.0 > succeeds index (index has 5.32.1_1)
$ pkg version -v --ports -x perl
perl5-5.34.0 = up-to-date with port
portsdb -Uu
did the trick, thanks guys!Nope. I always use ports to compile/install packages. I'm pretty sure I didMixing and matching packages and ports?
make -C /usr/ports/lang/perl5.34 install clean
$ cat /usr/local/etc/pkg.conf
# System-wide configuration file for pkg(8)
# For more information on the file format and
# options please refer to the pkg.conf(5) man page
# Note: you don't need to have a pkg.conf file. Many installations
# will work well with no pkg.conf at all or with an empty pkg.conf
# (other than comment lines). You can also override any of these
# settings from the environment.
# Configuration options -- default values.
#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10"; # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
#REPOS_DIR [
# "/etc/pkg/",
# "/usr/local/etc/pkg/repos/",
#]
#PLIST_KEYWORDS_DIR = "";
#SYSLOG = true;
#ABI = "freebsd:10:x86:64"; # Autogenerated
#DEVELOPER_MODE = false;
#VULNXML_SITE = "http://vuxml.freebsd.org/freebsd/vuln.xml.xz";
#FETCH_RETRY = 3;
#PKG_PLUGINS_DIR = "/usr/local/lib/pkg/";
#PKG_ENABLE_PLUGINS = true;
#PLUGINS [
#]
#DEBUG_SCRIPTS = false;
#PLUGINS_CONF_DIR = "/usr/local/etc/pkg/";
#PERMISSIVE = false;
#REPO_AUTOUPDATE = true;
#NAMESERVER = "";
#HTTP_USER_AGENT = "Custom_User_Manager";
#EVENT_PIPE = "";
#FETCH_TIMEOUT = 30;
#UNSET_TIMESTAMP = false;
#SSH_RESTRICT_DIR = "";
#PKG_ENV {
#}
#PKG_SSH_ARGS = "";
#DEBUG_LEVEL = 0;
#ALIAS {
#}
#CUDF_SOLVER = "";
#SAT_SOLVER = "";
#RUN_SCRIPTS = true;
#CASE_SENSITIVE_MATCH = false;
#IP_VERSION = 0
# Sample alias settings
ALIAS : {
all-depends: query %dn-%dv,
annotations: info -A,
build-depends: info -qd,
cinfo: info -Cx,
comment: query -i "%c",
csearch: search -Cx,
desc: query -i "%e",
download: fetch,
iinfo: info -ix,
isearch: search -ix,
prime-list: "query -e '%a = 0' '%n'",
prime-origins: "query -e '%a = 0' '%o'",
leaf: "query -e '%#r == 0' '%n-%v'",
list: info -ql,
noauto = "query -e '%a == 0' '%n-%v'",
options: query -i "%n - %Ok: %Ov",
origin: info -qo,
provided-depends: info -qb,
rall-depends: rquery %dn-%dv,
raw: info -R,
rcomment: rquery -i "%c",
rdesc: rquery -i "%e",
required-depends: info -qr,
roptions: rquery -i "%n - %Ok: %Ov",
shared-depends: info -qB,
show: info -f -k,
size: info -sq,
unmaintained = "query -e '%m = \"ports@FreeBSD.org\"' '%o (%w)'",
runmaintained = "rquery -e '%m = \"ports@FreeBSD.org\"' '%o (%w)'",
}
DEFAULT_VERSIONS
that are set. The index you get from portsnap(8) is built with the standard default versions. The standard default Perl version is 5.32. You've installed Perl 5.34, which means your Perl version is newer than the set default. Which is what pkg-version(8) is telling you. make index
or portsdb -U
), pkg-version(8) is going to show a =
to show you your installed Perl version is the same version as the default. Unless your installed version just happened to be out of date, then it would show a >
for obvious reasons. make.conf
since portsnap
uses some standard default versions list? Or do you mean portsnap
uses defaults when a corresponding record is missing in make.conf
?perl5=5.34
in DEFAULT_VERSIONS
. I follow /usr/ports/UPDATING
, so I did this step when I just started updating everything.$ cat /etc/make.conf
#
# Options
#
#WITHOUT="X11"
OPTIONS_UNSET=X11
#ALLOW_UNSUPPORTED_SYSTEM=yes
#
# Compile
#
CPUTYPE?= corei7
CFLAGS= -O2 -fno-strict-aliasing -pipe
COPTFLAGS= -O2 -pipe -funroll-loops -ffast-math -fno-strict-aliasing
#
#
DEFAULT_VERSIONS+= ssl=openssl perl5=5.34
Umm, I thoughtFor portupgrade(8) to work properly you have to keep the INDEX-* file and the INDEX.db updated every time you update your ports tree.
portsnap
does it for me make index
or portsdb -U
. This rebuild will create an index based on the DEFAULT_VERSIONS you have set in /etc/make.conf. Here you've set the Perl default to 5.34. Now running pkg-version(8) will compare against that updated index and will show your Perl version as being up to date. The database of available packages and versions to compare against the
installed packages may be chosen by specifying one of -P, -R or -I or by
setting VERSION_SOURCE in pkg.conf(5). If not specified then the ports
index file will be used if it exists (-I). Otherwise, should a ports
tree exist that will be used to compare versions (-P). Failing either of
those two choices, the repository catalogue will be used (-R).