Spec URL: http://pingou.fedorapeople.org/RPMs/metamorphose2.spec SRPM URL: http://pingou.fedorapeople.org/RPMs/metamorphose2-2.0.7.1-1.fc14.src.rpm Description: A cross platform file and folder mass renamer, allows many different renaming operations in a GUI. Features include search and replace (with RE), insert, numbering, date/time, id3 & EXIF tag read, change length, get all files in sub-dirs, undo/redo, etc.
I will review it.
Some comments: * The version should be 0.7.1, instead of 2.0.7.1. The RPMs and DEBs files provided by upstream have this version by the way. * You should set as BR python2 and not python (in case of a switch to python3 as default Python interpreter). * The .desktop file is not Freedesktop-compliant: see the validation error returned by desktop-file-install: metamorphose2.desktop: error: (will be fatal in the future): value "Filesystem" in key "Categories" in group "Desktop Entry" requires another category to be present among the following categories: System Please fix it
(In reply to comment #2) > Some comments: > > * The version should be 0.7.1, instead of 2.0.7.1. The RPMs and > DEBs files provided by upstream have this version by the way. Although I agree to do the change, it means that the software will have to be renamed for metamorphose 3. I would rather change the name to metamorphose and keep the 2 in the version number. > * You should set as BR python2 and not python (in case of a switch to python3 > as > default Python interpreter). I'll do this. > * The .desktop file is not Freedesktop-compliant: see the validation error > returned by desktop-file-install: > metamorphose2.desktop: error: (will be fatal in the future): value > "Filesystem" in key "Categories" in group "Desktop Entry" requires another > category to be present among the following categories: System sed -i -e "s|Categories=Utility;Filesystem;|Categories=Utility;System;|" metamorphose2.desktop added in %prep. I will upload the new version once I hear your opinion about the name/version problem.
I asked upstream who said that metamorphose1 and metamorphose2 can coexist. I therefore renamed my rpm. Spec URL: http://pingou.fedorapeople.org/RPMs/metamorphose2.spec SRPM URL: http://pingou.fedorapeople.org/RPMs/metamorphose2-0.7.1-2.fc14.src.rpm
* Since wxGTK is already required by wxPython, you don't need to set wxGTK as a Requires. But python-mutagen is required for multimedia tags support; please add it as Requires. * The following files: - src/operations/greek_numb.py src/EXIF.py - src/mutagen/__init__.py are only used as libraries in metamorphose2, so: - they must not be executable - their shebang must be removed. See: http://fedoraproject.org/wiki/PackageMaintainers/Packaging_Tricks#Remove_shebang_from_Python_libraries * You should not add the .gz extension to man pages listed in %files, you'd rather use the "*" joker: %files -f %{name}.lang %defattr(-,root,root,-) [...] %{_mandir}/man1/%{name}.1.* [...] * gettext as BR is not really needed here, it is never called by the build tools.
Changelog: * Tue Dec 20 2010 pingou <pingou> 0.7.1-3 - Remove wxGTK from Requires - Use wildcard for the man pages - Remove gettext from BuildRequires - Remove shebang from non-script files Spec URL: http://pingou.fedorapeople.org/RPMs/metamorphose2.spec SRPM URL: http://pingou.fedorapeople.org/RPMs/metamorphose2-0.7.1-3.fc13.src.rpm
Here is the review. MUST: rpmlint must be run on every package. ->OK, only false-positive spelling issues 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 MUST: The License field in the package spec file must match the actual license. ->OK, all files under GPL v2 or above 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. ->N/A 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. ->OK, md5sum = e03a93072865b5176ddb4c07af97dd51 MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. ->OK, see http://koji.fedoraproject.org/koji/taskinfo?taskID=2680921 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. ->N/A 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. ->OK MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden. ->OK 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 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. ->N/A 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. ->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. ->N/A 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. ->N/A MUST: Static libraries must be in a -static package. ->N/A 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. ->N/A MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}. ->N/A MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built. ->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: Packages must not own files or directories already owned by other packages. ->OK MUST: All filenames in rpm packages must be valid UTF-8. ->OK Two small issues anyway: * don't forget to add python-mutagen as a Requires. I belive it was absent-mindedness only ^^ * you don't need to tag %{_datadir}/doc/%{name} with %doc, it is done automatically for any file/folder installed in %{_datadir}/doc/ Yet I trust you to fix these issues before import. So this package is APPROVED.
Thanks for the review Mohamed, I will be careful to correct the final bits. New Package SCM Request ======================= Package Name: metamorphose2 Short Description: A cross platform file and folder mass renamer Owners: pingou Branches: f14 InitialCC:
Git done (by process-git-requests).
metamorphose2-0.7.1-4.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/metamorphose2-0.7.1-4.fc14
metamorphose2-0.7.1-4.fc14 has been pushed to the Fedora 14 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 metamorphose2'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/metamorphose2-0.7.1-4.fc14
metamorphose2-0.7.1-4.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.