Ralf Corsepius <rc040203@xxxxxxxxxx> writes: [...] >> It doesn't work. >> >> The epochs on dependencies on "perl" inside of sub-packages are wrong. >> >> E.g.: >> # rpm -q --requires -p perl-CPAN-1.76_02-16.i386.rpm >> ... >> perl = 0:5.8.8-16 >> ... >> >> # rpm -q --provides -p perl-5.8.8-16.i386.rpm >> ... >> perl = 4:5.8.8-16 >> ... >> >> This causes all kind of dependency breakages in yum. >> >> AFAIS, you seem to have missed the %{epoch} related Requires having been >> contained in my latest *.spec. > Scratch this sentence - I was wrong. > > You added > Requires: perl = %{epoch}:%{perl_version}-%{release} > to subpackages' %package. > > > This breaks if a subpackage uses a different Epoch as the main packages, > for example this: > ... > %package Test-Harness > Summary: Run Perl standard test scripts with statistics > Group: Development/Languages > Epoch: 0 > Version: 2.56 > Requires: perl-devel > Requires: perl = %{epoch}:%{perl_version}-%{release} > ... > > At the time, rpm processes the %{epoch} inside of the > "Requires: perl =...", > %{epoch} contains the "0" from the "Epoch: 0" line above and doesn't > contain the global epoch anymore. > > > A brute-force approach to work-around this would be to add a global > %define perl_epoch 4 > at the beginning of the *.spec and to replace all references to the main > perl package's Epoch (%{epoch}) with %{perl_epoch} > > The patch below implements this approach. Good catch Ralf, thanks - I've applied that patch and I'll try out a local build. Thanks, -RN -- Robin Norwood Red Hat, Inc. "The Sage does nothing, yet nothing remains undone." -Lao Tzu, Te Tao Ching