problem of the day.

Attempt to boot the laptop, soon after providing the GELI password, the boot sequence stops while loading "loader":

ZFS: zfs_alloc()/zfs_free() mismatch

Laptop was okay in the morning, no updates AFAICR, and the system was shut down properly.

Booting on a memstick image of FreeBSD CURRENT, the boot process asks for the disk passphrase, typing-in it leads to another ZFS-releated error message (related to metadata that could not be found) and boot failure (1/x)

New problem with the ports anyway: my port use go modules, but I need to run `go generate` before building.

The port systems seems to have nothing built-in, and running `go generate` with the same environment as `go build` produce an error:

$GOPATH/go.mod exists but should not

If I strip the env, it downloads the source again.

Can someone point me to the good direction for fixing this?

Show thread

Current status: updating to the latest release on .

It's usually piece of cake, but today it turns out to be trickier than usual…

I guess most issues have been identified and worked around, but I still need to figure-out how to handle some of them in a not-too-ugly way.

Still trying to build some go application in the ports.

Trying to do so using go:modules as shown in this example:

But build fails:
build cannot load no Go source files

I am a go newbie, I feel like some distfile is not extracted or moved to the right location, but don't really know what is supposed to be done…

WIP here:

I am all hear for help and suggestions, thanks!

make: don't know how to make gomod-vendor. Stop

Packaging this go crap… 😒

Any update for the porter handbook? This section tells to use gomod-vendor which seems non-functional:

After serving stale information for more than a week is live again! 👍

This website is incredibly helpful for ports maintainers. Without it is a pain to check which ports have updates and which ports do not have updates. As an example, I missed about ¼ of the infrastructure updates during service disruption.

Catching up right now!

Isn't `zpool status` supposed to show "(resilvering)" in front of the disk that I have just added to a pool?

I do have information about a resilver in progress in the header, but expected to see "(resilvering)" at the end of the line of the device (gpt/disk0) I added to the pool (using `zpool attach zroot gpt/disk1 gpt/disk0`).

I feel confused 🤔…


I think we need some kind of USES=puppet to register dependency on sysutils/puppetX; depending on DEFAULT_VERSIONS=puppet=X… where X=5 or 6.

For now, databases/puppetdb-terminus[56] would benefit from this (yeah, the ports won't allow you to do that now, but it's supposed to be possible), and that would allow me to commit textproc/rubygem-puppet-strings which works with both versions.

Does it makes sense?


Do we still really need to bump PORTREVISION of dependent ports when a library is updated?

poudriere(8) will detect the missing dependency and rebuild the package; pkg(8) will detect the missing library dependency and force update of the package.

Before I used poudriere(8) + pkg(8); portmaster(8) was able to rebuild dependent ports, I suppose this feature was not removed.

Is it not time to stop doing this?

Updated to 12 (with 1.1.1) ; is unable to establish connections between a server and a client…

This problem is reported by the client:

tlsv1 alert internal error

The server does not report any problem in it's logs:

connection_read(14): checking for input on id=1011
connection_read(14): TLS accept failure error=-1 id=1011, closing

In wireshark, I can see 3 way handshake, STARTTLS request & answer, Client Hello, Server Hello, FIN, FIN

Does this ring a bell?

For those who care, on seems totally doable with not a lot of changes.

My use-cases are incompatible with bolt (I need to orchestrate nodes which are behind uncontrollable NAT and VPN is not an option), but I think it can land to the ports tree at some point 🙂

Show thread

When I started using , crashing a server was as easy as plugging-in a USB thumb drive and removing it from the computer 2 or 3 times…

Today, I am playing with USB Device Mode (USB OTG), and it just works™.

Amazing work ! 🤗

Updating packages…

[10/22] Upgrading gimp-app from 2.8.22_1,1 to 2.10.6,1...
[10/22] Extracting gimp-app-2.10.6,1: 6%
pkg: Fail to create temporary file: /usr/local/libexec/gimp/2.2/plug-ins/align-layers/.align-layers.uZrshxIeOCdI:Not a directory
[10/22] Extracting gimp-app-2.10.6,1: 100%
romain@zappy ~ % echo $?

Had to `pkg remove gimp`; `pkg autoremove`; `pkg install gimp` 🙄

now ships 6.0.0 in the ports tree as sysutils/puppet6, sysutils/puppetserver6, databases/puppetdb6.

The 5 to 6 upgrade was the smoothest I experienced when changing major version of Puppet. You will probably have to add a few modules in your control-repo Puppetfile (for core types that where moved outside of Puppet), and either adjust the configuration or your master certificate for the `puppetserver ca` command to operate successfully (see for details)

6.0.0 running smoothly at home. A few more areas to cleanup, and it should ship in the ports 😋

Fun with with libxo(3) support in w(1) on FreeBSD:

Changing the user locale is enough to produce invalid JSON output: switch language to french (or any language with ',' (not '.') as the decimal separator) and enjoy:

% LC_ALL=fr_FR.UTF-8 w --libxo json | jq
parse error: Objects must consist of key:value pairs at line 1, column 176

Output formats intended for computers should probably not be affected by the user's environment variables / preferred language.


Today, I rebuilt my ARM jail with the "-x" flag

It was introduced 4 years ago but I was not aware of it until bapt@ or manu@ told me about it at .

Package building time comparison, (before → after):

pkg: 00:34:16 → 00:02:57
sqlite3: 00:54:17 → 00:05:38
perl: 03:43:08 → 00:52:23
openssl: 04:45:02 → 00:22:19
ruby: 06:45:40 → 00:10:38

Building all packages of an appliance took more than one day, and is not bellow one hour and a half.


users, using on ?

The WIP broker (which replaces ActiveMQ in your "typical" MCollective setup) is available in puppet@'s repository:

Pro tips: if you have an entry "try-out mcollective" on your todo-list, replace it by "try-out choria", and save a week of work… Really!

1 hour ago, I wanted to log pkg(8)'s output to a custom log file. Easy!

Now, I am patching 's syslogd(8)…


Show more
La Quadrature du Net - Mastodon - Media Fédéré

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!