Bug 562366 - Review request: zinnia - online handwriting recognition system with machine learning
Summary: Review request: zinnia - online handwriting recognition system with machine l...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Chen Lei
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 570731
TreeView+ depends on / blocked
 
Reported: 2010-02-06 07:55 UTC by Liang Suilong
Modified: 2014-09-29 11:57 UTC (History)
11 users (show)

Fixed In Version: zinnia-0.05-4.fc13
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-13 02:27:11 UTC
supercyper1: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Liang Suilong 2010-02-06 07:55:51 UTC
SPEC: http://dl.dropbox.com/u/1352061/zinnia.spec
SRPM: /home/share/Dropbox/Public/zinnia-0.05-1.fc12.src.rpm

Description:
Zinnia provides a simple, customizable, and portable dynamic OCR
system for hand-written input, based on Support Vector Machines.

Zinnia simply receives user pen strokes as coordinate data and outputs
the best matching characters sorted by SVM confidence. To maintain
portability, it has no rendering functionality. In addition to
recognition, Zinnia provides a training module capable of creating
highly efficient handwriting recognition models.

This package contains the shared libraries.


Building result On Koji: 
http://koji.fedoraproject.org/koji/taskinfo?taskID=1966153

Comment 1 Liang Suilong 2010-02-06 07:59:02 UTC
Sorry, I copy a wrong address of SRPM..

Here is the right one. 

SPEC: http://dl.dropbox.com/u/1352061/zinnia.spec
SRPM: http://dl.dropbox.com/u/1352061/zinnia-0.05-1.fc12.src.rpm

Comment 2 manuel wolfshant 2010-02-06 10:33:54 UTC
Liang, the correct usage of bugzilla flags is here: http://fedoraproject.org/wiki/Package_Review_Process#Definitions_for_fedora-review_Flag_Settings

Comment 3 Liang Suilong 2010-02-06 13:56:10 UTC
(In reply to comment #2)
> Liang, the correct usage of bugzilla flags is here:
> http://fedoraproject.org/wiki/Package_Review_Process#Definitions_for_fedora-review_Flag_Settings    

Thank you for your reminding. I am so sorry that I forget it.

Additionally, Could you review this request?

Comment 4 Chen Lei 2010-03-03 03:15:09 UTC
Liang, 
Rename subpackage to (-n python and -n perl) and enable java wrapper, I'll take a formal review.

see http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Addon_Packages_.28python3_modules.29

Comment 5 Chen Lei 2010-03-03 03:18:58 UTC
-n python and -n perl should be python and perl, -n is not needed for subpackages.

Comment 6 Liang Suilong 2010-03-03 04:49:58 UTC
Thank you. But I do not think it is necessary to enable java wrapper. There is no any document for java wrapper. And java wrapper seems not to work. Another Linux distributions do not offer java wrapper for zinnia.

Comment 7 Liang Suilong 2010-03-03 05:48:19 UTC
I update the package, zinnia-0.05-2. Here is the new SRPM file and SPEC file. 

SPEC:  https://dl.dropbox.com/u/1352061/zinnia.spec
SRPM: https://dl.dropbox.com/u/1352061/zinnia-0.05-1.fc12.src.rpm


Koji result:
F12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2027007
devel (F14): http://koji.fedoraproject.org/koji/taskinfo?taskID=2027012

Comment 8 Liang Suilong 2010-03-03 05:51:44 UTC
Sorry, I upload the wrong files. Here are the right files. 

SPEC:  https://dl.dropbox.com/u/1352061/zinnia.spec
SRPM: https://dl.dropbox.com/u/1352061/zinnia-0.05-2.fc12.src.rpm

The results of Koji are correct.

Comment 9 Chen Lei 2010-03-03 07:25:30 UTC
Some comments:
1.
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%define python 2.6
%ifarch x86_64 ppc64
%define python_sitelib /usr/lib64/python%{?python}/site-packages
%endif
->
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif

2.Requires:	python, db4
->
Explicit requires is not needed
3.python-devel
->
python2-devel

4.License:	GPLv2+
->
not right, see Copying
5.Url http://zinnia.sourceforget.net
-> http://zinnia.sourceforge.net/
6.%package 	utils
Summary:	Utils for the zinnia library
Group:		Development/Libraries
-> group is not right, run "less /usr/share/doc/rpm-*/GROUPS" to see the complete list.
7.%package 	docs
Summary:	Documents for the zinnia library
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}
->
fedora recommend to use *-doc as the subpackage name, and Documentation as the value of the Group tag. 
Also -doc subpackage is noarch
8.
Choose %{__python} or python, not use both.
9.cp -pfr doc $RPM_BUILD_ROOT%{_docdir}/%{name}
->
-doc subpackage should locate in %{name}-%{version}-doc or %{name}-{version}
So "%doc doc" in the %file section of -doc subpackage is enough
10.
%doc   INSTALL 
%{_libdir}/lib%{name}.la
INSTALL and *.la files should be removed after install
11.
%files	perl
->
.packlist and empty *.bs files should be removed after install
12.
%{python_sitelib}
->
%{python_sitearch}/

Comment 10 Chen Lei 2010-03-03 07:41:58 UTC
BTW,empty %doc should not be used, it'll create spare dirs.

Comment 11 Liang Suilong 2010-03-03 09:13:00 UTC
(In reply to comment #9)
> Some comments:
> 1.
> %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print get_python_lib()")}
> %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
> %define python 2.6
> %ifarch x86_64 ppc64
> %define python_sitelib /usr/lib64/python%{?python}/site-packages
> %endif
> ->
> %if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
> %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print(get_python_lib())")}
> %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
> %endif
> 

No, if python packages are built on 64bit and the packages are not noarch, packages should define the python_sitelib again. If you do not do it, while running %files section, rpmbuild will fail.

> 2.Requires: python, db4
> ->
Exactly they should be removed.
 
> Explicit requires is not needed
> 3.python-devel
> ->
> python2-devel
> 
No, In Fedora, python 2.x series is still named as python and python-devel. Python2 and python2-devel does not exit, although python3 will get into Fedora 13. 

> 4.License: GPLv2+
> ->
> not right, see Copying
I will correct it.

> 5.Url http://zinnia.sourceforget.net
> -> http://zinnia.sourceforge.net/
Add a "/" seems to be unimportant. 

> 6.%package  utils
> Summary: Utils for the zinnia library
> Group:  Development/Libraries
> -> group is not right, run "less /usr/share/doc/rpm-*/GROUPS" to see the
> complete list.

OK, i will follow it. 

> 7.%package  docs
> Summary: Documents for the zinnia library
> Group:  Development/Libraries
> Requires: %{name} = %{version}-%{release}
> ->
> fedora recommend to use *-doc as the subpackage name, and Documentation as the
> value of the Group tag. 
> Also -doc subpackage is noarch

In Fedora, many document packages are sitll named as *-docs. But I will rename this package as zinnia-doc. 
BuildArch: noarch should be added. 

> 8.
> Choose %{__python} or python, not use both.

just for workable. Using a unified name should be better. 

> 9.cp -pfr doc $RPM_BUILD_ROOT%{_docdir}/%{name}
> ->
> -doc subpackage should locate in %{name}-%{version}-doc or %{name}-{version}
> So "%doc doc" in the %file section of -doc subpackage is enough
> 10.
> %doc   INSTALL 
> %{_libdir}/lib%{name}.la
> INSTALL and *.la files should be removed after install
> 11.
> %files perl
> ->
> .packlist and empty *.bs files should be removed after install
I can not understand what you say about %files perl

> 12.
> %{python_sitelib}
> ->
> %{python_sitearch}/

Comment 12 Chen Lei 2010-03-03 09:26:21 UTC
(In reply to comment #11)
> (In reply to comment #9)
> > Some comments:
> > 1.
> > %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> > distutils.sysconfig import get_python_lib; print get_python_lib()")}
> > %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> > distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
> > %define python 2.6
> > %ifarch x86_64 ppc64
> > %define python_sitelib /usr/lib64/python%{?python}/site-packages
> > %endif
> > ->
> > %if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
> > %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> > distutils.sysconfig import get_python_lib; print(get_python_lib())")}
> > %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> > distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
> > %endif
> > 
> No, if python packages are built on 64bit and the packages are not noarch,
> packages should define the python_sitelib again. If you do not do it, while
> running %files section, rpmbuild will fail.
For arch specfic package, python packages use python_sitearch, python_sitelib is desired for noarch package only.




> > 2.Requires: python, db4
> > ->
> Exactly they should be removed.
> > Explicit requires is not needed
> > 3.python-devel
> > ->
> > python2-devel
> > 
> No, In Fedora, python 2.x series is still named as python and python-devel.
> Python2 and python2-devel does not exit, although python3 will get into Fedora
> 13. 

python2-devel is provided by python-devel
rpm -q --whatprovides python2-devel
For new python package guideline, we use python2-devel instead of python-devel

> > 4.License: GPLv2+
> > ->
> > not right, see Copying
> I will correct it.
> > 5.Url http://zinnia.sourceforget.net
> > -> http://zinnia.sourceforge.net/
> Add a "/" seems to be unimportant. 
sourceforget are wrong!


> > 6.%package  utils
> > Summary: Utils for the zinnia library
> > Group:  Development/Libraries
> > -> group is not right, run "less /usr/share/doc/rpm-*/GROUPS" to see the
> > complete list.
> OK, i will follow it. 
> > 7.%package  docs
> > Summary: Documents for the zinnia library
> > Group:  Development/Libraries
> > Requires: %{name} = %{version}-%{release}
> > ->
> > fedora recommend to use *-doc as the subpackage name, and Documentation as the
> > value of the Group tag. 
> > Also -doc subpackage is noarch
> In Fedora, many document packages are sitll named as *-docs. But I will rename
> this package as zinnia-doc. 
> BuildArch: noarch should be added. 
> > 8.
> > Choose %{__python} or python, not use both.
> just for workable. Using a unified name should be better. 
> > 9.cp -pfr doc $RPM_BUILD_ROOT%{_docdir}/%{name}
> > ->
> > -doc subpackage should locate in %{name}-%{version}-doc or %{name}-{version}
> > So "%doc doc" in the %file section of -doc subpackage is enough
> > 10.
> > %doc   INSTALL 
> > %{_libdir}/lib%{name}.la
> > INSTALL and *.la files should be removed after install
> > 11.
> > %files perl
> > ->
> > .packlist and empty *.bs files should be removed after install
> I can not understand what you say about %files perl
rpm -ql zinnia-perl, you'll find what I say.


> > 12.
> > %{python_sitelib}
> > ->
> > %{python_sitearch}/    

For arch specfic packages, we must use python_sitearch.

Comment 13 Chen Lei 2010-03-03 11:40:07 UTC
Some additional comments :

1.perl-devel should not be used explicitly, use perl(ExtUtils::MakeMaker) instead.

2..pyc files should be remove in prep section.


3.PERL_INSTALL_ROOT->
DESTDIR 
4.
If posslible, you should do %check section after %install especially for perl wrapper

%check
#for C/C++ shared lib
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make check
#for perl wrapper
pushd perl
make test
popd
for python wrapper
pushd python
%{__python} setup.py test

Comment 14 Liang Suilong 2010-03-04 16:16:51 UTC
(In reply to comment #13)
> Some additional comments :
> 
> 3.PERL_INSTALL_ROOT->
> DESTDIR 

The temple of cpan spec is using PERL_INSTALL_ROOT by default.

Comment 15 Chen Lei 2010-03-05 02:17:53 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > Some additional comments :
> > 
> > 3.PERL_INSTALL_ROOT->
> > DESTDIR 
> 
> The temple of cpan spec is using PERL_INSTALL_ROOT by default.    

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

Comment 16 Liang Suilong 2010-03-09 08:00:30 UTC
Whether I  added LD_LIBRARY_PATH=%{buildroot}%{_libdir}, the test of python and perl failed. It seems to lack some library that the test needs. 

+ python test.py
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    import zinnia
  File "/home/fedora/rpmbuild/BUILD/zinnia-0.05/python/zinnia.py", line 25, in <module>
    _zinnia = swig_import_helper()
  File "/home/fedora/rpmbuild/BUILD/zinnia-0.05/python/zinnia.py", line 17, in swig_import_helper
    import _zinnia
ImportError: No module named _zinnia
error: Bad exit status from /var/tmp/rpm-tmp.OiRnPH (%check)

the test of perl without LD_LIBRARY_PATH=%{buildroot}%{_libdir}
+ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
Can't load '/home/fedora/rpmbuild/BUILD/zinnia-0.05/perl/blib/arch/auto/zinnia/zinnia.so' for module zinnia: libzinnia.so.0: cannot open shared object file: No such file or directory at /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/DynaLoader.pm line 203.
 at /home/fedora/rpmbuild/BUILD/zinnia-0.05/perl/blib/lib/zinnia.pm line 11
Compilation failed in require at test.pl line 6.
BEGIN failed--compilation aborted at test.pl line 6.
make: *** [test_dynamic] Error 255
error: Bad exit status from /var/tmp/rpm-tmp.lpeD52 (%check)

the test of perl with LD_LIBRARY_PATH=%{buildroot}%{_libdir}
+ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
0.05
No such file or directory: cannot open
make: *** [test_dynamic] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.ldwoL5 (%check)

Should we give up the %check section? It requires a lot of libraries.

Comment 17 Chen Lei 2010-03-09 09:00:15 UTC
I'll be lenient with %check section.

The test of zinna must have handwriting-ja.model exist which was included in the zinnia-tomoe package, however zinnia-tomoe itself depends on zinnia.

After packaging zinnia and zinnia-tomoe, I sucessfully test the zinnia python wrapper in my computer.
python test.py 
と	0.960155
壞	-0.925115
覩	-0.927522
弟	-0.936278
差	-0.940077
切	-0.941255
杜	-0.943064
往	-0.943233
灯	-0.943703
春	-0.461282
香	-0.983121
佶	-1.007118
背	-1.185125
酋	-1.242691
俺	-1.270646
孝	-1.294053
牛	-1.315449
荅	-1.330078

Comment 18 Liang Suilong 2010-03-09 12:18:14 UTC
So I delete %check section. As I see, it is not necessary. 

Later I will put a newer SRPM file and SPEC file.

Comment 20 Chen Lei 2010-03-10 05:53:17 UTC
rpmlint *
zinnia.src: W: summary-not-capitalized C online handwriting recognition system with machine learning->
Online handwriting recognition system with machine learning

zinnia.src: W: spelling-error %description -l en_US customizable -> customization, customize, customarily
zinnia.src: W: non-coherent-filename zinnia-0.05-3.fc14.src.rpm zinnia-0.05-3.fc14.x86_64.rpm->


zinnia.src: W: strange-permission zinnia-0.05.tar.gz 0777L
zinnia.src: W: strange-permission zinnia-0.05-bindings.patch 0777L
zinnia.src: W: strange-permission zinnia.spec 0777L->
chmod 644 

zinnia.x86_64: W: summary-not-capitalized C online handwriting recognition system with machine learning
zinnia.x86_64: W: spelling-error %description -l en_US customizable -> customization, customize, customarily
zinnia.x86_64: W: shared-lib-calls-exit /usr/lib64/libzinnia.so.0.0.0 exit@GLIBC_2.2.5
zinnia.x86_64: E: zero-length /usr/share/doc/zinnia-0.05/ChangeLog
->
in %prep
find . -type f -name ChangeLog -size 0c -exec rm -f {} ';'

zinnia-devel.x86_64: W: no-documentation
zinnia-doc.noarch: W: file-not-utf8 /usr/share/doc/zinnia-doc-0.05/doc/zinnia.css->
In %prep
sed -i 's/\r//' doc/zinnia.css


zinnia-perl.x86_64: W: no-documentation
zinnia-perl.x86_64: E: non-standard-executable-perm /usr/lib64/perl5/auto/zinnia/zinnia.so 0555L->
chmod 755


zinnia-python.x86_64: W: no-documentation
zinnia-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/zinnia ['/usr/lib64']
zinnia-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/zinnia_convert ['/usr/lib64']
zinnia-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/zinnia_learn ['/usr/lib64']
->
After %configure
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool


zinnia-utils.x86_64: W: no-documentation
8 packages and 0 specfiles checked; 5 errors, 14 warnings.


I recommend the following changes:
#%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
#%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}

%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif
->
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif


rm -f python/%{name}.pyc
->
find . -type f -name "*.pyc" -exec rm -f {} ';'

rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la
rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/%{name}.bs
rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/.packlist
->
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name "*.bs" -size 0c -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
 
Note:.bs file is useful if it's not a empty file

%description	utils
The %{name}-utils package provide utils for zinnia library that 
use %{name}.
->
%description	utils
The %{name}-utils package provides utilities for zinnia library that 
use %{name}.

python setup.py install --root $RPM_BUILD_ROOT
->
%{__python} setup.py install --root $RPM_BUILD_ROOT

Note: Choose %{__python} or python, not use both

CFLAGS="%{optflags}"
->
CFLAGS="$RPM_OPT_FLAGS"

Note: Choose %{optflags} or $RPM_OPT_FLAGS, not use both

%doc doc
->%doc doc/*

Comment 21 Liang Suilong 2010-03-10 08:20:06 UTC
(In reply to comment #20)
> rpmlint *
> zinnia.src: W: summary-not-capitalized C online handwriting recognition system
> with machine learning->
> Online handwriting recognition system with machine learning
> 
> zinnia.src: W: spelling-error %description -l en_US customizable ->
> customization, customize, customarily
> zinnia.src: W: non-coherent-filename zinnia-0.05-3.fc14.src.rpm
> zinnia-0.05-3.fc14.x86_64.rpm->
> 
> 
> zinnia.src: W: strange-permission zinnia-0.05.tar.gz 0777L
> zinnia.src: W: strange-permission zinnia-0.05-bindings.patch 0777L
> zinnia.src: W: strange-permission zinnia.spec 0777L->
> chmod 644 
> 
> zinnia.x86_64: W: summary-not-capitalized C online handwriting recognition
> system with machine learning
> zinnia.x86_64: W: spelling-error %description -l en_US customizable ->
> customization, customize, customarily

> zinnia.x86_64: W: shared-lib-calls-exit /usr/lib64/libzinnia.so.0.0.0
> exit@GLIBC_2.2.5
This warning still appears. I think that it needs a patch of source codes. I do not know how to fix it. Could you help me write a patch? 

> zinnia.x86_64: E: zero-length /usr/share/doc/zinnia-0.05/ChangeLog
> ->
> in %prep
> find . -type f -name ChangeLog -size 0c -exec rm -f {} ';'
> 
> zinnia-devel.x86_64: W: no-documentation
Here I add %doc README COPYING in all %file sections. The warning disappears. Is it OK?

> zinnia-doc.noarch: W: file-not-utf8
> /usr/share/doc/zinnia-doc-0.05/doc/zinnia.css->
> In %prep
> sed -i 's/\r//' doc/zinnia.css
It seems not to work. I add them in %prep

pushd doc
iconv -f latin1 -t utf8 zinnia.css > zinnia.css.bak 
mv -f zinnia.css.bak zinnia.css
popd

> 
> 
> zinnia-perl.x86_64: W: no-documentation
> zinnia-perl.x86_64: E: non-standard-executable-perm
> /usr/lib64/perl5/auto/zinnia/zinnia.so 0555L->
> chmod 755
> 
> 
> zinnia-python.x86_64: W: no-documentation
> zinnia-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/zinnia
> ['/usr/lib64']
> zinnia-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/zinnia_convert
> ['/usr/lib64']
> zinnia-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/zinnia_learn
> ['/usr/lib64']
> ->
> After %configure
> sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
> sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
> 
> 
> zinnia-utils.x86_64: W: no-documentation
> 8 packages and 0 specfiles checked; 5 errors, 14 warnings.
> 
> 
> I recommend the following changes:
> #%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print get_python_lib()")}
> #%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
> 
> %if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
> %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print(get_python_lib())")}
> %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
> %endif
> ->
> %if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
> %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print(get_python_lib())")}
> %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from
> distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
> %endif
> 
> 
> rm -f python/%{name}.pyc
> ->
> find . -type f -name "*.pyc" -exec rm -f {} ';'
> 
> rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la
> rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/%{name}.bs
> rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/.packlist
> ->
> find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
> find $RPM_BUILD_ROOT -type f -name "*.bs" -size 0c -exec rm -f {} ';'
> find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
> 
> Note:.bs file is useful if it's not a empty file
> 
> %description utils
> The %{name}-utils package provide utils for zinnia library that 
> use %{name}.
> ->
> %description utils
> The %{name}-utils package provides utilities for zinnia library that 
> use %{name}.
> 
> python setup.py install --root $RPM_BUILD_ROOT
> ->
> %{__python} setup.py install --root $RPM_BUILD_ROOT
> 
> Note: Choose %{__python} or python, not use both
> 
> CFLAGS="%{optflags}"
> ->
> CFLAGS="$RPM_OPT_FLAGS"
> 
> Note: Choose %{optflags} or $RPM_OPT_FLAGS, not use both
> 
> %doc doc
> ->%doc doc/*    

The package has the last warning: 
zinnia.x86_64: W: shared-lib-calls-exit /usr/lib64/libzinnia.so.0.0.0

SPEC: https://dl.dropbox.com/u/1352061/zinnia.spec
SRPM: https://dl.dropbox.com/u/1352061/zinnia-0.05-4.fc12.src.rpm

Comment 22 Chen Lei 2010-03-10 12:25:04 UTC
rpmlint is not everything, we should no rely on it, especially for spelling.

> zinnia.src: W: spelling-error %description -l en_US customizable ->
> customization, customize, customarily
customizable is right, here we need a adjective.


zinnia.x86_64: W: shared-lib-calls-exit /usr/lib64/libzinnia.so.0.0.0
> exit@GLIBC_2.2.5
The warning may be lead by other share-libs.

Here I add %doc README COPYING in all %file sections. The warning disappears.
Is it OK?

We don't need add README COPYING to -devel, -utils, -perl, -python subpackages, the warnings can be omitted.

Comment 23 Chen Lei 2010-03-10 12:31:03 UTC
formal review here:

 +:ok, =:needs attention, -:needs fixing

MUST Items:
[+] MUST: rpmlint must be run on every package.
<<output if not already posted>>
[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must meet the Packaging Guidelines. [FIXME?: covers this
list and more]
[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.
[+] MUST: The License field in the package spec file must match the actual
license.
[+] MUST: If (and only if) the source package includes the text of the
license(s) in its own file, then that file, containing the text of the
license(s) for the package must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
<<md5sum checksum>>78462a619ad63772683666e3eefc092e
[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.
[N/A] MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
[+] MUST: All build dependencies must be listed in BuildRequires
[N/A] MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro.
[+] MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.
[N/A] MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review
[+] MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory.
[-] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example. Every %files section must include a
%defattr(...) line.
[+] MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.
[N/A] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.
[N/A] MUST: Large documentation files should go in a doc subpackage.
[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.
[+] MUST: Header files must be in a -devel package.
[N/A] MUST: Static libraries must be in a -static package.
[+] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go in
a -devel package.
[+] MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release} 
[+] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.
[N/A] MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.
[+] MUST: Packages must not own files or directories already owned by other
packages.
[+] MUST: At the beginning of %install, each package MUST run rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: All filenames in rpm packages must be valid UTF-8.

SHOULD Items:
[N/A] SHOULD: If the source package does not include license text(s) as a
separate file from upstream, the packager SHOULD query upstream to include it.
[N/A] SHOULD: The description and summary sections in the package spec file
should contain translations for supported Non-English languages, if available.
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all
supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[+] SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.
[+] SHOULD: The placement of pkgconfig(.pc) files depends on their usecase,
and this is usually for development purposes, so should be placed in a -devel
pkg. A reasonable exception is that the main pkg itself is a devel tool not
installed in a user runtime, e.g. gcc or gdb.
[+] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself.
[+] SHOULD: Packages should try to preserve timestamps of original installed
files.

Comment 24 Chen Lei 2010-03-10 15:32:24 UTC
================
*** APPROVED ***
================

Comment 25 Liang Suilong 2010-03-10 15:53:14 UTC
New Package CVS Request
=======================
Package Name: zinnia
Short Description: Online handwriting recognition system with machine learning
Owners: liangsuilong
Branches: F-11 F-12 F-13 devel
InitialCC: liangsuilong
Cvsextras Commits: yes

Comment 26 Jason Tibbitts 2010-03-10 22:23:18 UTC
CVS done (by process-cvs-requests.py).

Comment 27 Fedora Update System 2010-03-11 14:25:00 UTC
zinnia-0.05-4.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc11

Comment 28 Fedora Update System 2010-03-11 14:25:07 UTC
zinnia-0.05-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc12

Comment 29 Fedora Update System 2010-03-11 14:25:14 UTC
zinnia-0.05-4.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc13

Comment 30 Fedora Update System 2010-03-12 04:18:15 UTC
zinnia-0.05-4.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update zinnia'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc12

Comment 31 Fedora Update System 2010-03-12 04:28:23 UTC
zinnia-0.05-4.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update zinnia'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc13

Comment 32 Fedora Update System 2010-03-12 04:29:48 UTC
zinnia-0.05-4.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update zinnia'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc11

Comment 33 Fedora Update System 2010-03-13 02:27:05 UTC
zinnia-0.05-4.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 34 Fedora Update System 2010-03-13 02:31:35 UTC
zinnia-0.05-4.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 35 Fedora Update System 2010-03-13 02:34:24 UTC
zinnia-0.05-4.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 36 Peng Wu 2011-08-23 07:27:15 UTC
Package Change Request
======================
Package Name: zinnia
New Branches: el6
Owners: pwu
InitialCC: liangsuilong i18n-team petersen

Comment 37 Gwyn Ciesla 2011-08-23 13:01:12 UTC
Git done (by process-git-requests).

Comment 38 Peng Wu 2011-09-08 03:14:22 UTC
Sorry, I missed to apply el5 branch last time.

Comment 39 Peng Wu 2011-09-08 03:18:11 UTC
Package Change Request
======================
Package Name: zinnia
New Branches: el5
Owners: pwu
InitialCC: liangsuilong i18n-team petersen

Comment 40 Gwyn Ciesla 2011-09-09 12:11:11 UTC
Git done (by process-git-requests).

Comment 41 Peng Wu 2014-09-29 09:44:14 UTC
Package Change Request
======================
Package Name: zinnia
New Branches: epel7
Owners: pwu

Comment 42 Gwyn Ciesla 2014-09-29 11:57:18 UTC
Git done (by process-git-requests).


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