How many levels of plug-in can you find?

It’s probably going to be quiet for at least a few days because of the Christmas holiday, though I’ll of course have the normal weekend features up.

In the meantime, here’s something to ponder: this post about tmux and plugins for it led me to thinking about plugins in general.  The pkg system is sort of a plugin scheme for BSDs, much like apt for Debian, yum, etc.  Each language has its own libraries to load and plugins to manage past that, like Perl’s CPAN.  Nowadays, applications have their own plugins.  For instance, a system with WordPress installed with PHP installed with PHP plugins required with WordPress plugins that also require given PHP libraries.  WordPress manages keeping itself and its plugins up to date, but not the underlying PHP installation.   You can get something similar with Perl along with the Perl-specific package updates, through cpanm.  Or, npm, which seems to be its own world of constant flux.

How many levels could this go?  Like running multiple emulators within each other, how many levels of plugin could you achieve?  There’s probably a series of levels proceeding from tedious to barely maintainable to ridiculous.

Signal safety in DragonFly

Some of the larger application sets on DragonFly have had trouble building, and inconsistent problems with that build.  i.e. rust would fail, but in different parts of the build process, every time.  It looks to be a problem with signal interaction, and there’s now much safer ways to do that on DragonFly.

That is going to require a full buildworld/buildkernel if you are on DragonFly-master, 5.7.  Release/5.6 users are unaffected.

utmp out, utmpx in

The headline is a little misleading; umtpx has been in DragonFly forever, but now utmp is really retired and programs adjusted to match.  The change is not that user-affecting and utmp data is still accessible; this is part of the ABI change alluded to over the past week.

If you are not familiar with utmp(5) and utmpx(5), they are databases in /var that track user logins and system restarts.  utmpx is of course better cause it has an X.

dsynth details on DragonFly

First, history: DragonFly has had binaries of dports available for download for quite some time.  These were originally built using poudriere, and then using the synth tool put together by John Marino.  Synth worked both to build all software in dports, and as a way to test DragonFly’s SMP capability under extreme load.

Matthew Dillon is working on a new version, called dsynth.  It is available now but not yet part of the build.  He’s been working quickly on it and there’s plenty more commits than what I have linked here.  It’s already led to finding more high-load fixes.