Spec URL: https://tonet666p.fedorapeople.org/gtk-theme-config.spec SRPM URL: https://tonet666p.fedorapeople.org/gtk-theme-config-0.1-1.fc21.src.rpm Description: Hi, I just finished packing this tool. Check it please, i would appreciate a review so that I can get it in to Fedora Extras. This little tool allows anyone to change some basic elements of a GTK theme easily (both GTK2 and GTK3) with a simple interface. Fedora Account System Username: tonet666p
fedora-review result Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - gtk-update-icon-cache is invoked in %postun and %posttrans if package contains icons. Note: icons in gtk-theme-config See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache - All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: These BR are not needed: gcc See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 - Package uses either %{buildroot} or $RPM_BUILD_ROOT Note: Using both %{buildroot} and $RPM_BUILD_ROOT See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros ===== MUST items ===== Generic: [ ]: 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: "Unknown or generated". 1 files have unknown license. Detailed output of licensecheck in /home/tnt/rpmbuild/1199829-gtk-theme- config/licensecheck.txt [ ]: %build honors applicable compiler flags or justifies otherwise. [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. [ ]: Sources contain only permissible code or content. [ ]: Development files must be in a -devel package [ ]: Package uses nothing in %doc for runtime. [ ]: Package consistently uses macros (instead of hard-coded directory names). [ ]: Package is named according to the Package Naming Guidelines. [ ]: Package does not generate any conflict. [ ]: Package obeys FHS, except libexecdir and /usr/target. [ ]: If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: Requires correct, justified where necessary. [ ]: Spec file is legible and written in American English. [ ]: Package contains systemd file(s) if in need. [ ]: Useful -debuginfo package or justification otherwise. [ ]: Package is not known to require an ExcludeArch tag. Note: Test run failed [ ]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Test run failed [ ]: Packages must not store files under /srv, /opt or /usr/local Note: Test run failed [ ]: 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]: 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 contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop- file-validate if there is such a file. [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. ===== SHOULD items ===== Generic: [ ]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: %clean present but not required [ ]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [ ]: Final provides and requires are sane (see attachments). [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [ ]: 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. [ ]: 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]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [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: [ ]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Test run failed [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: gtk-theme-config-0.1-1.fc21.x86_64.rpm gtk-theme-config-0.1-1.fc21.src.rpm gtk-theme-config.x86_64: W: summary-ended-with-dot C Little tool to configure GTK theme colors. gtk-theme-config.x86_64: W: devel-file-in-non-devel-package /usr/bin/gtk-theme-config gtk-theme-config.x86_64: W: no-manual-page-for-binary gtk-theme-config gtk-theme-config.src: W: summary-ended-with-dot C Little tool to configure GTK theme colors. 2 packages and 0 specfiles checked; 0 errors, 4 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Requires -------- gtk-theme-config (rpmlib, GLIBC filtered): /bin/sh libX11.so.6()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) libgdk-3.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libm.so.6()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpthread.so.0()(64bit) rtld(GNU_HASH) Provides -------- gtk-theme-config: application() application(gtk-theme-config.desktop) gtk-theme-config gtk-theme-config(x86-64) Source checksums ---------------- https://github.com/satya164/gtk-theme-config/archive/ebbba827a5d979e8b8e6dc2a4831ab806976a6de/gtk-theme-config-ebbba827a5d979e8b8e6dc2a4831ab806976a6de.tar.gz : CHECKSUM(SHA256) this package : f01de39d68af06ba931e8f18c93bfe299452caae159f614397bff9d3d8d9cd5b CHECKSUM(SHA256) upstream package : f01de39d68af06ba931e8f18c93bfe299452caae159f614397bff9d3d8d9cd5b Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -v -b1199829 Buildroot used: fedora-21-x86_64 Active plugins: Generic, Shell-api Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
Koji Scratch Build results: http://koji.fedoraproject.org/koji/taskinfo?taskID=9239146
Spec URL: https://tonet666p.fedorapeople.org/gtk-theme-config.spec SRPM URL: https://tonet666p.fedorapeople.org/gtk-theme-config-0.1-2.fc21.src.rpm Description: Hi, I made a little change on %licence macro. Check it please. Here is the Koji scratch build result: http://koji.fedoraproject.org/koji/taskinfo?taskID=9392960 Greetings Fedora Account System Username: tonet666p
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - gtk-update-icon-cache is invoked in %postun and %posttrans if package contains icons. Note: icons in gtk-theme-config See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache See that page - you're missing the postrans part. - All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: These BR are not needed: gcc See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 Remove the BR for gcc. - Package uses either %{buildroot} or $RPM_BUILD_ROOT Note: Using both %{buildroot} and $RPM_BUILD_ROOT See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros This needs fixing. - All patches should have a comment linking to an upstream bug report or otherwise justifying why they're needed. See: http://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment - The %autosetup macro makes application of patches simpler andcould be used here. See: http://fedoraproject.org/wiki/Packaging:Guidelines#.25autosetup - Various rpmlint issues - details below. Various issues are also detailed below - please read carefully. ===== MUST items ===== 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: "Unknown or generated". 1 files have unknown license. Detailed output of licensecheck in /home/jgu/Fedora/1199829-gtk-theme- config/licensecheck.txt gtk-theme-config.vala has no license specified - you need to work with upstream to clarify this. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/licenses [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/licenses That directory is owned by the filesystem package, but I don't think it's necessary to Require that package [!]: %build honors applicable compiler flags or justifies otherwise. CFLAGS isn't being set all all by the make file. You need something like: make %{?_smp_mflags} CFLAGS="%{optflags}" However, it's not obvious to me how valac is calling gcc - there's no output in build.log from gcc. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: 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. [-]: 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 10240 bytes in 2 files. [!]: Package complies to the Packaging Guidelines See above. [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 does not own files or directories owned by other packages. [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 contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop- file-validate if there is such a file. [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: [!]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: %clean present but not required Remove this [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. [x]: Package does not include license text files separate from upstream. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: 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]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [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 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: gtk-theme-config-0.1-2.fc22.x86_64.rpm gtk-theme-config-0.1-2.fc22.src.rpm gtk-theme-config.x86_64: W: summary-ended-with-dot C Little tool to configure GTK theme colors. Remove the "." gtk-theme-config.x86_64: W: devel-file-in-non-devel-package /usr/bin/gtk-theme-config False positive gtk-theme-config.x86_64: W: no-manual-page-for-binary gtk-theme-config This needs remedying - please work with upstream to ship a man page. gtk-theme-config.src: W: summary-ended-with-dot C Little tool to configure GTK theme colors. Remove the "." gtk-theme-config.src:59: W: macro-in-%changelog %license Use %%license in the changelog 2 packages and 0 specfiles checked; 0 errors, 5 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Requires -------- gtk-theme-config (rpmlib, GLIBC filtered): /bin/sh libX11.so.6()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) libgdk-3.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libm.so.6()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpthread.so.0()(64bit) rtld(GNU_HASH) Provides -------- gtk-theme-config: application() application(gtk-theme-config.desktop) gtk-theme-config gtk-theme-config(x86-64) Source checksums ---------------- https://github.com/satya164/gtk-theme-config/archive/ebbba827a5d979e8b8e6dc2a4831ab806976a6de/gtk-theme-config-ebbba827a5d979e8b8e6dc2a4831ab806976a6de.tar.gz : CHECKSUM(SHA256) this package : f01de39d68af06ba931e8f18c93bfe299452caae159f614397bff9d3d8d9cd5b CHECKSUM(SHA256) upstream package : f01de39d68af06ba931e8f18c93bfe299452caae159f614397bff9d3d8d9cd5b Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -b 1199829 -m fedora-22-x86_64 Buildroot used: fedora-22-x86_64 Active plugins: Generic, Shell-api Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
In addition to all the points above, you also need to deal with installing the appdata file that's included in the source tarball: https://fedoraproject.org/wiki/Packaging:AppData Unfortunately the makefile doesn't install that file.
Spec URL: https://tonet666p.fedorapeople.org/gtk-theme-config.spec SRPM URL: https://tonet666p.fedorapeople.org/gtk-theme-config-0.1-3.fc21.src.rpm Description: Hi, I corrected the issues, but i still having error with the license file, i think fedora-review still consider the %doc macro and i used the %licence macro. And, I have also a error in rpmlint section with the appdata file, but it uses the validate-relax parameter and it works. Thanks for the review. Greetings. Fedora Account System Username: tonet666p
Just a cursory look at the Spec file tells me you've not addressed all of the issues I raised previously. Eg. The summary still has a "." at the end. You've not done anything about ensuring the compiler flags are set correctly. Please go over the list once more and ensure you've tackled all of the issues I raised before.
Also, your spec file changelog entries need to be more informative than simply "Correcting some spec file issues". For example, you've dropped a patch - why so? That sort of information is very important in the changelog if others are going to help maintain your package. And, in particular, it would help me to review your package changes.
I have looked a bit more closely at the Makefile included with the project (which is a bit of a mess). Really, I think the best way to set CFLAGS reliably is to break the build vala compilation down into two steps - first run valac with the -c option to produce the c code, and then call gcc to compile the c-code. You'll need to patch the makefile to do this. Presently the way CFLAGS is used to provide options to the vala compiler is sub-optimal. I would urge you to work with the upstream maintainer to move to a sensible build system (autotools or cmake) rather than this handcrafted and buggy Makefile.
Ok Jonathan, sorry if I still have errors, I still have problems with english, but i'm learning. I will communicate with the developer for work in that. Thank you again Jonathan. Have a nice day (or night).
Hi Tonet - no problem. It's always a bit of a challenge to package a very young piece of software, but hopefully the upstream developer will be open to working with us on getting it integrated. I'll be travelling for the next week, so if you do upload a new package, I may not get to looking at it until I return. When I get back, if there's still problems with CFLAGS, I'll help with knocking together a CMake file to clean up the build process and allow us to set CFLAGS properly.
I was busy with my work, but i will come back to this job, I have bad notices, the upstream developer said me he abandoned the maintenance to this package, I think that mean that bug should be closed.
OK, if this is dead upstream, I think we should not continue with the review. Still I hope it was a useful learning exercise and you'll submit more packages in the future.
Yes, i will search new packages soon, thank you for review Jonathan