Heard on irc:

person: ‘yum is saving my sanity though, I must say’

me: funny, b/c it seems to be losing me mine.

Yum:

Cleaned up and renamed variables in yum config stuff. Fixed up the cli arg parsing for things people have wanted for a while. Really, feeling better about the config and arg parsing code. So much more pain ahead, though.

Made a list of things to do and started working on each as a discrete function. Doing my best to redesign this sanely. I realize that no matter what I’ll fail but it’s a nice dream nevertheless. πŸ™‚ On the plus side I’m thinking about interface more discretely from the functional application. Really helping to think “now if I had to display this in gtk what would I need”.

Also realized how bad I’m getting about responding to email. I have a backlog of messages that I’ve tagged as ‘need responses’ that I’ve just let lapse. I’m a bad, bad, bad, bad person.

Work:

Tape runs went reasonably well, some funkiness with getting information mailed to the admin address. Seems like amanda might actually need mailx installed to work with emailing notices. Might need to make a point of checking that out for fc1 and 2.

Fedora:

Reading fedora-devel-list with regard to the rpm build tree organization was incredibly helpful. Need to implement some of those things for myself – especially the separation of srpms into name-ver subtrees for sources and specs – that makes a lot of sense to me.

Misc Thoughts:

I wish advogato would not strip img tags. That’d be cool.

The last track on all of the Lord of The Ring’s Soundtracks is fantastic.

  • FOTR = May it Be
  • TTT = Gollum’s Song
  • ROTK = Into The West

Yum:

checked the changes in. None of them will work yet, so much to move around and clean up but it had to be done. Really feel like I’m making strides to fixing this up properly. Hopefully, I’ll be in a place where the yum xml transaction stuff I worked on months ago is trivially implementable as opposed to how it was before (an absolute fecking nightmare).

Ideas:

– maybe fedora bugzilla should be separate from red hat bugzilla in order to keep the sheer volume of useless and open bugs to a minimum. It would also provide a good place to figure out how to make bugzilla’s know something about one another for cross-bugzilla notification. Additionally it would mean two very similar environments which has the perk of making it easier to replicate ‘oddities’ in each.

– looked at how to make python modules from c libraries tonight. Need to think about it – mostly I just want gtk-spell or gnome-spell for gnome-blog.

– triage is a good idea – I like it. Go Jef!

Work:

Tape drive is online and accounts all got created today. These are good things

Yum:

– wrote up a yum-flow document and a yum ‘this is what I need document’ so I know where I need to spend time making things work. maybe I should post these and let other folks look into working on some of them. I would feel better if I had the lib stuff ironed first, though. Once that gets done I’ll feel like I can run rough-shod over the client interface and break all sorts of interesting things. πŸ™‚

– ryan made urlgrabber have internal proxy configuration support, this is cool so now I don’t have to muck around in environment variables. Go ryan!

For Jef – The Texas Steel Chainsaw Magnolia Massacre – and I personally know guys for whom Thelma and Louise was a Horror movie. πŸ™‚

Yum:

I abstracted everything in the config handlers so now you can read in the yum.conf completely indepently of yum and not have to worry about stupid calls to sys.exit(). Also made the internal data holding of the config data more intelligent. I’ve found I tend to make method names too long, though. Have to work on that. Slowly building out the yum module for use.

Need to check all this stuff in, However, I’ve completely broken track with HEAD and I need to figure out how to nicely check it all in.

Work:

Duke was closed again today so I slept in and worked on this stuff. Tomorrow I have to play all backups all the time. Should hopefully only take a couple of hours in the morning to bring the new machine online and be done with it. I’m sure I’ll have no fewer than 80 interruptions in that time, but, oh well. that’s how these things go.

Also need to push errata out to duke this week. With duke being closed I’m loathe to push errata to machines when I know there are no admins about to poke at reset switches if something goes horribly wrong.

Fedora:

So it sounds like fedorapeople might be moving to fedora.redhat.com. The red hat folks have some ducks to organize first but hopefully it will get straightened out soon and on its way.

Some good feedback from Gafton on my email to the lists. We’ll see how it goes. Right now it seems like there has been something of a fire lit at red hat about fedora. Hope that lasts, I’d like for things to work out and be useful.

Good to see Jef posting to his blog and good to see the triage postings going on. Need more people on that list triaging things, though.

Jeremy sounds like he has been having a fun time getting fc2 test1 ready to roll. Going to make the first test very exciting to run, I think. πŸ™‚

I got another one trapped. Friends arrive at my place. Snow and Ice collapse on the triangle suspending them here. This time it was louie and K. They’ve been playing mario kart, as have I. No real work accomplished. Duke got cancelled today so I’m slacking.

On the plus side I did write an email on the lists to our new fearless leader and it seems like some other people liked it. So maybe the fedora people feeds will be increasing.

Need to get things checked in before my laptop hard drive crashes and I lose all my fun work.

Noticed Adrian’s mention of the metadata import being slow. Did some benchmarking and asked him about it, too.

on my speedstepped p3-550 laptop I get 15s for importing metadata for 1467 packages.

Adrian said he was seeing 45s importing on a p3-700. I really hope his system was very busy. πŸ™‚ He tried it again and got 15ish.Wonder if xmlReader is faster than parseDoc.

Fixed the config parser in yum up some. New data storage stuff. Merged ryan’s include=/some/url parsing. Had to clean it a bit to make it work with the new urlgrabber but that is merged too.

Slicing and dicing on the todo list. πŸ™‚ Not as quick as adrian, though. Curses!

More things shaking and being discussed about fedora. Lots of frustration on all sides (inside and outside red hat). Maybe some good can come out of it. Sounds like change happening, we’ll see what comes out of it.

In really good news fedora legacy, thanks to jkeating, released packages to patch things. Looks great to me.

more later when I know more.

Update: fedora has a new fearless leader: Cristian Gafton.

No idea, ultimately, what this means for fedora devel and red hat’s interaction. We’ll see. More news when I have it.

Fedora:

Lots of fedora discussion today. Fair bit of it prompted by thomasvs‘s post on the subject of fedora being a bit, *ahem*, slow. I can’t say I disagree with Thomas. He’s spot-on with his take. It’s slow to the point of stopped, except for the normal ‘red hat developers do what they did before when it was called red hat linux’ part. I get the illustrious developer access interface of ‘bugzilla or email patches and maybe they’ll get accepted’. I feel involved and trusted now! If I sound bitter it’s b/c I am πŸ™‚

Heard it was a real party at the BoF today at LWE – lots of confusion. From ‘the community’ to red hat and from red hat to ‘the community’. Always a good way to get things going. Confusion!

A while ago people accused me of being paranoid. I think I’m not paranoid if everytime I think something seems fishy it turns out to be fishy. I’m not paranoid. I’m PSYCHIC.

Real Work:

Played with the new tape changer. Found out all sorts of neat stuff with it and some broken things. Hoping to take the plunge into daily backups tomorrow or over the weekend. Did my normal day-to-day thing. Got to get fc1 test1 for x86_64 in an install-tree position for those beowulf nodes we got in. Also need to play the 2-racks-of-node-shuffle to get the new ones in and the old ones (the steaming piles of crap that they are) out. I do so enjoy moving hardware around with wild abandon.

Yum:

Merged some more things into yum-new. Tried to refocus some developers to not worrying about ways to speed up .hdr transfers. Need to sort out:

  • proxies in urlgrabber in the config file
  • handling Adrian’s new mirroring file/stuff in the config file.
  • change around the options parser a bit to handle the config changes – and the chroot stuff makes the config file even more fun, really.

* This entire post was brought to you by bitterness, sarcasm and, of course, confusion!

** oh, and the letter A, number 9 and letter Q

*** and a shrubbery

Moved shelves and assembled racks at work today among a series of meetings mostly involving me getting more work.

Glanced at the metadata stuff tonight. I have no more excuses, right now. It’s time to migrate the yum stuff to use it as yum is now, just keep implementing functions and get little bits working at a time.

Places to start:

  • merge new config parsing code
  • get downloading of xml files and caching working
  • get header downloading via byte ranges working
  • yum list, search
  • yum provides

so much to do. Oh well.

Worked on metadata project some more. The createrepo is in pretty good shape for an initial release. Need to post that to fedora-devel-list soon. I worked on the metadata handling for yum and I made some good progress. I’m rewriting a ton of functions and classes I used in yum and I’m making them MUCH more generic. I thought about this and decided to write some rpm handling Utilities as a python module. Nothing fancy but a collection of all those things that all of us have written N times. The intention is to compile a list of a bunch of functions clean them up into functions with standard parameters and/or in nicer classes and keep them happy that way.

ideally I’d like each of the classes/functions to take an optional progress callback function and an optional log/errorlog function(s). I’m thinking a set of functions that:

  • interact with the default rpm TransactionSet
  • produce holder classes for the rpmdb core data
  • simple functions to handle some of the ‘quirks’ of the rpm python module
  • class/function to generate updates b/t sets of pkgs
  • header retrieval from rpms on disk, from rpmdb
  • Utilities exceptions for gracefully handling problems
  • whatever else is commonly useful

This is what I’m thinking about and there are lots of places where there is room for others to help out. If anyone is interested pick a function you commonly use and think could be made suitably generic to match the above requirements and drop it to the rpm-python-list.

In other yum-related news – I grabbed a new urlgrabber from ryan. This looks cool and good. I need to merge in the config changes and a whole pile of other changes but I feel like I actually made some progress today.