Concurrency is an issue any way you slice it, and it's not just limited to RPMs. RPMs represent a set of files installed on the system, so you have to somehow verify that you're not installing the same RPM _or_file_list_ on one system at the same time. Granted, this isn't as severe a limitation as the concurrent modification problem in the rpm database, but it's still an important factor.
So, if a dev team is sharing a machine and needs to do concurrent build/installs - or, in CI situations where a similar thing is happening - it might be essential to setup some sort of chroot setup with a separate rpm database for each, so the filesystem paths don't overwrite. This is a BIG thing to tackle in any sort of universal way, and I'm not even going to pretend to understand all that would be involved...only that it's much more than just dealing with the RPM database. It's not arbitrary classpaths out here, and we're not in Kansas anymore. :-) -john On 1/31/07, Jason van Zyl <[EMAIL PROTECTED]> wrote:
Hi, I'm just throwing out a question because I have experience a problem with concurrency in the RPM database. Over in the CBUILDs stuff where we are using Maven to build RPMs whenever I do two simultaneous builds where the result is installing an RPM I seem to corrupt the database rendering RPM useless without rebuilding the RPM database. I've read in some places that you cannot run RPM commands in parallel because of concurrency issues. I'm locked to RHEL 3. If there was a locking mechanism I suppose that would be someone better but means all my builds are going to block on the lock. But if there are concurrency issues that means trying to build RPMs during a development is impractical. Anyone have a definitive answer on this or a pointer to some documentation? I'm going to try and contact Erik Troan for a definitive answer but if anyone knows please pipe up! :-) Jason. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
