Spec URL: http://cheeselee.fedorapeople.org/fcitx-qt5.spec SRPM URL: http://cheeselee.fedorapeople.org/fcitx-qt5-0.1.3-1.fc21.src.rpm Description: This package provides Fcitx Qt5 input context. Fedora Account System Username: cheeselee
Change: - Update to 1.0.1 Spec URL: http://cheeselee.fedorapeople.org/fcitx-qt5.spec SRPM URL: http://cheeselee.fedorapeople.org/fcitx-qt5-1.0.1-1.fc22.src.rpm
This package needs to be added to F22 since Plasma 5/KF 5 are based on Qt 5. Without this package, fcitx will not be activated for Qt 5 applications (which is almost entire KDE spin).
Ok, here is a review. I'm not in suitable group to push your package further but I made a review anyway. Packaging seems to be done in sane manner, also I used fcitx-qt4 as a reference as it is already packaged and deemed to be ok ; while fcitx-qt4 has only one source rpm producing multiple binary rpms the structure and packaging is slightly similar anyway. Questions and notes are the following: - License is GPLv2 - is there need to give special mention in spec to platforminputcontext/keyserver_x11.h that is not in GPLv2? - In source rpm the spec file says version 1.0.1 but changelog in same file mentions only version 0.1.3-1 -- Antti Järvinen Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [x]: Header files in -devel subpackage, if present. [x]: ldconfig called in %post and %postun if required. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [?]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2 or later)", "GPL (v2 or later)", "GPL (v2 or later) LGPL (v2 or later)", "Unknown or generated". 8 files have unknown license. Detailed output of licensecheck in /tmp/review-1173625/1173625-fcitx- qt5/licensecheck.txt Note: According to https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#Multiple_Licensing_Scenarios it might be correct to say in .spec something like # The entire source code is GPLv2+ except # platforminputcontext/keyserver_x11.h which is LGPLv2 License: GPLv2+ and LGPLv2 [x]: License file installed when any subpackage combination is installed. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 30720 bytes in 2 files. Note2: There is very little documentation. The readme-file included in binary rpm is 24 bytes long. This is ok and this thing is a plugin but if there is anything that user may do to influence workings of the plugin, I'd like to see that documented? [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: 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 is included in %doc. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Package functions as described. [!]: Latest version is packaged. Note: There seems to be 1.0.2 avail since april 21th ; package was latest when it was submitted to review. [x]: Package does not include license text files separate from upstream. [-]: Scriptlets must be sane, if used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: Package should compile and build into binary rpms on all supported architectures. Note: tried only x86_64 ; is ok [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Fully versioned dependency in subpackages if applicable. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: fcitx-qt5-1.0.1-1.fc21.x86_64.rpm fcitx-qt5-devel-1.0.1-1.fc21.x86_64.rpm fcitx-qt5-1.0.1-1.fc21.src.rpm fcitx-qt5.x86_64: W: incoherent-version-in-changelog 0.1.3-1 ['1.0.1-1.fc21', '1.0.1-1'] fcitx-qt5-devel.x86_64: W: only-non-binary-in-usr-lib fcitx-qt5-devel.x86_64: W: no-documentation 3 packages and 0 specfiles checked; 0 errors, 3 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Diff spec file in url and in SRPM --------------------------------- --- /tmp/review-1173625/1173625-fcitx-qt5/srpm/fcitx-qt5.spec 2015-04-29 18:21:02.610004850 +0000 +++ /tmp/review-1173625/1173625-fcitx-qt5/srpm-unpacked/fcitx-qt5.spec 2015-04-16 11:02:03.000000000 +0000 @@ -61,7 +61,4 @@ %changelog -* Thu Apr 16 2015 Robin Lee <cheeselee> - 1.0.1-1 -- Update to 1.0.1 - * Fri Dec 12 2014 Robin Lee <cheeselee> - 0.1.3-1 - Initial package Requires -------- fcitx-qt5-devel (rpmlib, GLIBC filtered): cmake fcitx-qt5(x86-64) fcitx-qt5 (rpmlib, GLIBC filtered): /sbin/ldconfig fcitx(x86-64) libFcitxQt5DBusAddons.so.1()(64bit) libQt5Core.so.5()(64bit) libQt5DBus.so.5()(64bit) libQt5Gui.so.5()(64bit) libQt5Widgets.so.5()(64bit) libc.so.6()(64bit) libfcitx-config.so.4()(64bit) libfcitx-utils.so.0()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH) Provides -------- fcitx-qt5-devel: fcitx-qt5-devel fcitx-qt5-devel(x86-64) fcitx-qt5: fcitx-qt5 fcitx-qt5(x86-64) libFcitxQt5DBusAddons.so.1()(64bit) libFcitxQt5WidgetsAddons.so.1()(64bit) Unversioned so-files -------------------- fcitx-qt5: /usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so Source checksums ---------------- http://download.fcitx-im.org/fcitx-qt5/fcitx-qt5-1.0.1.tar.xz : CHECKSUM(SHA256) this package : a4e4fd0b695041a207e78a708915b7fe2788612c220865cad4e1f6851d531f8d CHECKSUM(SHA256) upstream package : a4e4fd0b695041a207e78a708915b7fe2788612c220865cad4e1f6851d531f8d Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -b 1173625 Buildroot used: fedora-21-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
I've addressed the issues you mentioned. Please kindly check updated spec file and source RPM package. http://file.librehat.com/fcitx-qt5.spec http://file.librehat.com/fcitx-qt5-1.0.2-1.fc22.src.rpm
Changes: - Update to 1.0.2 - License tag revised - BR: libxkbcommon-devel Spec URL: http://cheeselee.fedorapeople.org/fcitx-qt5.spec SRPM URL: http://cheeselee.fedorapeople.org/fcitx-qt5-1.0.2-1.fc22.src.rpm
Very well. Those problem-items I identified have indeed been fixed in latest version. I'm still not member of packagers group so I can set this review-request as passed but I hope my comments will be useful for someone who can do that.
(In reply to Antti Järvinen from comment #6) > Very well. Those problem-items I identified have indeed been fixed in latest > version. I'm still not member of packagers group so I can set this > review-request as passed but I hope my comments will be useful for someone > who can do that. Thank you! I hope you can be more engaged with Fedora.
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - 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 is included in %license. Note: License file COPYING is marked as %doc instead of %license See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [x]: Header files in -devel subpackage, if present. [x]: ldconfig called in %post and %postun if required. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2 or later)", "GPL (v2 or later)", "GPL (v2 or later) LGPL (v2 or later)", "Unknown or generated". 8 files have unknown license. Detailed output of licensecheck in /home/fedora/1173625 -fcitx-qt5/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 30720 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Package functions as described. [x]: Latest version is packaged. [-]: Package does not include license text files separate from upstream. [-]: Scriptlets must be sane, if used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Fully versioned dependency in subpackages if applicable. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: fcitx-qt5-1.0.2-1.fc21.x86_64.rpm fcitx-qt5-devel-1.0.2-1.fc21.x86_64.rpm fcitx-qt5-1.0.2-1.fc21.src.rpm fcitx-qt5-devel.x86_64: W: only-non-binary-in-usr-lib fcitx-qt5-devel.x86_64: W: no-documentation 3 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (debuginfo) ------------------- Checking: fcitx-qt5-debuginfo-1.0.2-1.fc21.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- fcitx-qt5-devel.x86_64: W: only-non-binary-in-usr-lib fcitx-qt5-devel.x86_64: W: no-documentation fcitx-qt5.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libFcitxQt5WidgetsAddons.so.1.0 /lib64/libm.so.6 fcitx-qt5.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libFcitxQt5DBusAddons.so.1.0 /lib64/libm.so.6 3 packages and 0 specfiles checked; 0 errors, 4 warnings. Requires -------- fcitx-qt5-devel (rpmlib, GLIBC filtered): cmake fcitx-qt5(x86-64) libFcitxQt5DBusAddons.so.1()(64bit) libFcitxQt5WidgetsAddons.so.1()(64bit) fcitx-qt5 (rpmlib, GLIBC filtered): /sbin/ldconfig fcitx(x86-64) libFcitxQt5DBusAddons.so.1()(64bit) libQt5Core.so.5()(64bit) libQt5DBus.so.5()(64bit) libQt5Gui.so.5()(64bit) libQt5Widgets.so.5()(64bit) libc.so.6()(64bit) libfcitx-config.so.4()(64bit) libfcitx-utils.so.0()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libxkbcommon.so.0()(64bit) libxkbcommon.so.0(V_0.5.0)(64bit) rtld(GNU_HASH) Provides -------- fcitx-qt5-devel: fcitx-qt5-devel fcitx-qt5-devel(x86-64) fcitx-qt5: fcitx-qt5 fcitx-qt5(x86-64) libFcitxQt5DBusAddons.so.1()(64bit) libFcitxQt5WidgetsAddons.so.1()(64bit) Unversioned so-files -------------------- fcitx-qt5: /usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so Source checksums ---------------- http://download.fcitx-im.org/fcitx-qt5/fcitx-qt5-1.0.2.tar.xz : CHECKSUM(SHA256) this package : b8073f07d9384878c616f6d2cea44fc739a3b5731b95b10b3133e0914d49f66d CHECKSUM(SHA256) upstream package : b8073f07d9384878c616f6d2cea44fc739a3b5731b95b10b3133e0914d49f66d Generated by fedora-review 0.5.3 (bcf15e3) last change: 2015-05-04 Command line :/usr/bin/fedora-review -b 1173625 Buildroot used: fedora-21-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 Rpmlint reports a warning of unused-direct-shlib-dependency. I think it should be fixed. And the new package should be made a scratch build for rawhide target on Fedora Koji. We should make sure it could be built on all Fedora primary architectures. If fcitx-qt5 could be built on Koji, please paste the link of koji result. Then I will pass the review.
http://koji.fedoraproject.org/koji/taskinfo?taskID=9859423 Scratch build succeeded.
OK. The review has been done.
New Package SCM Request ======================= Package Name: fcitx-qt5 Short Description: Fcitx IM module for Qt5 Upstream URL: https://github.com/fcitx/fcitx-qt5 Owners: cheeselee Branches: f21 f22 InitialCC: i18n-team
Git done (by process-git-requests).
fcitx-qt5-1.0.2-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/fcitx-qt5-1.0.2-1.fc21
fcitx-qt5-1.0.2-1.fc21 has been pushed to the Fedora 21 testing repository.
fcitx-qt5-1.0.2-2.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/fcitx-qt5-1.0.2-2.fc21
fcitx-qt5-1.0.2-2.fc21 has been pushed to the Fedora 21 stable repository.