Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 195394
Summary: | Review Request: CastPodder | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Paul F. Johnson <paul> |
Component: | Package Review | Assignee: | Kevin Fenzi <kevin> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | ||
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: | 2006-06-21 23:57:17 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: | 195393 | ||
Bug Blocks: | 163779 |
Description
Paul F. Johnson
2006-06-14 23:07:17 UTC
Spec : http://www.knox.net.nz/~nodoid/CastPodder.spec SRPM : http://www.knox.net.nz/~nodoid/CastPodder-5.0-2.src.rpm CastPodder is a media aggregator (typical use is for podcasting) OK - Package name OK - Spec file matches base package name. OK - Meets Packaging Guidelines. OK - License (GPL) OK - License field in spec matches OK - License file included in package OK - Spec in American English OK - Spec is legible. OK - Sources match upstream md5sum: 58e0e76774eae0374a3c593e6bdc319d CastPodder-5.0.tar.bz2 58e0e76774eae0374a3c593e6bdc319d CastPodder-5.0.tar.bz2.1 - Package compiles and builds on at least one arch. n/a - Package needs ExcludeArch - BuildRequires correct n/a - Spec handles locales/find_lang n/a - Spec has needed ldconfig in post and postun n/a - Package is relocatable and has a reason to be. OK - Package owns all the directories it creates. OK - Package has no duplicate files in %files. OK - Package has %defattr and permissions on files is good. OK - Package has a correct %clean section. OK - Spec has consistant macro usage. OK - Package is code or permissible content. n/a - -doc subpackage needed/used. OK - Packages %doc files don't affect runtime. n/a - Headers/static libs in -devel subpackage. n/a - .pc files in -devel subpackage. n/a - .so files in -devel subpackage. n/a - -devel package Requires: %{name} = %{version}-%{release} n/a - .la files are removed. See Below - Package is a GUI app and has a .desktop file OK - Package doesn't own any directories other packages own. See below - No rpmlint output. Issues: 1. Why install in /opt? (I guess because upstream does?) IMHO /opt is for locally installed optional applications, not packages from Fedora. Can you change it to install those files in /usr/share/${name}/ instead? 2. This %pre is very dangerous and not needed: %pre # lets make sure nothing is there so we delete the old # directory first before installing - sgrayban rm -fr /opt/%{name} rpm should handle removing files on install/upgrade. 3. Should this be a noarch package? (ie BuildArch: noarch)? 4. Should use a proper 'desktop-file-install' with a BuildRequires: desktop-file-utils to install the desktop file instead of a install... http://fedoraproject.org/wiki/Packaging/Guidelines#desktop Might be nice to include the desktop file as another SOURCE too. 5. Some macros seem to not be defined in fedora. building under mock fails with: RPM build errors: File must begin with "/": %_menudir/CastPodder File must begin with "/": %_iconsdir/CastPodder.png File must begin with "/": %_liconsdir/CastPodder.png 6. Since I can't get it to build, no rpmlint output yet, but running rpmlint on the provided rpm from the site gives a number of things that should be dealt with: Should remove the libxml2-python Requires? E: CastPodder explicit-lib-dependency libxml2-python explicit-lib-dependency : You must let rpm find the library dependencies by itself. Do not put unneeded explicit Requires: tags. Perhaps pick "Applications/Multimedia" ? W: CastPodder non-standard-group Networking/News Shouldn't have the Obsoletes: iPodder when this package provides it. E: CastPodder obsolete-on-name obsolete-on-name : A package should not obsolete itself, as it can cause weird errors in tools. E: CastPodder obsolete-not-provided iPodder obsolete-not-provided : The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: CastPodder dir-or-file-in-opt /opt/CastPodder/localization/catalog/ga.py dir-or-file-in-opt : A file in the package is located in /opt. It's not permitted for packages to install files in this directory. E: CastPodder wrong-script-interpreter /opt/CastPodder/localization/catalog/ga.py "python" ... (tons of repeats on those) Should remove the %pre command: W: CastPodder dangerous-command-in-%pre rm Spec : http://www.knox.net.nz/~nodoid/CastPodder.spec SRPM : http://www.knox.net.nz/~nodoid/CastPodder-5.0-3.src.rpm Lots and lots and lots of fixes - most of them are for the above as well! Spec : http://www.knox.net.nz/~nodoid/CastPodder.spec SRPM : http://www.knox.net.nz/~nodoid/CastPodder-5.0-4.src.rpm Added BR : desktop-file-utils Now builds in mock Excellent progress. Builds ok in mock here too. Still quite a bit of rpmlint output: Why does the package Require python-devel? E: CastPodder devel-dependency python-devel A lot of these: E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/es.py "python" All these localization files as well as some of the contrib files, have as the first line: #! python Are they meant to be python scripts? If so, they should be #!/usr/bin/python or #!/usr/bin/env python or the like. If not, perhaps that line should be removed? If they are executable they should mode 755: E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/es.py 0644 Full rpmlint output: E: CastPodder devel-dependency python-devel E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/es.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/es.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/en.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/en.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/ca.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/ca.py 0644 E: CastPodder script-without-shellbang /usr/share/CastPodder/updater.py E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/zh-Hans.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/zh-Hans.py 0644 E: CastPodder non-executable-script /usr/share/CastPodder/ipodder/contrib/GenericDispatch.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/__init__.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/__init__.py 0644 E: CastPodder wrong-script-end-of-line-encoding /usr/share/CastPodder/localization/catalog/__init__.py E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/pt-BR.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/pt-BR.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/de.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/de.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/it.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/it.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/ko.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/ko.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/el.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/el.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/fi.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/fi.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/nl.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/nl.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/ja.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/ja.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/ru.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/ru.py 0644 E: CastPodder wrong-script-end-of-line-encoding /usr/share/CastPodder/localization/catalog/ru.py E: CastPodder non-executable-script /usr/share/CastPodder/ipodder/contrib/feedparser.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/da.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/da.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/pl.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/pl.py 0644 E: CastPodder wrong-script-end-of-line-encoding /usr/share/CastPodder/localization/catalog/pl.py E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/gl.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/gl.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/sv.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/sv.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/et.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/et.py 0644 E: CastPodder non-executable-script /usr/share/CastPodder/tools/mkupdate.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/ga.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/ga.py 0644 E: CastPodder non-executable-script /usr/share/CastPodder/tools/purge.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/fr.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/fr.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/sr.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/sr.py 0644 E: CastPodder wrong-script-end-of-line-encoding /usr/share/CastPodder/localization/catalog/sr.py E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/hu.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/hu.py 0644 E: CastPodder non-executable-script /usr/share/CastPodder/Resources/postflight 0644 E: CastPodder non-executable-script /usr/share/CastPodder/tools/coverage.py 0644 E: CastPodder wrong-script-interpreter /usr/share/CastPodder/localization/catalog/eu.py "python" E: CastPodder non-executable-script /usr/share/CastPodder/localization/catalog/eu.py 0644 I'm not sure what they act as. Given they're 0644, I'll guess that they're add in scripts which are not directly executed. I'll remove the !python line first, see what happens and if it fails, change the lot to /usr/bin/env python Spec : http://www.knox.net.nz/~nodoid/CastPodder.spec SRPM : http://www.knox.net.nz/~nodoid/CastPodder-5.0-5.src.rpm Everything highlighted in #5 fixed Builds in mock (x86) rpmlint is clean It is warm, cuddly and deserves a nice red bow Christ, I need some sleep! Two issues that I see: 1. Somewhere you have something still calling '/bin/python' as the resulting rpm from comment #7 has: rpm -ivh CastPodder-5.0-5.fc5.noarch.rpm error: Failed dependencies: /bin/python is needed by CastPodder-5.0-5.fc5.noarch Might be ipodder/contrib/GenericDispatch.py 2. There is still a /opt path in the main CastPodder script. Trying to run it results in: /usr/bin/CastPodder: line 21: cd: /opt/CastPodder: No such file or directory python: can't open file 'CastPodderGui.py': [Errno 2] No such file or directory Spec : http://www.knox.net.nz/~nodoid/CastPodder.spec SRPM : http://www.knox.net.nz/~nodoid/CastPodder-5.0-6.src.rpm Fixes #8 and actually works! Everything looks ok with the package now from what I can see, so this package is APPROVED. Don't forget to close this bug with NEXTRELEASE once it's been imported and built. |