https://bugzilla.redhat.com/show_bug.cgi?id=1060419 --- Comment #11 from nicolas.vieville@xxxxxxxxxxxxxxxxxxxx --- Hello, First, thank you to Muflone for his intervention and explanation about the proposition I made about making this application Python 3 compatible. When you want to make it compatible with Python 3, as I said in my first message, you know that all the dependencies will be already present in Fedora, and that it will be easy to build a package. I'll make an unofficial review of your package. In order to make it easy, some modifications are needed in the spec file you provided, before I make the complete unofficial review. Please could you replace all the combined space/tabulation indentation by choosing one of this possibility: only tabulation indentation or only space indentation (I usually prefer the last one but it's only a matter of personal choice). The description section can use line of 79 characters long (https://fedoraproject.org/wiki/Common_Rpmlint_issues#description-line-too-long). Yours is less than that, but as the previous state, it's your own personal choice. Please upgrade the version to the last one available on the upstream web site (actually 0.6.2) and update the Version and Release field and the changelog section accordingly. The Requires and BuildRequires should be set as follow: BuildRequires: python2-devel python-setuptools pyxdg BuildRequires: desktop-file-utils gettext Requires: pygobject3 Requires: hicolor-icon-theme The python-setuptools package is generally needed in order to help your package to be build. The pyxdg package is a dependency of the build process of your package. The desktop-file-utils gettext packages are needed in the process of building and installing the software provided by your package. You already set gettext, but desktop-file-utils will help you in installing or removing the .desktop file (see below comment about install section). The pygobject3 package contains the equivalent of pygtk2 for GTK3 and will ask for all its dependencies. The hicolor-icon-theme is needed in order to fix correctly the owner of the icons/hicolor directory in the post* sections (see below). As the macro %oname will be used only in the description section (see below about Python eggs), this one can be removed, and replaced by "gWakeOnLan" in the description. In the prep section, as the expression "%setup -q -n %{name}-%{version}" is already the default, you can just make it: "%setup -q" In the install section, please use the macro %{buildroot} instead of $RPM_BUILD_ROOT variable (one of them should be used in all your spec file in order to avoid using both of them). In this section, in order to correctly setup the unmodified .desktop file you should use this line: desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop If you want to modify this file, you should use the desktop-file-install tool. See https://fedoraproject.org/wiki/Packaging:Guidelines#Desktop_files for complete explanations about this. As your package provides a complete set of icons you should add, always in the install section, the line described here: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache in order to keep the icon cache up to date while installing/removing your package. I usually add the -f commutator to these commands in order to force operations. The lines needed look like that: %post # Update icon cache : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun # Update icon cache : if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans # Update icon cache : /usr/bin/gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : In the files section, %{python_sitelib} is deprecated in favor of %{python2_sitelib}. As the python-setuptools does is job correctly, there seems that your package doesn't need to take special precaution of the "egg" part of it (to be checked after installation before validation). You can remove the two lines beginning with %{python_sitelib} and replace them with this one: %{python2_sitelib}/* So you can remove the definition and the use of the oname2 global variable from the entire spec file. In this same section, as the package only embed one .desktop file, you can simplify the line: %{_datadir}/applications/%{name}.desktop by: %{_datadir}/applications/* In the changelog section, please use no special characters unreadable by some editors (in the case of this package the dot and the at characters). As it is stated in the changelogs section of the documentation (https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs), " If you wish to "scramble" or "obfuscate" your email address in the changelog, you may do so, provided that it is still understandable by humans. ". I would add, provided that it is still printable by an editor in order to be readable by humans :) . To finish with this section, I usually prefer to add a minus ("-") between the version/release number of the package and the beginning of the line. Looks like that for example: * Mon Jan 27 2014 bebo_sudo <your_printable_readable_email_address> - 0.6.2-1 - initial release from an existing package As I'm candidate packager for Fedora, and as my skill in such things is not as high as proven packagers, any comments about this unofficial review are welcome. I noticed that actually your time is dedicated to your exams (wish you to succeed), and knows that you will respond when you've got the time. Feel free to make any comment you want and don't hesitate to ask for clarifications or explanations if needed. Cordially, -- NVieville -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review