What’s broken with pkgsrc

I really like pkgsrc.  It’s a big system that works well for managing a huge variety of software packages, across multiple platforms, and it’s been beneficial to DragonFly for making  a lot of programs instantly accessible.

The issue nobody’s fixed – yet – is that there are plenty of ways to upgrade, some of which don’t work (make update), or involved homegrown solutions that miss the goal most people have: the ability to say simply “Upgrade this” and have it work.  This is why programs with the same functionality but simpler usage become popular.

(Prompted by a number of recent “How do I upgrade pkgsrc?” questions on DragonFly and pkgsrc mailing lists.)

A pkgsrc report

Hasso Tepper recently completed a bulk build of pkgsrc on DragonFly 1.13. He’s posted the end result, and it’s looking much better than it did at the last quarterly release: 87% complete, and only 5% of the remaining amount were actual build failures – the rest were dependencies on those failed items.

Hackathon for upstream changes

Jeremy C. Reed, on the pkgsrc-users@netbsd.org mailing list, has proposed a ‘upstream’ pkgsrc hackathon. This would be specifically to construct patches to submit to the vendors of given pkgsrc packages, so that the changes would no longer have to be maintained in pkgsrc. This is a good idea; please jump in if you want to help with DragonFly-specific changes, or if you have access to some of those upstream vendors.

Messylaneous: MySQL, searches, Interactive Fiction, more

I have a collection of small things I’ve been meaning to link; here they all are in a post.

Waxy.org has the details about the never-published sequel to the Hitchhiker’s Guide to the Galaxy game (original playable as Java or as Flash), taken from a backup drive circa 1989; readers of a certain age will appreciate the historic Infocom details, and the page includes (for those with Java) a somewhat playable version of the sequel, Milliways. Waxy also had a link to a history of Interactive Fiction, for those who aren’t as familiar, or if you want to know why Infocom is important. It’s not hard to draw a line from these early games to the LucasArts adventure games and other later variations, like my personal favorite.

Seeing this CPAN search trick for the search bar in FireFox reminds me of something linked to by Hubert Feyrer some time ago: a pkgsrc.se search plugin, so that instead of trawling your /usr/pkgsrc via the command line, you can search through the just-as-fast-but-prettier pkgsrc.se pages for package details.

This undeadly.org article highlights an interesting tool called pkg_mgr; it’s designed to work with OpenBSD ports, but it’d be nice (and I assume not too difficult) to have it work with pkgsrc.

Someday, are we going to be nostalgic for the old default-font no-image open source software web pages? Everyone seems to be getting into making it pretty.

Dru Lavigne’s latest blog post has even more links to click; I’ll draw attention to two of them: the prescient 1967 article “The National Data Center and Personal Privacy“, and OpenSourceHowTo.org.

Solving underlying issues

This article, “Rethinking the interface to CPAN“, over at Perl Buzz, describes something there needs to be more of in the open source community.  CPAN, for those who don’t know, is a way to automatically add various libraries to a Perl installation, similar to BSD ports/pkgsrc or Ruby’s gems.

This is the message from the article: provide a solution to a real problem.  I bring this up because a reoccurring frustration people have with pkgsrc is how to upgrade packages.  Now, there’s no lack of ways to upgrade, but none of these solutions are a match for what people want: an upgrade method that works without frequent side effects or extra work.  This is why portupgrade is very popular for FreeBSD, or apt-get for Debian; it generally works as expected.  We need more of the thought process that leads to those solutions, in open source.

I’m not bring this up just to pick on pkgsrc; we need this sort of thinking for the DragonFly BSD website, too.  It (and the other BSD websites) take the role of a library shelf, with information only available by sifting through it until you find what you want.

Compare that to the Firefox website: most people are going to visit there to download Firefox.  A smaller contingent will already have it and want to upgrade it.  There’s a very clear visual path for 90% of the visitors to the site.  Now, go to any of the BSD operating system sites, and say “How do I install a working desktop system, with X and a window manager and so on?”  It’s going to take some digging.