… is to make its patches unnecessary, by getting the changes needed for any program to compile on DragonFly built right into the program. (Often called “pushing patches upstream”) That usually means creating a patch and then tracking down the program authors to get them to include those changes in the next release of a project. That tracking down can be a majority of the work. In that case: thanks, Rumko!
Update: Also, thanks, Matthias Rampke! He did the same thing for pcc.
It’s not even released yet, but John Marino and Sascha Wildner have been laying the foundation for using gcc 4.6 in DragonFly. gcc 4.6 looks to have some new things in it; more Objective-C support and Go, too, based on my quick perusal of the gcc website.
“Arjun S R” wrote to the kernel@ mailing list asking about the Google Summer of Code projects for DragonFly that he found interesting. Samuel Greear has a response so detailed it includes links to a similar project proposed last year. It also works as a good model for how much thought needs to go in before you start.
Update: there’s more, plus some pertinent advice!
Matthias Scheler is looking for Postfix testers. If you run it, he has a patch to version 2.8.1 he’d like you to try.
Also, the final list of GTK1-using packages that are not actively updated has been determined. These packages are leaving pkgsrc next week unless there’s any last-minute intercessions.
I’ve linked to it before, but it’s expanded since: the Google Summer of Code projects page on dragonflybsd.org has a whole lot of ideas listed. Please add to it, especially if there’s a project you’d like to be doing. (Here’s more thoughts, for example.)
Stéphanie Ouillon expressed interest in the virtio drivers as a Google Summer of Code project for DragonFly; Aggelos Economopoulos followed up with an explanation of the various work that’s been done, and further resources. I chimed in with my usual warning.
Sascha Wildner’s removed the meteor(4) code because it apparently no longer builds, and it’s unlikely anyone uses an actual video board that requires this driver, at this point. If you do, speak up.
Matthew Dillon’s improved bridging to the point where you can now modify the MAC address of the bridge and most everything, including ARP, will come from it correctly. It’s even possible to bond 2 or more interfaces together, with the side effect of dragonflybsd.org having a lot more bandwidth.
Update: the config for his bonded interfaces has been posted as an example.
Update 2: More notes here.
The pcc compiler is nearing 1.0. (via) This is seen as a gcc alternative, and it’s present in NetBSD/OpenBSD. I recall it didn’t work for DragonFly because of a lack of TLS support… Might be different now, if anyone wants to try. (see prior mentions on the Digest)
Matthew Dillon has continued his bridge work, with another commit adding various features. Go, read.
Venkatesh Srinivas did a comparison of the default scheduler in DragonFly with the “fairqueue” scheduler, using Interbench, the “interactivity benchmark”. The numbers don’t show a deficit relative to either side, which is OK I guess? I’m not sure how to analyze it.
I posted before about a move to use AT&T’s U-Verse fiber/DSL product for dragonflybsd.org’s connection. It led Matt Dillon to try to add features to compensate for the service’s shortcomings, but it’s still problematic. He’s written up just how broken U-Verse is, calling it “almost a complete failure” as a business connection. The bulk of the problems seem to come from the 2Wire DSL modem supplied by AT&T.
Remember when the Internet used to be the place to find long technical writeups of a product directly from people who were using it? Much of that has disappeared into comment forms and ephemeral Facebook posts. That’s too bad.
If you’re like me, you’ve been using XMMS for music playback since just about forever. It’s ancient, though. It uses GTK1, and since Thomas Klausner is trying to get GTK1 dependencies out of pkgsrc, he listed a roundup of alternatives on the pkgsrc-users mailing list, most/all of which are in pkgsrc. Pouya Tafti added some more.
You can probably infer the new (to me) blog I found this week from some of the links…
- Adding IPv6 to a FreeBSD Mail/Web Server – from Michael Lucas, repeat BSD author. I link to this because we’re all going to have to do something similar in the next year or so, I bet..
- A visual guide to TMUX, part 1 and part 2. tmux has usually been introduced to me as “It’s BSD-licensed and not screen”, which is good, but not compelling on its own. The first of the articles linked here goes over the comparative differences in some detail. (via)
- Speaking of screen-ish things, do you leave an irssi session running in screen so that you can rejoin IRC conversations at any time? I sure do. Sometimes I even reconnect through ConnectBot on my Android phone. There’s now a Connectbot variation for irssi, just for people who do such a thing. Don’t forget: #dragonflybsd on EFNet.
- Also still on the topic: forgetting to use screen and then being stuck with a long-running process is lousy. There’s ways to deal with it, though. (via, from a blogroll link)
- Hey, it’s neat to see a new business built on BSD – OpenBSD, in this case: Tunnelr. (via)
- We’re still doing great in terms of pkgsrc packages building successfully on DragonFly.
- An hour+ recording of the recent NYCBUG meeting about BSD networking is online. (Link is to a MP3 – via)
- How not to comment code.
- AT&T -> BSD -> AT&T.
Matthew Dillon has added transparent bridging, mostly to overcome issues with the AT&T DSL modem he’s using. With this non-default feature, IP packets retain the original MAC address when retransmitted through a new interface.
Thomas Klausner is planning to get rid of the last bits of GTK1 in pkgsrc, which means some old/non-updated software has to go too. Speak up on the email@example.com mailing list if you need some of that listed software, or (better yet) provide patches to move it to GTK2.
The dragonflybsd.org sites (well, www anyway) are getting a new network connection, so expect a bit of downtime due to the transition.
For those of you thinking of IPv6 (and you should be), Matthias Rampke reported good luck with an IPv6 tunneling service. He points out that the /48 address he now has at home is larger than the entire IPv4 network.
The virtio network drivers for DragonFly (mentioned previously here, here, and here) went away. Apparently the original FreeBSD code was not supposed to be available publicly, under a BSD license, and it’s having a knock-on effect for DragonFly and probably NetBSD.
(virtio drivers, if this is an unfamiliar term, are for devices in virtual environments, as when DragonFly is running under VMWare or something similar.)
February’s BSD Magazine is headlining “ZFS on FreeBSD”, along with a bunch of other material, including an interview/example for the next BSDCan convention. There’s some BSD-project-specific news in there from this site about DragonFly, along with MirOS, MidnightBSD, and FreeBSD.
pkgin, the binary pkgsrc manager similar to apt/yum, is now at version 0.4.0. You can get it now if you use pkgsrc-current, or just wait for the next quarterly pkgsrc release.
Do you have a Western Digital model 1021 external disk drive? Matthias Rampke does, and he found he had to make some USB quirk entries to get it to work reliably.
The tmpfs(5) filesystem now runs without multiprocessor locks. Yay! Another hurdle down.
ps now has a new option: -R. This lists processes in order by parent/child status, and indents to make it visually clear. It looks like this. I wish someone had done this 15 years ago.
As Matthew Dillon notes in a recent post, procedures are now assumed to be MPSAFE (i.e. without the Giant Lock) by default. Any new work should follow this idea, and it doesn’t have to be documented specially. The inverse used to be true, where the code that happened to work without the Lock was rare, and therefore needed to be pointed out. Now, the good result is the norm.
The winners of Google Code-In have been posted. They win a trip to Google (remember, they are 13-18 years old) and an impressive item on their resume. And yes, some of those names there worked on DragonFly projects.
Nuno Antunes has been working on upgrading netgraph(4) to version 7. His initial patches are available for testing.
I’m going to just title these “Lazy Reading” – I end up with too much diverse information/links to fit within the title.
Matthew Dillon’s made fork() and exit() (mostly) multiprocessor-safe. It’s only two calls, but both are very frequently used. One more step closer to removing the Giant Lock…
Peter Avalos went looking for updates to /bin/sh, and found a lot of them, including regression tests. Even though sh is… 15 years old? Older? It dates back to BSD 4.4 and before – anyway, it’s been around forever, but there’s still things to do with it.
Matthew Dillon’s made some scheduler changes, which blogbench tests are showing give the default scheduler better performance under heavy load. It’s a pretty technical writeup, so I’ll just point you at it rather than attempt to summarize.
So, I felt lucky recently. I updated shiningsilence.com from DragonFly 2.6 to DragonFly 2.8, and wanted to upgrade my pkgsrc packages from pkgsrc-2010Q3 to pkgsrc-2010Q4.
You can do this with pkg_rolling-replace, or various other tools, but I wanted to see if I could do it completely with binary packages. I used pkg_radd -uv <pkgname> for each of the major packages I had installed.
Surprisingly, it worked, for every package. I had to force-install some Perl modules because I was moving from 5.10 to 5.12, but I think I may have been able to use an additional -u switch to get by that problem. I did use pkg_leaves to identify packages I didn’t need, and removed them to reduce the number of items to upload.
It was exactly what I wanted. Previous pkgsrc upgrades had taken most of a day, as I had to build from source and figure out what went where. We’ve had a better success rate in bulk builds recently, and this paid off in an upgrade process that only took perhaps an hour.
If you’re interested in mentoring for DragonFly and Google Summer of Code for 2011, please speak up. You don’t have to mentor if you don’t see any projects you like – I just need an initial count for the application. If you don’t want to mentor at all, but you’ve got ideas: there’s a place to tell people about it.
Peter Avalos updated OpenSSL to 1.0.0d, due to a recently discovered bug. He’s also brought the fix back to DragonFly 2.6 and 2.8, so it’s available for most anyone.
BIND version 9.5 has reached End of Life status. In fact, it did it some time ago. However, net/bind95 in pkgsrc has just been deleted. Update to 9.6/9.7, if you still had9.5 in place.
This is one of those scenarios that I’m noting because it might bite someone, some day: if your root partition is encrypted, you can’t fit in a different keymap. However, kernel options to build in a different keymap will fix this issue.
If you’ve ever installed pkgsrc packages from source, you probably typed ‘bmake install’. There’s a ‘bin-install’ target that will use binary packages if they are available, but you have to set the appropriate environment variables to do so.
It’s now much easier, on DragonFly. If you have pkgsrc-current as of yesterday or later, or pkgsrc-2011Q1 when it arrives, you can type ‘bmake bin-install’ for a pkgsrc application and it will download the binary package automatically, if it’s available, and build from source if it’s not.
This is a setup I’ve wanted for a while – the speed of a binary install, plus a fallback if the binary isn’t available.
If you’re using the binary pkgsrc package installer pkgin, version 0.4 is available for testing.
Samuel J. Greear committed some more code that happened to come from DragonFly/Google Code-In projects. There’s a surprising large amount of code that came from those projects…
They’re finally uploaded! See my rather lengthy post about it on users@ for all the details.
Chris Turner went off into some extra detail on how the rc system works, with extra links for anyone interested in some history.
Matthew Dillon’s made some changes that will speed up the booting process for people with a ridiculous amount of memory, like 64G. This is x86_64 only, but that should not be a surprise if you think about it.
Due to a crash yesterday on git.dragonflybsd.org, the Git repo was not up to date, briefly. It’s been fixed. This will only really matter if you’re running bleeding-edge DragonFly and rebuilt your system in the last 24 hours or so.
The theme for this month’s Open Source Business Resource is “Recent Research“. The topic’s broad, so there’s something for everyone. The article on licensing (BSD and otherwise) is of interest.