Bug 1352408 (lasem)

Summary: Review Request: lasem - A library for rendering SVG and Mathml, implementing a DOM like API
Product: [Fedora] Fedora Reporter: Julian Sikorski <belegdol>
Component: Package ReviewAssignee: Igor Gnatenko <ignatenko>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review
Target Milestone: ---Flags: ignatenko: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-09 16:53:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Julian Sikorski 2016-07-04 06:24:18 UTC
Spec URL: https://belegdol.fedorapeople.org/lasem/lasem.spec
SRPM URL: https://belegdol.fedorapeople.org/lasem/lasem-0.4.3-1.fc22.src.rpm
Description: Lasem is a library for rendering SVG and Mathml, implementing a DOM like API.
It's based on GObject and use Pango and Cairo for the rendering.
Fedora Account System Username: belegdol

Comment 1 Igor Gnatenko 2016-07-07 13:02:45 UTC
Missing BuildRequires: gcc

> BuildRequires:  intltool
I would add also BuildRequires: gettext

> Requires:       pkg-config
Drop it

> make %{?_smp_mflags}
could be replaced with %make_build

> rm -rf $RPM_BUILD_ROOT
Drop it

> find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print

> %find_lang %{name} --all-name
I think --all-name is not needed, but not sure.

> %{_datadir}/gtk-doc/html/%{name}-0.4
%doc %{_datadir}/gtk-doc/html/%{name}-0.4

> $RPM_BUILD_ROOT
%{buildroot}

also would be great to do: %global apiver 0.4 and use it in %files.

Comment 2 Julian Sikorski 2016-07-07 21:51:49 UTC
(In reply to Igor Gnatenko from comment #1)
Thank you for taking the review! Please find my feedback below:

> Missing BuildRequires: gcc

Has something changed? I thought gcc was part of minimal buildroot and does not need to be required explicitly. In any case, something is pulling it in as the build is working.

> > BuildRequires:  intltool
> I would add also BuildRequires: gettext

Intltool pulls gettext by requiring gettext-devel, is an explicit requirement necessary?

> > Requires:       pkg-config
> Drop it

OK

> > make %{?_smp_mflags}
> could be replaced with %make_build

OK, it was not in the template created by rpmdev-newspec on f22.

> > rm -rf $RPM_BUILD_ROOT
> Drop it

Why? rpmdev-newspec still put it in as of f24

> > find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
> find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print

Why is this needed? The version I have now is what rpmdev-newspec as of f24 enters.

> > %find_lang %{name} --all-name
> I think --all-name is not needed, but not sure.
 
I replaced it with %{name}-%{apiver}

> > %{_datadir}/gtk-doc/html/%{name}-0.4
> %doc %{_datadir}/gtk-doc/html/%{name}-0.4

OK

> > $RPM_BUILD_ROOT
> %{buildroot}

I prefer the variable format and as per current guidelines [1] both are acceptable.

> 
> also would be great to do: %global apiver 0.4 and use it in %files.

OK

New releases:
Spec URL: https://belegdol.fedorapeople.org/lasem/lasem.spec
SRPM URL: https://belegdol.fedorapeople.org/lasem/lasem-0.4.3-2.fc24.src.rpm

[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS

Comment 3 Igor Gnatenko 2016-07-08 05:51:03 UTC
(In reply to Julian Sikorski from comment #2)
> (In reply to Igor Gnatenko from comment #1)
> Thank you for taking the review! Please find my feedback below:
> 
> > Missing BuildRequires: gcc
> 
> Has something changed? I thought gcc was part of minimal buildroot and does
> not need to be required explicitly. In any case, something is pulling it in
> as the build is working.
Something changed. Since (~ f23) it's required to put all BRs like gcc.
> 
> > > BuildRequires:  intltool
> > I would add also BuildRequires: gettext
> 
> Intltool pulls gettext by requiring gettext-devel, is an explicit
> requirement necessary?
No, hopefully at some point upstream will stop using intltool and we will switch to gettext.
> 
> > > Requires:       pkg-config
> > Drop it
> 
> OK
> 
> > > make %{?_smp_mflags}
> > could be replaced with %make_build
> 
> OK, it was not in the template created by rpmdev-newspec on f22.
rpmdev-newspec is completely outdated.
> 
> > > rm -rf $RPM_BUILD_ROOT
> > Drop it
> 
> Why? rpmdev-newspec still put it in as of f24
It's not needed since ~ EL6.
> 
> > > find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
> > find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
> 
> Why is this needed? The version I have now is what rpmdev-newspec as of f24
> enters.
Not all packages maintained well. When you use -delete, it doesn't spawn any command, it just uses unlinkat().
> 
> > > %find_lang %{name} --all-name
> > I think --all-name is not needed, but not sure.
>  
> I replaced it with %{name}-%{apiver}
> 
> > > %{_datadir}/gtk-doc/html/%{name}-0.4
> > %doc %{_datadir}/gtk-doc/html/%{name}-0.4
> 
> OK


> %dir %{_datadir}/gtk-doc
> %dir %{_datadir}/gtk-doc/html
you don't need to do this.


> 
> > > $RPM_BUILD_ROOT
> > %{buildroot}
> 
> I prefer the variable format and as per current guidelines [1] both are
> acceptable.
hopefully it will be deprecated at some point. it's better to use %{buildroot}. but as you noted, it's up to you.
> 
> > 
> > also would be great to do: %global apiver 0.4 and use it in %files.
> 
> OK
> 
> New releases:
> Spec URL: https://belegdol.fedorapeople.org/lasem/lasem.spec
> SRPM URL: https://belegdol.fedorapeople.org/lasem/lasem-0.4.3-2.fc24.src.rpm
> 
> [1]
> https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.
> 7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS

Resolution: ALMOST GOOD

Comment 4 Julian Sikorski 2016-07-08 06:20:08 UTC
(In reply to Igor Gnatenko from comment #3)
> (In reply to Julian Sikorski from comment #2)
> > (In reply to Igor Gnatenko from comment #1)
> > Thank you for taking the review! Please find my feedback below:
> > 
> > > Missing BuildRequires: gcc
> > 
> > Has something changed? I thought gcc was part of minimal buildroot and does
> > not need to be required explicitly. In any case, something is pulling it in
> > as the build is working.
> Something changed. Since (~ f23) it's required to put all BRs like gcc.

Thank you! Will add it.

> > > > BuildRequires:  intltool
> > > I would add also BuildRequires: gettext
> > 
> > Intltool pulls gettext by requiring gettext-devel, is an explicit
> > requirement necessary?
> No, hopefully at some point upstream will stop using intltool and we will
> switch to gettext.

If/when it happens BR adjustment will be necessary anyway, so I prefer to keep things as they are.
 
> > > > Requires:       pkg-config
> > > Drop it
> > 
> > OK
> > 
> > > > make %{?_smp_mflags}
> > > could be replaced with %make_build
> > 
> > OK, it was not in the template created by rpmdev-newspec on f22.
> rpmdev-newspec is completely outdated.
> > 
> > > > rm -rf $RPM_BUILD_ROOT
> > > Drop it
> > 
> > Why? rpmdev-newspec still put it in as of f24
> It's not needed since ~ EL6.

Didn't know that, thank you! Will change it.

> > > > find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
> > > find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
> > 
> > Why is this needed? The version I have now is what rpmdev-newspec as of f24
> > enters.
> Not all packages maintained well. When you use -delete, it doesn't spawn any
> command, it just uses unlinkat().

Didn't know that either, thanks! Will change it too!
 
> > > > %find_lang %{name} --all-name
> > > I think --all-name is not needed, but not sure.
> >  
> > I replaced it with %{name}-%{apiver}
> > 
> > > > %{_datadir}/gtk-doc/html/%{name}-0.4
> > > %doc %{_datadir}/gtk-doc/html/%{name}-0.4
> > 
> > OK
> 
> 
> > %dir %{_datadir}/gtk-doc
> > %dir %{_datadir}/gtk-doc/html
> you don't need to do this.

I think I do - otherwise the directory ownership guideline [2] might be violated I think. lasem puts files in %{_datadir}/gtk-doc but does not depend on it, so it needs to own it. %doc only owns the lasem-0.4 folder.

> > 
> > > > $RPM_BUILD_ROOT
> > > %{buildroot}
> > 
> > I prefer the variable format and as per current guidelines [1] both are
> > acceptable.
> hopefully it will be deprecated at some point. it's better to use
> %{buildroot}. but as you noted, it's up to you.

Let's stay with variable version then.

> > > 
> > > also would be great to do: %global apiver 0.4 and use it in %files.
> > 
> > OK
> > 
> > New releases:
> > Spec URL: https://belegdol.fedorapeople.org/lasem/lasem.spec
> > SRPM URL: https://belegdol.fedorapeople.org/lasem/lasem-0.4.3-2.fc24.src.rpm
> > 
> > [1]
> > https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.
> > 7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS
> 
> Resolution: ALMOST GOOD

New releases:
Spec URL: https://belegdol.fedorapeople.org/lasem/lasem.spec
SRPM URL: https://belegdol.fedorapeople.org/lasem/lasem-0.4.3-3.fc24.src.rpm

[2] https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your_package_to_function

Comment 5 Igor Gnatenko 2016-07-08 07:20:26 UTC
> lasem.x86_64: W: shared-lib-calls-exit /usr/lib64/liblasem-0.4.so.4.0.3 exit.5
probably can be filled to upstream

> lasem.x86_64: E: incorrect-fsf-address /usr/share/licenses/lasem/COPYING
MUST be filled bug to upstream. Every file in src/ has incorrect FSF address

> I think I do - otherwise the directory ownership guideline [2] might be violated I think. lasem puts files in %{_datadir}/gtk-doc but does not depend on it, so it needs to own it. %doc only owns the lasem-0.4 folder.
I think with %doc it's not needed.


There is bundled itex2mml in sources, add following:
Licese: LGPLv2+ and GPLv2+
Provides: bundled(itex2mml) = 1.4.5
%license itex2mml/COPYING.itex2mml

Comment 6 Julian Sikorski 2016-07-08 19:59:43 UTC
(In reply to Igor Gnatenko from comment #5)
> > lasem.x86_64: W: shared-lib-calls-exit /usr/lib64/liblasem-0.4.so.4.0.3 exit.5
> probably can be filled to upstream

https://bugzilla.gnome.org/show_bug.cgi?id=768591

> > lasem.x86_64: E: incorrect-fsf-address /usr/share/licenses/lasem/COPYING
> MUST be filled bug to upstream. Every file in src/ has incorrect FSF address

https://bugzilla.gnome.org/show_bug.cgi?id=768590

> > I think I do - otherwise the directory ownership guideline [2] might be violated I think. lasem puts files in %{_datadir}/gtk-doc but does not depend on it, so it needs to own it. %doc only owns the lasem-0.4 folder.
> I think with %doc it's not needed.

Why? %doc or no %doc, files are getting placed in a folder which could be left dangling if package is uninstalled.

> There is bundled itex2mml in sources, add following:
> Licese: LGPLv2+ and GPLv2+

Not sure about this one... As per COPYING.itex2mml, itex2mml is tri-licensed: GPL, MPL and LGPL, with no version specified. On the other hand, licensecheck says it's GPLv3+

> Provides: bundled(itex2mml) = 1.4.5
> %license itex2mml/COPYING.itex2mml

Agreed

Comment 7 Julian Sikorski 2016-08-27 09:16:28 UTC
New releases:
Spec URL: https://belegdol.fedorapeople.org/lasem/lasem.spec
SRPM URL: https://belegdol.fedorapeople.org/lasem/lasem-0.4.3-4.fc24.src.rpm

I added itex2mml elements. Is there anything else?

Comment 8 Igor Gnatenko 2016-08-27 09:20:55 UTC
* $RPM_BUILD_ROOT -> %{buildroot}

Comment 9 Gwyn Ciesla 2016-08-29 12:43:19 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/lasem

Comment 10 Fedora Update System 2016-08-29 16:53:25 UTC
lasem-0.4.3-4.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-0580653585

Comment 11 Fedora Update System 2016-08-29 16:54:06 UTC
lasem-0.4.3-4.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-406d38c5ef

Comment 12 Fedora Update System 2016-08-29 16:54:24 UTC
lasem-0.4.3-4.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-4060940fc7

Comment 13 Fedora Update System 2016-08-31 03:53:07 UTC
lasem-0.4.3-4.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-0580653585

Comment 14 Fedora Update System 2016-08-31 12:58:00 UTC
lasem-0.4.3-4.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-406d38c5ef

Comment 15 Fedora Update System 2016-08-31 12:58:26 UTC
lasem-0.4.3-4.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-4060940fc7

Comment 16 Fedora Update System 2016-09-03 17:38:18 UTC
lasem-0.4.3-4.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2016-09-09 16:53:57 UTC
lasem-0.4.3-4.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2016-09-09 16:55:33 UTC
lasem-0.4.3-4.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.