yum stuff

August 31, 2004

As Jeremy said – yum 2.1.0 should be coming soon to a rawhide near you. Jeremy was kind enough to fix/recreate the Makefiles so that makes things a lot easier going forward. Yay, Jeremy!

So let’s make a laundry list of things that have changed/been added:

  • /etc/yum.repos.d exists
  • /etc/yum.conf can use include=url://some/other/conf now
  • uses the new xml repository metadata
  • dep resolution should be hugely faster now
  • Much better separation of functionality from interface, better for gui design
  • Stacking actions w/i a transaction should be completely trivial (ie: erasing and installing in the same transaction)
  • Much easier access to useful information
  • Newer and nicer urlgrabber

All sorts of other stuff I can’t think of. I need to sit down and make a full list, as well as update the changelog.

Damn, That’s what I call productive. Well, sorta.

It’s shocking how many side-issues I can accomplish while deftly avoiding something I know will be painful.

Things I accomplished in yum-HEAD today:

  • yum –installroot works
  • yum –obsoletes works
  • yum –rss-filename=foo.xml generate-rss works
  • yum update takes options, again
  • yum upgrade sets obsoletes on and continues
  • cleaned up lots of odd places where things broke when I’m stupid
  • fixed yum list extras, yum info and yum list obsoletes (though I’m not happy with the output)

Expanded the todo list a bit:

  • makefiles
  • sigcheck
  • log output post-transaction – filelog and console – this means make it happen and make it pretty/sane
  • clean up output for checking pre-transaction
  • Display obsoletes nicer
  • do something with download-only
  • write yum deplist pkgname/glob
  • yum importkey
  • write up the depsolver callback for better output for both gui and cli
  • Hookup the group functions

Fun huh? I’m sure there’s more to do, but this is a hit list I came up with while working today.

yum deplist should be fun. The gist is to find the package in the packageSack, then iterate through each of its requirements and find the package(s) that provide it.

Then list them out – something like:

yum deplist mypackage

mypackage requires:

foo.so.1 provided by libfoo-1-1.i386

/bin/sh provided by bash-1.0-1.i386 or bash-2.0.5.i386 or bash-3.0-1.i386

I think that would be useful, somehow.

Beyond that, I need to hookup menno’s Xtrigger stuff and then of course yum-queue.

But those are just nice things, not immediately critical.


August 29, 2004

as a response to Icon: I asked if I could talk about glump today. You said yes. so I did.


kingston trio

August 29, 2004

Progress, or so it seems!

Got my phone situation figured out. Killed cingular, switched back to Sprint, got the text notifications from email to work sanely. Reconfigured my phone, bought a new battery, and added new names. All in all, very productive.

Wrote the obsoletes handling code into yum. Fixed a braindead interface I had written quite some time ago and it finally got me in trouble. Looking forward to breakfast and more finishing up of my to do list on yum. I extended the list a bit to include somethings that should be hooked up just so people don’t get angry at me for disabling their favorite feature.

I’d just like to offer this caveat right now. If you find that something in the new yum doesn’t work exactly like it did in the old yum, please, do not scream foul at me. Report the problem. You might find the functionality has been moved. Or maybe renamed. There is some possibility that an option has been removed. But assume, at first, that the feature’s absence is not malevolence but an oversight.

Swanno: On your forever journey on the metro, you should think of the song M.T.A. performed by the kingston trio.

Fixed Jeremy’s problem with erasure deps and multilib, I ultimately fixed a number of multlib bugs in a relatively simple mechanism. I’m sure I’ll find others, though. Although, in a lot of cases the structure of yum, having changed so much, has helped a lot of these weird cases.

Still more work to do but really feeling better about some bits.

To do list:

  1. Makefiles!
  2. add pkg options to yum update
  3. include obsoletes in updates
  4. docs, docs docs

If anyone is bored and wants to work on other interesting code for yum, email me or look on yum-devel list.


August 26, 2004

I think novocaine makes me angry. I’m not sure why but everytime I come back from the dentist I come back angry. It could be the sheer volume of money I’ve given them this year that causes it, though.

Anyway, anger aside. I went to bed at a ridiculous hour last night, something like 10:30 so I woke up at 7:30 completely w/o effort. It’s bizarre. Sadly, it doesn’t work for me b/c I end up feeling guilty that I didn’t work during that time. Nevertheless.

Somethings got accomplished today. Sadly, not many of them by me.

Icon got glump working nicely. It assembles sets of files into a single for outputting from a webserver. This is useful if you’ve got files you want to assemble in a certain order for host configuration.

We use it for iptables and ks.cfg assembly here in the department. Though I can imagine using it for other items, too. He advanced the original scripts considerably. Now it will run from mod_python or as a standalone cgi and does variable replacement in the files.

I’ve been kindly assured by jeremy that there are a few multilib problems in the new yum depresolution code. We got the new penguin boxes in today so I figure I’ll set one up and find out how many I can find. I thought I had it handled properly but it’s entirely possible I missed something, as is always the case with depresolution code. Two more major things to work out before a yum beta release. Just in time for Fedora Core 3 Test 2. Funny how that works out, huh. πŸ™‚ The least fun will be updating the docs. And, of course, all of the translations are out. Lots of misc things to do, but more people have commit access now, hopefully they’ll make good use of it.


August 25, 2004

Lots of cheerios last night. mmmm. Ended up staying up until a stupid hour getting yum erase to do the right thing for virtual provides. It now works as I think it should. I’m sure there are bugs but it looks right.

Added the Fedora Rawhide Update reports to the aggregator. They look nice, but I’m sure there’s a fair bit of screen scraping going on to make them. But it’s not _my_ screenscraping so why not? πŸ™‚

I honestly think that yum list recent could be enhanced to track old state, to look for changed/new pkgs and hopefully generate an identical rss feed from anyone’s very own yum.conf-configured repositories. An interesting place to try out if anyone is interested.

Intended to go to the dentist today. Went, in fact, was just an hour late, but I honestly thought I was on time. Oh well, rescheduled for tomorrow. Wheeeeeeeeeeeeeee. Made an eye appointment for monday, time to figure out why I’ve been feeling more bleary-eyed than normal.

Pushed a bunch of packages in place but it ended up being too late in the day so they’ll have to wait for tomorrow morning. I don’t like making releases of packages for duke’s internal distribution on fridays->sundays or after 4:30pm. I don’t want to leave someone in the lurch if their system updates in an unforeseen way.

Feeling reasonably good about lots of yum-HEAD working now. I really need to bite the bullet and fix the makefiles so other people can more simply break what we’ve written. πŸ™‚

The girl and I ordered a chair this weekend. It’s a cushioned rocking chair and the ottoman. I can’t wait for it to arrive. It should be a dream to sit in. The only question will be the arguments over who gets to sit in it. Maybe we shoulda bought two.

Yesterday took me to the Animal Shelter with the girl. They had an open house for all their renovations. She volunteers there 5 days a week so I went to see all the new stuff that’s been going on. It was fairly cool. A lot more space for the dogs, especially. The most impressive bits were the other volunteers’ comments on the girl. They consistently said they were amazed at how much she comes out there and that she is the one who walks the most dogs. Which is true, she does walk a lot of dogs.

Today was an improvement on yesterday, then again an all-day acid enema would probably be an improvement on yesterday. πŸ™‚

Getting a functional yum-HEAD code was a nice thing. Jeremy was dumb enough to use it to update to rawhide. It supposedly worked, I’m not convinced that occurred for any sane reason but, hey, why not? πŸ™‚

I improved the depresolution code tonight and sped up the erasure code. These are good things. It’s moving in the direction where I could make a release. Not ready _quite_ yet but definitely in the proper direction.

If anyone is looking for something to do, I’d love to see a mockup of what a recent-packages rss-feed should look like. It would help me with a silly-function I’ve added into yum. πŸ™‚

Watched a lot of new things get added to the fedora project wiki, I hope to add some things there myself, before too long, mostly about system-config-packages.


August 22, 2004

Stu was kind enough to redirect fedoraproject.org to fedora.linux.duke.edu. We’ve got the wiki setup now and people are starting to put in some information. We’ve of course got the blog aggregator there as well as a bunch of archives of x86_64 extras builds and ppc test builds. What we need is more people with things to put into the wiki. Useful docs or specifications for programs that ship or are developed within Fedora. If you have something you want to add, contact Colin. Jack has been working on procuring a cms system to contribute to and to use. Let’s see how that pans out.

If anyone is interested in contributing or auditing the CMS code, bug me or Jack and we’ll see what can be done.

The more people outside who are maintaining pieces of the infrastructure or pieces of the distribution the healthier fedora looks and the more likely it is for red hat to stop screwing around internally.

bad day^3

August 18, 2004

Things seemed pretty normal today when I got up. A little backpain but nothing so crazy that I couldn’t go to work. I get to work, nothing obviously on fire. I do some various and sundry things. Still nothing screaming out how bad it will get.

Right before lunch I find out we’re going to have another AC shutdown this week. I get to pick when, this time, from 6pm until 10pm or 6am until 10am. What a wonderful choice. Either way I’m at work later or earlier than I’d like to be. Still, this isn’t new, Facilities likes to screw us like this. Lunch was fine. Nothing traumatic.

For reasons I can’t even begin to understand, when I returned from lunch, my day, and my ability to cope with my day self destructed.

I was working on a few items, nothing of any mind-bending consequence, but I couldn’t get through them. Everytime I’d work 5 or 10 minutes on it, I’d be interrupted by something that either: didn’t amuse me or didn’t concern me. This happens a lot in my job, but today I wasn’t able to cope with it. As my ability to cope with it decreased my stress levels increased until I began to snap at people. I ended up realizing I was way beyond where I should have been when I blew up at someone in email and on irc for no real reason. (sorry, dag)

At this point I realized how deeply weird my day had gotten and that I needed to do something to break out of it.

I changed tapes, went home, took the girl to her belly dancing class and then sat down and hammered on yum for a while. I didn’t look at TV, I didn’t eat anything, I just made certain things in yum functional. One other thing I did: I sang, a lot. I tend to sing songs I know when I’m stressed. It’s odd, I know, but it helps me, sometimes.

All in all, it made me feel markedly better. I eventually got something to eat (The girl made these zuchini toast tomato tampenad(sp?) things. They were wonderful.) and I sat and watched an episode of angel, then went back to working on yum.

I don’t entirely understand what happened today. I don’t know why I got all tense, but I did and it’s completely unacceptable.

Nevertheless, I’m going to try to make tomorrow, not at all like today, if I can.

On the plus side, I did get the following things working:

yum [install|list|info|erase] should all work in yum-HEAD. I don’t have the makefiles doing anything interesting but I’ll do that before too long.

There’re lots of FIXME’s in the source and some of them will go away soonish, but now that transactions are running again, this brings me hope and happiness (or something like that).

As another fun data point:

I ran the same installation transaction and added some print time.time()’s to the code.

on the same machine, using the same repositories:

yum 2.0.X (current stable) took 30s to dep resolve

yum-HEAD (amazingly unstable) took 2s to dep resolve.

They both outputted the same results. πŸ™‚