https://bugzilla.redhat.com/show_bug.cgi?id=1111691 --- Comment #44 from David Nichols <david@xxxxxxxx> --- (In reply to Andy Mender from comment #43) > Super good job on the updates! :) thank you very much! > > Requires: %{name}-libqore%{?_isa} = %{version}-%{release} > > Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} > > To make the main package fully "meta", there should be lines like these for > all of the subpackages. Also, I think the libqore package is actually called > just "libqore". At least that's how Koji built it and that's what I see in > my local mock environment as well. of course that is correct - done I would like to understand what you mean with the Requires lines - currently I have: qore -> requires libqore, qore-stdlib libqore -> requires nothing qore-doc () -> requires nothing qore-devel (C++ development package) -> requires libqore qore-devel-doc (C++ development docs) -> requires nothing qore-misc-tools -> requires qore (which in turn requires libqore and qore-stdlib) qore-devel: The Qore library can be used without qore and the qore-stdlib packages to allow for developing programs supporting embedded logic in them; the qore and qore-stdlib packages are both generally useful and in the vast majority of cases would also be used, however in a theoretical "lean" use case implementing only embedded logic in an application where the qore standard library is not required or needed, and external scripting support with qore is irrelevant, they would not be installed and requiring them would just take up extra space with no benefit. qore-doc and qore-devel-doc: Regarding requiring anything for the doc packages, I followed originally the same approach as with other languages such as Python, where the doc packages can be installed standalone as well - ex: https://src.fedoraproject.org/rpms/python3-docs/blob/master/f/python3-docs.spec - which has no dependencies on external packaging. > > This leads to the following error; I assume a noarch pkg should not depend on an arch-specific package: > > > BuildError: The following noarch package built differently on different architectures: qore-misc-tools-0.9.4.6-1.fc33.noarch.rpm > > > rpmdiff output was: > > > removed REQUIRES qore(armv7hl-32) = 0.9.4.6-1.fc33 > > > added REQUIRES qore(x86-32) = 0.9.4.6-1.fc33 > > You're completely right. It only works for the opposite - an arch package > depending on a noarch package. What you can do is make qore-misc-tools > depend on only a subset of the qore subpackages - the ones it actually > requires. I guess that would be "libqore" primarily? The scripts in this package require the qore executable to run, and the qore pkg in turn depends on libqore & qore-stdlib, so those other two package are indirect dependencies through qore. libqore is not sufficient for the qore-misc-tools package, but needs to be in place so that the qore executable will run. > > %install > > %make_install -p > > mkdir -p $RPM_BUILD_ROOT/%{module_dir} > > rm $RPM_BUILD_ROOT/%{_libdir}/libqore.la > > If you look closely, the last 2 paths will contain duplicate forward > slashes. Not a big thing, but the below should be okay: > mkdir -p $RPM_BUILD_ROOT%{module_dir} > rm $RPM_BUILD_ROOT%{_libdir}/libqore.la done > > %files -n libqore > > %{_libdir}/libqore.so.6.2.1 > > %{_libdir}/libqore.so.6 > > %license COPYING.LGPL COPYING.GPL COPYING.MIT > > %doc README.md README-LICENSE README-MODULES RELEASE-NOTES AUTHORS ABOUT > > I think the README-LICENSE file is actually a license file with extra > commentary so it should be listed together with the other license files with > the %license macro. Also, since qore is multi-licensed and highly modular, I > would add README-LICENSE to the -devel and -misc-tools subpackages. done > > %changelog > > [...] > > - replaced %{_datarootdir} with ${_datadir} > > [...] > > - removed obsolete references to %defattr and ldconfig > > - use %make_build instead of a hardcoded make line > > - use %make_install -p instead of a hardcoded make install line > > Minor nitpick, you should avoid using macros in %changelog records or escape > them by repeating the macro character (for instance, %%make_build instead of > %make_build). oops - I knew that! - done > > * Thu Jul 30 2020 David Nichols <david@xxxxxxxx> 0.9.4.5-1 > > - added required BuildRequires for gcc-c++ > > I think the dist tag on this one was supposed to be 2 (full version > 0.9.4.5-2), right? Yes, correct; I did not follow https://docs.fedoraproject.org/en-US/packaging-guidelines/#_multiple_changelog_entries_per_release correctly. I've updated this now so there's only one changelog entry for the 0.9.4.5-1 release. I have updated the spec file here: - https://docs.qore.org/srpms/qore.spec I did not make a new SRPM or Koji build yet, as I would like to understand the dependency issues above first. Thank you again for your time and feedback on this! -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx