Bug 106455

Summary: aspell-en and aspell dependency problem
Product: [Retired] Red Hat Raw Hide Reporter: Max Kanat-Alexander <mkanat>
Component: aspell-enAssignee: Eido Inoue <havill>
Status: CLOSED NOTABUG QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-10-10 18:57:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 106452    

Description Max Kanat-Alexander 2003-10-07 10:17:43 UTC
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.

Comment 1 Eido Inoue 2003-10-10 18:57:12 UTC
> 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.