Bug 617405
Summary: | Review Request: poezio - IRC-like jabber (XMPP) console client | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Florent Le Coz <louiz> |
Component: | Package Review | Assignee: | Christoph Wickert <christoph.wickert> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | christoph.wickert, fedora-package-review, louiz, mail, notting |
Target Milestone: | --- | Flags: | christoph.wickert:
fedora-review+
j: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | poezio-0.6.2-3.fc15 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-03-10 21:55:59 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: |
Description
Florent Le Coz
2010-07-22 23:25:53 UTC
Informal pre-review: # MUST: rpmlint must be run on every package. The output should be posted in the review. poezio.noarch: W: no-manual-page-for-binary poezio Each executable in standard binary directories should have a man page. 2 packages and 0 specfiles checked; 0 errors, 1 warnings. # MUST: The package must be named according to the Package Naming Guidelines . OK # MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. 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 . OK - GPLv3 # MUST: The License field in the package spec file must match the actual license. 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 - COPYING file included in %doc # MUST: The spec file must be written in American English. OK # MUST: The spec file for the package MUST be legible. OK # 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. OK - md5sum matches # MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. N/A - package is noarch # 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. N/A - package is noarch # 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. According to http://fedoraproject.org/wiki/Packaging:Python BuildRequires: python2-devel is required # MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden. OK - No locales # 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. N/A - package is noarch # MUST: Packages must NOT bundle copies of system libraries. OK # 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 - not relocatable # 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 Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations) 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. OK # MUST: Each package must consistently use macros. OK # MUST: The package must contain code, or permissable content. OK # 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 - No large documentation # 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. OK # MUST: Header files must be in a -devel package. OK - no header files # MUST: Static libraries must be in a -static package. OK - no static libs # 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. OK - no such files # MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release} OK - no devel package # MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built. OK # 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. OK - Not a GUI application # 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 OK # 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. OK - license text is includes as a separate file from upstream and in the package # SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. No translations provided. # SHOULD: The reviewer should test that the package builds in mock. OK # SHOULD: The package should compile and build into binary rpms on all supported architectures. N/A - package is noarch # SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example. OK # SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity. OK # SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. OK - no subpackages # 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. OK - no pkgconfig files # 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. OK - no file deps # SHOULD: your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense. OK - man page to come Summary: Check the BuildRequires, everything else seems ok. Ok, thank you very much for the review. I fixed the BuildRequires: Spec File: http://louizatakk.fedorapeople.org/rpm/poezio.spec SRPM File: http://louizatakk.fedorapeople.org/rpm/poezio-0.6.2-2.fc13.src.rpm Hu, bump? :( Please don't be so impatient. Tom is not yet a packager, so he is not allowed to do this review. I will take over for him. Sorry it took so long. OK - MUST: $ rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm poezio.noarch: W: no-manual-page-for-binary poezio 2 packages and 0 specfiles checked; 0 errors, 1 warnings. OK - MUST: named according to the Package Naming Guidelines OK - MUST: spec file name matches the base package %{name} OK - MUST: package meets the Packaging Guidelines OK - MUST: Fedora approved license and meets the Licensing Guidelines (GPLv3 only) OK - MUST: License field in spec file matches the actual license OK - MUST: license file included in %doc OK - MUST: spec is in American English OK - MUST: spec is legible OK - MUST: sources match the upstream source by MD5 4cca396fe4d520f9884a65c546100b76 OK - MUST: successfully compiles and builds into binary rpms on x86_64 (noarch package) 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. OK - MUST: all build dependencies are listed in BuildRequires. N/A - MUST: handles locales properly with %find_lang N/A - 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. OK - MUST: Package does not bundle copies of system libraries. N/A - MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review. OK - MUST: owns all directories that it creates OK - MUST: no duplicate files in the %files listing OK - MUST: Permissions on files are set properly, includes %defattr(...) OK - MUST: package has a %clean section, which contains rm -rf %{buildroot}. OK - MUST: consistently uses macros OK - MUST: package contains code, or permissable content N/A - MUST: Large documentation files should go in a -doc subpackage OK - MUST: Files included as %doc do not affect the runtime of the application N/A - MUST: Header files must be in a -devel package N/A - MUST: Static libraries must be in a -static package N/A - MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A - MUST: If a package contains library files with a suffix, then library files that end in .so must go in a -devel package. N/A - MUST: devel packages must require the base package using a fully versioned dependency OK - MUST: The package does not contain any .la libtool archives. 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. OK - MUST: package does not own files or directories already owned by other packages. OK - MUST: at the beginning of %install, the package runs rm -rf %{buildroot}. OK - MUST: all filenames valid UTF-8 SHOULD Items: OK - SHOULD: Source package includes license text(s) as a separate file. N/A - SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. OK - SHOULD: builds in mock. OK - SHOULD: compiles and builds into binary rpms on all supported architectures. OK - SHOULD: functions as described. N/A - SHOULD: Scriptlets are used, those scriptlets must be sane. N/A - SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. N/A - SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg N/A - SHOULD: no file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin Other items: OK - latest stable version OK - SourceURL valid Some minor issues. None of them is really important, this more meant to be a little education for Tom. Please change the %global at the beginning of the spec as per https://fedoraproject.org/wiki/Packaging:Python#Macros Please don't use articles like "A" or "An" in the summary, just "IRC-like jabber (XMPP) console client" is fine. mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_datadir}/%{name}/data mkdir -p %{buildroot}%{_datadir}/%{name}/src at least the first line is not necessary. The whole thing could be boiled down to mkdir -p %{buildroot}%{_datadir}/%{name}/{data,src} Please preserve timestamps during %install with install -p, see https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps Also preserve the timestamps when removing the shebangs from files, see https://fedoraproject.org/wiki/Packaging_tricks#Remove_shebang_from_Python_libraries Instead of %{_datadir}/%{name} better use the %{_datadir}/%{name}/ The trailing / is to indicate it is a directory and not a file. This doesn't make a difference to rpm, but helps other humans to read the spec. For the launcher I'd rather use: # create launcher cat > %{buildroot}%{_bindir}/%{name} <<EOF #!/usr/bin/env sh cd %{_datadir}/poezio/src/ && python poezio.py EOF None of these things really is a blocker. Please apply the changes (or at least the ones that you think are useful) and consider the package APPROVED. Thank you for the review, a and sorry to have been impatient. :) Spec File: http://louizatakk.fedorapeople.org/rpm/poezio.spec SRPM File: http://louizatakk.fedorapeople.org/rpm/poezio-0.6.2-3.fc13.src.rpm (In reply to comment #5) > > Some minor issues. None of them is really important, this more meant to be a > little education for Tom. > > Please change the %global at the beginning of the spec as per > https://fedoraproject.org/wiki/Packaging:Python#Macros > DONE > > Please don't use articles like "A" or "An" in the summary, just "IRC-like > jabber (XMPP) console client" is fine. > DONE > > mkdir -p %{buildroot}%{_datadir}/%{name} > mkdir -p %{buildroot}%{_datadir}/%{name}/data > mkdir -p %{buildroot}%{_datadir}/%{name}/src > > at least the first line is not necessary. The whole thing could be boiled down > to > > mkdir -p %{buildroot}%{_datadir}/%{name}/{data,src} > DONE (It is now mkdir -p %{buildroot}%{_datadir}/%{name}/data mkdir -p %{buildroot}%{_datadir}/%{name}/src For readability) > > Please preserve timestamps during %install with install -p, see > https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps > DONE > > Also preserve the timestamps when removing the shebangs from files, see > https://fedoraproject.org/wiki/Packaging_tricks#Remove_shebang_from_Python_libraries > > DONE > Instead of > > %{_datadir}/%{name} > > better use the > > %{_datadir}/%{name}/ > The trailing / is to indicate it is a directory and not a file. This doesn't > make a difference to rpm, but helps other humans to read the spec. > DONE > For the launcher I'd rather use: > > # create launcher > cat > %{buildroot}%{_bindir}/%{name} <<EOF > #!/usr/bin/env sh > cd %{_datadir}/poezio/src/ && python poezio.py > EOF > DONE > None of these things really is a blocker. Please apply the changes (or at least > the ones that you think are useful) and consider the package APPROVED. Ok, thank you. New Package SCM Request ======================= Package Name: poezio Short Description: IRC-like jabber (XMPP) console client Owners: louizatakk Branches: f12 f13 f14 InitialCC: louizatakk Git done (by process-git-requests). I see this package was already build way back but not by Florent but by Matej. Florent, if you have any problems with the built system, don't hesitate to contact me or your sponsor. Thank you for your concern :) I do not have any problem with the build system, I’m just waiting for a “stabilization” of the SleekXMPP library, which is still in heavy development. The packaging of both poezio and SleekXMPP is done but I do not yet consider poezio to be “stable” enough. Also, I haven’t received any request for an urgent inclusion of poezio in fedora’s repository so I’m kind of taking my time and waiting for a good release (that’s my goal for 0.7.5). Is this in any way problematic? Or does it not matter? |