Bug 562366
| Summary: | Review request: zinnia - online handwriting recognition system with machine learning | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Liang Suilong <liangsuilong> |
| Component: | Package Review | Assignee: | Chen Lei <supercyper1> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | rawhide | CC: | fabian.deutsch, fedora-package-review, i18n-bugs, liangsuilong, mtasaka, notting, panemade, petersen, phuang, pwu, supercyper1 |
| Target Milestone: | --- | Flags: | supercyper1:
fedora-review+
gwync: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | zinnia-0.05-4.fc13 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-03-13 02:27:11 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: | |||
| Bug Depends On: | |||
| Bug Blocks: | 570731 | ||
|
Description
Liang Suilong
2010-02-06 07:55:51 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 Liang, the correct usage of bugzilla flags is here: http://fedoraproject.org/wiki/Package_Review_Process#Definitions_for_fedora-review_Flag_Settings (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? 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 -n python and -n perl should be python and perl, -n is not needed for subpackages. 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. 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 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. 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}/
BTW,empty %doc should not be used, it'll create spare dirs. (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}/ (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. 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
(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. (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 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.
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 So I delete %check section. As I see, it is not necessary. Later I will put a newer SRPM file and SPEC file. Koji result: f12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2041631 devel: http://koji.fedoraproject.org/koji/taskinfo?taskID=2041689 the latest SPEC file and SRPM file: SPEC: https://dl.dropbox.com/u/1352061/zinnia.spec SRPM: https://dl.dropbox.com/u/1352061/zinnia-0.05-3.fc12.src.rpm 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.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/*
(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.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 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.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. 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.
================ *** APPROVED *** ================ 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 CVS done (by process-cvs-requests.py). zinnia-0.05-4.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc11 zinnia-0.05-4.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc12 zinnia-0.05-4.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/zinnia-0.05-4.fc13 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 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 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 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. 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. 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. Package Change Request ====================== Package Name: zinnia New Branches: el6 Owners: pwu InitialCC: liangsuilong i18n-team petersen Git done (by process-git-requests). Sorry, I missed to apply el5 branch last time. Package Change Request ====================== Package Name: zinnia New Branches: el5 Owners: pwu InitialCC: liangsuilong i18n-team petersen Git done (by process-git-requests). Package Change Request ====================== Package Name: zinnia New Branches: epel7 Owners: pwu Git done (by process-git-requests). |