John Marino has assembled a new packaging and building system. It’s called Ravenports, and he wrote a short intro, and has a filled-out site to go look at.
This is big news, in part because he knows what he’s doing (John worked on dports and created synth) and because it’s cross-platform. The prior work on synth is part of the reason DragonFly works so well under pressure – the “build everything as fast as possible as complete as possible” strategy makes a great stress test.
There’s no need to change software management strategies yet. It can be used at the same time as dports, so it doesn’t necessarily change anything for the next DragonFly release.
Lots of links this week – so many I’ve already started next week’s post.
If you’ve had odd behavior with node.js (which I have) on DragonFly, it may be fixed now.
I’ve waited to post this because it’s a bit complicated, but here is the summary: dports didn’t get updated with new binary builds for a while because Rust stopped working, which killed Firefox. Michael Neumann got Rust working again, and packages are updated.
(Use -f if you have upgrade troubles.)
If you happen to get missing shared library errors when running something installed via dports, you may have installed during a short period where this previously mentioned bug had bit. The fix is to replace with known good binaries, completely.
Matthew Dillon noted some OpenVPN problems, requiring him to disable compression. I don’t think this is a DragonFly problem, or even necessarily a BSD problem, but it’s worth mentioning in case you run it.
There’s a bug with shared libraries in pkg(), which may bite you when upgrading. It’s present in version 1.10.1 at least, so you may want to wait for this fix to be applied before your next upgrade.
A tip that might be useful for some readers: Mohammad BadieZadegan posted that he had a poor network connection, and so was having a hard time installing packages. If that bites you too, there are some pkg.conf options – starting with FETCH_TIMEOUT and FETCH_RETRY – that may help.
There was some issues with the DPorts repo, so you may need to reset your local copy. This only applies if you pulled down a copy in the last 48 hours or so. (update: or less, based on John’s comment) Otherwise, you are fine.
Rimvydas Jasinskas posted an extended description of what’s happening with dports. There’s a significant xorg reformatting coming in ports, which is going to be absorbed into dports, but it may take some time. There’s also an odd loss of commit rights for John Marino, who commits (frequently!) to both DragonFly and FreeBSD. (His followup) This all translates to some upcoming transition time for dports to accommodate these changes.
Note that if you are using dports binaries, especially on DragonFly 4.6 release, this won’t really affect you; the way dports is set up, binary sets always work. It is interesting to hear about future work, in any case.
This is a minor thing, but I bet someone will find it useful: Chromium in dports has been patched to remove the forced dependency on dbus, which will be useful to anyone using DragonFly and a ‘lighter’ window manager. You still need to specify this preference in your make.conf to have it happen.
Because of libressl, nc(1) is now available in the base DragonFly system. It was already available through dports, but it’s such a flexible tool that this is worth mentioning.
The switch to from OpenSSL to LibreSSL in DragonFly’s base and in dports has led to more cleanup, including the removal of an old, strange munitions/crypto import restriction. Be careful upgrading if you’re on master, though!
Oddball links for BSD this week – but pay attention to the first one.
Remember I posted that LibreSSL is in base DragonFly, but not default? Well, it’s default now. You can have a system without OpenSSL at all, by rebuilding DragonFly-current and using up-to-date dports.
Update: see John’s comments for clarification: LibreSSL is default; the change is that OpenSSL isn’t even built any more. The result is still the same good news: you can have an OpenSSL-free DragonFly system now.
How long does it take to build all 24,000 packages in the DragonFly ports collection? Apparently about 22 hours on a dual Xeon machine (with I think 36 cores) or 48-core Opteron. This is with synth. I used to measure pkgsrc builds in weeks.
DragonFly now has version 2.4.2 of LibreSSL and uses it in base. Ports may still link to OpenSSL, though – it’s still built by default, though make.conf can be configured to prevent that.
There’s been multiple reports of pulseaudio causing problems for DragonFly users. It would get pulled in as a dependency, and audio would suddenly stop working. Uninstall, and audio is fine. John Marino has removed it from dports, to prevent that exact problem.
Because this always happens just after I create a DragonFly release, there’s a new version of OpenSSL. However, this is for version 1.0.2. 1.0.1 is what’s in the release, and it’s supported through the end of the year.
OpenSSH has a major version bump in DragonFly, to 7.3p1. This means some features – specifically patches for High Performance Networking – are no longer there, and you’ll get an error if your config file requires them. Either remove the options from your config, or install OpenSSH from dports.