On 31/08/16 08:12, Petr Pisar wrote:
On Fri, Aug 19, 2016 at 09:57:18AM +0100, Paul Howarth wrote:
Upstream has merged Parse::CPAN::Meta into the CPAN-Meta dist. Normally, I'd
just add appropriate obsoletes/provides, retire perl-Parse-CPAN-Meta and
that would be that. However, the perl-Parse-CPAN-Meta package has an epoch,
which the perl-CPAN-Meta package does not, so in order to avoid
self-obsoletion, I would have to bump epoch in the perl-CPAN-Meta package
too.
I think the obsoletion applies only to package. Not to Provides (RPM symbols).
That means it will not obsolete itself. But I did not try it.
It would if there was a provide for perl-Parse-CPAN-Meta I believe (as
opposed to perl(Parse::CPAN::Meta), which is of course provided
automatically in the new perl-CPAN-Meta package).
Alternatively, I could take up the hint here:
https://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages#Do_I_need_to_Provide_my_old_package_names.3F
and have the obsolete without the provide. This looks much cleaner, and
there's only one package in Rawhide that requires perl-Parse-CPAN-Meta
explicitly, which is perl-core. So if that dependency was dropped (the
existing dependency on perl-CPAN-Meta will still be there to pull in the
module), all would be well.
We need the dependency for bootstrapping because perl-Parse-CPAN-Meta is
perl.spec's subpackage when bootstrapping. But that could be fixed by
replaceing perl-core's dependency from perl-Parse-CPAN-Meta to
perl(Parse::CPAN::Meta).
Another option would be to provide unversioned perl-Parse-CPAN-Meta from
perl-CPAN-Meta or version it including the the "1" epoch.
Yet another option is to make real perl-Parse-CPAN-Meta sub-package in
perl-CPAN-Meta.spec with "1" epoch.
But all that makes things more complicated. I would change perl-core's
dependency to perl(Parse::CPAN::Meta) and then upgrade perl-CPAN-Meta with
obsoleting but without providing perl-Parse-CPAN-Meta.
Good, that's what I was wanting to hear. The other thing that needs
doing in the main perl spec is to merge the perl-Parse-CPAN-Meta
bootstrap package into the perl-CPAN-Meta bootstrap package, so that the
packaging is the same as the dual-life packaging. That will then mean
that the perl-core dependency on perl-Parse-CPAN-Meta can be removed
rather than changed to perl(Parse::CPAN::Meta) as the existing
dependency on perl-CPAN-Meta will then pull in the module.
Should this go to F-25 as well?
No. Removing packages breaks compatibility.
OK.
Paul.
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://lists.fedoraproject.org/admin/lists/perl-devel@xxxxxxxxxxxxxxxxxxxxxxx