Solved How to find out the exact version of a port program?

Example:
pkg version -P -vl "<" tells me
--> aide-0.18.6_1 < needs updating (port has 0.18.6_2)

Package
pkg search aide-0 shows
--> aide-0.18.6_2 File and directory integrity checker

Ports
cat /usr/ports/security/aide/distinfo
--> (aide-0.18.6.tar.gz)
?
How can I find out what exactly version is in the ports "-0.18.6_1", also -0.18.6_2 or may be newer -0.18.6_3
Thanks for an idea. Also in Makefile stands only: "PORTVERSION= 0.18.6"
 
The last number is PORTREVISION in the Makefile.
The PORTVERSION doesn't show the last version number of ...6_1 or ....6_2 or may be newer ....6_3.
How can I find out what exactly version is in the ports "-0.18.6_1", also -0.18.6_2 or may be newer -0.18.6_3
 
When I am going to update one of my ports, i check out freshports to see what's the latest version of my port and if it has a bumped portrevision number or not, then check the port located in my ports tree to see if they match with each other, if not, i bump it manually if i don't want to update all of my ports after a while. Otherwise my update git patch for the port wouldn't apply successfully.
 
I try
[py311-gi-docgen-2024.1_1 < needs updating (index has 2025.4)]
cd /usr/ports/textproc/py-gi-docgen
make -V PORTVERSION
--> 2024.1
make -V PORTREVISION
--> 1

But what does e.g. ",1" - the number after the comma, mean?
pkg version -vl "<" | grep ",1"

dbus-1.14.10_5,1 < needs updating (index has 1.16.2_3,1)
ffmpeg-6.1.2_14,1 < needs updating (index has 6.1.2_15,1)
hwdata-0.396,1 < needs updating (index has 0.397,1)
libarchive-3.7.7,1 < needs updating (index has 3.8.1,1)
openssl-3.0.16,1 < needs updating (index has 3.0.17,1)
 
But was does that i.e. ",1" - the number after the comma, mean?
pkg version -vl "<" | grep ",1"
If i recall correctly, it's PORTEPOCH.

Code:
5.2.3.2. PORTEPOCH
From time to time a software vendor or FreeBSD porter will do something silly and release a
version of their software which is actually numerically less than the previous version. An example
of this is a port which goes from foo-20000801 to foo-1.0 (the former will be incorrectly treated as a
newer version since 20000801 is a numerically greater value than 1).
 
You need to read the Makefile to make sure and it depends on your definition of "exact".
There are multiple issues with blindly trusting DISTVERSION or PORTVERSION variable

Such as:

Ports that....
* Incorrectly defines it but points to a different commit
* Tracks master/main branch but defines it as a release version
* That have backports
* DIST/PORTVERSION is adapted to fit the tree (usually that applies to #2 where we use date to define version, such as 2.34.20250405)
* Maintainer decides to use their own non "standard" versioning

Both #1 and #2 exists in tree
 
Back
Top