freshports-www-2.16.1 requires some database changes. This post outlines the updates on one host.
Since starting this post, there’s been a few updates, and now I’m deploying 2.16.2.6
This post was composed and amended over several upgrades. The inconsistencies you see in hostnames and prompts are related to that.
Stop processing
[14:59 stage-ingress01 dvl ~] % sudo service freshports stop Stopping freshports. Waiting for PIDS: 26340. [17:18 stage-ingress01 dvl ~] % sudo service ingress stop Stopping ingress. Waiting for PIDS: 73998. [17:18 stage-ingress01 dvl ~] %
Add the new ports.pkgversion column
[14:52 pg01 dvl ~/src/freshports-database-schema] % psql freshports.stage psql (18.6) Type "help" for help. freshports.stage=# begin; BEGIN freshports.stage=*# \i updates-2026-09-28-pkgversion.ddl ALTER TABLE COMMENT freshports.stage=*# commit; COMMIT freshports.stage=#
DO NOT RUN
The previous notes to run updates-2026-09-15-extract-patch-depends-swap.ddl are incorrect.
It is no longer needed.
Package updates
On both the ingress and the nginx nodes, run pkg upgrade.
I’ve run pkg upgrade twice:
[11:15 x8dtu-ingress01 dvl ~] % sudo pkg upgrade Updating FreeBSD-base repository catalogue... FreeBSD-base repository is up to date. Updating local repository catalogue... [x8dtu-ingress01.vpn.unixathome.org] Fetching meta.conf: 100% 168 B 0.2 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] Fetching data: 100% 363 KiB 371.8 kB/s 00:01 Processing entries: 100% local repository update completed. 1213 packages processed. All repositories are up to date. Checking for upgrades (25 candidates): 100% Processing candidates (25 candidates): 100% The following 28 package(s) will be affected (of 0 checked): New packages to be INSTALLED: freshports-daemon-freshports: 2.0.16 [local] freshports-daemon-ingress: 2.0.4_15 [local] p5-freshports-ingress-modules: 2.3.1 [local] p5-freshports-ingress-scripts: 2.3.0.3 [local] Installed packages to be UPGRADED: bind-tools: 9.20.27 -> 9.20.29 [local] ca_root_nss: 3.129 -> 3.131 [local] expat: 2.8.5 -> 2.9.0 [local] git-lite: 2.55.0 -> 2.56.0 [local] groff: 1.24.1_1 -> 1.24.2 [local] nagios-plugins: 2.4.4_1,1 -> 2.4.4_2,1 [local] openldap26-client: 2.6.15 -> 2.6.15_1 [local] p5-DBI: 1.654 -> 1.655 [local] p5-Email-Sender: 2.601 -> 2.603 [local] p5-HTTP-Cookies: 6.11 -> 6.12 [local] p5-LWP-MediaTypes: 6.04 -> 6.05 [local] p5-freshports-modules: 2.2.2 -> 2.3.0 [local] p5-freshports-scripts: 2.2.7 -> 2.3.0.1 [local] pcre2: 10.48 -> 10.49 [local] pflogsumm: 1.2.1,1 -> 1.3.0,1 [local] protobuf-c: 1.5.1_4 -> 1.5.2 [local] py314-pycparser: 2.23 -> 3.0 [local] py314-pygit2: 1.20.0 -> 1.20.1 [local] python314: 3.14.7 -> 3.14.8 [local] readline: 8.3.3 -> 8.3.6 [local] tmux: 3.7c -> 3.8 [local] Installed packages to be REINSTALLED: cyrus-sasl-2.1.28_6 [local] (option changed: LMDB0 (added)) freshports-ingress-metaport-0.1.1 [local] (direct dependency changed: freshports-daemon-freshports (added), freshports-daemon-ingress (added), freshports-freshports (removed), freshports-ingress (removed)) mysql84-client-8.4.11_1 [local] (direct dependency changed: openldap26-client (origin changed)) Number of packages to be installed: 4 Number of packages to be upgraded: 21 Number of packages to be reinstalled: 3 The process will require 3 MiB more space. 71 MiB to be downloaded. Proceed with this action? [y/N]: y [x8dtu-ingress01.vpn.unixathome.org] [ 1/28] Fetching groff-1.24.2: 100% 5701 KiB 5.8 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 2/28] Fetching p5-DBI-1.655: 100% 805 KiB 824.7 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 3/28] Fetching p5-LWP-MediaTypes-6.05: 100% 18 KiB 18.2 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 4/28] Fetching protobuf-c-1.5.2: 100% 149 KiB 153.1 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 5/28] Fetching pflogsumm-1.3.0,1: 100% 45 KiB 46.3 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 6/28] Fetching python314-3.14.8: 100% 41 MiB 8.6 MB/s 00:05 [x8dtu-ingress01.vpn.unixathome.org] [ 7/28] Fetching mysql84-client-8.4.11_1: 100% 6031 KiB 6.2 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 8/28] Fetching expat-2.9.0: 100% 134 KiB 137.4 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [ 9/28] Fetching p5-freshports-scripts-2.3.0.1: 100% 72 KiB 74.0 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [10/28] Fetching p5-Email-Sender-2.603: 100% 64 KiB 65.7 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [11/28] Fetching freshports-daemon-ingress-2.0.4_15: 100% 3682 B 3.7 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [12/28] Fetching p5-freshports-ingress-scripts-2.3.0.3: 100% 76 KiB 77.6 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [13/28] Fetching nagios-plugins-2.4.4_2,1: 100% 455 KiB 466.3 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [14/28] Fetching bind-tools-9.20.29: 100% 1586 KiB 1.6 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [15/28] Fetching freshports-ingress-metaport-0.1.1: 100% 643 B 0.6 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [16/28] Fetching ca_root_nss-3.131: 100% 238 KiB 243.8 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [17/28] Fetching git-lite-2.56.0: 100% 9347 KiB 9.6 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [18/28] Fetching tmux-3.8: 100% 589 KiB 603.0 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [19/28] Fetching freshports-daemon-freshports-2.0.16: 100% 5431 B 5.4 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [20/28] Fetching p5-HTTP-Cookies-6.12: 100% 21 KiB 21.1 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [21/28] Fetching py314-pygit2-1.20.1: 100% 322 KiB 329.4 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [22/28] Fetching pcre2-10.49: 100% 1489 KiB 1.5 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [23/28] Fetching p5-freshports-modules-2.3.0: 100% 73 KiB 74.7 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [24/28] Fetching cyrus-sasl-2.1.28_6: 100% 1042 KiB 1.1 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [25/28] Fetching openldap26-client-2.6.15_1: 100% 1099 KiB 1.1 MB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [26/28] Fetching readline-8.3.6: 100% 470 KiB 481.3 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [27/28] Fetching p5-freshports-ingress-modules-2.3.1: 100% 73 KiB 74.3 kB/s 00:01 [x8dtu-ingress01.vpn.unixathome.org] [28/28] Fetching py314-pycparser-3.0: 100% 111 KiB 113.3 kB/s 00:01 Checking integrity... done (6 conflicting) - freshports-daemon-ingress-2.0.4_15 [local] conflicts with freshports-ingress-2.0.4_15 [installed] on /usr/local/etc/freshports/ingress.sh.sample - p5-freshports-ingress-scripts-2.3.0.3 [local] conflicts with p5-freshports-scripts-2.2.7 [installed] on /jails/freshports/cat-descr.sh - p5-freshports-ingress-scripts-2.3.0.3 [local] conflicts with p5-freshports-scripts-2.3.0.1 [local] on /jails/freshports/cat-descr.sh - freshports-daemon-freshports-2.0.16 [local] conflicts with freshports-freshports-2.0.16 [installed] on /usr/local/etc/freshports/freshports.sh.sample - p5-freshports-ingress-modules-2.3.1 [local] conflicts with p5-freshports-modules-2.2.2 [installed] on /usr/local/etc/freshports/config.pm.sample - p5-freshports-ingress-modules-2.3.1 [local] conflicts with p5-freshports-modules-2.3.0 [local] on /usr/local/etc/freshports/config.pm.sample Cannot solve problem using SAT solver, trying another plan Checking integrity... done (0 conflicting) Conflicts with the existing packages have been found. One more solver iteration is needed to resolve them. The following 23 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: bind-tools: 9.20.27 -> 9.20.29 [local] ca_root_nss: 3.129 -> 3.131 [local] expat: 2.8.5 -> 2.9.0 [local] git-lite: 2.55.0 -> 2.56.0 [local] groff: 1.24.1_1 -> 1.24.2 [local] nagios-plugins: 2.4.4_1,1 -> 2.4.4_2,1 [local] openldap26-client: 2.6.15 -> 2.6.15_1 [local] p5-DBI: 1.654 -> 1.655 [local] p5-Email-Sender: 2.601 -> 2.603 [local] p5-HTTP-Cookies: 6.11 -> 6.12 [local] p5-LWP-MediaTypes: 6.04 -> 6.05 [local] p5-freshports-modules: 2.2.2 -> 2.3.0 [local] p5-freshports-scripts: 2.2.7 -> 2.3.0.1 [local] pcre2: 10.48 -> 10.49 [local] pflogsumm: 1.2.1,1 -> 1.3.0,1 [local] protobuf-c: 1.5.1_4 -> 1.5.2 [local] py314-pycparser: 2.23 -> 3.0 [local] py314-pygit2: 1.20.0 -> 1.20.1 [local] python314: 3.14.7 -> 3.14.8 [local] readline: 8.3.3 -> 8.3.6 [local] tmux: 3.7c -> 3.8 [local] Installed packages to be REINSTALLED: cyrus-sasl-2.1.28_6 [local] (option changed: LMDB0 (added)) mysql84-client-8.4.11_1 [local] (direct dependency changed: openldap26-client (origin changed)) Number of packages to be upgraded: 21 Number of packages to be reinstalled: 2 The process will require 2 MiB more space. Proceed with this action? [y/N]: y Checking integrity... done (0 conflicting) [x8dtu-ingress01.vpn.unixathome.org] [ 1/23] Upgrading ca_root_nss from 3.129 to 3.131... [x8dtu-ingress01.vpn.unixathome.org] [ 1/23] Extracting ca_root_nss-3.131: 100% certctl: legacy directory /etc/ssl/blacklisted can safely be deleted [x8dtu-ingress01.vpn.unixathome.org] [ 2/23] Reinstalling cyrus-sasl-2.1.28_6... *** Updated user `cyrus'. [x8dtu-ingress01.vpn.unixathome.org] [ 2/23] Extracting cyrus-sasl-2.1.28_6: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 3/23] Upgrading expat from 2.8.5 to 2.9.0... [x8dtu-ingress01.vpn.unixathome.org] [ 3/23] Extracting expat-2.9.0: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 4/23] Upgrading groff from 1.24.1_1 to 1.24.2... [x8dtu-ingress01.vpn.unixathome.org] [ 4/23] Extracting groff-1.24.2: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 5/23] Upgrading openldap26-client from 2.6.15 to 2.6.15_1... [x8dtu-ingress01.vpn.unixathome.org] [ 5/23] Extracting openldap26-client-2.6.15_1: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 6/23] Reinstalling mysql84-client-8.4.11_1... [x8dtu-ingress01.vpn.unixathome.org] [ 6/23] Extracting mysql84-client-8.4.11_1: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 7/23] Upgrading p5-DBI from 1.654 to 1.655... [x8dtu-ingress01.vpn.unixathome.org] [ 7/23] Extracting p5-DBI-1.655: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 8/23] Upgrading p5-Email-Sender from 2.601 to 2.603... [x8dtu-ingress01.vpn.unixathome.org] [ 8/23] Extracting p5-Email-Sender-2.603: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 9/23] Upgrading p5-HTTP-Cookies from 6.11 to 6.12... [x8dtu-ingress01.vpn.unixathome.org] [ 9/23] Extracting p5-HTTP-Cookies-6.12: 100% [x8dtu-ingress01.vpn.unixathome.org] [10/23] Upgrading p5-LWP-MediaTypes from 6.04 to 6.05... [x8dtu-ingress01.vpn.unixathome.org] [10/23] Extracting p5-LWP-MediaTypes-6.05: 100% [x8dtu-ingress01.vpn.unixathome.org] [11/23] Upgrading pcre2 from 10.48 to 10.49... [x8dtu-ingress01.vpn.unixathome.org] [11/23] Extracting pcre2-10.49: 100% [x8dtu-ingress01.vpn.unixathome.org] [12/23] Upgrading git-lite from 2.55.0 to 2.56.0... ===> Creating groups Using existing group 'git_daemon' ===> Creating users Using existing user 'git_daemon' [x8dtu-ingress01.vpn.unixathome.org] [12/23] Extracting git-lite-2.56.0: 100% [x8dtu-ingress01.vpn.unixathome.org] [13/23] Upgrading pflogsumm from 1.2.1,1 to 1.3.0,1... [x8dtu-ingress01.vpn.unixathome.org] [13/23] Extracting pflogsumm-1.3.0,1: 100% [x8dtu-ingress01.vpn.unixathome.org] [14/23] Upgrading protobuf-c from 1.5.1_4 to 1.5.2... [x8dtu-ingress01.vpn.unixathome.org] [14/23] Extracting protobuf-c-1.5.2: 100% [x8dtu-ingress01.vpn.unixathome.org] [15/23] Upgrading bind-tools from 9.20.27 to 9.20.29... [x8dtu-ingress01.vpn.unixathome.org] [15/23] Extracting bind-tools-9.20.29: 100% [x8dtu-ingress01.vpn.unixathome.org] [16/23] Upgrading nagios-plugins from 2.4.4_1,1 to 2.4.4_2,1... [x8dtu-ingress01.vpn.unixathome.org] [16/23] Extracting nagios-plugins-2.4.4_2,1: 100% [x8dtu-ingress01.vpn.unixathome.org] [17/23] Upgrading readline from 8.3.3 to 8.3.6... [x8dtu-ingress01.vpn.unixathome.org] [17/23] Extracting readline-8.3.6: 100% [x8dtu-ingress01.vpn.unixathome.org] [18/23] Upgrading python314 from 3.14.7 to 3.14.8... [x8dtu-ingress01.vpn.unixathome.org] [18/23] Extracting python314-3.14.8: 100% [x8dtu-ingress01.vpn.unixathome.org] [19/23] Upgrading p5-freshports-modules from 2.2.2 to 2.3.0... ===> Creating groups Using existing group 'freshports' Using existing group 'ingress' ===> Creating users Using existing user 'freshports' ===> Creating homedir(s) Using existing user 'ingress' ===> Creating homedir(s) [x8dtu-ingress01.vpn.unixathome.org] [19/23] Extracting p5-freshports-modules-2.3.0: 100% [x8dtu-ingress01.vpn.unixathome.org] [20/23] Upgrading py314-pycparser from 2.23 to 3.0... [x8dtu-ingress01.vpn.unixathome.org] [20/23] Extracting py314-pycparser-3.0: 100% [x8dtu-ingress01.vpn.unixathome.org] [21/23] Upgrading py314-pygit2 from 1.20.0 to 1.20.1... [x8dtu-ingress01.vpn.unixathome.org] [21/23] Extracting py314-pygit2-1.20.1: 100% [x8dtu-ingress01.vpn.unixathome.org] [22/23] Upgrading p5-freshports-scripts from 2.2.7 to 2.3.0.1... ===> Creating groups Using existing group 'freshports' Using existing group 'ingress' ===> Creating users Using existing user 'freshports' ===> Creating homedir(s) Using existing user 'ingress' ===> Creating homedir(s) [x8dtu-ingress01.vpn.unixathome.org] [22/23] Extracting p5-freshports-scripts-2.3.0.1: 100% [x8dtu-ingress01.vpn.unixathome.org] [23/23] Upgrading tmux from 3.7c to 3.8... [x8dtu-ingress01.vpn.unixathome.org] [23/23] Extracting tmux-3.8: 100% ===== Message from nagios-plugins-2.4.4_2,1: -- ===> NOTICE: The nagios-plugins port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://docs.freebsd.org/en/articles/contributing/#ports-contributing You may need to manually remove /usr/local/etc/freshports/config.pm if it is no longer needed. You may need to manually remove /usr/local/etc/freshports/config.sh if it is no longer needed. You may need to manually remove /usr/local/etc/syslog.d/freshports.conf if it is no longer needed. You may need to manually remove /usr/local/etc/newsyslog.conf.d/freshports.conf if it is no longer needed. ===== Message from tmux-3.8: -- tmux must be restarted after upgrading. If you see the following message when you try to attach, it likely means you forgot to restart tmux: open terminal failed: not a terminal [11:18 x8dtu-ingress01 dvl ~] % sudo pkg upgrade Updating FreeBSD-base repository catalogue... FreeBSD-base repository is up to date. Updating local repository catalogue... local repository is up to date. All repositories are up to date. Checking for upgrades (2 candidates): 100% Processing candidates (2 candidates): 100% Checking integrity... done (4 conflicting) - freshports-daemon-ingress-2.0.4_15 [local] conflicts with freshports-ingress-2.0.4_15 [installed] on /usr/local/etc/freshports/ingress.sh.sample - p5-freshports-ingress-scripts-2.3.0.3 [local] conflicts with p5-freshports-scripts-2.3.0.1 [installed] on /jails/freshports/cat-descr.sh - freshports-daemon-freshports-2.0.16 [local] conflicts with freshports-freshports-2.0.16 [installed] on /usr/local/etc/freshports/freshports.sh.sample - p5-freshports-ingress-modules-2.3.1 [local] conflicts with p5-freshports-modules-2.3.0 [installed] on /usr/local/etc/freshports/config.pm.sample Checking integrity... done (0 conflicting) The following 9 package(s) will be affected (of 0 checked): New packages to be INSTALLED: freshports-daemon-freshports: 2.0.16 [local] freshports-daemon-ingress: 2.0.4_15 [local] p5-freshports-ingress-modules: 2.3.1 [local] p5-freshports-ingress-scripts: 2.3.0.3 [local] Installed packages to be REINSTALLED: freshports-ingress-metaport-0.1.1 [local] (direct dependency changed: freshports-daemon-freshports (added), freshports-daemon-ingress (added), freshports-freshports (removed), freshports-ingress (removed)) Installed packages to be REMOVED: freshports-freshports: 2.0.16 freshports-ingress: 2.0.4_15 p5-freshports-modules: 2.3.0 p5-freshports-scripts: 2.3.0.1 Number of packages to be removed: 4 Number of packages to be installed: 4 Number of packages to be reinstalled: 1 Proceed with this action? [y/N]: y [x8dtu-ingress01.vpn.unixathome.org] [ 1/10] Deinstalling freshports-ingress-metaport-0.1.1... [x8dtu-ingress01.vpn.unixathome.org] [ 2/10] Deinstalling freshports-freshports-2.0.16... [x8dtu-ingress01.vpn.unixathome.org] [ 2/10] Deleting files for freshports-freshports-2.0.16: 100% ==> You should manually remove the "freshports" user ==> You should manually remove the "freshports" group [x8dtu-ingress01.vpn.unixathome.org] [ 3/10] Deinstalling freshports-ingress-2.0.4_15... [x8dtu-ingress01.vpn.unixathome.org] [ 3/10] Deleting files for freshports-ingress-2.0.4_15: 100% ==> You should manually remove the "ingress" user ==> You should manually remove the "ingress" group [x8dtu-ingress01.vpn.unixathome.org] [ 4/10] Deinstalling p5-freshports-scripts-2.3.0.1... [x8dtu-ingress01.vpn.unixathome.org] [ 4/10] Deleting files for p5-freshports-scripts-2.3.0.1: 100% ==> You should manually remove the "freshports" user ==> You should manually remove the "ingress" user ==> You should manually remove the "freshports" group ==> You should manually remove the "ingress" group [x8dtu-ingress01.vpn.unixathome.org] [ 5/10] Deinstalling p5-freshports-modules-2.3.0... [x8dtu-ingress01.vpn.unixathome.org] [ 5/10] Deleting files for p5-freshports-modules-2.3.0: 100% ==> You should manually remove the "freshports" user ==> You should manually remove the "ingress" user ==> You should manually remove the "freshports" group ==> You should manually remove the "ingress" group [x8dtu-ingress01.vpn.unixathome.org] [ 6/10] Installing p5-freshports-ingress-modules-2.3.1... ===> Creating groups Using existing group 'freshports' Using existing group 'ingress' ===> Creating users Using existing user 'freshports' ===> Creating homedir(s) Using existing user 'ingress' ===> Creating homedir(s) [x8dtu-ingress01.vpn.unixathome.org] [ 6/10] Extracting p5-freshports-ingress-modules-2.3.1: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 7/10] Installing p5-freshports-ingress-scripts-2.3.0.3... ===> Creating groups Using existing group 'freshports' Using existing group 'ingress' ===> Creating users Using existing user 'freshports' ===> Creating homedir(s) Using existing user 'ingress' ===> Creating homedir(s) [x8dtu-ingress01.vpn.unixathome.org] [ 7/10] Extracting p5-freshports-ingress-scripts-2.3.0.3: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 8/10] Installing freshports-daemon-freshports-2.0.16... ===> Creating groups Using existing group 'freshports' ===> Creating users Using existing user 'freshports' ===> Creating homedir(s) [x8dtu-ingress01.vpn.unixathome.org] [ 8/10] Extracting freshports-daemon-freshports-2.0.16: 100% [x8dtu-ingress01.vpn.unixathome.org] [ 9/10] Installing freshports-daemon-ingress-2.0.4_15... ===> Creating groups Using existing group 'ingress' ===> Creating users Using existing user 'ingress' ===> Creating homedir(s) [x8dtu-ingress01.vpn.unixathome.org] [ 9/10] Extracting freshports-daemon-ingress-2.0.4_15: 100% [x8dtu-ingress01.vpn.unixathome.org] [10/10] Installing freshports-ingress-metaport-0.1.1... You may need to manually remove /usr/local/etc/syslog.d/freshports-daemon.conf if it is no longer needed. You may need to manually remove /usr/local/etc/syslog.d/ingress-daemon.conf if it is no longer needed. You may need to manually remove /usr/local/etc/freshports/config.sh if it is no longer needed. You may need to manually remove /usr/local/etc/syslog.d/freshports.conf if it is no longer needed. You may need to manually remove /usr/local/etc/newsyslog.conf.d/freshports.conf if it is no longer needed. You may need to manually remove /usr/local/etc/freshports/config.pm if it is no longer needed. [11:18 x8dtu-ingress01 dvl ~] % sudo pkg upgrade Updating FreeBSD-base repository catalogue... FreeBSD-base repository is up to date. Updating local repository catalogue... local repository is up to date. All repositories are up to date. Checking for upgrades (1 candidates): 100% Processing candidates (1 candidates): 100% Checking integrity... done (0 conflicting) Your packages are up to date.
You should have:
% pkg info -x freshports freshports-daemon-freshports-2.0.16 freshports-daemon-ingress-2.0.4_15 freshports-helper_scripts-0.0.6 freshports-ingress-metaport-0.1.1 freshports-periodics-1.1.1_1 p5-freshports-ingress-modules-2.3.0 p5-freshports-ingress-scripts-2.3.0.2 p5-freshports-verify-2.2.0 py314-freshports-git-proc-commit-0.2.3
Scripts
After updating the webserver packages, run this:
[23:40 r720-02-nginx01 dvl ~] % cd /usr/local/www/freshports [23:41 r720-02-nginx01 dvl /usr/local/www/freshports] % sudo rm locale/*/LC_MESSAGES/freshports.mo ; sudo ./scripts/i18n-compile.sh && sudo service php_fpm reload zsh: no matches found: locale/*/LC_MESSAGES/freshports.mo de_DE: translation changed locale/fr_CA/LC_MESSAGES/freshports.po:8: warning: header field 'Language-Team' missing in header fr_CA: translation changed pt_BR: translation changed tr_TR: translation changed zh_CN: translation changed Performing sanity check on php-fpm configuration:
Warning: Failed loading Zend extension 'opcache.so' (tried: /usr/local/lib/php/20250925/opcache.so (Cannot open "/usr/local/lib/php/20250925/opcache.so"), /usr/local/lib/php/20250925/opcache.so.so (Cannot open "/usr/local/lib/php/20250925/opcache.so.so")) in Unknown on line 0
[12-Oct-2026 23:42:05] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful [23:42 r720-02-nginx01 dvl /usr/local/www/freshports] %
If you see that cache issue, sudo pkg autoremove will probably fix it.
Configuration updates
On the ingress node, refresh /usr/local/etc/freshports/config.sh by comparing it with config.sh.sample
Specifically, you’ll need to add:
WATCHGOOSE_COMPARE_INDEX REFRESHFROMINDEXFLAG INDEX_JAIL_NAME INDEX_JAIL_BASE_DIR SUDO
In the same directory, make sure config.pm is up to date. Items to convert are:
# For the fp-listen daemon $FreshPorts::Config::RefreshFromIndexFlag
On the nginx (webserver) node, /usr/local/etc/freshports/constants.local.php needs an update (see constants.local.php.sample). Items include:
INCLUDE_GOOGLE_GTAG LOGIN_TO_SEARCH SEARCH_GATE_SECRET
Populate
SEARCH_GATE_SECRET
with the output of openssl rand -hex 32
0e18cc46668d31fc00f75b42a4bd85012c225af521d85f7344519bb7fc3767d4
Verify make-port.sh
Expect this:
[17:13 stage-ingress01 dvl /usr/local/libexec/freshports/Jail/scripts] % md5 make-port.sh /jails/freshports/make-port.sh MD5 (make-port.sh) = 6b55d50b6f4d54a8255f06ac526870b3 MD5 (/jails/freshports/make-port.sh) = 6b55d50b6f4d54a8255f06ac526870b3
Deploy a new index jail on the ingress node
See Creating a jail within an ingress jail
Populate the newly created pkgversion column
While we just created pkgversion, we’ve already created the build_run_depends column. Now we need populate both of them.
[17:34 stage-ingress01 dvl ~] % sudo su -l freshports $ cd /usr/local/libexec/freshports $ /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl --dryrun --limit 20 /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl starts set-pkgversion-build-run-depends.pl accessibility/accerciser: pkgversion '3.48.0' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/accesskit-c: pkgversion '0.17.1_7' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/at-spi2-core: pkgversion '2.60.4' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/atkmm: pkgversion '2.28.5' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/caribou: pkgversion '0.4.21.78_2' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/darkman: pkgversion '2.3.1_6' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/eflite: pkgversion '0.4.1' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/feedbackd: pkgversion '0.7.0' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/gammastep: pkgversion '2.0.11' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/hyprsunset: pkgversion '0.4.0_1' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/kdeaccessibility: pkgversion '26.08.2' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/kmag: pkgversion '26.08.2' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/kmousetool: pkgversion '26.08.2' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/kmouth: pkgversion '26.08.2' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/libqaccessibilityclient: pkgversion '0.6.0' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/libspeechprovider: pkgversion '1.0.3' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/libspiel: pkgversion '1.0.4' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/linux-c7-at-spi2-atk: pkgversion '2.26.2' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/linux-c7-at-spi2-core: pkgversion '2.28.0' build_run_depends '' set-pkgversion-build-run-depends.pl accessibility/linux-c7-atk: pkgversion '2.28.1_1' build_run_depends '' set-pkgversion-build-run-depends.pl ends: 20 ports read, 0 unchanged, 0 make could not answer for (dry run, nothing written) $
If that looks well, let’s go:
$ /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl
That might take about 90 minutes to run.
It also helps to set this signal to tell cronjobs etc not to run…. but the script above observes that flag, so set it (via another ssh session) after starting the script.
% sudo touch /var/db/freshports/signals/OFFLINE %
Verify the backfill
Run the dry run again. Every port should now be reported as unchanged, which shows that a second run writes nothing:
$ /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl --dryrun --limit 200 /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl starts set-pkgversion-build-run-depends.pl accessibility/accerciser: unchanged set-pkgversion-build-run-depends.pl accessibility/accesskit-c: unchanged set-pkgversion-build-run-depends.pl accessibility/at-spi2-core: unchanged ... set-pkgversion-build-run-depends.pl archivers/pear-Horde_Compress_Fast: unchanged set-pkgversion-build-run-depends.pl archivers/pear-Horde_Pack: unchanged set-pkgversion-build-run-depends.pl ends: 200 ports read, 200 unchanged, 0 make could not answer for (dry run, nothing written) $
If any port is reported as changed, stop and investigate before going further.
For kmod ports, the framework puts ${OSVERSION} into PKGVERSION, so audio/oss is a good port to spot-check. It should be unchanged:
$ /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl --dryrun --from audio/oss --limit 1 /usr/local/libexec/freshports/set-pkgversion-build-run-depends.pl starts set-pkgversion-build-run-depends.pl audio/oss: unchanged set-pkgversion-build-run-depends.pl ends: 1 ports read, 1 unchanged, 0 make could not answer for (dry run, nothing written) $
The stored value should contain the OSVERSION of the host’s freshports jail. Here, that’s 1501000:
freshports.stage=# SELECT P.pkgversion FROM ports P JOIN element E ON E.id = P.element_id JOIN categories C ON C.id = P.category_id WHERE C.name = 'audio' AND E.name = 'oss' AND element_pathname(E.id) LIKE '/ports/head/%';
pkgversion
---------------------
4.2.b2019.1501000_5
(1 row)
freshports.stage=#
You might also add the head/branch query as a third check, since it gives the whole-tree picture:
freshports.stage=# SELECT element_pathname(E.id) LIKE '/ports/head/%' AS on_head, count(*) AS total, count(*) FILTER (WHERE P.pkgversion IS NULL) AS null_pkgversion FROM ports P JOIN element E ON E.id = P.element_id WHERE E.status = 'A' GROUP BY 1; on_head | total | null_pkgversion ---------+-------+----------------- f | 48144 | 48142 t | 35237 | 0 (2 rows)
If you include it, add a sentence explaining the numbers. Head should have zero NULLs. Branch ports are filled in only as they’re refreshed, so most of them stay NULL for now.
Other checks
[17:27 stage-ingress01 dvl ~] % md5 /usr/local/etc/sudoers.d/sudoers-freshports-jexec MD5 (/usr/local/etc/sudoers.d/sudoers-freshports-jexec) = f0640e7c389e1200d66909a68a412fb3
Restarting stuff
sudo rm /var/db/freshports/signals/OFFLINE sudo service ingress start sudo service freshports start











