Thank you for these details. However 1) I expect that I would have to edit the .spec file 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? When I want to install perl-Tk-JFileDialog-2.20-1.fc30.noarch.rpm
I get Error: Problem: conflicting requests - nothing provides perl(Tk::JBrowseEntry) >= 4.63 needed by perl-Tk-JFileDialog-2.20-1.fc30.noarch (try to add '--skip-broken' to skip uninstallable packages)
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
In my opinion, I should not have to edit the .spec files
=========================================================================== Patrick DUPRÉ | | email: pdupre@gmx.com Laboratoire interdisciplinaire Carnot de Bourgogne 9 Avenue Alain Savary, BP 47870, 21078 DIJON Cedex FRANCE Tel: +33 (0)380395988 ===========================================================================
Sent: Friday, June 14, 2019 at 7:06 PM From: "Gordon Messmer" gordon.messmer@gmail.com To: users@lists.fedoraproject.org Subject: Re: rpmbuild
On 6/12/19 1:43 PM, Patrick Dupre wrote:
cpanspec --add-buildrequires perl-generators Tk-JBrowseEntry-5.22.tar.gz
only add: BuildRequires: perl-generators in the .spec file
which does not help.
Sure, it does. The purpose of the "perl-generators" package is to include information about what a perl package "provides" and "requires" automaticaly, so that you don't have to. If I build Tk-JBrowseEntry with BuildRequires: perl-generators, then I get this on the resulting package:
# rpm -q --provides perl-Tk-JBrowseEntry-5.22-1.fc30.noarch perl(Tk::JBrowseEntry) = 5.22 perl-Tk-JBrowseEntry = 5.22-1.fc30
If I run the command you included above, there are several changes we'd want to make to the spec to bring it more in line with Fedora's packaging guidelines. "Group" and "BuildRoot" aren't used in Fedora, so those lines can be removed. The "make" command can be replaced with "%{make_build}". The %install section should not remove the build root. The %clean section should be removed. We need to add "PERL5LIB=%{buildroot}%{perl_vendorlib}" to the "make test" command in order for it to find the modules it installed in the build root (although some tests don't work without an X11 connection). "%defattr" isn't required in Fedora. Finally, we need to add "%{_bindir}/*" or "%{_bindir}/JBrowseTest.pl" to the %files section (or, alternatively, remove that file in the %install section if it should not be included in the package). A patch is attached with those changes, for a more literal specification of the changes.
I can use that modified spec to build a package, and move on to building the other package you mentioned, perl-Tk-JFileDialog. That package requires very similar changes, with the exception that "make test" actually fails, so I removed that rather than resolve the issue because I'm not working on pushing this through formal review. :)
After making the same changes to perl-Tk-JFileDialog, and building the package, both packages can be installed:
# rpm -q perl-Tk-JFileDialog perl-Tk-JBrowseEntry perl-Tk-JFileDialog-2.20-1.fc30.noarch perl-Tk-JBrowseEntry-5.22-1.fc30.noarch
On 6/10/19 1:10 AM, Patrick Dupre wrote:
Same issue with Tk-JFileDialog.spec In addition, I get: rpmbuild -bb perl-Tk-JFileDialog.spec error: Failed build dependencies: perl(Tk::JBrowseEntry) >= 4.63 is needed by perl-Tk-JFileDialog-2.20-1.fc30.noarch
while the installed version is 5.22
I believe you got this because your build environment did not include the perl-generator package. Once you add that to your BuildRequires, then the perl-Tk-JBrowseEntry package will automatically provide "perl(Tk::JBrowseEntry)", and resolve the dependency reported in this error message.
users mailing list -- users@lists.fedoraproject.org To unsubscribe send an email to users-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org