63598

Hrmm… what'd I do today?

Slept in because something I ate yesterday just didn't settle well with me. Probably the atrium. Woke up and discovered I hadn't even missed class. Went into work, hacked on various little piddly things. Looked into a weird problem with rpm.checksig() for that had been reported by — eventually determined that it was mostly a case of PEBKAC, but not at all obviously so.

Then, instead of poking at the postfix package and trying to see about adding some more sanity to it, I instead started looking a bit more closely at the vga16 patch in our grub package with an eye toward a) cleaning it up so that it might actually be accepted upstream and b) switching from using the 640×480 vga16 mode supported by all vga cards to using a vbe 640×480 256 color mode. The latter would let us get a much nicer image there and I really don't think there's much/any hardware we support anymore that doesn't support the simple vbe stuff. I think that the major hurdle would be the image loader itself, but realistically, that should be pretty simple — people have been doing it for many years at this point and there's probably even GPL'd code out there to do it if I look. Sounds like a good weekend project for at some point as I'm sure finding time to do it at work will be difficult. It would at least be something different from my normal fun and games.

Rest of the week and the weekend should be interesting, at least. I need to work on both game design and senior design and write a bit of code for each probably. Former shouldn't be *too* bad, just a matter of finding the right bits I need to tweak. The latter isn't too bad, code-wise as I've got a pretty good idea of all the things I need to hit there, but there's also some documentation BS to deal with. A chunk of that is already somewhat written, I just need to clean it up some I think. Incidentally, I'll send a mail about that before I head to bed here shortly.

9 thoughts on “63598”

  1. PEBKAC in a case where rpm -Kv and rpm.checksig disagree? How about putting it in the bugzilla entry so I don’t have to keep guessing? πŸ™‚

  2. What was the bug #? Adrian just walked down and asked me about it so I said I’d look at it πŸ™‚

    But basic summary, you were using the wrong arguments

    Do rpm.checksig(file, rpm.CHECKSIG_MD5) and rpm.checksig(file, rpm.CHECKSIG_GPG) and you’ll be much happier than if you use rpm.SIGTAG_MD5 and rpm.SIGTAG_GPG. The SIGTAG constants are the offsets for the headers as opposed to the appropriate bitwise flags needed for rpm.checksig. As to why it just started breaking for md5 only checks, it’s related to a subtle change now that jeff’s no longer spawning gpg. Dunno exactly why, and I don’t think I want to know any more than I figured out.

  3. well, then it’s not PEBKAC, it’s a bug in up2date or rpm-python

    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=62802

    jmm@bp6:/usr/share/rhn/up2date_client> grep rpm.checksig up2date.py
    ret = rpm.checksig(fileName, rpm.RPMTAG_SIGMD5)
    ret = rpm.checksig(fileName, rpm.RPMTAG_SIGGPG)

    so are those broken and need fixing? This is all from me making up patches to try and get up2date smarter by not including already-cached packages in its needed free space for fetches

    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=53583

  4. trying to track all the flags through the layers above and below rpm-python wasn’t fun πŸ™‚ are the RPMTAG_SIG* versions deprecated? If so, can they get killed so they don’t get used any more? πŸ™‚ I don’t quite see why you’d need 2 diff ways to say “the md5 checksum” πŸ™‚

  5. Well, PEBKAC in that you and adrian were trying to do it thinking it would work. And similar for Preston for writing that way initially. Adrian made the changes already in CVS to switch up2date to the right way of doing things. Gotta love the subtlety of the undocumented rpm-python πŸ˜‰

  6. Nope, the RPMTAG versions are for a completely orthogonal purpose. They let you take a header which you’ve unloaded from a package and reference the signature regions directly so that you can do whatever you want with them. The CHECKSIG versions are just bit-ops so you don’t have to know MD5 = 2, GPG = 4, etc.

Comments are closed.