[Bug 1111691] Review Request: qore - multithreaded programming/scripting language

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux