Saturday, July 28, 2007

Week in review

Yikes. I seem to have spaced off making any updates this week. Oops.

Earlier this week I updated my pugs package to a svn checkout. It builds fine now, but I still have a ton of rpmlint warnings to address.

In Fedora news, all but one of the packages I submitted last week has been reviewed and approved. I also spent some time working on building my packages for EPEL. That's going to get a lot easier once the Module::Build package's dependencies get worked out.

There's been a lot more progress on the new store. We have permits now, and all the electrical and plumbing in the floor is done. We should have a floor on Tuesday, so either Wednesday or Thursday they should be building walls.

This past Thursday was Emma's 6th birthday. I took her to see the Cardinals/Cubs game. That turned out to be a lot of fun... The Cardinals won 11 to 1, with home runs from Rolen and Pujols and a grand slam from Chris Duncan. Emma seemed to especially enjoy all the fireworks. :-)

Thursday, July 19, 2007

Parrot build failure

Building parrot on x86_64 without any of the tweaks my spec file does still fails "make test", but it doesn't fail as many tests...
Failed Test Stat Wstat Total Fail Failed List of Failed
t/compilers/pge/06-grammar.t 0 11 16 26 162.50% 4-16
6 tests and 581 subtests skipped.
Failed 1/295 test scripts, 99.66% okay. 13/7356 subtests failed, 99.82% okay.

Wednesday, July 18, 2007

Perl 6 microgrant

Apparently I forgot to mention here that I applied for, and was accepted for, one of the Perl 6 Microgrants. I'll be working as much as possible (which, given what's going on with the store, might not be as much as I'd like) on finishing the various Perl 6-related packages for Fedora. I'll be giving regular status updates here, and I've gone back and tagged a couple of old updates appropriately.

By "finish", I mean resolving a few issues (like fixing pugs so it knows about vendor_perl and allows for a arch/noarch split), cleaning up the packages to match the Fedora packaging guidelines and fix anything rpmlint complains about, and actually get the packages accepted in Fedora. Ideally Fedora 8 will support everything Perl 6-related out of the box.

On that note, I tried updating my parrot package tonight at the St. Louis Perl Mongers meeting. The build fails, at least on x86_64.
Failed Test Stat Wstat Total Fail Failed List of Failed
t/compilers/pge/06-grammar.t 0 11 16 26 162.50% 4-16
t/examples/shootout.t 1 256 20 1 5.00% 16
6 tests and 587 subtests skipped.
Failed 2/295 test scripts, 99.32% okay. 14/7356 subtests failed, 99.81% okay.

Monday, July 16, 2007

Pugs hates me

My new notebook is finally running somewhat stably (more on that later), so I took it and got out of the store for a while today to work on my pugs and parrot packages. I lost a bit of time because I didn't have all the necessary development packages installed, and it's a lot slower to install a bunch of packages over the Internet than over a gigabit LAN. Still, eventually I got everything installed on the laptop, and I tried to build pugs. The build failed. To make a long story short, I eventually tried building on my desktop, which built pugs fine a few months ago. It failed there too.

So apparently something in Fedora 7 (likely a newer version of ghc, if I had to guess) breaks pugs. Whee.

I think I may just jump to a svn checkout next to see if that builds.

Package flood

It isn't what I was supposed to be working on today, but I just went through my queue of packages that needed to be submitted for review and did that for most of them. The majority of these are dependencies for Bricolage.
  • 248393 perl-Text-WordDiff - Track changes between documents
  • 248394 perl-Text-LevenshteinXS - XS implementation of the Levenshtein edit distance
  • 248396 perl-Text-Diff-HTML - XHTML format for Text::Diff::Unified
  • 248400 perl-Test-File-Contents - Test routines for examining the contents of files
  • 248403 perl-Test-Class - Easily create test classes in an xUnit/JUnit style
  • 248407 perl-Term-ReadPassword - Asking the user for a password
  • 248410 perl-Params-CallbackRequest - Functional and object-oriented callback architecture
  • 248414 perl-Net-SFTP - Secure File Transfer Protocol client
  • 248425 perl-File-Sync - Perl access to fsync() and sync() function calls
  • 248427 perl-Authen-PAM - Authen::PAM Perl module
  • 248431 perl-Net-FTPServer - Secure, extensible and configurable Perl FTP server
  • 248434 perl-HTTP-DAV - WebDAV client library for Perl5
  • 248451 perl-MasonX-Interp-WithCallbacks - Mason callback support via Params::CallbackRequest
  • 248457 perl-Devel-Profiler - Perl profiler compatible with dprofpp
All this gets me down from 25 packages waiting to only 11, and I may never submit a few of those for various reasons.

Thursday, July 12, 2007

Stupid hardware tricks

My backup server (one of the oldest boxes I still have in service, a 900MHz P3 Celeron) finally got on my nerves one too many times this week, so I replaced the motherboard/CPU/RAM with a Asus M2NPV-VM, a Athlon64 X2 3800+, and 2GB of DDR2/667. Since it was down anyway, I upgraded it to Fedora 7 (x86_64). That all went fine, but now the thing won't boot from the 3ware controller (7500-8), and for the life of me I can't figure out why... All I get is a blank screen and a blinking cursor. I've reinstalled grub, but the behavior hasn't changed. I have to wonder if there's some kind of incompatibility between the board and the 3ware card.

Monday I became the proud owner of an ancient Power Computing Mac clone. I thought it would be nice to have something PPC around that I could test Fedora on. After poking at it a bit and asking around on IRC, I found out it is an "Old World" Mac, which means you have to jump through some hoops to get it to boot Linux. Whee.

Oh, and I finally decided that my 2-year-old (give or take) LG DVD burner is dead. It spins, it will eject media, but it won't detect media in the tray. Next time I reboot, I think I'm going to replace it with one of the Lite-Ons we carry at the store. (Don't get me wrong... The LG burner was great right up until the point that it died. I'd probably get another LG, except these Lite-On burners seem good, they're cheap, and I have them on-hand.)

Monday, July 9, 2007

Weekend update

I've been working off and on for a month getting my new laptop set up. It's an Asus Z92T that is equipped with a Turion64 X2 TL-64 (2.2GHz dual core), 2GB DDR2/667 RAM, a 160GB IDE hard drive, and a Intel Pro Wireless 2915. It's an odd laptop, since it isn't an old model, but it comes with IDE and Cardbus instead of SATA and ExpressCard. Still, it's reasonably Linux-friendly, and with the evil proprietary NVIDIA drivers installed, it plays Quake 4 at 1280x800 at a completely respectable frame rate.

The laptop runs Fedora 7 fine, except it occasionally seems to lock up. After messing with it a bit, I think I figured out that the network flakes out, and X (possibly as a result of the network going away, but probably not) stops responding. Alt-SysRq-K gets me back to a console though. Now that I've figured all that out, maybe I'll be able to debug what's happening. Then again, I seem to have a ton of updates to install, so maybe everything will just work after that...

On a related note, I was running my linkdups script (functionally the same as the hardlink program that comes with Fedora, but I wrote my script a long time ago, so it's what I use), and I noticed it was chewing through files a little slower than I thought it should on the new laptop. After some debugging, I noticed the script was running /bin/pwd a lot. Obviously that didn't come from my code, so I traced it down to File::Spec::Unix::_cwd(), which seems to get called for every file opened by IO::File (and by extension FileHandle, which is what I was actually using). File::Spec::Unix::_cwd() looks like this:
sub _cwd {
require Cwd;
Cwd::cwd() then runs /bin/pwd for some reason I really don't understand. In any case, changing that to Cwd::getcwd() made a huge improvement in the speed of my linkdups script. The original code would md5sum around 600 files per second. With _cwd() redefined, it was checking almost 3000 files/sec.

I reported this as a bug upstream and with Fedora.

While working with an image of a customer's hard drive, I finally figured out how to handle partitions in a disk image:
losetup /dev/loop0 file
kpartx -a /dev/loop0
After that, the partitions will show up as /dev/mapper/loop0pn. When you are done:
kpartx -d /dev/loop0
losetup -d /dev/loop0
Just make sure the device-mapper-multipath package is installed if you want to try this out.

On the Fedora front, I updated perl-Pugs-Compiler-Rule, amavisd-new, tuxpaint, tuxpaint-stamps, and perl-Test-Base in rawhide over the weekend.

There was probably more, but that's all I can think of at the moment...

Thursday, July 5, 2007

Movin' on up...

We've officially signed off on all the construction plans for the new store location. At this rate, there is still some (slim) chance we'll be moved in before our current lease runs out at the end of August.