Bug 687875
| Summary: | Review Request: aarddict - Multi-platform dictionary and offline Wikipedia reader | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | PRABIN KUMAR DATTA <linux.n.pkd> |
| Component: | Package Review | Assignee: | David Nalley <david> |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | david, fedora-package-review, linux.n.pkd, metherid, pahan, ppisar |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-07-11 00:46:29 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: | 201449 | ||
|
Description
PRABIN KUMAR DATTA
2011-03-15 16:08:14 UTC
Still Need Sponsor. Updated: Spec URL: http://prabindatta.fedorapeople.org/SPECS/aarddict.spec SRPM URL: http://prabindatta.fedorapeople.org/SRPMS/aarddict-0.9.1-1.fc15.src.rpm Koji Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2988409 rpmlint outputs: SPEC FILE: $ rpmlint -i rpmbuild/SPECS/aarddict.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. RPM FILE: $ rpmlint -i rpmbuild/RPMS/noarch/aarddict-0.9.1-1.fc15.noarch.rpm aarddict.noarch: W: spelling-error Summary(en_US) Multi -> Mulch, Mufti The value of this tag appears to be misspelled. Please double-check. aarddict.noarch: W: spelling-error %description -l en_US Aard -> Arad, Ard, Adar The value of this tag appears to be misspelled. Please double-check. aarddict.noarch: W: no-manual-page-for-binary aarddict Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 0 errors, 3 warnings. SRPM FILE: $ rpmlint -i rpmbuild/SRPMS/aarddict-0.9.1-1.fc15.src.rpm aarddict.src: W: spelling-error Summary(en_US) Multi -> Mulch, Mufti The value of this tag appears to be misspelled. Please double-check. aarddict.src: W: spelling-error %description -l en_US Aard -> Arad, Ard, Adar The value of this tag appears to be misspelled. Please double-check. 1 packages and 0 specfiles checked; 0 errors, 2 warnings. When you make changes, please increment release and annotate your changes in the changelog.
This is unnecessary, and in fact improper,:
%doc LICENSE doc/*
It should be:
%doc LICENSE
I think the following:
%{python_sitelib}/%{name}/*.*
%{python_sitelib}/%{name}/icons/*
%{python_sitelib}/%{name}/locale/qt_el.qm
%{python_sitelib}/%{name}/locale/qt_ru.qm
could be reduced to:
%{python_sitelib}/%{name}
Hi! David, Thank You, for your reply! /== > This is unnecessary, and in fact improper,: > %doc LICENSE doc/* > It should be: > %doc LICENSE ==/ Okay! I have added doc under a separate doc macro (used another package from fedora source repo as a reference for this). /== > I think the following: > %{python_sitelib}/%{name}/*.* > %{python_sitelib}/%{name}/icons/* > %{python_sitelib}/%{name}/locale/qt_el.qm > %{python_sitelib}/%{name}/locale/qt_ru.qm > could be reduced to: > %{python_sitelib}/%{name} ==/ If I try to write it as you have suggested then it will add two language files which are: * /usr/lib/python2.7/site-packages/aarddict/locale/ru/LC_MESSAGES/aarddict.mo and * /usr/lib/python2.7/site-packages/aarddict/locale/el/LC_MESSAGES/aarddict.mo But these two files are already added using "%files -f %{name}.lang" So, this will result in duplication of two same files. Thank You! Have a Nice Day! --- Updated: Spec URL: http://prabindatta.fedorapeople.org/SPECS/aarddict.spec SRPM URL: http://prabindatta.fedorapeople.org/SRPMS/aarddict-0.9.1-2.fc15.src.rpm NEED A SPONSOR. List of My Packages waiting for review: https://bugzilla.redhat.com/show_bug.cgi?id=687875 https://bugzilla.redhat.com/show_bug.cgi?id=688421 https://bugzilla.redhat.com/show_bug.cgi?id=692131 https://bugzilla.redhat.com/show_bug.cgi?id=698362 Updated:- Spec URL: http://prabindatta.fedorapeople.org/SPECS/aarddict.spec SRPM URL: http://prabindatta.fedorapeople.org/SRPMS/aarddict-0.9.1-3.fc14.src.rpm Hi Prabin: I'll take care of sponsoring you. Any chance you've done any informal reviews on others packages?? If so, please link them here in this ticket. If not, please consider doing one or two. Okay! Thanks, David. I like to inform you one thing about this package which I have missed to write here. (only written on PyICU review request page) i.e. this package "Requires: PyICU". (under review request by ME ) Review Request for PyICU: http://bugzilla.redhat.com/show_bug.cgi?id=688421 Informal reviews done my me: 1. http://bugzilla.redhat.com/show_bug.cgi?id=672205 2. http://bugzilla.redhat.com/show_bug.cgi?id=673585 [OK] MUST: rpmlint must be run on every package
[ke4qqq@nalleyx200 SPECS]$ rpmlint ./aarddict.spec ../SRPMS/aarddict-0.9.1-3.fc14.src.rpm ../RPMS/noarch/aarddict-0.9.1-3.fc14.noarch.rpm
aarddict.src: W: spelling-error Summary(en_US) Multi -> Mulch, Mufti
aarddict.src: W: spelling-error %description -l en_US Aard -> Arad, Ard, Adar
aarddict.noarch: W: spelling-error Summary(en_US) Multi -> Mulch, Mufti
aarddict.noarch: W: spelling-error %description -l en_US Aard -> Arad, Ard, Adar
aarddict.noarch: W: no-manual-page-for-binary aarddict
2 packages and 1 specfiles checked; 0 errors, 5 warnings.
The errors can be ignored.
[OK] MUST: The package must be named according to the Package Naming
Guidelines
[OK] MUST: The spec file name must match the base package %{name} [...]
[OK] MUST: The package must meet the Packaging Guidelines
[OK] MUST: The package must be licensed with a Fedora approved license
and meet the Licensing Guidelines
[FIX] MUST: The License field in the package spec file must match the
actual license
You have this as GPLv3+ in the spec, but all of the code has GPLv3 headers, and not GPLv3+.
[OK] 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
[OK] MUST: The spec file must be written in American English.
[OK] 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. Reviewers should use md5sum for
this task. If no upstream URL can be specified for this package,
please see the Source URL Guidelines for how to deal with this.
It appears that upstream has since updated release 0.9.2, and the 0.9.1 download link included in the spec no longer works.
[OK] MUST: The package MUST successfully compile and build into binary
rpms on at least one primary architecture
[NA] 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. Each architecture listed in ExcludeArch MUST
have a bug filed in bugzilla, describing the reason that the package
does not compile/build/work on that architecture. The bug number MUST
be placed in a comment, next to the corresponding ExcludeArch line
[OK] MUST: All build dependencies must be listed in BuildRequires, except
for any that are listed in the exceptions section of the Packaging
Guidelines ; inclusion of those as BuildRequires is optional. Apply
common sense.
[OK] MUST: The spec file MUST handle locales properly. This is done by
using the %find_lang macro. Using %{_datadir}/locale/* is strictly
forbidden
[NA] MUST: Every binary RPM package (or subpackage) which stores shared
library files (not just symlinks) in any of the dynamic linker's
default paths, must call ldconfig in %post and %postun.
[NA] MUST: If the package is designed to be relocatable, the packager must
state this fact in the request for review, along with the
rationalization for relocation of that specific package. Without
this, use of Prefix: /usr is considered a blocker.
[OK] 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.
[OK] MUST: A package must not contain any duplicate files in the %files
listing.
[OK] 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.
[NA] MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
[OK] MUST: Each package must consistently use macros.
[OK] MUST: The package must contain code, or permissable content.
[NA] MUST: Large documentation files must go in a -doc subpackage. (The
definition of large is left up to the packager's best judgement, but
is not restricted to size. Large can refer to either size or
quantity).
[OK] MUST: If a package includes something as %doc, it must not affect the
runtime of the application. To summarize: If it is in %doc, the
program must run properly if it is not present.
[NA] MUST: Header files must be in a -devel package.
[NA] MUST: Static libraries must be in a -static package.
[NA] MUST: Packages containing pkgconfig(.pc) files must 'Requires:
pkgconfig' (for directory ownership and usability).
[NA] 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.
[NA] MUST: In the vast majority of cases, devel packages must require the
base package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release}
[NA] MUST: Packages must NOT contain any .la libtool archives, these must
be removed in the spec if they are built.
[FIX] 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. If you feel that your
packaged GUI application does not need a .desktop file, you must put
a comment in the spec file with your explanation.
Look at the output of the desktop-file-validate that you run against the .desktop file.
[OK] MUST: Packages must not own files or directories already owned by
other packages. The rule of thumb here is that the first package to
be installed should own the files or directories that other packages
may rely upon. This means, for example, that no package in Fedora
should ever share ownership with any of the files or directories
owned by the filesystem or man package. If you feel that you have a
good reason to own a file or directory that another package owns,
then please present that at package review time.
[OK] MUST: All filenames in rpm packages must be valid UTF-8.
Also, explain to me why you are removing the shebangs in the __init__.py files? I am not saying it's wrong, just curious as to the why.
/--
[FIX] MUST: The License field in the package spec file must match the
actual license
You have this as GPLv3+ in the spec, but all of the code has GPLv3 headers, and
not GPLv3+.
--/
Updated
/--
[ ] MUST: The sources used to build the package must match the upstream
source, as provided in the spec URL. Reviewers should use md5sum for
this task. If no upstream URL can be specified for this package,
please see the Source URL Guidelines for how to deal with this.
It appears that upstream has since updated release 0.9.2, and the 0.9.1
download link included in the spec no longer works.
--/
Upgraded to version 0.9.2. Also, I have sent a mail to upstream about this problem.
/--
[FIX] 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. If you feel that your
packaged GUI application does not need a .desktop file, you must put
a comment in the spec file with your explanation.
Look at the output of the desktop-file-validate that you run against the
.desktop file.
--/
Updated
/--
Also, explain to me why you are removing the shebangs in the __init__.py files?
I am not saying it's wrong, just curious as to the why.
--/
Actually, I received an error message from rpmlint i.e.
//..............................................................................
aarddict.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/aarddict/__init__.py 0644L /usr/bin/python
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed. If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.
..............................................................................//
After this, I had two options:
1. change the permission of __init__.py file from 644 to 755, if required to be executed?
or
2. remove the shebang, if not required?
I took a test case that "shebang is not required" and followed few steps to verify my test case which are:
1. I manually checked if there is/are anywhere in the code __init__.py is executed. (something like ./__init__.py) [succeeded ]
2. removed shebang and build it and then install rpm file. [succeeded ]
3. added .arr file to dictionary
a) added WordNet 1.7 [succeeded ]
b) added WordNet 3.0 [succeeded ]
c) added Wikipedia (simple)- dated 20101026-1 [succeeded ]
4. Consult with upstream.
//-----------Attached a part of mail's reply from upstream----------------
Shebang in aarddict/__init__.py simply provides another way of
launching aarddict ui or command line operations which I found useful
at some point (I believe it was handy on Windows where other methods
didn't work) - in any case regular users should have no need for this.
-------------------------------------------------------------------------//
Updated files:
SPECS :http://prabindatta.fedorapeople.org/SPECS/aarddict.spec
SRPMS: http://prabindatta.fedorapeople.org/SRPMS/aarddict-0.9.2-1.fc14.src.rpm
//-------------------------------------------------------------------------
Note:
Today I was doing further testing on my package and found another problem in it.
After conversation with elad661, tibbs and nirik on IRC channel #fedora-devel. I have send a mail to upstream requesting them to place locale and icons files in standard locations and I hope for a quick reply from him.
tibbs has also created a ticket on this issue https://fedorahosted.org/fpc/ticket/79
-----------------------------------------------------------------------------//
Thank You!
Sorry, in my previous mail I missed out the problem section:
Problem which I have found i.e.,
Un-installation failed to remove directories from %{python_sitelib}/
Nirik told me that it is due to those directories are not owned by the package.
After uninstallation:
1.
aarddict
├── icons
│ ├── hicolor
│ │ ├── 26x26
│ │ │ └── apps
│ │ ├── 40x40
│ │ │ └── apps
│ │ └── 64x64
│ │ └── apps
│ └── Human-O2
│ ├── 16x16
│ │ ├── actions
│ │ ├── emblems
│ │ ├── mimetypes
│ │ ├── places
│ │ └── status
│ ├── 22x22
│ │ ├── actions
│ │ ├── emblems
│ │ ├── mimetypes
│ │ ├── places
│ │ └── status
│ ├── 24x24
│ │ ├── actions
│ │ ├── emblems
│ │ ├── mimetypes
│ │ ├── places
│ │ └── status
│ └── 32x32
│ ├── actions
│ ├── emblems
│ ├── mimetypes
│ ├── places
│ └── status
└── locale
├── el
│ └── LC_MESSAGES
└── ru
└── LC_MESSAGES
.........................
| 38 directories, 0 files |
.........................
2.
aarddict-0.9.2-py2.7.egg-info
...............
| Totally empty |
...............
This is a mail reply I received today from upstream:
//..........................................................................
You must realize that aarddict works on multiple platforms and is also
packaged for Windows, Mac OS X, Ubuntu and Maemo and is installable
via pip inside or outside of virtualenv. setuptool's idea of where
files should be is very different from Fedora. If aarddict only worked
in Linux and assumed GNOME or KDE I would not package any icons except
for app logo (several icon themes are available as part of "standard
desktop") - but this is not the case.
I am most certainly not changing anything in the source code structure
to satisfy Fedora packaging "requirements" - because it would require
completely changing how application locates it's resources and that is
not something I'm willing to spend time on (even if it had a chance to
work cross-platform). Sorry to disappoint you.
Please note that making an RPM that users can install on Fedora is not
the same as making an RPM that Fedora would accept into distro. As I
mentioned before, the only reason I didn't make one is because Fedora
does not package PyICU and I didn't have time and energy to package
PyICU myself _and_ to setup and maintain yum repo. When/if PyICU
becomes available in Fedora direct aarddict RPM download from
aarddict.org would become a usable option for most users.
...........................................................................//
Still I am interested to maintain this package, since currently the default dictionary which comes with fedora requires internet connection. Also, this software helps to use wikipedia and many others websites to be watched offline.
The only solutions I found now are:
1. https://fedorahosted.org/fpc/ticket/79
or
overlook these warning messages:
//........................................................................
aarddict.noarch: W: file-not-in-%lang /usr/lib/python2.7/site-packages/aarddict/locale/el/LC_MESSAGES/aarddict.mo
aarddict.noarch: W: file-not-in-%lang /usr/lib/python2.7/site-packages/aarddict/locale/ru/LC_MESSAGES/aarddict.mo
..........................................................................//
The above solution resolves all problems
Waiting for your response.
Updated files: SPECS :http://prabindatta.fedorapeople.org/SPECS/aarddict.spec SRPMS: http://prabindatta.fedorapeople.org/SRPMS/aarddict-0.9.2-2.fc14.src.rpm upstream fixed single click install link in Maemo installation notes in doc. Updated files: SPECS :http://prabindatta.fedorapeople.org/SPECS/aarddict.spec SRPMS: http://prabindatta.fedorapeople.org/SRPMS/aarddict-0.9.2-3.fc14.src.rpm [Info] Pushed pyicu into fedora repo. Hi! David Nalley, This package is under review from a long time. Also, the dependency package "pyicu" is also pushed into fedora stable repo. Can u kindly review this package?? News? This is an automatic action taken by review-stats script. The ticket submitter failed to clear the NEEDINFO flag in a month. As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews we consider this ticket as DEADREVIEW and proceed to close it. |