A reminder based on a question from Pierre Abbat: John Marino isn't working on 32-bit packages for dports; there's a volunteer who will, but until the volunteer is ready, 3.7 users will want to build from source.
Last of the year! You'll want to take some reading/watching time this week. Can you be arrested for what's on your computer? Yes, of course. Making SSH connections easier. If you don't know it, you should. Ansible vs. Salt and Creating a new Ansible node. BSD-focused. Vim in the hands of a Real Maniac. Damian Conway, the speaker, is a man of complicated skill, and a good speaker. It gets pretty crazy by the end. (via) The Saddest Moment, James Mickens talking about Byzantine fault tolerance. (via) The via link on that last one led me to Dadhacker, with some excellent entries like this Eject button at Apple or Fuctuation. Digital restoration and typesetter forensics. Brian Kernighan, Ken Thompson, and Joe Condon reverse-engineering hardware because the vendor won't reveal how it works - in the 1970s. The letter to the vendor is hilarious. The story of how it was recovered, also linked there, is a good read, too. (also via) Over-Extended Metaphor for the Day. Could quibble, won't. I like the Emo Phillips followup joke quoted here, where I found it. Oldcomputers.net. There's some neat old things there - and they're selling/buying! (via) Console Living Room; more old game systems resurrected via JSMESS. First reaction was that it was neat, second reaction: these old games were horrible, compared to what we have now. (via multiple places) exabgp, human-readable BGP messages. (also also via) The Grand C++ Error Explosion Competition. I had a student who excelled at this, involuntarily. (via) We've run out of closed-source things to re-implement as open source, and now we're reinventing the open-source wheel. How open source changed Google - and how Google changed open source. Their open source group is essentially about license compliance, not evangelism. That is the way it should be. The last paragraph about Summer of Code is spot-on. (via) Readers of a certain age will recognize the global vector map theme. (Here's more.) It makes me think of the old Apple ][ game, NORAD. (incidentally, I was way better at it than the player in that video.) Your unrelated comics link of the week: not a comic, but a magazine that includes comics: Mineshaft. I've heard about it many times, and I keep meaning to get a subscription.
Again, quiet from the holiday break.
- strlcpy/strlcat users, a rundown. The buffer overflow problem is suprisingly widespread. (via)
- The PC-BSD Digest for 12/20 and for 12/27.
- The DiscoverBSD weekly summary.
- Faces of FreeBSD: Kevin Martin.
- FreeNAS 9.2.0 is out. (via)
- OpenSMTPD, a project I've always meant to look at more, has been updated.
- BSD Magazine for December 2013 is out. The RSS feed for them/their newsletter is no longer working, cause I had to find out here.
- ruBSD talks about OpenBSD are online.
- There's new support in NetBSD for that old Amiga.
- You may need to update your OpenBSD packages.
- NetBSD's smbfs is now an import from FreeBSD.
- NetBSD has updated ACPICA and OpenPAM.
BSDNow has a new episode for Christmas; this contains an interview with Scott Long of (among other things) Netflix.
BSDTalk, which is hitting its 8th year, has 20 minutes of conversation with Ike Levy and Brian Callahan about NYCBSDCon. (which is coming up on February 8th; will you sponsor?)
Here's how my upgrade from DragonFly 3.4 to 3.6 for this server went. The system install went normally. I rebooted before performing 'make upgrade', as noted in UPGRADING and elsewhere. I already have dports installed, so a binary upgrade should be possible. I had heard of people with older version of pkg, having trouble getting it to notice upgrades. I rebuilt pkg, and ran 'pkg upgrade'. A number of the updates coredumped. Here's one example:
[156/160] Upgrading gtk2 from 2.24.19 to 2.24.19_2...Segmentation fault (core dumped)After the upgrade, I had two problems: PHP wasn't working for the website, and some programs would segfault. The random segfault was fixable by forcing a binary upgrade of all packages. Since there were some programs on the system that were still new enough that the version number was the same as on the remote repository, pkg didn't upgrade them. Those packages were linked against old versions of system libraries that predated the locale changes in DragonFly 3.6, so they'd crash. Forcing the update for all packages fixed the issue. The other problem, PHP on the web server, is not new to me. The binary package for PHP does not include the module for Apache. The solution is to build from source with that option selected. I understand that pkg is destined to support (some?) port options in the future. There's also an immediate workaround for locking it. However, the port would not build because of a security issue. The binary package installed without any warning. This, I am told, will change to pkg giving you the option to install if you are aware of the security problem, and whether it really affects you. (which is just what I want, yay!) Anyway, other than the system changes biting me because I didn't realize some packages weren't updated, it went very quickly. That is the reason for binary updates through pkg, or at least a major one.
Still quiet out there, but I found some good reading. PHP functions originally named for string length and sorting. Yeesh. (via) A great old-timey game programming hack. There's an initial speed hack in this story, and then there's another clever trick to fix memory corruption. (via) My hardest bug. This was a pretty fiendish problem. (via) Gitdown: don't commit when drunk. I've done that. Actually will use an Arduino-based breathalyzer. (via) Another Perl One-Liners review. Zeno of Elea, a game. It's based on a classic... (via) Vim plugins you should know about. From that One-Liners author. Speaking of Perl, here's a Larry Wall interview. An old-school hacker - he wrote patch, too. Moonpig: a billing system that doesn't suck. An in-depth review of system design. More Perl, too. Three Books You Should Read... Mostly BSD content. How to use Tor wrong, in multiple ways. It's not for petty crimes, and it's not any use when you're using it from a monitored network. (via) Your unrelated comics link of the week: Cookie Puss.
Odds and ends for the quieter holidays.
- Hubert Feyrer spotted this video interview of Amitai 'schmonz' Schlair about NetBSD.
- OpenBSD has tmpfs.
- PC-BSD has made it through a pkg upgrade.
- pkgsrc is frozen until at least the end of the month, for pkgsrc-2013Q4.
- OpenBSD wants to shift electrical costs. (via)
- The DiscoverBSD weekly roundup.
- Managing custom ports. (can apply to dports too)
- Building tcsh on 4.3BSD-Quasijarus. This led me to...
- 4.5BSD. An ambitious project.
- A pfSense video review.
- Steryana Shopova is this past week's Faces of FreeBSD.
- OpenBSD had a head start on not trusting RNGs.
- OpenBSD has a new vioscsi(4) driver.
- Michael W. Lucas's books are available through OpenBSD.
- FreeBSD Kitten. (via NYCBUG)
As you can kinda sorta guess from the show title, BSDNow 16 is about encryption. One of the things noted there that I hadn't heard of is that FreeBSD ports is getting a 'stable' branch for the first time - I suppose I need to read even more mailing lists.
Things are very quiet this week; I've had nothing to post for some days - DragonFly or even for other BSDs. The end of the year has most people distracted, I think. This makes it a good time to bring up something that's been bothering me: the state of software firewalls in BSD. The pf utility is a BSD advantage; I've heard people say "I used iptables on Linux and pf is a much better alternative." I know that's anecdotal, but there it is. Here's the question, and the reason I'm writing this: which pf? DragonFly has a version of pf equivalent to what was shipped in OpenBSD 4.4. FreeBSD has a version equivalent, I think, to OpenBSD
3.8 4.5's pf, and it has been further modified. NetBSD has a similar, older pf, but there's people working on a NetBSD-specific version called npf, which isn't yet ready. And of course, OpenBSD has its version of pf. If you feel good about these different alternatives, you call it divergence. If you don't feel good about it, you call it fragmentation.
Compare this to OpenSSH - it works the same on each platform. There's no confusion on how to configure it, or interoperability problems. It would be wonderful to have the equivalent for pf, where other BSD platforms would import a portable version. This software firewall is a strength, and it's much easier to tout it when there's only one.
I doubt there's a way to bring it all back to one source tree. There's a lot vested in the different forks out there. You know what would take a lot less effort: a compatibility test suite. Agreeing on a common syntax and set of functions would make life easier for every end user. It would incidentally make vendors a lot happier, too. Even if a user or vendor wasn't hoping to move between BSD flavors, a test suite would still guarantee a certain known level of functionality for any BSD release.
How likely is this? I don't know. But I want to bring up the notion before it gets missed. Now is a good time, with each pf version still being relatively close to one another.
Update/note: Henning Brauer is willing to help.
Another week where I could get away without any commit links, just cause there's so much BSD stuff out there.
- Randomness changes in FreeBSD. Saw commits before, but this is a good summary. (via)
- Cipher changes summary for OpenBSD.
- The DiscoverBSD summary.
- Faces of FreeBSD for this week: Brooks Davis.
- PC-BSD's weekly summary.
- FuguIta, an OpenBSD liveCD.
- The FreeBSD Foundation's Semi-Annual Newsletter. There's details on the FreeBSD Journal.
- Also, that newsletter links this first of 4 BSD whitepapers.
- The FreeBSD Challenge on linuxcauldron.com - a 30-day challenge.
- BSDCan 2014 has issued a call for papers.
- So has NYCBSDCon 2014. Here's the announcement of NYCBSDCon 2014 itself, and flyer.
- Note to self: investigate cheap bus trips to New York City.
- The IP-Plug, a NetBSD-powered wall wart. The article goes into terrific detail.
- Ruby in pkgsrc will be (apparently?) defaulting to version 2.0.
- robotpkg, a specialized fork of pkgsrc that I didn't know about.
- PC-BSD is going through lots of changes to support pkg. (that's one of many commits.)
- FreeBSD has added newcons.
BSDNow episode 15 keeps the pun titles going. Josh Paetzel is apparently replaced by Santa Claus in the interview? There's also FreeNAS coverage, and lots else.
If you have a DragonFly 3.4 system that has already been switched over to dports, and you upgrade it to DragonFly 3.6, you might see an odd problem. Rebuild pkg, and it will work. I've only seen a few reports, so I don't know if this is even likely to happen to most upgraders.
ISA device support is really gone. Well, except for keyboard and some spots where it can't be be removed. I don't think I've even seen an ISA card in some years...
John Marino has moved DragonFly from binutils 2.22 to 2.24. I think this may require a full buildworld when upgrading... not sure. Anyway, binutils has a changelog if you are curious.
BSDNow episode 14 is up - and actually has been for a few days; I've been on the road. There's an interview with George Wilson about OpenZFS and a bunch more stuff I haven't had a chance to watch yet. (see previous note about being on the road.)
I had a sometimes-great, sometimes-difficult trip to New York City over the past few days, and while I was there, I met the ball of energy that is George Rosamond of NYCBUG (which is having a huge party right now.) He and I talked for a bit about various aspects of the BSD ecosystem, and one thing he noted was that people aren't generally aware of all the licenses in use for the different software packages on the system, or even the individual licenses in the system files. There is an ACCEPTABLE_LICENSES setting in pkgsrc, where software licensed under terms not in that list won't install. That's useful, but frustrating, because it keeps people from getting what they asked for - a software install. Something that would be useful - and it could be cross-BSD very easily - would be a license audit summary. There's meta-data on every package in FreeBSD's ports and DragonFly's dports and pkgsrc and OpenBSD's port system. Why not say 'pkg licenses' in the same way you can say 'pkg info', and get a summary of the licenses you have installed in the system? (or pkg_licenses, etc. You get the idea) This wouldn't prevent people from installing software, but it would give a very quick view of what you were using.
> pkg licenses
Software package License ---------------- ------- foo-2.2.26 Apache license bar-7.999999 Donateware baz_ware-20131209 MIT quux-silly-6.5 BSDIt could be extended to the base system, but I'd like to see this in all the packaging systems as a common idea, in the same way that 'info' in a packaging command always shows what's installed.