[Bug 2022554] Review Request: plotmm - GTKmm plot widget for scientific applications

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

 



https://bugzilla.redhat.com/show_bug.cgi?id=2022554



--- Comment #6 from Nils Philippsen <nphilipp@xxxxxxxxxx> ---
Hey Ben, thanks for reviewing this!

(In reply to Ben Beasley from comment #5)
> Package Review
> ==============
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> 
> 
> Issues:
> =======
> - Dist tag is present.
> 
>   OK; fedora-review does not understand rpmautospec.

I used %autorelease/%autochangelog for this one in part to identify the warts
with reviewing an rpmautospec-enabled package. Sorry for making you a guinea
pig. 🤷😉

https://pagure.io/fedora-infra/rpmautospec/issue/238

> - This is the first time I have seen rpmautospec combined with package
>   unretirement. It makes sense to do. Just make sure that you end up with a
>   release number higher than the last build (-34) to avoid unintended
>   downgrades, using the -b option to %autorelease if needed.

Oh, Koji just wouldn't allow me to build a package of the same N-V-R again (we
have plotmm in F34, so this wouldn't have gone unnoticed). I didn't consider
unretirement when cooking up the release counting algorithm, but adding -b to
compensate shouldn't be necessary:

https://pagure.io/fedora-infra/rpmautospec/issue/237

> - Large documentation must go in a -doc subpackage. Large could be size
>   (~1MB) or number of files.
>   Note: Documentation size is 1075200 bytes in 174 files.
>   See: https://docs.fedoraproject.org/en-US/packaging-
>   guidelines/#_documentation

A -doc subpackage is for end user documentation, so it probably should be
-devel-doc. Anyway, while it's not mandatory to have large documentation in a
subpackage – you just should consider it… 😏 – it makes sense to do so, -devel
would only account for ~84k without the docs and that should make builds
quicker.

> - Be warned that modern Doxygen-generated HTML documentation is not suitable
>   for packaging, as it has relatively intractable issues with bundled and
>   minified JavaScript. See
> https://bugzilla.redhat.com/show_bug.cgi?id=2006555
>   for details. However, the ancient pre-generated documentation here is OK:
> it
>   lacks JavaScript, and the CSS is not minified.
> 
>   If you ever re-build the documentation in the RPM build, which is possible
> to
>   do, then you will need to deal with this. The best solution is probably to
>   build a PDF instead of HTML. See
>   https://src.fedoraproject.org/rpms/cairomm/blob/rawhide/f/cairomm.spec for
> an
>   example of doing this. (The example also builds the HTML with the
> JavaScript
>   stripped out, but that is only so that DevHelp documentation—which plotmm
>   does not provide—keeps working.)

Wow, I wasn't aware of that issue and it's a shame it didn't reach a better
conclusion. This really should be spelled out in the packaging guidelines.
Dodged a bullet there… 😬

> - The option “--enable-docs” to the configure script is not doing anything
> and
>   should be removed.

Done.

> - Since the dependency on gtkmm is via pkgconfig, please change
> 
>     BuildRequires:  gtkmm24-devel >= 2.4.0
> 
>   to
> 
>     BuildRequires:  pkgconfig(gtkmm-2.4)
> 
>   and 
> 
>     Requires:       gtkmm24-devel
> 
>   to
> 
>     Requires:       pkgconfig(gtkmm-2.4)
> 
>   See
>  
> https://docs.fedoraproject.org/en-US/packaging-guidelines/
> PkgConfigBuildRequires/,
>   and also
>  
> https://docs.fedoraproject.org/en-US/packaging-guidelines/
> #_package_dependencies
>   regarding versioned dependencies.

Done.

> - While the URL only works with plain HTTP, the Source0 URL still works with
>   HTTPS. Please adjust it to HTTPS.

Done.

> - This project is thoroughly dead upstream. It’s okay to keep packaging it,
> but
>   you will have a higher burden as maintainer should any issues arise.

Thanks, I'm aware of it. 🙂

> - You should not glob the shared library in a way that would miss an
> soversion
>   bump. See
>  
> https://docs.fedoraproject.org/en-US/packaging-guidelines/
> #_listing_shared_library_files.
> 
>   Plus, it’s best not to use extremely broad globs under shared directories.
>   There are some arguments for not doing so in
>  
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/
> #_explicit_lists.
> 
>   At least change:
> 
>     %{_libdir}/*.so.*
> 
>   to:
> 
>     %{_libdir}/*.so.0*
> 
>   but preferably:
> 
>     %{_libdir}/libplotmm.so.0*
> 
>   or:
> 
>     %{_libdir}/libplotmm.so.0
>     %{_libdir}/libplotmm.so.0.*

Done, even if I don't expect it to change its SONAME anytime soon (or anytime
at all).

> - This is obsolete in all current Fedora releases and should be removed:
> 
>     %ldconfig_scriptlets

Done.

> - While the make invocations are acceptable, it would be even better to write
> 
>     make %{?_smp_mflags}
> 
>   as
> 
>     %make_build
> 
>   and
> 
>     make DESTDIR=%{buildroot} install
> 
>   as
> 
>     %make_install

Done.

> - This is a nit-pick, but
> 
>     find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
> 
>   could be more simply written as
> 
>     find '%{buildroot}' -type f -name '*.la' -delete

Yes it can 😀, and done.

> - The spec file contains mixed spaces and tabs. You can fix it with:
> 
>     sed -r -i 's/\t/        /g' plotmm.spec
> 
>   See rpmlint diagnostics:
> 
>     plotmm.spec:44: W: mixed-use-of-spaces-and-tabs (spaces: line 10, tab:
> line 44)
>     plotmm.spec:44: W: mixed-use-of-spaces-and-tabs (spaces: line 10, tab:
> line 44)

Done.

> - I think all of these rpmlint messages are spurious and require no action:
> 
>     plotmm.src: W: strange-permission plotmm.spec 600

That looks like `fedpkg srpm` created it that way. Will have to investigate
this at some point.

>     plotmm.x86_64: E: shlib-policy-name-error 0
>     plotmm-examples.x86_64: W: no-documentation
>     plotmm-devel.x86_64: W: missing-dependency-on
> plotmm*/plotmm-libs/libplotmm* = 0.1.2

Yeah, the %{?_isa}-ified Requires: is there.

>     plotmm.x86_64: E: invalid-ldconfig-symlink /usr/lib64/libplotmm.so.0.0.0
> libplotmm.so.0.0.0

🤔 Maybe it's weirded out because the package is called `plotmm` instead of
`libplotmm`?

>     plotmm-devel.x86_64: W: files-duplicate
> /usr/share/doc/plotmm-devel/html/
> class_plot_m_m_1_1_error_curve__inherit__graph.dot
> /usr/share/doc/plotmm-devel/html/class_plot_m_m_1_1_error_curve__coll__graph.
> dot
> …

I'll run hardlink to deduplicate the installed files.

> - Simple man pages explaining what the examples do would be nice, but are not
>   required. See rpmlint diagnostics:
> 
>     plotmm-examples.x86_64: W: no-manual-page-for-binary plotmm-curves
>     plotmm-examples.x86_64: W: no-manual-page-for-binary plotmm-simple
> 
>   and also
>   https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages.

To be honest, I'm not sure if anyone even needs these. At this point it's mere
inertia to drag the example programs along. 😉

> - This should be reported upstream, although given plotmm seems to be
>   abandoned, I wouldn’t expect doing so to accomplish anything.
> 
>     plotmm.x86_64: E: incorrect-fsf-address
> /usr/share/licenses/plotmm/COPYING
> 
>   You are required to report this, but you must not patch the file yourself;
> see
>   https://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address.

Filed here: https://sourceforge.net/p/plotmm/bugs/5/

Because there is no (new) git history, the release number didn't change. You
can therefore find the updated files in the same places, I've moved the old
versions into a subdirectory (…/old/1):

Spec URL: https://nphilipp.fedorapeople.org/review/plotmm/plotmm.spec
SRPM URL:
https://nphilipp.fedorapeople.org/review/plotmm/plotmm-0.1.2-2.fc36.src.rpm


-- 
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
https://bugzilla.redhat.com/show_bug.cgi?id=2022554
_______________________________________________
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
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




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

  Powered by Linux