On 6/14/19 2:38 PM, Patrick Dupre wrote:
1) I expect that I would have to edit the .spec file
That's right. You do. And that's expected.
http://cpanspec.sourceforge.net/ indicates: "It is assumed that
maintainers will need to do some (hopefully small) amount of work to
clean up the generated spec file to make the package build and to verify
that all of the information contained in the spec file is correct. "
cpanspec was never expected to be a 100% solution. It's a tool that
assists packagers, but packagers still need to do some work.
2) After that I install the package
perl-Tk-JBrowseEntry-5.22-1.fc30.noarch
I generate a
perl-Tk-JFileDialog.spec
which contains:
BuildRequires: perl(Tk::JBrowseEntry) >= 4.63
Why that?
cpanspec reads the META.json file provided by Tk-JFileDialog, which
indicates that it needs Tk::JBrowseEntry >= 4.63, and then translates
that information into the spec so that rpm will also know about that
requirement.
Error: Problem: conflicting requests
- nothing provides perl(Tk::JBrowseEntry) >= 4.63 needed by
perl-Tk-JFileDialog-2.20-1.fc30.noarch
The solutions that I found are:
1) add Provides: perl(Tk::JBrowseEntry) = %{version}-%{release} in
perl-Tk-JBrowseEntry.spec or
2) remove BuildRequires: perl(Tk::JBrowseEntry) >= 4.63 in perl-Tk-JFileDialog.spec
There is a third solution: Add "BuildRequires: perl-generators" in
perl-Tk-JBrowseEntry.spec (or use the "--add-buildrequires
perl-generators" argument to cpanspec). That will automatically
generate the "provides" so that you don't have to do #1 yourself.
In my opinion, I should not have to edit the .spec files
cpanspec appears to be unmaintained, and Fedora guidelines have changed
since 2013. I outlined a number of improvements that should be made in
order to conform to current guidelines, but only two stand out as being
strictly necessary: adding the missing installed files to the %files
section, and adding a buildrequires for perl-generators.
I'd encourage you to remember that Free Software is built on a culture
of participation. I understand that the tool you are using isn't
perfect, but no one here is the maintainer of that tool. Complaining
about it will not solve the problem, but participating might. If you
think the tool needs to be improved, please create a fork and improve
the tool.