I checked in a long-wanted feature into yum yesterday. It was only able to happen b/c of the some groundwork done earlier this month in the install() method in YumBase but now it was easy-ish to do.

A lot of people have complained about this over the years multilib has existed:

on x86_64:

yum install foo

if you do this and foo.i386 and foo.x86_64 exist then yum will try to install both of them.

With yum 3.2.11 and forward you can set: multilib_policy=best in your yum.conf file. If you do that then it will install the ‘best’ arch for your platform and only that one, if it is available.

so: yum install foo on x86_64 will only install foo.x86_64, unless foo.x86_64 doesn’t exist and then it will fall back to whatever foo is available.

If you set multilib_policy=all, which is the default, then yum follows the behavior it has always followed, install all of them it can.

This doesn’t impact people not using biarch-capable systems, but I thought I’d mention it as I’m sure there are a number of people who will be pleased to see this.

Someone in the yum talk at fudcon asked me about the problem with not being able to use ctrl-c while searching and about ‘yum search devel’ more or less locking up the system. I didn’t remember your name but I hope you read this. Your bug was fixed last night and also the searches should be faster.

yum 3.2.9 will have that fix in it when it is released.

yum on the XO

January 18, 2008

I’ve heard twice in 24 hours about the issue that the system-wide update on the OLPC blows away user-installed pkgs. Which is a big mound of suck for people who want to use these systems. I thought I might pass on a suggestion for folks who have them. The ‘yum shell‘ command can save you some pain.

All you have to do is make a file like this:

install joe

install gedit

install bzr

install yum-utils


Then you just run the file like this:

yum -y shell /path/to/that/file

it will automatically do what you specified in the file. Also if you set the keepcache option in yum.conf to 1 then your caches will be held onto in /var/cache/yum so you won’t have to download those files again.

Handy, huh? There are a lot more like that. Ping at me if you want some hints.

fixed-size log outputs

January 16, 2008

Dear Lazyweb,

I was trying to figure out if it would be possible to have a fixed-length syslog destination file. It was part of a thought about doing limited syslogging for a system installed on a usb key or on sd-card. I’d want some logging but I’d really only need the last 30 minutes to an hour (or so). It would be fantastic if I could allocate 50-100MB of ram to it and have the logs populate that space but when they area began to fill up they just dumped out the oldest log entry.

Anyone know of a way to do this or a better idea? I know I can just turn off logging for my laptop and I could probably get away with dropping 2GB of ram or more in my laptop and mounting /var/log into /dev/shm but I was thinking of a way to do it that we could maybe make into a simple syslog config.

So, ideas? Anyone?

I mentioned Michael Tiemann’s talk about Fedora’s process being something some customers are interested in learning about in my last post. I think this is something we should be seeing the soon-to-be-former Fedora Project Leader Max Spevack doing in the not-so-distant future. Let me tell you why.

Max oversaw the largest expansion of Fedora in its history. He kept on us about opening up the process, he kept up internal pressure for everyone to play nicely, He made sure he was visible and accessible, even to the annoying people who weren’t useful. Building a community is about all of these things.

So, the problem with Max is that he’s not the best personal self-promoter. He tends to think his contributions don’t matter b/c in some cases they don’t come in the form of code.

This is, of course, hogwash. I like to take a grand conspiracy theory view of fedora. It’s palatable to all sorts of crazy people and in this particular case it is helpful:

Max has been quietly pulling strings behind the scenes for years now. He identified Mike McGrath as ‘someone who is doing good things and making people want to be more involved’. He arranged for Mike to be hired and for other people competing for Mike’s affections to be silently killed. When Toshio was looking for a job, Max made ‘the right people’ take notice of him and suddenly Toshio is being paid to be a super-bad-ass-ninja/farmer-code-poet. When Jef, Thorsten and Dimitrios needed travel expenses Max called on the international financiers whom he controls to fund such events. He also calibrated the weather machine to provide with excellent wind for their travels. This is how he’s done things. We’ve gone from a Fedora which made a lot of people cry and be sad b/c it isn’t all that interesting; to a fedora which makes people nervous and worried b/c it IS all that interesting, it’s growing in power and it will eventually dominate your world.

Max is like Patrician of Ankh-Morkpork in the discworld series of books by Terry Pratchett. Max needs to wear more solid black, but I can definitely see him saying: “Yes, Drumknott, if [Mike McGrath] had not already existed, I guess I would have had to invent him….” (This of course works if and only if you see Mike McGrath as Sam Vimes, which, well, that fits anyway)

Okay, so back from literary allusion: If you’re trying to figure out how to make your project/product have more involvement and interest in the open source community, it seems like a wise decision to consult someone who has clearly (and silently) pulled the strings to make that happen before.

ps: Given I’ve just divulged all these secrets I suspect to [not?] hear the whisp of the assassin’s blade, soon.

fudcon redux

January 14, 2008

So, tired. So, completely tired. Alright, let’s cover the weekend:


Up early, drive to the state club which is FAAAAAAAAAAAAAANCY. Sit down, start organizing the hackfests on a spreadsheet so we can get started. People start showing up in larger and larger numbers. Perhaps even disconcerting numbers. We ended up with 78 people when we were originally expecting 30. Whoops. Note to self: Fedora is outrageously popular, plan for a bit more attendance.

The yum/createrepo/pulp etc hackfest after a quick start going over what people want to work on/achieve, we break up and start working. I ended up being dragged around a bit to help people/consult/etc, but we get some real work done and start de-uglying the rawhide composition process. Two guys from around the area Arjun Roy and Ben Kreuter start working on advancing the tools we have. Ben was working on making the interfaces (guis) more responsive by possibly having a spawned-on-demand daemon running from yum so your interface doesn’t die if something is happening. Arjun started working on a yum history plugin so it keeps track of all yum transactions in a persistent database. They made some considerable progress and I expect to see something on yum-devel list shortly.

I worked on some simple things to speed up and help out the rawhide compose. Michael Dehaan corralled the pulp people and I think he made some considerable headway on the system design.

Overall, a lot got accomplished that would not have been possible if everyone wasn’t in a room at the same time. One of the serious virtues of fudcons 🙂

Lunch: provided at the state club. It was good food, warm, plentiful and I didn’t have any trouble at all finding vegetarian options. Felt good.

Back upstairs to more work, finished up repodiff and found a couple of bugs in the new createrepo.

Retire to find food then eventually back home to crash in a heap in bed.


Up a little less early b/c I’m worn out. Get a little food in me and try to meet the day. Drive down to raleigh. People are already filling the hall when I get there. Notice that the person who walked in right in front of me is Bob Young. I realize it is going to be a day where I see a lot of people who I have trouble talking in front of for fear of being of my being an idiot. 🙂

Check in with Greg to make sure I’m not needed for anything pressing. Settle into a chair to listen to Max’s intro talk.  Max’s talk was pretty good. He does the intro for Paul and talks about what fudcons are all about, etc.

First talk is Michael Tiemann’s. EVERYONE attends this one. The gist is that while fedora is not an ‘enterprise’ os in the way RHEL is, the community interaction and the open source development process that fedora succeeds with is enterprise-ready and is something that a goodly number of $LARGE_WEALTHY_COMPANIES would like help trying to achieve for their own IT organizations. Unsurprisingly, Michael’s talk is fairly well received and attended. I think this particular area is where we’ll probably see our soon-to-be former leader Max Spevack spending some Quality Time.

Mark Webbink’s talk next. It was some talk and a lot of QA. In general, Mark is clear, level headed and calm. This was more of that. The subject of section 3a, b or c came up for quite some time. I wouldn’t have minded more time to talk to him about future challenges and what more we can do to offset those challenges, now.

Break for lunch

Mirror Manager talk after lunch. This start evolving into: making the installs even easier b/c we don’t need to ask people for a url anymore! We go off to find clumens and lo and behold it’s not only possible, it’s TRIVIAL. I do so like that word.

Cobbler talk after this. The cobbler talk was well populated. Unfortunately, I was  taken away to look at a comps problem about 10 minutes into it. After helping with the problem I spend the rest of the time getting prepped for my talk, which is next up.

Yum/createrepo/preupgrade, etc – my talk. I started out by getting a whiteboard and writing ‘yum problems’ across the top. I did my normal “what’s new” schpiel in the various tools I work on. This covered a lot. I talked about the work Tim and Florian have been doing with optimizing yum and trimming out unnecessary object creation. The work on skip-broken integration. Antill’s aliases; new yum-utils. I talk about the complete createrepo rewrite and then about the preupgrade feature-goal for  F9. A lot of exciting things.

Then I asked for problems people have/had so we can see what’s been solved, what needs to be solved and what’s just excruciatingly painful. This was much more productive than it has been in the past. I got the normal ‘It’s not APT’, from a well paid shill of mine. Adrian was also nice enough to ask if we could add bittorrent support. So, with those out of the way we moved onto actual issues/requests. Some of them were quite reasonable. Some were even already solved. 🙂 I honestly think the talk went well. The last time I gave a similar talk I was less pleased with how it went.

The Func talk  was next. Adrian did this one. He had wonderful slides. His explanation was thorough and you could almost see the wheels turning in people’s heads in the audience. By the number of and type of questions it’s clear func is going to be VERY VERY interesting.

Closing ceremonies and then off to fudpub for the evening. I’m sure a lot will be said about the waitstaff where fudpub was. I shall say no more than ‘duuuuuuuuuur’.   I made the wise choice of sitting near Spot.  Spot always has a story, always, no matter what. So if you sit near him you’ll routinely be able to laugh and there will be very few awkward silences while you search for another topic. In this particular case I can say little else than:


“What’s that? Sure, Why not?”

“Is that like scores but with older women?”


Eventually, after some bar migration and sitting in the hotel lobby talking about enemas with kernel hackers (no, I’m not making this up) I make the journey back to durham to collapse into bed.


Wake up even less early than before. NOT in the world at all. I don’t drink and yet I feel like I had been smacked with something heavy. I get a little food and I discover the car. Down to raleigh again, schlump into a chair for a while. Board face-to-face for about an hour or so this morning. Lots of discussions about problems we will be facing in the nearish future.

Eventually, I meander back to the hackfests. I stare at some code for about an hour before I realize my ability to concentrate is just COMPLETELY shot. Finally, I get in the car head home, Hug my girl, collapse on the sofa and dream of sleep. 🙂

Fudcon was great. My only change would be to have it in a place where I can more easily walk back to where I’m staying. The driving in just kicked my butt.

I do not see how you can look at the two last fudcons and see anything other than shockingly good success. Thanks to Max and Greg for organizing everything. Congrats to Paul for being suckered into being the new Fedora Project Leader, too. 🙂

fudcon 08

January 9, 2008

Friday morning I’ll be in or around a whiteboard at the state club trying to get the hackfests organized into places for the morning hack sessions. Provided our washing machine works I will be wearing something vaguely fedora-y. If not, ask anyone where Seth is and chances are good someone will point me out.

Hackfests I care about:

– yum/preupgrade/createrepo

– func

– pulp

I may also have a talk to cover how to use the yum module api to write utils, depending on what I get done tonight or not. 🙂

yum based createrepo

January 7, 2008

A while back I talked about a more or less rewrite of createrepo that needed to happen. Well, I finally got some time and I started a prototype. Instead of using a lot of the same code from yum, I just imported it and subclassed some of it. The new code is arguably A LOT easier to follow and a whole lot simpler.

I’ve made a release of it: createrepo 0.9 you can get the tarball here:


I’m sure it’s not-really-perfect – and there are a number of FIXME’s in the code but I’d like some feedback on it. It’ll be in rawhide very soon.


January 3, 2008

Chris suggested I re-blog this.

Toshio, Will Woods and myself came up with something a little while back and each of us did a part in implementing it. It’s bugz.fedoraproject.org

If you go to:


you will get a list of all open/new/needinfo yum bugs

if you go to:


you will get a list of all open/new/needinfo rpm bugs

see a trend?


it’s easy, it’s fun, all the cool kids are doing it. You should be too.

Curious statistic:

The world grows in net population about 1 durham every day. That means that we add, in population, a city the size of durham, each day.

Durham’s population is roughly what is listed here: http://en.wikipedia.org/wiki/Durham%2C_nc

The world population growth, net, is listed here:


For those of you about durham. It’s where I happen to live. It’s hard to conceive of the world adding a durham every day.

Maybe we should work hard at creating better contraceptives and encouraging their use.