Low profile today

After my wonderful excercise yesterday, I’m keeping a low profile today. Probably working on my tracking bug if I get a chance (and the family is willing).

People are still asking about the bug from yesterday – I’ve written up a slightly more succinct, deeper explanation, available by (e)mail order at mcummings at gentoo dot org. I just want to stress, the patch is in place, it is the same patch as the CAN announcement, it was all a matter of how the patch was written and where it was applied in the build order.

And I don’t want to tip the fates off, but it looks like after traveling the deserts of time we have a few folks both capable and actually interested in helping out with the perl herd (one of whom will be moonlighting from other gentoo responsibilities, but hey, we takes what we can gets).

This is mcummings, signing off from radio-free gentoo for now 🙂

Perl snafu

This message will be sent to gentoo-dev by the time you read it, but just in case you aren’t subscribed:

I posted a tested ebuild for perl this afternoon to address an rmtree vulnerability in File::Path. This ebuild was tested on 3 arches and 6 boxes total without an issue – the patch was to the .pm file, code that isn’t touched by perl until you invoke it with your own perl code (ie, not compiled code that might be swayed by arch differences, gcc differences, what have you).

Turns out, though, there was a flaw in my ordering of the patch. The patched File::Path invokes Errno.pm, which typically isn’t created until after File::Path is built into your perl during the make phase. Because Errno.pm didn’t exist yet in the chroot, it was pulling it from folks’ installed perl. One of the first things in this particular module is to check that the kernel and platform hardcoded in it at perl build time match what was used during the original install of your current perl according to Config.pm. No problem – unless you’ve changed kernel versions. Because during the make process the file is sourced by perl, and during that sourcing (ok, not the right word, but I’m talking to you, the masses) it attempted to require, or pull in, the Errno.pm, and failing to find a new one in the unpacked source, it pulled the one on the main system. And therein began the mess. Two values that would normally never appear to perl to be out of sync were suddenly horribly wrong on any box that had had a kernel upgrade since the last perl install.

This is now fixed by moving the patch to post install in image, but prior to the install on your filesystem. I have to give thanks to jat, a user on irc who talked me down a few times and inadvertently gave me the inspiration to move the patch (rather than the messy solutions I was considering), and to seemant, who without question or hesitation offered me root on a broken box so I could properly work this out so quickly. Without either of them I wouldn’t have gotten it so soon.

So for those of you who sync’d this afternoon, please re-sync. If you tried to emerge perl and got a weird message about kernel versions mismatching, and want to add your gripes in bug 84868, that’s fine, but sync again and you will be all set.

I have to say, this is the first time in almost two years that I’ve managed to break perl. Gotta count for something that its been so long 🙂

-Michael

Self v.3

This has been a long time putting to keyboard; a thought that has brewed in the back of my mind for over a year now, but something only worthy of a “musings” label. One of the reasons its taken this long to commit even a comment on is that I have a basic problem of going from idea to commitment (ask my wife, she’ll vouch for that with a case history that is staggering).

It all started with the basic thought: I miss the person I used to be. Oh, I know, many get there, especially when you reach the end of your twenties. You remember the kind of person you were when you were a kid, even a teenager, then you realize how much real life bogged you down into a limited context that leaves you with very little time between work and sleep, and what little there is admittedly wasted on things like TV and your Playstation 2 (recent example for me would be Jak 3, not only a little too quick to beat but it ate the better part of all my free time for three days).

So I started thinking, why can’t I be that person again? And that’s where Self v.3 came from. If you consider through adolescence as v.1, your 20’s as v.2, then v.3 is the next logical step. What would I like to see in v.3? A rebirth of v.1 with the lessons learned in v.2. I’d like to see myself be literate again; I’d like to be able to end the day and look back and see something accomplished.

I’ve started to get that feeling lately with Gentoo, but I want more (don’t we all?). I have so many half baked ideas and projects lying around that I know with a little love and attention could actually work. But instead I sit on my duff and do nothing.

I want to quit my bad habits, become a better person, etc., etc.. I want a personal renascence, where there’s no need for a v.4 because it turns out v.3 was the pinacle of the person I could become. The key to this is, of course, actually following through, not putting this off with “well, when I write this tool it will make it easier for me to take care of this,” or setting a start time/date that isn’t the here and now.

At one point I actually sat down and wrote a list of the things I’d like to be able to accomplish in a day, then added in the time blocks for things I am unavoidably commited to already like work and commute (but not sleep), and ended up with a 26 hour day without any sign of rest in it. Nice approach, but I think I have to find a way to be more reasonable on what I want to accomplish.

Shoot, even writing this entry (and if you’ve noticed a discontinuity, here’s why) has taken me the better of a week and I don’t even think it addresses completely what I originally started out to say. I’ll try and revisit this again later, when my mind is clear, clock is empty, and brain cells are willing.