This post is a proof-of-concept for creating a new jail instead of upgrading one in-place. I think the process is easier, given there are no packages installed in the jail.
Re https://github.com/FreshPorts/freshports/issues/622
Each ingress node in a FreshPorts instance contains a FreeBSD jail. It has some shell scripts, but no installed packages.
I think it will be easier and faster to deploy a new jail instead of upgrading.
For safety, the existing jail could be renamed for later deletion.
Let’s try this on my dvli jail.
In this post:
- host – r730-01 – FreeBSD 14.2-RELEASE-p1
- jail – dvl-ingress01 – FreeBSD 14.1
Preparation
Not much runs on an ingress node while idle:
[17:01 dvl-ingress01 dvl ~] % ps auwwx USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND dvl 2771 0.2 0.0 20588 6920 2 SsJ 16:56 0:00.16 -zsh (zsh) root 2767 0.0 0.0 23020 10920 - IsJ 16:56 0:00.04 sshd: dvl [priv] (sshd) dvl 2770 0.0 0.0 23020 11220 - SJ 16:56 0:00.02 sshd: dvl@pts/2 (sshd) root 15303 0.0 0.0 12876 2712 - SsJ 19Mar25 0:23.68 /usr/sbin/syslogd -s nagios 15383 0.0 0.0 18564 7016 - IsJ 19Mar25 0:21.56 /usr/local/sbin/nrpe -c /usr/local/etc/nrpe.cfg -d root 15461 0.0 0.0 22832 9984 - IsJ 19Mar25 0:03.54 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups (sshd) root 15502 0.0 0.0 12916 2472 - IsJ 19Mar25 0:05.43 /usr/sbin/cron -s ingress 16074 0.0 0.0 12828 2276 - IsJ 19Mar25 0:00.96 daemon: ingress[16075] (daemon) ingress 16075 0.0 0.0 13376 2712 - SJ 19Mar25 0:37.43 /bin/sh /usr/local/libexec/freshports-service/ingress.sh freshports 16096 0.0 0.0 12828 2272 - IsJ 19Mar25 0:00.45 daemon: freshports[16098] (daemon) freshports 16098 0.0 0.0 13376 3024 - SJ 19Mar25 7:06.44 /bin/sh /usr/local/libexec/freshports-service/freshports.sh freshports 70124 0.0 0.0 12712 2132 - SCJ 17:02 0:00.00 sleep 3 ingress 70131 0.0 0.0 12712 2132 - SCJ 17:02 0:00.00 sleep 3 dvl 70140 0.0 0.0 13452 3092 2 R+J 17:02 0:00.00 ps auwwx [17:02 dvl-ingress01 dvl ~] %
Let’s stop the two main daemons, which, as you can see, are shell scripts. Small shell scripts. Easily replaced.
[17:02 dvl-ingress01 dvl ~] % date Thu Mar 27 17:03:31 UTC 2025 [17:03 dvl-ingress01 dvl ~] % sudo service freshports stop Stopping freshports. Waiting for PIDS: 16096. [17:03 dvl-ingress01 dvl ~] % sudo service ingress stop Stopping ingress. Waiting for PIDS: 16074. [17:03 dvl-ingress01 dvl ~] % ps auwwx USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND root 2767 0.0 0.0 23020 10920 - IsJ 16:56 0:00.04 sshd: dvl [priv] (sshd) dvl 2770 0.0 0.0 23020 11248 - SJ 16:56 0:00.03 sshd: dvl@pts/2 (sshd) root 15303 0.0 0.0 12876 2712 - SsJ 19Mar25 0:23.68 /usr/sbin/syslogd -s nagios 15383 0.0 0.0 18564 7016 - IsJ 19Mar25 0:21.56 /usr/local/sbin/nrpe -c /usr/local/etc/nrpe.cfg -d root 15461 0.0 0.0 22832 9984 - IsJ 19Mar25 0:03.54 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups (sshd) root 15502 0.0 0.0 12916 2472 - IsJ 19Mar25 0:05.43 /usr/sbin/cron -s dvl 2771 0.0 0.0 20588 6928 2 SsJ 16:56 0:00.18 -zsh (zsh) dvl 74554 0.0 0.0 13452 3084 2 R+J 17:03 0:00.00 ps auwwx [17:03 dvl-ingress01 dvl ~] %
I’m going to upgrade mkjail, which is only shell-scripts, no binaries. I will ignore the warning:
[17:04 dvl-ingress01 dvl ~] % sudo pkg upgrade mkjail Updating local repository catalogue... [dvl-ingress01.int.unixathome.org] Fetching meta.conf: 100% 179 B 0.2kB/s 00:01 [dvl-ingress01.int.unixathome.org] Fetching data.pkg: 100% 375 KiB 384.4kB/s 00:01 Processing entries: 0% Newer FreeBSD version for package zfsnap: To ignore this error set IGNORE_OSVERSION=yes - package: 1402000 - running userland: 1401000 Ignore the mismatch and continue? [y/N]: y Processing entries: 100% local repository update completed. 1076 packages processed. All repositories are up to date. The following 1 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: mkjail: 0.0.5 -> 0.0.8 Number of packages to be upgraded: 1 8 KiB to be downloaded. Proceed with this action? [y/N]: y [dvl-ingress01.int.unixathome.org] [1/1] Fetching mkjail-0.0.8.pkg: 100% 8 KiB 8.0kB/s 00:01 Checking integrity... done (0 conflicting) [dvl-ingress01.int.unixathome.org] [1/1] Upgrading mkjail from 0.0.5 to 0.0.8... [dvl-ingress01.int.unixathome.org] [1/1] Extracting mkjail-0.0.8: 100% You may need to manually remove /usr/local/etc/mkjail.conf if it is no longer needed.
I see I have not recently update this jail via mkjail:
[17:04 dvl-ingress01 dvl ~] % ls -l /var/db/mkjail
total 1
drwxr-xr-x 2 root wheel 2 2024.02.08 00:49 14.0-RELEASE/
drwxr-xr-x 3 root wheel 3 2024.02.08 00:47 releases/
[17:05 dvl-ingress01 dvl ~] % ls -l /var/db/mkjail/releases/amd64
total 1
drwxr-xr-x 2 root wheel 6 2024.02.08 00:49 14.0-RELEASE/
[17:06 dvl-ingress01 dvl ~] %
Fetching new data
This gets 14.2-RELEASE:
[17:06 dvl-ingress01 dvl ~] % sudo mkjail getrelease -v 14.2-RELEASE Fetching release manifest... MANIFEST 1046 B 7919 kBps 00s Fetching release tarballs... base.txz 196 MB 16 MBps 11s src.txz 204 MB 19 MBps 11s lib32.txz 59 MB 9353 kBps 07s base.txz: sha256 verified src.txz: sha256 verified lib32.txz: sha256 verified Extracting src for use in jail upgrades... [17:08 dvl-ingress01 dvl ~] % ls -l /var/db/mkjail/releases/amd64 total 1 drwxr-xr-x 2 root wheel 6 2024.02.08 00:49 14.0-RELEASE/ drwxr-xr-x 2 root wheel 6 2025.03.27 17:07 14.2-RELEASE/ [17:08 dvl-ingress01 dvl ~] % ls -l /var/db/mkjail/ total 2 drwxr-xr-x 2 root wheel 2 2024.02.08 00:49 14.0-RELEASE/ drwxr-xr-x 3 root wheel 3 2025.03.27 17:07 14.2-RELEASE/ drwxr-xr-x 3 root wheel 3 2024.02.08 00:47 releases/ [17:08 dvl-ingress01 dvl ~] %
Remove / move the existing jail
An ingress node runs one jail:
[17:08 dvl-ingress01 dvl ~] % jls JID IP Address Hostname Path 12 10.55.0.81 freshports /jails/freshports
I’m now thinking a better name is possible. This is where FreshPorts runs commands such as make -V PORTVERSION – it is a clean environment.
Stop the jail:
[17:09 dvl-ingress01 dvl ~] % sudo service jail stop Stopping jails: freshports.
Rename it:
[17:09 dvl-ingress01 dvl ~] % zfs list NAME USED AVAIL REFER MOUNTPOINT data02 1.28T 410G 96K none data02/freshports 827G 410G 88K none data02/freshports/jailed 539G 410G 96K none data02/freshports/jailed/dvl-ingress01 202G 410G 96K none data02/freshports/jailed/dvl-ingress01/distfiles 96K 410G 96K none data02/freshports/jailed/dvl-ingress01/jails 200G 410G 116K /jails data02/freshports/jailed/dvl-ingress01/jails/freshports 200G 410G 200G /jails/freshports data02/freshports/jailed/dvl-ingress01/mkjail 1.81G 410G 908M /var/db/mkjail data02/freshports/jailed/dvl-ingress01/mkjail/14.2-RELEASE 943M 410G 943M /var/db/mkjail/14.2-RELEASE [17:09 dvl-ingress01 dvl ~] % sudo zfs rename data02/freshports/jailed/dvl-ingress01/jails/freshports data02/freshports/jailed/dvl-ingress01/jails/freshports.14.1 [17:09 dvl-ingress01 dvl ~] % ls -l /jails total 9 drwxr-xr-x 3 root wheel 3 2024.02.08 00:47 freshports/ drwxr-xr-x 18 root wheel 34 2024.02.11 15:23 freshports.14.1/ [17:09 dvl-ingress01 dvl ~] %
Oh, what’s in there?
[17:12 dvl-ingress01 dvl ~] % find /jails/freshports /jails/freshports /jails/freshports/usr /jails/freshports/usr/local /jails/freshports/usr/local/etc /jails/freshports/usr/local/etc/pkg /jails/freshports/usr/local/etc/pkg/repos /jails/freshports/usr/local/etc/pkg/repos/FreeBSD.conf /jails/freshports/usr/local/etc/pkg/repos/local.conf [17:13 dvl-ingress01 dvl ~] % ls -l /jails/freshports/usr/local/etc/pkg/repos total 5 -rw-r--r-- 1 root wheel 25 2024.02.08 00:47 FreeBSD.conf -rw-r--r-- 1 root wheel 209 2024.02.08 00:47 local.conf [17:13 dvl-ingress01 dvl ~] %
We don’t need or use that stuff in this type of jail. I’m not sure why it was created.
[17:14 dvl-ingress01 dvl ~] % sudo rm -rf /jails/freshports [17:14 dvl-ingress01 dvl ~] % ls -l /jails total 9 drwxr-xr-x 18 root wheel 34 2024.02.11 15:23 freshports.14.1/
OK, now ready to create the new jail.
Create new jail
Using my favorite tool:
[17:15 dvl-ingress01 dvl ~] % sudo mkjail create -v 14.2-RELEASE -j freshports -a amd64 Creating data02/freshports/jailed/dvl-ingress01/jails/freshports... Extracting base into /jails/freshports... Updating freshports jail... src component not installed, skipped Cannot identify running kernel [17:16 dvl-ingress01 dvl ~] % ls -l /jails/ total 17 drwxr-xr-x 18 root wheel 22 2025.03.27 17:15 freshports/ drwxr-xr-x 18 root wheel 34 2024.02.11 15:23 freshports.14.1/ [17:16 dvl-ingress01 dvl ~] % file /jails/freshports/bin/sh /jails/freshports/bin/sh: ELF 64-bit LSB pie executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 14.2, FreeBSD-style, stripped [17:16 dvl-ingress01 dvl ~] %
Done.
Populate the jail with required scripts and configuration
I feel this should be a package, because it installs files and scripts. Here is a comparison:
[17:58 dvl-ingress01 dvl ~] % ls /jails/freshports /jails/freshports.14.1 /jails/freshports: COPYRIGHT bin/ boot/ dev/ etc/ lib/ libexec/ media/ mnt/ net/ proc/ rescue/ root/ sbin/ sys tmp/ usr/ var/ /jails/freshports.14.1: COPYRIGHT etc/ make-generate-plist.sh make-showconfig.sh realpath.sh tmp/ bin/ lib/ make-master-port-test.sh media/ rescue/ usr/ boot/ libexec/ make-master-sites-all.sh mnt/ root/ var/ cat-descr.sh make-category-comment.sh make-pkg-message-in.sh net/ sbin/ vars.sh dev/ make-flavors-package-names.sh make-port.sh proc/ sys vars.sh.sample [17:59 dvl-ingress01 dvl ~] %
However, I know it’s installed by a script:
[18:00 dvl-ingress01 dvl /usr/local/libexec/freshports] % grep -r make-category-comment.sh * Jail/refresh-jail-scripts.sh:SCRIPTS="cat-descr.sh make-apply-slist.sh make-category-comment.sh make-flavors-package-names.sh make-generate-plist.sh make-master-port-test.sh make-master-sites-all.sh make-port.sh make-showconfig.sh realpath.sh" Jail/scripts/make-category-comment.sh:# expected usage: sudo /usr/sbin/jexec JAIL /make-category-comment.sh REPO_PATH CATEGORYDIR Jail/create-jail-directories.sh:freshports ALL=(ALL) NOPASSWD:/usr/sbin/chroot -u freshports ${JAILBASE} /make-category-comment.sh *
The script is Jail/refresh-jail-scripts.sh. Let’s have a look:
[18:29 dvl-ingress01 dvl /usr/local/libexec/freshports] % cd Jail [18:30 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] % ls -l total 27 -rw-r--r-- 1 dvl dvl 537 2024.02.09 20:43 README.txt -rwxr-xr-x 1 dvl dvl 431 2024.02.09 20:43 copy-scripts-into-jail.sh -rwxr-xr-x 1 dvl dvl 2815 2024.02.09 20:43 create-jail-directories.sh drwxr-xr-x 4 dvl dvl 5 2024.02.09 20:43 files/ -rwxr-xr-x 1 dvl dvl 756 2024.02.09 20:43 refresh-jail-scripts.sh drwxr-xr-x 2 dvl dvl 13 2024.02.09 20:43 scripts/ [18:30 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] % cat README.txt FreshPorts now uses a jexec and a FreeBSD jail strategy for extracting information from the ports tree. On non-dev jails, the scripts which are required in the jail are installed by the package p5-freshports-scripts. On dev environments, to install the scripts into the jail, issue the following command: ./copy-scripts-into-jail.sh /jails/freshports/ The scripts required for the jail will be copied to the base directory of the jail. These scripts are located in the scripts subdirectory relative to the file you are reading now. [18:30 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] %
Let’s try it:
[18:32 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] % sudo ./copy-scripts-into-jail.sh /jails/freshports This entry is required in scripts/config.sh: FRESHPORTS_JAIL_BASE_DIR="/jails/freshports" This entry is required in /usr/local/etc/freshports/config.pm $FreshPorts::Config::JailBaseDir = ${JAILBASE}
Since this is an update, the variables mentioned in the output are already configured:
[18:33 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] % sudo grep FRESHPORTS_JAIL_BASE_DIR /usr/local/etc/freshports/config.sh FRESHPORTS_JAIL_BASE_DIR="/jails/$FRESHPORTS_JAIL_NAME" # This is relative to FRESHPORTS_JAIL_BASE_DIR [18:34 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] % sudo grep FRESHPORTS_JAIL_NAME /usr/local/etc/freshports/config.sh FRESHPORTS_JAIL_NAME="freshports" FRESHPORTS_JAIL_BASE_DIR="/jails/$FRESHPORTS_JAIL_NAME" [18:33 dvl-ingress01 dvl /usr/local/libexec/freshports/Jail] % sudo grep JailBaseDir /usr/local/etc/freshports/config.pm $FreshPorts::Config::JailBaseDir = "/jails/$FreshPorts::Config::JailName";
What do we have now?
This seems to match now:
[18:35 dvl-ingress01 dvl ~] % ls /jails/freshports /jails/freshports.14.1 /jails/freshports: COPYRIGHT etc/ make-generate-plist.sh make-showconfig.sh realpath.sh tmp/ bin/ lib/ make-master-port-test.sh media/ rescue/ usr/ boot/ libexec/ make-master-sites-all.sh mnt/ root/ var/ cat-descr.sh make-category-comment.sh make-pkg-message-in.sh net/ sbin/ vars.sh.sample dev/ make-flavors-package-names.sh make-port.sh proc/ sys /jails/freshports.14.1: COPYRIGHT etc/ make-generate-plist.sh make-showconfig.sh realpath.sh tmp/ bin/ lib/ make-master-port-test.sh media/ rescue/ usr/ boot/ libexec/ make-master-sites-all.sh mnt/ root/ var/ cat-descr.sh make-category-comment.sh make-pkg-message-in.sh net/ sbin/ vars.sh dev/ make-flavors-package-names.sh make-port.sh proc/ sys vars.sh.sample
But see there, we’re missing vars.sh.
Copy in the only real configuration file
Let’s get vars.sh:
[18:35 dvl-ingress01 dvl ~] % sudo cp -i /jails/freshports.14.1/vars.sh /jails/freshports/ [18:37 dvl-ingress01 dvl ~] % cat /jails/freshports/vars.sh #!/bin/sh # # This file contains any constants needed by the other scripts # usually, you don't need to change these values # MAKE=/usr/bin/make LOCALBASE=/nonexistentlocal X11BASE=/nonexistentx [18:37 dvl-ingress01 dvl ~] %
Start the new jail
Very straight forward:
[18:37 dvl-ingress01 dvl ~] % sudo service jail start Starting jails: freshports. [18:38 dvl-ingress01 dvl ~] % jls JID IP Address Hostname Path 1525 10.55.0.81 freshports /jails/freshports [18:38 dvl-ingress01 dvl ~] %
Oh, we need the ports tree.
[18:38 dvl-ingress01 dvl ~] % ls /jails/freshports.14.1/usr/ports CHANGES Makefile UPDATING benchmarks/ databases/ emulators/ german/ java/ multimedia/ polish/ security/ www/ x11-servers/ CONTRIBUTING.md Mk/ accessibility/ biology/ deskutils/ filesystems/ graphics/ korean/ net/ ports-mgmt/ shells/ x11/ x11-themes/ COPYRIGHT README arabic/ cad/ devel/ finance/ hebrew/ lang/ net-im/ portuguese/ sysutils/ x11-clocks/ x11-toolkits/ GIDs Templates/ archivers/ chinese/ distfiles/ french/ hungarian/ mail/ net-mgmt/ print/ textproc/ x11-drivers/ x11-wm/ Keywords/ Tools/ astro/ comms/ dns/ ftp/ irc/ math/ net-p2p/ russian/ ukrainian/ x11-fm/ MOVED UIDs audio/ converters/ editors/ games/ japanese/ misc/ news/ science/ vietnamese/ x11-fonts/ [18:39 dvl-ingress01 dvl ~] %
Putting the ports tree outside the jail
Damn. This needs some thinking. Why do a fresh clone of 221948 files when we have it sitting right there.
What I could do is make it a nullfs mount… and part of the jail start/stop script is to mount/umount it.
Creation
Let’s do this:
[18:43 dvl-ingress01 dvl ~freshports] % sudo git clone https://git.FreeBSD.org/ports.git Cloning into 'ports'... remote: Enumerating objects: 6517384, done. remote: Counting objects: 100% (201318/201318), done. remote: Compressing objects: 100% (151414/151414), done. remote: Total 6517384 (delta 105594), reused 91098 (delta 49076), pack-reused 6316066 (from 1) Receiving objects: 100% (6517384/6517384), 1.36 GiB | 10.09 MiB/s, done. Resolving deltas: 100% (3923561/3923561), done. Checking objects: 100% (16777216/16777216), done. Updating files: 100% (163545/163545), done. [18:53 dvl-ingress01 dvl ~freshports] % ls -l total 27 drwxr-xr-x 4 www freshports 4 2024.02.07 16:10 cache/ drwxrwxr-x 7 freshports freshports 7 2024.02.14 21:28 message-queues/ drwxr-xr-x 24 freshports freshports 24 2024.03.10 04:41 packagesite/ drwxr-xr-x 70 root wheel 82 2025.03.27 18:53 ports/ drwxr-xr-x 2 freshports freshports 2 2025.03.27 18:00 signals/ drwxrwxr-x 2 freshports freshports 2 2024.02.09 20:12 tmp/ [18:58 dvl-ingress01 dvl ~freshports] %
Now, for mounting, I need to modify /etc/jail.conf to include:
mount.fstab = "/etc/fstab.$name"
I suspect I need to update something in the host_init repo for that.
I created this file:
[19:16 dvl-ingress01 dvl ~freshports] % cat /etc/fstab.freshports # Mount the ports tree into the jail # /var/db/freshports/ports /jails/freshports/usr/ports nullfs rw,nosuid,noexec 0 0
And created this directory, which I think could be part of jail.conf:
[19:15 dvl-ingress01 dvl ~freshports] % sudo mkdir /jails/freshports/usr/ports
With a restart:
[19:16 dvl-ingress01 dvl ~freshports] % sudo service jail restart Stopping jails:. Starting jails: freshports.
We have ports:
[19:16 dvl-ingress01 dvl ~freshports] % ls -l /jails/freshports/usr/ports total 2982 -rw-r--r-- 1 root wheel 147738 2025.03.27 18:52 CHANGES -rw-r--r-- 1 root wheel 727 2025.03.27 18:52 CONTRIBUTING.md -rw-r--r-- 1 root wheel 1412 2025.03.27 18:52 COPYRIGHT -rw-r--r-- 1 root wheel 13148 2025.03.27 18:52 GIDs drwxr-xr-x 2 root wheel 23 2025.03.27 18:52 Keywords/ -rw-r--r-- 1 root wheel 418299 2025.03.27 18:52 MOVED -rw-r--r-- 1 root wheel 7285 2025.03.27 18:52 Makefile drwxr-xr-x 6 root wheel 25 2025.03.27 18:52 Mk/ -rw-r--r-- 1 root wheel 1259 2025.03.27 18:52 README drwxr-xr-x 3 root wheel 11 2025.03.27 18:52 Templates/ drwxr-xr-x 3 root wheel 5 2025.03.27 18:52 Tools/ -rw-r--r-- 1 root wheel 46297 2025.03.27 18:52 UIDs -rw-r--r-- 1 root wheel 144039 2025.03.27 18:52 UPDATING drwxr-xr-x 36 root wheel 37 2025.03.27 18:52 accessibility/ drwxr-xr-x 11 root wheel 13 2025.03.27 18:52 arabic/ drwxr-xr-x 304 root wheel 305 2025.03.27 18:52 archivers/ drwxr-xr-x 148 root wheel 149 2025.03.27 18:52 astro/ drwxr-xr-x 900 root wheel 901 2025.03.27 18:52 audio/ drwxr-xr-x 120 root wheel 121 2025.03.27 18:52 benchmarks/ drwxr-xr-x 258 root wheel 259 2025.03.27 18:52 biology/ drwxr-xr-x 163 root wheel 164 2025.03.27 18:52 cad/ drwxr-xr-x 134 root wheel 136 2025.03.27 18:52 chinese/ drwxr-xr-x 237 root wheel 238 2025.03.27 18:52 comms/ drwxr-xr-x 191 root wheel 192 2025.03.27 18:52 converters/ drwxr-xr-x 1113 root wheel 1114 2025.03.27 18:52 databases/ drwxr-xr-x 320 root wheel 321 2025.03.27 18:52 deskutils/ drwxr-xr-x 8437 root wheel 8438 2025.03.27 18:52 devel/ drwxr-xr-x 246 root wheel 247 2025.03.27 18:52 dns/ drwxr-xr-x 297 root wheel 298 2025.03.27 18:52 editors/ drwxr-xr-x 198 root wheel 199 2025.03.27 18:52 emulators/ drwxr-xr-x 143 root wheel 144 2025.03.27 18:52 filesystems/ drwxr-xr-x 161 root wheel 162 2025.03.27 18:52 finance/ drwxr-xr-x 15 root wheel 17 2025.03.27 18:52 french/ drwxr-xr-x 101 root wheel 102 2025.03.27 18:52 ftp/ drwxr-xr-x 1186 root wheel 1187 2025.03.27 18:52 games/ drwxr-xr-x 22 root wheel 24 2025.03.27 18:52 german/ drwxr-xr-x 1309 root wheel 1310 2025.03.27 18:52 graphics/ drwxr-xr-x 9 root wheel 11 2025.03.27 18:52 hebrew/ drwxr-xr-x 9 root wheel 11 2025.03.27 18:52 hungarian/ drwxr-xr-x 97 root wheel 98 2025.03.27 18:52 irc/ drwxr-xr-x 309 root wheel 311 2025.03.27 18:52 japanese/ drwxr-xr-x 107 root wheel 108 2025.03.27 18:52 java/ drwxr-xr-x 52 root wheel 54 2025.03.27 18:52 korean/ drwxr-xr-x 403 root wheel 404 2025.03.27 18:52 lang/ drwxr-xr-x 764 root wheel 765 2025.03.27 18:52 mail/ drwxr-xr-x 1303 root wheel 1304 2025.03.27 18:52 math/ drwxr-xr-x 695 root wheel 696 2025.03.27 18:52 misc/ drwxr-xr-x 419 root wheel 420 2025.03.27 18:52 multimedia/ drwxr-xr-x 1721 root wheel 1722 2025.03.27 18:53 net/ drwxr-xr-x 181 root wheel 182 2025.03.27 18:52 net-im/ drwxr-xr-x 437 root wheel 438 2025.03.27 18:52 net-mgmt/ drwxr-xr-x 113 root wheel 114 2025.03.27 18:52 net-p2p/ drwxr-xr-x 67 root wheel 68 2025.03.27 18:53 news/ drwxr-xr-x 13 root wheel 15 2025.03.27 18:53 polish/ drwxr-xr-x 86 root wheel 87 2025.03.27 18:53 ports-mgmt/ drwxr-xr-x 11 root wheel 13 2025.03.27 18:53 portuguese/ drwxr-xr-x 273 root wheel 274 2025.03.27 18:53 print/ drwxr-xr-x 34 root wheel 36 2025.03.27 18:53 russian/ drwxr-xr-x 529 root wheel 530 2025.03.27 18:53 science/ drwxr-xr-x 1432 root wheel 1433 2025.03.27 18:53 security/ drwxr-xr-x 82 root wheel 83 2025.03.27 18:53 shells/ drwxr-xr-x 1605 root wheel 1606 2025.03.27 18:53 sysutils/ drwxr-xr-x 2232 root wheel 2233 2025.03.27 18:53 textproc/ drwxr-xr-x 11 root wheel 13 2025.03.27 18:53 ukrainian/ drwxr-xr-x 18 root wheel 20 2025.03.27 18:53 vietnamese/ drwxr-xr-x 2645 root wheel 2646 2025.03.27 18:53 www/ drwxr-xr-x 677 root wheel 678 2025.03.27 18:53 x11/ drwxr-xr-x 48 root wheel 49 2025.03.27 18:53 x11-clocks/ drwxr-xr-x 27 root wheel 28 2025.03.27 18:53 x11-drivers/ drwxr-xr-x 32 root wheel 33 2025.03.27 18:53 x11-fm/ drwxr-xr-x 355 root wheel 356 2025.03.27 18:53 x11-fonts/ drwxr-xr-x 8 root wheel 9 2025.03.27 18:53 x11-servers/ drwxr-xr-x 172 root wheel 173 2025.03.27 18:53 x11-themes/ drwxr-xr-x 271 root wheel 272 2025.03.27 18:53 x11-toolkits/ drwxr-xr-x 133 root wheel 134 2025.03.27 18:53 x11-wm/
Testing the new jail / ports tree location
I started both daemons:
[19:16 dvl-ingress01 dvl ~freshports] % sudo sevice ingress start sudo: sevice: command not found [19:21 dvl-ingress01 dvl ~freshports] % sudo service ingress start Starting ingress.
There were some commits to process:
[19:21 dvl-ingress01 dvl ~freshports] % ls ~ingress/message-queues/incoming 2025.03.27.17.50.11.000000.5949b3d67897eab5dcf5067a2abd06f80d4975a2.xml 2025.03.27.19.06.37.000004.a9097e0cd9ee6794deea0015289aae24f8176916.xml 2025.03.27.19.13.44.000002.d5989f4c12aba99d1c2e6b35fa1940bebdb0d979.xml 2025.03.27.18.18.39.000001.c43637b0ab08aff4f8dc7147145350edf4c26c13.xml 2025.03.27.19.09.11.000005.7eb19a67e08cec39e733e1ffd8c63898bdfa7992.xml 2025.03.27.19.17.25.000003.07105474453006fc1ab49aeadbd985b6a63467d0.xml 2025.03.27.19.04.40.000002.50ae2c8097c3e958091528fefe546d5672811e62.xml 2025.03.27.19.13.30.000000.6062db928a5893fb741b1e07628c1caff99c29a3.xml 2025.03.27.19.18.41.000006.479a60b5e07751ed86e6d49de086da3d0ad99785.xml 2025.03.27.19.05.09.000003.359023517d8acafb9e7298aec77438d8888ba89d.xml 2025.03.27.19.13.37.000001.8fa08edebcecb32467ae1821c6749800027dd70d.xml
Eventually, everything caught up.
Not the end
Now that I have a proof of concept, I’ll try it out on dev, then try to script it for test.