Description of problem: When I attempt to build aspell-0.50.3-15, it tells me that it depends on aspell-en-0.51. I think that these dependencies are reversed: aspell-en should depend on aspell, not vice versa. (Particularly, the aspell-en SRPM should BuildRequires: aspell-devel >= 0.51) If they are "co-dependent" they should probably be joined into the same package, or at least the same SRPM. Here's the reason: The aspell-en package uses aspell to "compile" its dictionaries. When you install aspell-en, it uses the system's OLD aspell to compile its dictionaries. These dictionaries are then unusable by the new aspell, causing crashes in any program build against the new aspell. Version-Release number of selected component (if applicable): aspell-en-0.51-6 How reproducible: Always Steps to Reproduce: 1. Install aspell-0.50.3-15 2. Install aspell-en-0.51 3. Attempt to use any program built against the new aspell. (For example, and program made in the build process described in bug 106452). Actual Results: The program from step three will crash (and segfault, IIRC), with an error that the dictionaries are the wrong format. (Probably the "/usr/lib/aspell/en-only.rws") This is because the dictionaries were "compiled" by the OLD aspell on the system (probably the 0.33 included with RH9) Expected Results: Program from step 3 should not crash.
> When I attempt to build aspell-0.50.3-15, it tells me that it depends on > aspell-en-0.51. I think that these dependencies are reversed The dependencies are the way they are because legacy aspell did bundle the English dictionary with the binary. The new version of aspell needs to require aspell-en to handle upgrades via anaconda... otherwise the upgrade would bump the binary only and leave upgraded aspell without an English dictionary to use. > If they are "co-dependent" they should probably be joined into the same package If they were joined in the same package then aspell, which has complicated dependencies, would need to be upgraded every time the aspell-en dictionary was updated. It is reasonable to assume that aspell and the aspell-en will bump versions not-in-sync and one more rapidly than the other, hence the separation. > The aspell-en package uses aspell to "compile" its dictionaries. When you > install aspell-en, it uses the system's OLD aspell to compile its dictionaries. aspell-en "BuildRequires: aspell >= 0.50" and "Requires: aspell >= 0.50". I don't see how a sane build system could build with the old aspell given these requirements-- Our buildfarm sure won't. Also, aspell, not aspell-devel, is needed to generate the dictionaries.