Need to find a lost rpm

jdavidb on 2008-07-30T20:42:06

It's the end of the world.

I mentioned in this post that I was dependent upon libxcb-1.0-4.fc8.i386.rpm, because of a bug that exists in libxcb-1.0-3.fc8.i386.rpm, which the XCB developers apparently do not feel is a bug. I am a moron for not having a copy of this rpm, upon which I am dependent.

Some time very recently, semi-automatic updates upgraded me to libxcb-1.1-1.fc8.i386.rpm. Like I said, the XCB people don't think this issue is a problem, so 1.1 doesn't include the fix. I assume the difference between 1.0-3 and 1.0-4 is some local Fedora patch.

It wasn't very smart of me not to keep this important rpm. It wasn't very smart of me to update my machine (although it ought not to be such a big deal, and it is nice to know when things break sooner rather than later). But what's really not smart is that once libxcb-1.1-1.fc8.i386.rpm, version 1.0-4 disappeared off the face of the map!! There's only one Fedora Updates directory per version, and there's only the latest rpm in there. As near as I can tell, this has been deleted, and nobody connected to the net seems to keep old versions.

So I have zero recourse, as far as I can tell. I have one system that has 1.0-4 installed. Does anyone know a way to reconstitute an rpm you do not have from a system that has that rpm installed? Or does anyone know a way to get old rpms that were issued in an update but are not in the latest update? Is there a version control repository somewhere that can get me back to this intermediate state? (If not, why not? How do they survive without it?) Is there a way to find out what changed between 1.0-3 and 1.0-4?


Google?

Mr. Muskrat on 2008-07-30T21:20:42

The search results included rpm.pbone.net, rpmfind.net and a slew of others. The first two are usually helpful but not this time. I also ran across: http://orion.lcg.ufrj.br/RPMS/myrpms-f8-x86_64/repoview/repoview/libxcb-0-1.0-4. fc8.html

Re:Google?

jdavidb on 2008-07-31T11:59:06

Awesome! Thank you! My searching only took me to sites with stale results for that package; every download link they provided went to an Updates directory that no longer had that version of the package.

Have you checked...

Mr. Muskrat on 2008-07-30T21:44:28

... the Yum cache?

ll /var/cache/yum/development/packages/libX11*

What about the Java bug thread which is marked "Release Fixed 7(b22), 6u10(b09) (Bug ID:2155962) , 6-open(b03) (Bug ID:2156535)"? You might have some luck with the comment about using sed to fix the problem (search for "Submitted On 01-JUN-2007").

Re:Have you checked...

jdavidb on 2008-07-31T12:10:44

Thanks! That's the kind of information I was hoping someone could clue me in to. Unfortunately the package isn't in the cache on either of my machines. :)

I finally found where whoever released 1.0-4 in Fedora mentioned a patch that was included and a bug number that was fixed. Unfortunately they left a digit out of the bug number. The bug they listed was completely unrelated, consisting of about five messages about a problem in 2001 ... and finally a message in 2007-12 saying "Here's libxcb-1.0-4 and it fixes this problem; closing." Oops. :) But continued searching led me to the real bug in Fedora's bugzilla (which has seen massive repeated reporting ... every other report is just "marked #XXXXXX as a dup of this bug"), and there I found out that in version 1.1 onward (at least on Fedora) there is an environment variable I can use, "LIBXCB_ALLOW_SLOPPY_LOCK", which will basically turn on the behavior from the patch in 1.0-4. So that's good enough for me, I think.

Although really there's an enormous number of people here who need to get their act together:

  • First of all, my organization needs to get our act together and get our software fixed to run on versions of Java later than 1.5! And on later versions of Linux, for that matter ... I'm a major exception around here running on Fedora 8; everybody else is on ancient stuff.
  • Second of all I need to hang on to critical rpms to fix critical issues. :) And I probably need to find a more intelligent way to go about updating my system. Overall I like the approach of always grabbing updates when they are there and then dealing with the consequences. It's just that when there's consequences, then I don't like it. :) Thankfully my box is not "production." It just feels like it is sometimes. :)
  • Fedora could make it easier to back out recently-applied updates, because sometimes updates break things. They could save off rpms immediately before they are replaced. They could make it possible to reconstitute an rpm from a system that has it installed (this is probably possible). Most of all they could keep something like BackPAN: there's no reason why there shouldn't be a repository of all the rpms that have gone into Updates, for people who might need them.
  • The XCB folks need to quit saying it's not their problem. The bug is reported all over the net. :) [Disclaimer: I remember reading about this before and concluding it was XCB's problem. But I don't remember the details or the logic involved. They may very well be right that it's not their problem, in which case I retract this and don't blame them. :)]
  • I was going to say the Java folks need to get their act together, but they have. They've reported the bug to XCB, and they've provided a workaround in their latest version even though they don't think it's their fault. I'm not sure what more I was expecting from them: it's not their fault my organization is running old Java. :)

Workaround for "Assertion `c-xlib.lock' failed."

daxim on 2008-07-31T12:07:25

export LIBXCB_ALLOW_SLOPPY_LOCK=true

Fedora Probably Has a VCS for Its Packages

Shlomi Fish on 2008-08-01T20:06:35

I know that Mandriva keeps its packages versioned in a version control system. Red Hat probably does the same and you should be able to see what has changed by using the logs and the diffs.

Re:Fedora Probably Has a VCS for Its Packages

jdavidb on 2008-08-01T20:38:51

Haven't found it as of yet. I'm sure it's there, though.

Re:Fedora Probably Has a VCS for Its Packages

Shlomi Fish on 2008-08-02T08:11:29

Well, after some IRCing and wiki-searching, I found this page with an explanation on how to access it. Hope it helps.

Re:Fedora Probably Has a VCS for Its Packages

jdavidb on 2008-08-04T12:22:47

Thanks!

Re:Fedora Probably Has a VCS for Its Packages

jdavidb on 2008-08-14T20:14:07

Using this again today. Thank you.

Re:Fedora Probably Has a VCS for Its Packages

Shlomi Fish on 2008-08-14T22:20:16

You're welcome.