Bug 1352408 (lasem) - Review Request: lasem - A library for rendering SVG and Mathml, implementing a DOM like API
Summary: Review Request: lasem - A library for rendering SVG and Mathml, implementing ...
Keywords:
Status: CLOSED ERRATA
Alias: lasem
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Igor Gnatenko
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-04 06:24 UTC by Julian Sikorski
Modified: 2016-09-09 16:55 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-09 16:53:59 UTC
Type: ---
Embargoed:
ignatenko: fedora-review+


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.