It’s summer, and I’m too warm. I’m whiny but still making with the links:
- “The return of the FreeBSD desktop“, where Dag-Erling Smørgrav describes getting a BSD desktop working again due to a new ports system on FreeBSD. It’s still too messy a process to get to a GUI, I think, and to support that I’ll point at this post of a KDE developer giving up. (via) One of the issues is the rapid flux of the underlying systems X has to run on – something touched on before.
- Here’s someone looking for a ‘Linux like BSD‘. Most of the answers are “then use BSD”, though the poster is hampered by the new Intel video chipset.
- These “Ringbow” joystick controllers are described as being for games, but I think they could work as controllers like the Thinkpad nub. (via) It’s a Kickstarter project, so might be worth your money.
- With some minor changes, this command could find you all the BSD-licensed items in pkgsrc, I think.
- Phoronix thinks FreeBSD and Ivy Bridge don’t work together. I could have sworn I’ve already heard of Ivy Bridge systems running BSDs… Take it with a grain of salt.
- Several readers will find the intext: Google search phrase incredibly useful. (via) Also, typing ‘*’ in Google Maps actually does what you’d expect.
- Less is exponentially more, Rob Pike talking about Go. (via) The note about the Bell Labs numbering scheme explains a lot about UNIX’s terseness.
- Visual Git Reference. (via) Showing a physical position to correlate with time is really helpful here.
- A review of FreeBSD Device Drivers, the new No Starch book. Much of it should apply to DragonFly, I should think.
- I suppose this Dwarf Fortress book was inevitable.
Your unrelated link of the day: The Kleptones are great, and this collection of the music that influenced Paul Simon’s Graceland is a wonderful find. A happier album I’ve never heard. I feel nostalgic for the days when you had to actually search for music.
Emacs in pkgsrc is going to be all numbered versions, as in emacs24 and emacs25, etc. Installing just ’emacs’ will get the current default version, which is emacs
2.4 24.1 right now and I think will be emacs 2.5. All this will come after the pkgsrc freeze for 2012Q2 is over, which means it will be next month. Follow the thread on email@example.com for details, or to figure out what I said wrong in my summary.
I always talk about vi and vi-like items here, so here’s my ‘equal time’ post.
Update: as several people pointed out, I had version numbers wrong. The story is corrected to make it slightly less wrong.
I have such a surplus of links these days that I started this Lazy Reading two weeks ago.
Your unrelated comics link of the week: Elfquest, every issue ever. The dialogue is cheesy but the original art is fun, in a way that grabbed me when I read it at 10 years of age.
I know I already posted that this was on the way, but this time, the quarterly pkgsrc freeze is starting with a detailed announcement. 2 weeks until the next release, if everything goes well.
If you’re using some PHP application that requires the old behavior of PHP 5.2, you will need to specify that version of PHP – pkgsrc is moving to version
5.4 5.3 as default, with version 5.4 available. (thanks, Takahiro Kambe for the update.)
The freeze for pkgsrc-2012Q2 starts on the 16th of June, as recently announced. Freezes are usually 2 weeks, so that means 2012Q2 should be tagged at the end of June.
This was going to go into a Lazy Reading post, but then I realized it shouldn’t. Here’s the source: “A Tragically Comedic Security Flaw in MySQL” (via)
The short version: MySQL, compiled a certain way, will allow 1 out of 256 root login attempts to work no matter what. I was going to link to this for the startlingly large number of MySQL installations found allowing connections from the public Internet, which means breaking into any affected servers would be easy. Then I thought about it… I don’t see a my.cnf installed by pkgsrc for at least MySQL 5.1 by default.
To fix this for your own installation, put
in /usr/pkg/etc/my.cnf to disallow remote connections. I don’t know if MySQL on DragonFly from pkgsrc is vulnerable to the issue, but it’s a good idea to not allow remote connections to the database, and ought to be on by default.
Or just use Postgres, if possible.
I got to use the ‘roguelike’ tag again this week, which always makes me happy. Surprisingly, it’s not about… that roguelike.
- RSA encryption explained. (via)
- Someone from Google went to BSDCan 2012 and blogged about it. The takeaways are interesting, especially something I’ve seen elsewhere: “Don’t buy systems that can’t take registered RAM in a bazillion sockets”.
- Occam’s Razor applies here, but still: trust nobody. (via)
- Bash One-liners Explained, part 1.
- They’re switching from ‘cvs import’ to ‘cvs add’ in pkgsrc. Now if they’d just switch the ‘cvs’ part out…
- Not even vaguely computer related: Please won’t someone make these commercially available? Wait, someone did!
- The Mechanics and Meaning of That Ol’ Dial-Up Modem Sound. (via) I feel nostalgic, but on the other hand… nobody missed 14.4 kbaud.
- Advanced Vim Macros. “As is typical in Vim, the rabbit hole of functionality goes much deeper than most users will ever plumb.” (via)
- Also at the same place: Vim Koans.
- Hey, there’s a DragonFly page on the Wine Wiki. It’s short but probably very useful if you want to run Wine.
- Also, an OpenCV fix for DragonFly, pushed upstream by a pkgsrc developer. That’s always nice to see.
- Fish, a new shell with some nice features. (via) Does this compile on DragonFly?
- Found near the same place: a screen saver that auto-plays Angband. OS X only, unfortunately. There must be an easy way to do the same with xscreensaver.
- CLANG, but not the compiler. Watch the movie.
Your unrelated link of the week: I happen to work at a salt mining operation, which leads to some unique problems (more). Mining in the US is regulated by MSHA, which has been cracking down since the Upper Big Branch incident. MSHA issues ‘fatalgrams‘ every time a miner dies. MSHA also shows up on site as soon as possible, which means they are there taking pictures within a few minutes, with equipment still running. It’s essentially crime scene photos, and a little worrying; many of the deaths are of people around my age with similar experience.
Pkgsrc already runs on a large number of different platforms, but that’s not what I’m talking about. In this case, Joyent, which uses pkgsrc internally, has a suggested change that makes binaries usable on both 32 and 64 bit systems. I don’t know if this will go into pkgsrc proper, but it’s interesting to see.
Apparently a lot of modular-xorg packages in pkgsrc received updates. I think I found some of the changes, but probably not all, so I don’t have a good way to sum up the actual effect.
Update: see the end of this cvsweb pkgsrc CHANGES-2012 page for all the changed parts.
There’s a number of packages out there that assume you are using the GNU versions of ls, wc, and so on. However, you aren’t when using a BSD system. Pkgsrc has historically dealt with this when GNU tools are needed for a package by prefixing them with a ‘g’. ‘ls’ becomes ‘gls’, and so on. Aleksey Cheusov proposed a fix to keep these utilities under their original names, which I think will go into the next quarterly pkgsrc release.
Pkgsrc packages that have source files that can’t be redistributed, and go missing for the length of an entire quarterly release, will get removed. They are effectively broken at that point anyway.
That policy is now formally in place; I don’t think there was a clear prescription before.
I think I’ve mentioned building DragonFly with clang before, but not pkgsrc. There’s two variables to set, plus some special handling for libf2c. Thomas Klausner has details. This is not tested on DragonFly.
DragonFly has a page on updating pkgsrc, and so does NetBSD. I don’t think I linked to the latter before, but even if I didn’t, it’s still useful.
If you have a i386 DragonFly machine, emulators/wine-devel should now work.
John Marino proposed cutting several game demos from pkgsrc. I don’t think they are playable at this point, even if you have the missing source files.
John Marino posted a report of pkgsrc-currentbuilding on DragonFly i386. The success rate for package building is so good that the “top” package break was security/libpreludedb, with only 9 dependencies. Everything else was less than that. I have never seen a pkgsrc build report before with only single-digit figures for dependent breakage; this is fantastic.
Takahiro Kambe is bringing PHP 5.4 into pkgsrc, probably as lang/php54. Follow the whole thread for a discussion of version numbering. As a side effect of this, PHP 5.2 will leave pkgsrc by the next quarterly pkgsrc release. If you’re using that older flavor, you’ll want to upgrade.
Apparently Apache 2.4 has a bug that will cause network stalls when sending data that doesn’t line up with segment size. Sepherosa Ziehau has put in a workaround for the issue. Alternately, you can use www/apache22.
Thanks to the efforts of John Marino and others, pkgsrc is having possibly the highest success rate ever of successful package software builds. If only I could get a pkgsrc-2012Q1 build to complete and upload…
Drowning in links this week. Is that so bad? No.
Your unrelated links of the week: Turntablism. I was talking about assembled music last week, and this is a whole area to itself. Watch Kid Koala turn a few seconds of trumpet playing into an entire blues progression.
Here’s a post by yours truly, on how to move to pkgsrc-2012Q1 though building from source. This is for anyone sick of waiting for me to finish the binary build of pkgsrc.
There’s a few pkgsrc packages that might be going the way of the dodo, soon. There’s a few more that need love, so speak up if you use them. Maybe you can be the Somebody™ that fixes them?
I’m still working on building them. I kept getting panics, which seem to be fixed by this commit, so I should have something soon. Sorry!
Based on a recent post from Chris Turner to the firstname.lastname@example.org mailing list, here’s a bug report that should get you to a working lang/OpenJDK7 pkgsrc package.
Julian Fagir has put together a graphical – meaning it works under curses in a terminal, or under X – interface to pkgin, the binary package manager. Can someone try it and describe how well it works?
There’s several packages that will be removed from pkgsrc after the 2012Q2 branch, since they haven’t worked in a long time. Also, Python 2.4 has been removed from pkgsrc-current and 2.5 will go the same way before the end of the year.
The next quarterly release of pkgsrc, pkgsrc-2012Q1, has been branched. I’ll start building binary packages momentarily.
The branch should show up in DragonFly git later today. Once available, you can change any references to ‘pkgsrc-2011Q4’ in /usr/Makefile to ‘pkgsrc-2012Q1’, and then to switch to it:
- cd /usr/pkgsrc
- git branch pkgsrc-2012Q1 origin/pkgsrc-2012Q1
- git checkout pkgsrc-2012Q1
- git pull
At that point, you can start building and installing newer applications. For more details on that, check the pkgsrc guide on the DragonFly website.
Note that you don’t have to do that; you can stick with the 2011Q4 (or earlier) packages you have installed now, if you don’t want to deal with software changes right now, or if you want to wait for the binary packages to become available. Upgrades/security fixes only happen for the latest quarterly release, though.
Note: don’t assume I tested this before advising you to do it, or anything like that. I mean, come on.
There’s been some discussion of packages that have been broken for a long time in pkgsrc, over on the email@example.com mailing list. It’s interesting to see just what breaks these packages, though it still seems up in the air whether any will be removed or not. (Follow the thread if you have time.) I don’t think the discussion has ended yet.
I just removed old pkgsrc binary packages for DragonFly 2.6/2.7 from avalon, so if somehow you are running a version of DragonFly that old, and still using binary packages, you’ll want to upgrade. I’m pretty confident that describes nobody.
Also, I have plans for coordinating the next pkgsrc release of 2012Q1, due April 6th, with the probably next minor upgrade of DragonFly, 3.0.3. I wrote out my plans already, so go read. (plus followup)
This report from yours truly is using pkgsrc-current, so it reflects some of what will show up in pkgsrc-2012Q1. John Marino has already fixed some of the “top breakage” items, so the numbers should be even better for the next one…
It runs from now to April 6th, so nothing but bug fixes in pkgsrc until then. If you have any package fixes you needed, now’s the time to ask someone.
We have pkgsrc binaries still around for DragonFly 2.6/2.7. As I posted, I’d like to get rid of them. Would that inconvenience anyone?
We don’t have a set expiration policy. We probably should.
That’s pkgsrc-2012Q1 I’m talking about. It appears KDE will jump from 4.5 (what’s there now) to 4.8, and Zope/Plone will be removed. This will make you happy or sad depending on whether you have these things installed.
The freeze for the next version of pkgsrc, 2012Q1, will start March 22nd and end with the quarterly release being released on April 6th.
(I hope someone gets the joke.)
For the curious, I recently sent a bulk build report for pkgsrc-2011Q4 to the lists. Other than ruby-193 (which is fixed in pkgsrc HEAD thanks to John Marino), we’re looking pretty good! I’m curious if KDE or Gnome could actually get installed via binary; that’s sort of an ultimate goal due to the number of packages involved.
Speaking of Ruby, the default in pkgsrc may change soon, along with some of the involved Rails packages.
A few days ago, I posted about Python 2.4 and Python 2.5 leaving pkgsrc – it looks like it’ll be a little bit longer, at least for the 2.5 version. This means the Zope packages will be gone too, since they depend on Python 2.4. This won’t affect you if you aren’t using these packages, of course.
The default version of Python in pkgsrc is going to become 2.7. This will mean the 2012Q1 release will use that version by default. Older versions, meaning Python 2.4 and 2.5, may be going away. At least, that’s how the linked thread started but I’m not totally sure about it as I read farther through.
I was reading an article about how Tumblr scaled to handle the huge amount of data it’s regularly pushing out. Apparently, it started life as a traditional LAMP stack, but they’ve since moved on – to software packages I have not yet needed to ever use. Being open source software, it all has crazy names. Some of these packages are perfectly familiar to me now, but others are completely new.
Anyway, for fun, I decided to see how many of these sometimes new-to-me packages were present in pkgsrc. I’ll reproduce a paragraph from the story that lists the software they use, and link each one that I found in pkgsrc.
- PHP, Scala, Ruby
- Redis, HBase, MySQL
- Varnish, HA-Proxy, nginx,
- Memcache, Gearman, Kafka, Kestrel, Finagle
- Thrift, HTTP
- Git, Capistrano, Puppet, Jenkins
That’s actually more than I thought I’d find, though I can’t articulate why. Anyway, if any of the names are unfamiliar to you, now is the time to follow up. Redis, for example, looks more interesting to me at a casual glance than the normal NoSQL models I’ve heard about.
Here’s several things to look at:
Michael Lucas’s “BSD Needs Books” talk from NYCBSDCon 2010, on Youtube. I’ve talked about it before because I saw it in person; it’s a good talk. Ironically, he talks about getting a publisher interested in your book, and he just self-published.
Hubert Feyrer linked to the slides of two pkgsrc talks at FOSDEM; one about bringing pkgsrc to MirBSD, and one about pkgin, which is included in DragonFly.
There’s a NetBSD Hackathon going on February 10th through 12th, mostly online. I mention this because it may have some effect on pkgsrc, used by both NetBSD and DragonFly. Hackathons for pkgsrc usually happen separately, but no harm in keeping an eye out for any positive benefits.
I’m posting this because it will save someone (possibly me) an hour of aggravation someday. If you are updating Samba from version 3.0 or 3.3 to a later version, it’ll take your existing config but possibly silently break on user authentication.
Ulrich Habel wants to update some of the Perl 5 modules in pkgsrc. He published a request for comments, describing what he plans to do for changing some dependencies. He does note that Perl 5 in pkgsrc is at 5.14.2, which is very recent.
I was talking to a relative today who works at a large financial company, which is standardizing on Red Hat Enterprise. I find it strange that Red Hat, which has a lot of money behind it, still ships a years-old and arguably broken version of perl. By using pkgsrc, you’re getting more up-to-date software than people that actually shell out money for the privilege of compiling software.
If you liked KDE3, you may like Trinity. Matthias Drochner would like you to help get it in pkgsrc.
The answer is “not very”. As I wrote in a post to kernel@, DragonFly 3.0 will be tagged soon, and released when there’s pkgsrc-2011Q4 packages to go with it. Probably a week if everything goes to plan.
John Marino has pointed out, with a number of examples, that gnat-aux is the best pkgsrc-based compiler for DragonFly right now, in terms of compatibility and support. It’s certainly good news if you are an Ada programmer. He lists some interesting numbers to demonstrate this superiority, though you can’t buildworld with it yet. (gcc 4.4, on DragonFly as part of the system, will do this normally.)
I just mentioned DNSSEC in last week’s Lazy Reading, and here’s a “How to get DNSSEC with BIND 9.8.1 working” article from Michael Lucas. It’s pretty simple… Conveniently, BIND 9.8.1 is available in pkgsrc as net/bind98.
I’m linking to this small discussion about licensing and its documentation in pkgsrc, just because these paragraphs, out of context, are good for any pkgsrc user to know.
The links are sheer entertainment this week. No strong options or anything, not even about that U.S. legislative mess called SOPA.
Your unrelated comic link of the week: Basic Instructions. Well, not totally unrelated, since BSD author Michael Lucas’s tweet about it reminded me. I’ve got the first book; I need to get the second and third.
The freeze for pkgsrc-2011Q4 has started. No updates to pkgsrc, other than for security, for the next two weeks.
The last quarterly release of pkgsrc for the year is scheduled for the end of this month. This means the freeze, where only bugfixes are applies, will be starting on the 17th.
Two tips for working with pkgsrc, derived in part from this mailing list post on users@ (follow the thread) and from my own experience. If you put
- You can clean up any leftover package building files by deleting the files in that directory and leave your pkgsrc files untouched.
- You can have a read-only /usr/pkgsrc, which means it can be shared over NFS (or SMB?) between multiple machines, DragonFly or otherwise.
Some time ago, Matthew Dillon worked on a bulk build system that built as much of pkgsrc in parallel as possible. It’s in the tree now as ‘fastbulk‘, for anyone wanting to try it out. I used it a bit; I didn’t measure the degree of speed increase, but was able to get about 70% of the packages built.
There’s a new page up on the DragonFly website, about using rpkgmanager to manage your pkgsrc-installed packages.
Almost all the packages in pkgsrc support non-root installation now… except these last 31. I recall something about their removal by the next quarterly release if they still don’t work, or maybe just after. Jump in if one of these packages is useful to you.
This recent structure change (are there others like this? Maybe?) means that existing binaries may need to be recompiled for anyone tracking DragonFly master. This probably means that an upgrade from 2.10 to 2.12 will require rebuilds of all binary pkgsrc packages.
Here’s some recent x86_64 bulk builds: one on DragonFly 2.11, one on NetBSd 5.0.2, and one on Linux 220.127.116.11. Some data of note: DragonFly is within 8%-ish total packages built compared to NetBSD, which could be considered the baseline. Linux, the more common platform for most of the software built, is another step less. I don’t know if there’s any dramatic conclusion to get from this other than, “Hey, a lot of packages build on DragonFly!”
Not a lot of links this week, for some reason.
Your unrelated comics link for the week: Oglaf. This week’s OK, but it’s frequently NSFW, and frequently hilarious.
I know this happens normally, but I like to point out that it exists. From the recent pkgsrc-2011Q3 bulk build reports I posted, Samuel Greear found two problems to fix, and thanks to him and OBATA Akio, net/net-snmp and devel/poco are fixed for DragonFly.
I have some pkgsrc-2011Q3 builds done, for x86_64 and i386. I performed them on DragonFly 2.11, but they should work fine for 2.12/2.13. They’re uploading to the pkgsrc-2011Q3 folder on mirror-master, so you’ll need to set PKG_PATH correctly to use them via pkg_radd.
The x86_64 package upload is done, and I anticipate the i386 one will be done within the next 24 hours.
Among other changes to pkgin 0.5 (available in pkgsrc-wip but not pkgsrc-2011Q3), it now notices if you need a newer pkg_install because you’ve shifted to a more recent quarterly release of pkgsrc, and grabs the appropriate binary package to fix that. Thanks, iMil!
The latest quarterly release of pkgsrc is out. You can download it via CVS, or update /usr/Makefile to pull down the correct branch. I’ll be building binaries as soon as I can. I like the release announcement style.
I finished a build of pkgsrc-current on x86_64, with a report on what built. I’ve kicked off a new build, and I expect at least 100 more packages to build thanks to John Marino’s work on pkgsrc and DragonFly.
The freeze for the next quarterly release of pkgsrc has been extended another week, to October 2nd. This will push the DragonFly 2.12 release out a ways, too.
As is common for the combination of new Postgres releases and new pkgsrc quarterly releases, Postgres 8.3 is going to be missing from pkgsrc-2011Q3. The default version of Postgres installed by pkgsrc will become 9.0 after that quarterly release. (9.1 is already present in pkgsrc.) This is all planned by Joerg Sonnenberger.
As predicted and now announced, pkgsrc is now frozen for the next week. If everything goes well, we’ll have pkgsrc-2011Q3 next week.
I proposed some changes to the way DragonFly does releases, and how we handle pkgsrc binary builds. The thread on kernel@ is a bit long, so just read my summation. My idea for a longer release cycle didn’t really fly, but pkgsrc binaries will be built on a rolling basis, I think.
For reasons unknown to me, there’s enough functional change between PHP 5.2 and PHP 5.3 that it affected a lot of PHP-based programs. For that reason, PHP 5 in pkgsrc defaults to the 5.2 version. However, it’s going to be 5.3 for the next stable quarterly release of pkgsrc. In theory, all PHP5-dependent programs are ready to handle that now. Note that PHP 5.3 is already in pkgsrc; it just wasn’t the default. If you were using the php53 package, it may require some manual fiddling at your next upgrade of pkgsrc packages.
At some point, you may want to generate binary programs that are unstripped of debugging information. You may want to generate them with pkgsrc. Here’s a little note on what options will make that happen.
The ‘freeze’ period (when bugfixes are the only addition) for pkgsrc will start on September 18th, with the next quarterly release of pkgsrc, 2011Q3, scheduled for the 25th. Think of it as an early Christmas present.
John Marino, who already has commit access for DragonFly, now also has commit access for pkgsrc. What does this mean? It means if you have a pkgsrc problem, submit it through NetBSD’s Problem Report system as normal, and maybe let him know about it too. He’s already made some DragonFly-specific fixes.
The next release of pkgin, the binary package installer for pkgsrc, is imminent. I link to the note about this because the new features list sounds good, including a significant speedup.
This week has taught me one thing for sure: Always make sure your backup generator is working. And over-plan battery capacity. That’s actually two things, but what the heck. I’m tired, for reasons that can probably be inferred! I’m not the only one suffering these problems, it seems.
- There is a certain subset of readers here that will find this fascinating: a video of a game postmortem. Specifically, Elite. (via) Needs Flash.
- This is as good an article as any I’ve seen describing where the tablet computer market is going, at The Economist.
- Remember RetroBSD, mentioned here previously? Here’s some discussion of it.
- EuroBSDCon’s 2011 conference is open for registration, but the early bird discount only lasts until the end of August, so jump on it soon if you’re thinking of going. It’s the 10th anniversary of the event!
- PHP 5.3 is coming to pkgsrc as default, soon? The PHP 5.2 -> 5.3 transition seems to mess up a lot of code because of some changes in the way things are handled, or at least that’s my experience, so watch out.
- Make sure you aren’t running mod_deflate on your Apache 2.x server.
- Kristaps Dzonsons, the fellow behind mdocml (which is in DragonFly now and mentioned here before) is working on a mdoc manual. It’s an actual book, with examples. It’s titled “Practical UNIX Manuals: mdoc”, which sounds like part of a series, though I don’t know if there’s anything else. I’d sure like it if there was. (via Undeadly.) Look very closely at the mdoc web page and you will see the markup, too. Neat!
- Breakout treated as a musical instrument, in 1983. That’s too glib a summary of this explanation of an old book studying the game Breakout and playing it. Really, read the article, and remember that the book described would just be lost in a sea of
blog posts noise today. (via)
Your unrelated comic link of the week: Wonderella. This is the comic that ruined Batman for me. I can’t unthink it.
There are only 45 packages out of over 10,000 in pkgsrc that do not support being installed by people who aren’t root, or in different locations. Thomas Klausner has that list of 45 packages. It’s very close to zero packages with this problem at this point, so if you want to make a big difference…
Anton Panev is working on a Google Summer of Code project for NetBSD, adding support in pkgsrc for RPM/Debian package formats. He posted a status report recently; will this come to DragonFly via pkgsrc? I don’t know!
CVS has traditionally been used to distribute the files in pkgsrc, but there’s been a converted git version for DragonFly for a bit now. It looks like there is now an official version (i.e. for everyone, maybe to replace CVS?) at Github.
I put together a post on users@ about updating to pkgsrc-2011Q2. I’ll just repeat it here after the break:
I recently saw some terse notes on firstname.lastname@example.org about compiling using clang for pkgsrc. I haven’t tried this on DragonFly…
Francois Tigeot has fixed wip/jdk16 to build on DragonFly. Note that this is in pkgsrc-wip, not ‘normal’ pkgsrc. The secret is to build lang/kaffe to bootstrap it, which requires CCVER=gcc41 to be set. Apparently kaffe will not build under gcc 4.4.
Why did he do it? To run OpenGrok, of course. He’s posted instructions on getting OpenGrok running on DragonFly. Note the Java crashes he reports in DragonFly 2.11 may already have been fixed.
p.s. I hated “Stranger in a Strange Land”.