This post carries on from using INDEX to find PORTVERSION deviations and outlines the first automated findings.
On Monday night, compare-index.sh ran from a cronjob for the first time. That night found zero issues. Come Wednesday morning, this was in the reporting email from that job:
9 /var/db/freshports/cache/spooling/refresh.txt 2 /var/db/freshports/cache/spooling/index-behind.txt 0 /var/db/freshports/cache/spooling/not-in-index.txt 0 /var/db/freshports/cache/spooling/not-in-freshports.txt
The file contents were:
[11:06 dev-ingress01 dvl ~] % cat /var/db/freshports/cache/spooling/refresh.txt
devel/boost-docs
devel/boost-jam
devel/gitaly
graphics/nvidia-drm-kmod
net/gitlab-agent
net/rubygem-gitlab-kas-grpc
www/gitlab-pages
www/gitlab-workhorse
x11/nvidia-kmod
and:
[11:09 dev-ingress01 dvl ~] % cat /var/db/freshports/cache/spooling/index-behind.txt japanese/man lang/emilua
I will look at the two boost related ports first.
The logs show these observations:
[11:21 dev-ingress01 dvl ~] % sudo grep compare /var/log/freshports/freshports.log | grep refresh Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: devel/boost-docs: FreshPorts has 1.91.0, INDEX has 1.92.0 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: devel/boost-jam: FreshPorts has 1.91.0, INDEX has 1.92.0 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: devel/gitaly: FreshPorts has 19.4.1, INDEX has 19.4.1_1 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: graphics/nvidia-drm-kmod: FreshPorts has 595.99.02, INDEX has 595.104.02 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: net/gitlab-agent: FreshPorts has 19.4.1, INDEX has 19.4.1_1 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: net/rubygem-gitlab-kas-grpc: FreshPorts has 19.4.0.p.r1, INDEX has 19.4.0.p.r1_1 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: www/gitlab-pages: FreshPorts has 19.4.1, INDEX has 19.4.1_1 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: www/gitlab-workhorse: FreshPorts has 19.4.1, INDEX has 19.4.1_1 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: x11/nvidia-kmod: FreshPorts has 595.99.02, INDEX has 595.104.02 Sep 30 02:45:10 dev-ingress01 ./compare-index.sh[2131]: refresh: 9 ports
The key point: FreshPorts has 1.91.0, INDEX has 1.92.0
That is precisely the type of deviation at the heart of the issue.
This deviation arose from a commit to devel/boost-all – that commit included this change:
diff --git a/devel/boost-all/common.mk b/devel/boost-all/common.mk
index 79a527d39dcb..aed710bd6d61 100644
--- a/devel/boost-all/common.mk
+++ b/devel/boost-all/common.mk
@@ -16,7 +16,7 @@ MASTER_SITES= https://archives.boost.io/release/${PORTVERSION}/source/ \
USES+= tar:bzip2
BOOST_MAJOR_VER=1
-BOOST_MINOR_VER=91
+BOOST_MINOR_VER=92
BOOST_PATCH_VER=0
BOOST_RC_VER=
BOOST_SHARED_LIB_VER=${BOOST_MAJOR_VER}.${BOOST_MINOR_VER}.${BOOST_PATCH_VER}
That explains the need for an update for both devel/boost-docs and devel/boost-jam. The refresh script should update that correctly.
The other ports
I will outline the causes behind the other ports. To find the cause, I’m looking at the port’s Makefile and tracking it from there.
- devel/gitaly – www/gitlab/Makefile.common
- graphics/nvidia-drm-kmod – x11/nvidia-driver/Makefile.version
- net/gitlab-agent
- net/rubygem-gitlab-kas-grpc – www/gitlab/Makefile.common (same as devel/gitalyabove)
- www/gitlab-pages – www/gitlab/Makefile.common (same as devel/gitalyabove)
- www/gitlab-workhorse – www/gitlab/Makefile.common (same as devel/gitalyabove)
- x11/nvidia-kmod – x11/nvidia-driver/Makefile.version
Which means…
Each of the ports listed above will be corrected with a refresh-from-files (i.e. make -V). This is how I ran that manually. Eventually, this too will be automated. That is a primary goal of FreshPorts – nothing to be done.
Another day
I didn’t finish writing the above on Wednesday. It is now Thursday morning, the above is completed, and I have a new report. That report is the exact same 9 ports.
That may be accurate. It may also indicate a stale ports tree from which INDEX was built. Let’s run it again. See farther below.
Fixing the database
The fix for the list of ports is refresh-listed-ports.pl:
[11:42 dev-ingress01 dvl ~] % cd /jails/freshports/usr/ports [11:43 dev-ingress01 dvl /jails/freshports/usr/ports] % git status fatal: detected dubious ownership in repository at '/jails/freshports/usr/ports' To add an exception for this directory, call: git config --global --add safe.directory /jails/freshports/usr/ports [11:43 dev-ingress01 dvl /jails/freshports/usr/ports] % sudo git status HEAD detached at 9a8fb82a2447 nothing to commit, working tree clean [11:43 dev-ingress01 dvl /jails/freshports/usr/ports] % sudo git checkout main Previous HEAD position was 9a8fb82a2447 math/viennacl: unbreak build by limit available LLVM by 19 as max Switched to branch 'main' Your branch is behind 'origin/main' by 1557 commits, and can be fast-forwarded. (use "git pull" to update your local branch) [11:43 dev-ingress01 dvl /jails/freshports/usr/ports] % sudo git pull Updating 3a5cd0b9aa77..9a8fb82a2447 Fast-forward GIDs | 8 +- MOVED | 95 +- Mk/Scripts/do-depends.sh | 6 + ... create mode 100644 x11/kitty/files/patch-kitty_shaders_custom_demo.py create mode 100644 x11/rio/files/patch-cargo-crates_simdutf-0.7.0_cpp_simdutf.h [11:43 dev-ingress01 dvl /jails/freshports/usr/ports] %
Then, in another
ssh
session, I was doing this:
[11:39 dev-ingress01 dvl ~] % sudo su -l freshports
$ cd /usr/local/libexec/freshports
$ ./refresh-listed-ports.pl /var/db/freshports/cache/spooling/refresh.txt
./refresh-listed-ports.pl starts
./refresh-listed-ports.pl working on 'devel/boost-docs' ('/ports/head/devel/boost-docs')
now processing devel/boost-docs with port_id = 25344
into RefreshFromFiles()
...
sql is INSERT INTO generate_plist (port_id, installed_file) VALUES ( 97109, '@kld /boot/modules'),( 97109, '@ldconfig'),( 97109, '/usr/local/share/licenses/nvidia-kmod-595.104.02.1501000/catalog.mk'),( 97109, '/usr/local/share/licenses/nvidia-kmod-595.104.02.1501000/LICENSE'),( 97109, '/usr/local/share/licenses/nvidia-kmod-595.104.02.1501000/NVIDIA'),( 97109, '/boot/modules/nvidia.ko'),( 97109, '/boot/modules/nvidia-modeset.ko'),( 97109, '/boot/modules/nvidia_gsp_ga10x_fw.ko'),( 97109, '/boot/modules/nvidia_gsp_tu10x_fw.ko'),( 97109, '@owner'),( 97109, '@group'),( 97109, '@mode');
update_package_flavors: first step, delete any existing flavors
sql is select PackageFlavorsDelete(97109)
leaving FreshPorts::Port::_save
refresh-listed-ports.pl ends: 9 refreshed, 0 needed no change, 0 failed, 0 not found
The full output is stored in a GitHub gist.
I manually checked each port – they now have the correct PORTVERSION value.
Success!
This is now automated
As of Thursday 2026-10-01 this was automated. Today (Friday), there were no anomalies / deviations. Time shall tell.











