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.
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.
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.
- I pity people that had to make illustrations about abstract concepts like the Internet, especially in the 1990s.
- Slashdot jumps the shark. I’m not really knocking what they are adding – I could use it for work – but Slashdot has gone corporate, in the bland sense of the word. There’s no clear voice behind what they talk about. Even if you don’t like what they are posting, there’s no longer a specific author to disagree with. Younger folks may shrug and say “So what?”, but Slashdot used to be nearly the only decent source for nerdity online.
- A sensible discussion of open source and how it relates to obsolescence and access.
- Jan Schaumann’s NYCBUG presentation in mp3 form: “The Useless Use of *“
- Winning entries in the 2011 International Obfuscated C Code Contest. (via)
- Hyperrogue III (Zeno Rogue). (via) It’s a roguelike, with vi-based directional controls and a non-Euclidian hyperbolic plane world, or at least that’s what the description says. It might compile on DragonFly.
- “Why don’t more developers contribute to open source?“
- Spam-merican Apparel (via) Spambots and T-shirts; that combination seems to be a natural growth of the internet.
- XFCE 4.8 is on the way in pkgsrc. I know this will please some people.
- The smallest (ELF) Hello World possible. (via profmakx onEFNet #dragonflybsd)
- A SSD roundup. I have one in my work laptop right now and it makes a huge difference.
- DuckDuckHack. (via) Quick, someone make a plugin for pkgsrc packages.
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!
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?
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 firstname.lastname@example.org 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.
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.
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.