The official announcement has gone out. You should be able to pull pkgsrc-2013Q2 via git from dragonflybsd.org within the next 24 hours.
It looks like OpenJDK7 works in pkgsrc for DragonFly, thanks to Ryo ONODERA, and I think it’s working in dports too.
Whoops, I missed this when it happened, but: the freeze for pkgsrc-2013Q2 has started. That new quarterly release is anticipated for the end of the month.
The next pkgsrc freeze is planned for June 17th, 9 days from now. So, get your changes in now, for 2013Q2…
Johnathan Perkin has a nice tutorial up about creating pkgsrc packages. It’s done on SmartOS, but I imagine it’ll generally apply to anything pkgsrc supports.
NetBSD uses pkgsrc but ships a version of xorg with NetBSD. This is effectively producing the same code twice. There’s a long discussion on tech-pkg@ (first article linked; keep reading) about moving to the pkgsrc version of xorg for NetBSD, which seems like a good idea for focusing effort, as far as I can tell. The thread goes on quite a way.
There’s more download statistics on dports and pkgsrc packages, from Francois Tigeot. There’s a heck of a lot of dports activity, though there’s probably much more pkgsrc building from source than this would report on. So, not necessarily representative of actual numbers, but an interesting ratio none the less.
It’s been 2 years since the pkgsrc packages for DragonFly 2.12/2.13 were getting updated, so I am going to remove them. If you’re running DragonFly 2.12, you’ll want to either build from source or upgrade DragonFly.
Eric Radman sent along a plug for a utility he is working on called entr(1). The desciption is “Run arbitrary commands when files change.” The site for it has several nifty examples – run make when *.c files change, or convert Markdown files to HTML as soon as they are modified. The really nice thing about it is that it’s perfectly BSD-friendly, and uses kqueue, but will also work on Linux. This beats the “This runs on the one flavor of Linux I use, in one particular shell!” approach I’ve seen from some other developers. See the reddit discussion of it for comparisons to inotify.
No, it’s not in pkgsrc/ports yet.
It looks like Postgres versions less than 9.0 are going to be removed from pkgsrc soon. Be ready to update, if you are running one of those extremely older editions.
The DragonFly Git repository of pkgsrc now has the 2013Q1 branch. You can switch to it by editing your /usr/Makefile (look for existing references to either pkgsrc master or pkgsrc-2012Q3) and using the normal commands.
The 2013Q1 branch of pkgsrc has been announced. Along with the normal quarterly material, there’s several notes: preliminary Cygwin support is present, ruby 1.8 will be retired in favor of 1.9 after this release, and the pkgsrc.org web page now has a very nice new look and logo.
I plan to branch DragonFly 3.4 very soon, and that version will have 2013Q1 as default.
Update: The 2013Q1 branch should be available by tomorrow on DragonFly’s git; the repository needs to update and convert from NetBSD’s CVS and that takes a little time. I’ll post when it’s ready.
I hope you like reading; there’s some very meaty links this week. Go get a cup of tea and settle in. You drink tea, don’t you? You ought to.
- Reading about KDE’s repository near-meltdown makes me think we need more checks for DragonFly. We have the advantage of Hammer, of course, which would help in the same way that the linked article names ZFS as a ‘fix’. (via multiple places)
- We know that Apple will reject apps it disagrees with. Google also will do so. Has there ever been a program rejected from pkgsrc or (FreeBSD/OpenBSD) ports on content grounds? Not that I know of – anyone remember differently? I’d argue that’s a favorable point for the BSD packaging systems, though it may just be that no application has tested those boundaries yet.
- Portscanning all IPv4 addresses on the planet. Possibly the largest distributed effort ever? The detail in the maps and returned services is especially interesting. (via)
- Scale Fail, a Youtube video of a 2011 talk about screwing up your services. Mostly about the humor, but the underlying points are valid. (via #dragonflybsd IRC)
- There’s still improvement possible to fsck, apparently based on this. That’s UFS2 fsck.
- What is your most productive shortcut with Vim? A very thorough explanation of verbs, marks, and registers. Holy cow, I wish I had known about ‘: … v’ before. It’s long, but worth it. (via)
- Matthew Garret’s description of Secure Boot vs. Restricted Boot with UEFI, (via a coworker who went to Libreplanet 2013). I’m still not sure what DragonFly will need to do about this.
- I missed mentioning this earlier: 20 years of NetBSD. We’re coming up on 10 soon.
- Dragonfly drones. Unrelated except for name.
- That guy who starts to froth madly every time BSD is mentioned on Phoronix is still there (see comments).
- Mainframe computer supercut. (via)
Your unrelated comics link of the week: Tom Spurgeon of the Comics Reporter asked people for their lists of webcomics that could go in a ‘Hall of Fame’. The resulting list is a lot of really, really good material. Go use up a few hours reading.
I saw this Hacker News post and figured I should emphasize: pkgsrc is still going to be available in the 3.4 release of DragonFly; we’re not suddenly switching to dports. I don’t want anyone to think they’re going to have to rip out all their packages and go to a new, untried system, all at once.
Right now, if you install PHP, or something dependent on PHP, from pkgsrc, you get PHP 5.3. The default for pkgsrc will move to 5.4, though I assume that’s going to be after the pkgsrc-2013Q1 release scheduled for the end of this month. I don’t know the upgrade path, but it sounds like 5.3 is on the way to retirement, in any case.
The freeze for the next quarterly release of pkgsrc – 2013Q1 – has been announced by Thomas Klausner. March 17th to start, March 31st to end.
Cygwin is a ‘supported platform’ in pkgsrc now. This means your Microsoft Windows machine can now build packages out of pkgsrc. I have no idea how many packages actually succeed, but it’s interesting to see the same tools there as on other platforms.
There’s two changes in pkgsrc recently that might affect you: graphics/png was updated, so many dependent packages will require recompilation. Also, editors/emacs was moved to a general package instead of being specifically named by version, so now you can install ’emacs’ instead of ’emacs24′ or whichever version.
This week I will both post this on the correct day AND get the date in the title correct.
- An oldie but goodie. ENHANCE. This will make anyone who has done photo/video editing twitch. Check the author’s Tumblr for more supercuts. (indirectly via)
- Many people complain about regular expressions (and more recently), but they are an insanely powerful tool if you know them well. If you do, figure out this crossword. (PDF) (via)
- Followup on the first two links in that last item: xkcd drives a lot of traffic!
- If you are on Windows, you probably use PuTTY for ssh. It saves everything in the registry, which can occasionally mean losing all your configuration. There’s manual ways to save it, but there’s also PuTTYtray. (I’ve used portaPuTTY in the past, but it seems to be missing/no longer updated.)
- Actually, holy crap there’s a lot of variations/addons for PuTTY.
- That makes sense given how many terminal emulators there are, really.
- Why piping something off the Internet right to a shell isn’t a good idea. (via)
- Remember when the computer section in bookstores had books that involved programming? (unfair, I know.)
- “Don’t Be A Stranger“, musing on how there isn’t enough meeting strangers through the Internet any more. Here’s the odd thought I had while reading that article: I couldn’t pick most of the other DragonFly developers out of a lineup, but I’ve been working and talking with some of them for a decade.
- You could build Photoshop version 1 yourself – just substitute the original Mac libraries.
- Related: Photoshop is a city for everyone.
- Some of the oldest color film footage. Not the oldest,but possibly some of the earliest commercial film. Of course, the first thing filmed are young, attractive women. This is a re-occurring theme.
- Hey, a comprehensive year-end BSD roundup.
Wait, this is better! That previous link led to this film from an English chemistry professor about tea chemistry. At first I was just entertained by his hair and his accent, but when he put tea in a NMR spectrometer, I decided this was the best tea thing ever. Even better than Elemental!
If you have git installed, and you are trying to upgrade it, you may have problems. The scmgit-docs package dependency requires some DocBook files that aren’t always accessible. If you do run into this problem, there’s 3 separate options:
- You can just install scmgit-base and ignore scmgit-docs. The program ‘git’ still runs.
- You can download the prebuilt DocBook files separately.
- You can rebuild some XML-related dependent files and then rebuild without issue.
Hubert Feyrer wrote a review of Ansible 0.9, a management tool for multiple systems, similar to Puppet or maybe Chef. Just after doing that, Ansible 1.0 came out, with support for pkgsrc via pkgin-installed packages. This is the first solution (that I know of) that supports pkgsrc package management for multiple systems.
John Marino’s DPorts project, mentioned here briefly before, is interesting. I had two separate people ask me how it works, so a better explanation is in order. I’ve tried it out on a test machine over the past few weeks.
Dports is an effort to use FreeBSD’s ports system as a base for DragonFly, and the pkg tool as a way to manage binary packages built from DPorts. This is complicated, so I’ll explain each part in order.
- FreeBSD ports are a FreeBSD-specific collection of software installation files that automate building 3rd-party software on FreeBSD. You’ve probably already heard of them. (Note there’s no mention of DragonFly.)
- DPorts is a collection of files that map to existing FreeBSD ports, and contain any changes necessary to make that port also build on DragonFly. Many of those programs build without changes on DragonFly. DPorts builds from source.
- pkg is used for package management, and is usable on FreeBSD and on DragonFly. The binary packages produced from building with DPorts can be installed from remote locations and managed separately using pkg, so that software upgrades and installation can be performed with binaries only. (It’s much faster that way.)
Every port seen in DPorts is known to build on DragonFly. John Marino adds a port only after it builds successfully, using poudriere as a bulk software tool. Ports are only updated to a newer version when that newer version builds, too, so once something arrives in DPorts, it should never break from being updated at some point in the future.
To use DPorts, you need two things:
- DragonFly 3.3 or later, though 3.3 is the most recent right now.
- You need to rename /usr/pkg so that your existing pkgsrc binary programs don’t get accidentally used while working with DPorts, causing confusion. If anything goes wrong with DPorts when you are installing it and you want to go back, remove all the DPorts packages and rename /usr/pkg back to normal.
(Don’t confuse pkg, the management tool, with /usr/pkg, the normal installation directory for pkgsrc. ) For the installation of the base port files:
cd /usr make dports-create-shallow
If you’ve already renamed your /usr/pkg directory, git won’t be in your path any more. You can instead download a tarball and unpack it, which also happens to be possible automatically via that same Makefile.
cd /usr make dports-download
Downloading via git is fastest, so if you do need to use the tarball via make dports-download, build devel/git, delete /usr/dports, and then pull it again with make dports-create-shallow. This all comes from John Marino’s Github site for DPorts.
DPorts doesn’t use pkg_info, pkg_add, and the other tools traditionally seen on DragonFly for pkgsrc. Instead, package management is done with pkg. Use pkg info, pkg install, pkg remove, and pkg update to list, install, delete, and upgrade various packages on your system. Packages built from source or downloaded as prebuilt binaries are managed the same way, using these tools.
Since DPorts doesn’t update a package until it gets a successful build, and installations are of successfully built binary packages, upgrades with prebuilt packages should always succeed. Since they’re binary, they should be fast. There’s a lot of ‘shoulds’ in this sentence, but these are reasonable suppositions.
What about pkgsrc?
Pkgsrc and DPorts shouldn’t be used at the same time, since one system’s packages may be at different versions but still get picked up during building for the other system. That’s about it for restrictions.
I intend to try building an experimental release of DragonFly with DPorts, to see if all the right packages can be added, but no guarantees. DPorts is brand new and does not yet have a repository for downloading packages, so the normal caveats apply; don’t install it on a mission-critical machine, and be ready to deal with any surprises from using it if you do try it out.
What packages are available?
Browsing the Github repo will show you all listed packages. More complex packages like xorg, openjdk7, and libreoffice install, as does xfce. Parts of KDE 3 and KDE 4 are in there. (I haven’t tried either.) I’m not sure about Gnome, but I don’t think anyone ever is. There’s no vim, but there is emacs.
That’s just what I see at this exact minute. It changes daily as more packages are built. Changes from DragonFly builds are sometimes relevant to the original FreeBSD port, so there’s benefits for everyone here.
Try it now if it has all the packages you need, or wait for a binary repository to be created to speed things up. Remember, this is a new project, so a willingness to deal with problems and contribute to fixes is necessary.
It’s actually been out since the start of January, but the release announcement is available now.
John Marino has been working for some time on a project he calls, ‘DPorts’. You may have noticed his recent commits for it. He wrote up a summary on users@ to explain what he’s doing. It’s translating FreeBSD ports to DragonFly in a way that appears to be (relatively) low-maintenance. It only works on DragonFly 3.3 and up and you can’t use it at the same time as pkgsrc.
Most interesting to me, it gets rid of the quarterly release chase that happens with pkgsrc releases. Since it’s primarily a binary install system, packages are only upgraded when the results are known to work.
Will you be near Berlin, Germany, in March? The pkgsrccon 2013 technical conference will be held there. Julian Djamil Fagir posted details about the event. The conference is free; you pay for your food and drink. If you’re interested in presenting, you need to contact them before March 8th.
As is customary with pkgsrc, a number of packages that do not build or are no longer needed will be removed. This will happen in the next quarterly release. It’s a short list, and one item on that list, misc/p5-Locale-Maketext, will actually stay.
The freeze for pkgsrc-2012Q4 is due to complete in about 48 hours.
The Digest was down over the last 12 hours or so – sorry! Upgrading this system took a bit longer than planned. I upgraded to Apache 2.4, and had to figure out all the config changes, and several packages didn’t like upgrading.
I’ve resisted upgrading for a long time, mostly because I think I could recreate the entire Apache 1.3 config file layout from memory. For the benefit of anyone else, this checklist of Apache errors and corresponding modules helped tremendously. Also, pkg_leaves is a great, if minimal, way to find packages you don’t need.
Pkgsrc has entered a ‘freeze’ for their next quarterly release, which would be pkgsrc-2012Q4. (DragonFly 3.2 ships with 2012Q3) The freeze ends and the release happens at the end of the year, assuming no surprises.
If you were thinking you wanted to try gcc 4.7 with pkgsrc, John Marino’s described the option you need to set. It only works in pkgsrc-master right now (because of changes John made), and not every package in pkgsrc will build.
The advantage is that it’s also possible, with the same syntax, to set pkgsrc to build with gcc 4.4. This means the default compiler in DragonFly can be changed to gcc 4.7 and pkgsrc packages that aren’t compatible can still be built.
Update: Check this minor change: ‘?=’ instead of ‘=’.
If you’ve ever wondered how building all of pkgsrc would go with GCC 4.7.2, which is in DragonFly but not the default compiler, John Marino can show you just that. He has a list of the results from a bulk build of all packages on DragonFly with GCC 4.7.2.
The initial download of pkgsrc via Git on DragonFly is a little bit faster now, with the ‘make pkgsrc-create-shallow’ option recently added by John Marino. Note that there’s a similar option for src. It skips downloading file history.
On the 10th of November, I’m going to remove the binary pkgsrc packages from mirror-master.dragonflybsd.org for DragonFly 2.8 through 2.11. They are closing in on 2 years old at this point, and are from a pkgsrc branch that hasn’t been updated for that long.
If you are actually using version of DragonFly that old, you can continue building from pkgsrc normally; these are just prebuilt packages.
A thread on pkgsrc-users@ reminds me: adding a specific line for bin-install will save time when rebuilding packages; pkgsrc will use existing binary packages instead of rebuilding from source when possible, when this is set. At least, I’m pretty sure that’s what it does.
John Marino did a bulk build of pkgsrc using gcc 4.7.2, and posted the results. The result? About 1% of packages that built with gcc 4.4 did not build with 4.7.2. Whether that’s a problem with gcc or a problem with how each of those software packages were created by the original authors, I don’t know.
I’m planning for DragonFly 3.2 to come with pkgsrc-2012Q3, the most recent release. I’m building binary packages to match, and the build should complete by the time we release on the 22nd…
Notice I said “should” – sometimes the universe conspires against bulk builds.
DragonFly 3.2 branches tomorrow if all goes to plan. Until then, I have a lot of reading here for you.
- Winners of the International Obfuscated C Code Contest for 2012. (via) The winning entries don’t appear to be listed yet, but you can look at previous years.
- “At often, the goat-time install a error is vomit.” (via)
- This makes the D&D player in me take notice: A set of 12 sided dice that never tie. You can buy them, along with a bunch of other custom dice, right from the maker. (also via)
- “To understand the command line…” There’s some good UNIX history notes in there. Don’t hold the ‘User Friendly’ cartoon image against the author. (via)
- Dan Langille does it right when figuring out where his disk space went.
- Monthly Catonmat geek T-shirts. I know, I know, the last thing the world needs is more nerdshirts, but I like the first one on offer.
- Images to make perfectionists suffer. At first I laughed, and then I started to get irritated. (via)
- This networking change in Linux just makes me feel icky. (via ftigeot on #dragonflybsd)
- An Interview with Brian Kernighan on C and the C Programming Language. (via)
- Statistics from 777 .vimrc files. (via) Hover your mouse over the ‘sparkline’ graphs for more information. That’s a very slick way to get more information into a small space. It also led me to this wonderful Solarized colorscheme.
- OCaml 4 will show up in pkgsrc soon.
- Bob Bagwill got DragonFly added on AlternativeTo.net.
- I link to this step by step sed explanation because I found it useful, and because it has this “perverse” example:
- The “dragonfly issue“. (thanks, Dean.)
- The Hall of Unwanted Dotcoms. Some of these are just fun to say. (via)
- 20 Years of Thinkpad. I have a Thinkpad x220 for work and I like the way it’s built far more than any other laptop I’ve dealt with.
Pkgsrc-2012Q3 is out, and there’s an extensive release announcement to go with it. It’s worth reading; there’s a few packages that will not be supported after this quarter’s release, and a whole lot of new ones.
There’s a post on the mailing list firstname.lastname@example.org of currently broken packages for the next quarterly release. It’s not a lot of stuff, but if something you need is on there, don’t worry too much. If you follow the thread through its replies, there’s a lot of fixing going on.
See the note on pkgsrc-users@. The next quarterly release, pkgsrc-2012Q3, should be fully baked by the end of the month, if all goes well.
As seen in this pkgsrc-users@ post from Thomas Klausner, the freeze for pkgsrc-2012Q3 starts on Sunday and continues for (probably) two weeks before the release.
If you look at new.pkgsrc.org, you will see what may become a new site. This is apparently a test, so don’t react as if this was the actual site.
There’s certainly no theme to this week’s links. I even manage to avoid my usual git and vim links, strangely.
- Ethernet’s Future: How Fast Is Fast Enough? The article doesn’t answer any questions, but I like the IEEE-supplied graph it opens with that shows the trend of overall network traffic doubling yearly. (via)
- Anti-open source propaganda in Disney kids’ TV show. I’m actually more bothered by trying to hyphenate a phrase made from separate words. Anti-‘open source’? Esoteric grammar issues appeal to me.
- Bash One-liners Explained, part 3.
- Perl hex and bit pack formats were added to fix the Magellan satellite’s output. A neat origin for something I’ve used trivally. Of course, I suppose any use is trivial compared to fixing output from a broken spaceship. (via many places)
- Here’s a DragonFlyBSD article from 2010 linked on Hacker News. The ensuing conversation in the Hacker News comments is lucid and useful, and not a single bit of whining about BSD being dead. That’s so refreshing to see!
- Looks like there will be a new version of ADOM. Will it run on DragonFly? It should, since the previous version is in pkgsrc.
- Do you like set theory? Then read this. I don’t understand a word of it, but I like seeing the mathematical characters encoded on the page, apparently using MathJax.
- I also enjoy reading about BSD users’ origin stories. In this case, Dru Lavigne.
- CDE has been open-sourced. There’s a good chance it will show up in pkgsrc soon. Seeing this interface will make you nostalgic if you are the right age.
- If you’re a fan of the Hammer filesystem, does that make you a hammerhead? That’s my weak attempt to segue to this comic.
- Artisanal, hand-crafted unsigned ints. Read the bottom of the About page for an explanation. This may not make sense to you if you haven’t encountered the trend it’s making fun of, which seems to be centered in Brooklyn. (via)
- I hope you enjoy scrolling, because this history of computers and history of computer graphics are very long single documents. I like seeing the early computer art. (via)
Your unrelated comic link of the week: Cul De Sac. The strip is ending due to the creator’s health issues, but what he has done is marvelous. This is one of the few newspaper strips that is both visually interesting and often abruptly laugh out loud funny, without being patronizing.
John Marino has been on a tear fixing pkgsrc packages, and he posted a list of what he considers the most necessary packages to get working on DragonFly. Several people have already stepped up and fixed them if you follow the thread. If one of these packages is something you use, it’s worth looking at.
John Marino is working on updating tcl in pkgsrc. It’s apparently quite messy to update, which may be why it has sat out of date for some time. Never one to rest, he’s also been making FUSE filesystems work on DragonFly. (Here’s a FUSE explanation, if you need it.)
Also this. Someday I’m going to write a “games on DragonFly” feature, or series.
John Marino finished another bulk build of pkgsrc, and reports a 96.4% package success rate, using DragonFly and pkgsrc-current. We’re just a week or so from the next quarterly pkgsrc freeze, come to think of it…
I recently completed a bulk build of pkgsrc-2012Q2 on 64-bit DragonFly, though I still haven’t had a successfuly 32-bit build. However, John Marino has a report of how many packages are working on DragonFly in pkgsrc-current. (Answer: more than 95%)
I’m back home and getting back into things, so here’s thing one: Michael W. Lucas was interviewed at BSDCan 2012 for 16 minutes about his recent and upcoming books.
Lucas also recently talked about a problem with port installation on FreeBSD. What he says there I think applies to pkgsrc as well.
(I haven’t even read my email yet, gee whiz.)
According to Aleksej Saushev, pkgsrc is going to start defaulting to Postgres 9.1 instead of Postgres 8.4 by default, in just a few weeks. That means an upgrade in the next quarterly release, so keep that in mind.
John Marino sent a nice email to users@ about the improvements in build success for pkgsrc since May – and I can’t find it in the mailarchive. I’ll paste a summary after the break.
I don’t, but I know there are people that do. That’s why I’m pointing out this discussion where it appears that TeXLive 2012 won’t support NetBSD, which may mean no DragonFly either. There’s the not-yet-packaged alternative kertex. TeXLive is in pkgsrc, so I don’t know if that means the package will be discontinued or just altered.
(Please correct me where I go wrong here; I’m not very familiar with this, but it sounds like a drastic enough change that it should be mentioned.)
Update: as several people pointed out, it’s just prebuilt binary versions that aren’t being provided upstream. The packages will all still be present in pkgsrc. So, no functional change for most everyone.
… because versions 3.0 and 3.3 will be leaving pkgsrc soon-ish. You’d probably want to update anyway, but this is just in case you haven’t been upgrading too vigorously.
The release announcement for pkgsrc-2012Q2 is out. New in this quarterly release: statistics about clang and pkgsrc. A surprisingly large number of packages build just fine with clang instead of gcc.
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.
- Setting Up spamd(8) With Secondary MXes In Play In Four Easy Steps. Reprinted from bsdly.
- A Brief History of Videogames. (via) A 3 minute movie.
- Networking by Example with the Packet Construction Set. An mp3 of the NYCBUG presentation from George Neville-Neil. I wish I was just a little closer to NYC so I could attend these… but then I’d be in Syracuse or Albany, and that’s not as cool as Rochester.
- I knew Interix existed, but I had never looked at it. Apparently there’s community-created bundles of software to go with it. I think pkgsrc works with it too.
- SSD prices appear to be crashing. Now may be a good time to buy. Having a SSD is possibly the bestest part of my work laptop.
- Buffers, Windows, and Tabs in Vim. A good explanation for terms unfortunately used somewhat differently in Vim that you’d expect. (via)
- Magenta, Darwin/BSD (so sorta FreeBSDish?) on top of Linux. Quoted from page: “This is a very weird project.” As time goes on, what you would think of as BSD goes through new mutations and growths. (also via)
- Some selected BSD desktops. XFCE seems to be the most popular; that may not be a surprise in an environment where you are compiling or installing yourself. Various Linux distributions coming with a set desktop hide the pain of compiling all of GNOME/KDE from the user. Whether that is good or bad is a matter of debate.
- I never heard the term troll-hugging before, but this description of how a caustic software community will become a smaller software community makes sense. (via)
- This emulated VMSCluster setup cost probably close to $150. It would have cost a quarter million or more when I was in college. (via)
- It’s a Learning Perl book, from Wrox. But the whole thing appears to be available online at O’Reilly’s site for free? I’m not sure what that is.
- Zork 1 played via Twitter.
- The Interrupted Unix FAQ. (via) Funny, but probably also a good thing to memorize.
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.
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.
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.
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.