Spec URL: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl.spec SRPM URL: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl-1.0.0-1.fc23.src.rpm Description: ShortURL is a very simple library to use URL shortening services. Fedora Account System Username: leinfeva I would appreciate any help in my first package. Thanks
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - gems should require rubygems package Note: Requires: rubygems missing in rubygem-shorturl-doc See: http://fedoraproject.org/wiki/Packaging:Ruby#RubyGems - Package contains Requires: ruby(release). - 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 LICENSE_txt.html is marked as %doc instead of %license See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text -> No test suite in %check section ===== 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. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated". 22 files have unknown license. Detailed output of licensecheck in /home/ilgrad/1246974-rubygem- shorturl/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/gems, /usr/share/gems/doc [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: 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. [-]: Package is not known to require an ExcludeArch tag. [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 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 0 bytes in 0 files. [x]: Packages must not store files under /srv, /opt or /usr/local Ruby: [-]: Platform dependent files must all go under %{gem_extdir_mri}, platform independent under %{gem_dir}. [x]: Gem package must not define a non-gem subpackage [x]: Macro %{gem_extdir} is deprecated. [x]: Gem package is named rubygem-%{gem_name} [x]: Package contains BuildRequires: rubygems-devel. [x]: Gem package must define %{gem_name} macro. [x]: Pure Ruby package must be built as noarch [x]: Package does not contain Requires: ruby(abi). ===== SHOULD items ===== Generic: [-]: Avoid bundling fonts in non-fonts packages. Note: Package contains font files [-]: 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). [ ]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in rubygem- shorturl-doc [x]: Package functions as described. [x]: 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. [x]: 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]: 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]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. Ruby: [!]: Gem should use %gem_install macro. [-]: Specfile should use macros from rubygem-devel package. Note: The specfile doesn't use these macros: %{gem_spec}, %exclude %{gem_cache}, %{gem_libdir} [x]: Gem package should exclude cached Gem. [x]: Test suite should not be run by rake. [x]: Test suite of the library should be run. ===== EXTRA items ===== Generic: [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: rubygem-shorturl-1.0.0-1.fc23.noarch.rpm rubygem-shorturl-doc-1.0.0-1.fc23.noarch.rpm rubygem-shorturl-1.0.0-1.fc23.src.rpm rubygem-shorturl.noarch: W: spelling-error Summary(en_US) urlTea -> laureate rubygem-shorturl.noarch: W: spelling-error Summary(en_US) ly -> l, y, lye rubygem-shorturl.noarch: W: spelling-error Summary(en_US) moourl -> mournful rubygem-shorturl.noarch: E: summary-too-long C Shortens URLs using services such as RubyURL, urlTea, bit.ly, moourl.com, and TinyURL rubygem-shorturl.noarch: W: spelling-error %description -l en_US urlTea -> laureate rubygem-shorturl.noarch: W: spelling-error %description -l en_US ly -> l, y, lye rubygem-shorturl.noarch: W: spelling-error %description -l en_US moourl -> mournful rubygem-shorturl.noarch: W: no-documentation rubygem-shorturl.noarch: W: no-manual-page-for-binary shorturl rubygem-shorturl.src: W: spelling-error Summary(en_US) urlTea -> laureate rubygem-shorturl.src: W: spelling-error Summary(en_US) ly -> l, y, lye rubygem-shorturl.src: W: spelling-error Summary(en_US) moourl -> mournful rubygem-shorturl.src: E: summary-too-long C Shortens URLs using services such as RubyURL, urlTea, bit.ly, moourl.com, and TinyURL rubygem-shorturl.src: W: spelling-error %description -l en_US urlTea -> laureate rubygem-shorturl.src: W: spelling-error %description -l en_US ly -> l, y, lye rubygem-shorturl.src: W: spelling-error %description -l en_US moourl -> mournful 3 packages and 0 specfiles checked; 2 errors, 14 warnings. Rpmlint (installed packages) ---------------------------- rubygem-shorturl-doc.noarch: W: invalid-url URL: http://github.com/robbyrussell/shorturl/ <urlopen error [Errno -3] Temporary failure in name resolution> rubygem-shorturl.noarch: E: summary-too-long C Shortens URLs using services such as RubyURL, urlTea, bit.ly, moourl.com, and TinyURL rubygem-shorturl.noarch: W: invalid-url URL: http://github.com/robbyrussell/shorturl/ <urlopen error [Errno -3] Temporary failure in name resolution> rubygem-shorturl.noarch: W: no-documentation rubygem-shorturl.noarch: W: no-manual-page-for-binary shorturl 2 packages and 0 specfiles checked; 1 errors, 4 warnings. Requires -------- rubygem-shorturl-doc (rpmlib, GLIBC filtered): rubygem-shorturl rubygem-shorturl (rpmlib, GLIBC filtered): /usr/bin/env /usr/bin/ruby ruby(rubygems) Provides -------- rubygem-shorturl-doc: rubygem-shorturl-doc rubygem-shorturl: rubygem(shorturl) rubygem-shorturl Source checksums ---------------- https://rubygems.org/gems/shorturl-1.0.0.gem : CHECKSUM(SHA256) this package : 4ce879878999f4e5fe46f03fc8f3f2b16ada1a170f00785638cb1e371f870cd3 CHECKSUM(SHA256) upstream package : 4ce879878999f4e5fe46f03fc8f3f2b16ada1a170f00785638cb1e371f870cd3 Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20 Command line :/usr/bin/fedora-review -b 1246974 Buildroot used: fedora-23-x86_64 Active plugins: Generic, Ruby, Shell-api Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
In section %check no tests, see here - [1]. ( in this case will - add "BuildRequires: rubygem(rspec)" and in %check add "rspec -Ilib spec" ). Also see output rpmlint: 1) summary-too-long 2) in URL: beter use https: ... . (" https://github.com/robbyrussell/shorturl ", without the latter " / ".) 3) %description and Summary in en_US format. See examples rubygem-* spec file in [2]. [1] https://fedoraproject.org/wiki/Packaging:Ruby#Testing_frameworks_usage [2] http://pkgs.fedoraproject.org/cgit/?q=rubygem
(In reply to Ilya Gradina from comment #2) > In section %check no tests, see here - [1]. ( in this case will - add > "BuildRequires: rubygem(rspec)" and in %check add "rspec -Ilib spec" ). > > Also see output rpmlint: > 1) summary-too-long What does it means? Where to read about? > 2) in URL: beter use https: ... . (" > https://github.com/robbyrussell/shorturl ", without the latter " / ".) > 3) %description and Summary in en_US format. What does it means? Where to read about? > > See examples rubygem-* spec file in [2]. > > [1] https://fedoraproject.org/wiki/Packaging:Ruby#Testing_frameworks_usage > [2] http://pkgs.fedoraproject.org/cgit/?q=rubygem
(In reply to Igor Gnatenko from comment #3) > (In reply to Ilya Gradina from comment #2) > > In section %check no tests, see here - [1]. ( in this case will - add > > "BuildRequires: rubygem(rspec)" and in %check add "rspec -Ilib spec" ). > > > > Also see output rpmlint: > > 1) summary-too-long > What does it means? Where to read about? > > 2) in URL: beter use https: ... . (" > > https://github.com/robbyrussell/shorturl ", without the latter " / ".) > > 3) %description and Summary in en_US format. > What does it means? Where to read about? > > > > See examples rubygem-* spec file in [2]. > > > > [1] https://fedoraproject.org/wiki/Packaging:Ruby#Testing_frameworks_usage > > [2] http://pkgs.fedoraproject.org/cgit/?q=rubygem see here: https://fedoraproject.org/wiki/How_to_create_an_RPM_package#SPEC_file_overview
Thanks for the replies, i've update the spec and sprm file. spec : https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl.spec srpm: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl-1.0.0-2.fc23.src.rpm package-review output Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package contains Requires: ruby(release). - 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 LICENSE_txt.html is marked as %doc instead of %license See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text ===== 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". 22 files have unknown license. Detailed output of licensecheck in /home/leinfeva/reviews/review-rubygem- shorturl/licensecheck.txt [ ]: License file installed when any subpackage combination is installed. [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. [ ]: Sources contain only permissible code or content. [ ]: Package contains desktop file if it is a GUI application. [ ]: 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. [ ]: Package is not known to require an ExcludeArch tag. [ ]: 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 0 bytes in 0 files. [x]: Packages must not store files under /srv, /opt or /usr/local Ruby: [ ]: Platform dependent files must all go under %{gem_extdir_mri}, platform independent under %{gem_dir}. [x]: Gem package must not define a non-gem subpackage [x]: Macro %{gem_extdir} is deprecated. [x]: Gem package is named rubygem-%{gem_name} [x]: Package contains BuildRequires: rubygems-devel. [x]: gems should require rubygems package [x]: Gem package must define %{gem_name} macro. [x]: Pure Ruby package must be built as noarch [x]: Package does not contain Requires: ruby(abi). ===== SHOULD items ===== Generic: [ ]: Avoid bundling fonts in non-fonts packages. Note: Package contains font files [ ]: 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]: 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]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. Ruby: [ ]: Specfile should use macros from rubygem-devel package. Note: The specfile doesn't use these macros: /usr/share/gems/gems/shorturl-1.0.0/lib, %exclude /usr/share/gems/cache/shorturl-1.0.0.gem, /usr/share/gems/specifications/shorturl-1.0.0.gemspec [x]: Gem package should exclude cached Gem. [x]: Gem should use %gem_install macro. [x]: Test suite should not be run by rake. [x]: Test suite of the library should be run. ===== EXTRA items ===== Generic: [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: rubygem-shorturl-1.0.0-2.fc23.noarch.rpm rubygem-shorturl-doc-1.0.0-2.fc23.noarch.rpm rubygem-shorturl-1.0.0-2.fc23.src.rpm rubygem-shorturl.noarch: W: no-documentation rubygem-shorturl.noarch: W: no-manual-page-for-binary shorturl 3 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- rubygem-shorturl.noarch: W: no-documentation rubygem-shorturl.noarch: W: no-manual-page-for-binary shorturl 2 packages and 0 specfiles checked; 0 errors, 2 warnings. Requires -------- rubygem-shorturl-doc (rpmlib, GLIBC filtered): rubygem-shorturl rubygems rubygem-shorturl (rpmlib, GLIBC filtered): /usr/bin/env /usr/bin/ruby ruby(rubygems) Provides -------- rubygem-shorturl-doc: rubygem-shorturl-doc rubygem-shorturl: rubygem(shorturl) rubygem-shorturl Source checksums ---------------- https://rubygems.org/gems/shorturl-1.0.0.gem : CHECKSUM(SHA256) this package : 4ce879878999f4e5fe46f03fc8f3f2b16ada1a170f00785638cb1e371f870cd3 CHECKSUM(SHA256) upstream package : 4ce879878999f4e5fe46f03fc8f3f2b16ada1a170f00785638cb1e371f870cd3 Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20 Command line :/usr/bin/fedora-review -n rubygem-shorturl Buildroot used: fedora-23-x86_64 Active plugins: Generic, Ruby, Shell-api Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
leinfeva, Could you please double check this line: rm -rf %{buildroot}%{gem_instdir}/tmp in %check section? I am wondering what is the purpose of it?
BTW, leinfeva, since I am already participation in this review, I can sponsor you as well, but I would welcome, if you can provide a few informal reviews [1]. [1] https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Show_Your_Expertise_by_Commenting_on_other_Review_Requests
One more nit - the description should end with dot.
And the last one hopefully :) The changelog entries should be split by single empty line.
Thanks so much for you time and for the suggestions Vít :) Now answer you question about the rm -rf %{buildroot}%{gem_instdir}/tmp in %check section, well i see this line in other fedora spec file. so this is was the only reason for add this line to the spec. also i've update the spec file following your suggestions. thanks for this :) now i will make review of other packages. spec : https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl.spec srpm: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl-1.0.0-3.fc23.src.rpm
(In reply to leinfeva from comment #10) > Now answer you question about the rm -rf %{buildroot}%{gem_instdir}/tmp in > %check section, well i see this line in other fedora spec file. so this is > was the only reason for add this line to the spec. also i've update the spec > file following your suggestions. thanks for this :) Ah, ok :) I might be needed somewhere probably, but this would be needed only on case by case basis. > now i will make review of other packages. Great! Actually is the test suite executed at all? It seems that the test suite is written using RSpec syntax, while you try to execute it as it was MiniTest ... Hint: Just to explain, so far I am providing the feedback just as I am reading through your .spec file. The definitive answer to my question would provid link to Koji scratch build, e.g. "fedpkg scratch-build --srpm" and this in turn helps to provide better feedback by your reviewer (or random person interested in your package).
> Actually is the test suite executed at all? It seems that the test suite is > written using RSpec syntax, while you try to execute it as it was MiniTest > ... Vít I've check the gem and the helper.rb located in test folder use 'test/unit' for make the test. then as fedora wiki recommend i've add rubygem-test-unit to BuildRequires. and use MiniTest. https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby#Running_test_suites The new files: spec: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl.spec srpm: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl-1.0.0-4.fc23.src.rpm > > Hint: Just to explain, so far I am providing the feedback just as I am > reading through your .spec file. The definitive answer to my question would > provid link to Koji scratch build, e.g. "fedpkg scratch-build --srpm" and > this in turn helps to provide better feedback by your reviewer (or random > person interested in your package). Here is the koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=10663710 And finally i've made my first package review, so any suggestion or correction about my words in the review welcome ! :D https://bugzilla.redhat.com/show_bug.cgi?id=1223774
(In reply to leinfeva from comment #12) > Vít I've check the gem and the helper.rb located in test folder use > 'test/unit' for make the test. then as fedora wiki recommend i've add > rubygem-test-unit to BuildRequires. and use MiniTest. Ah sorry, you are right in deed. I was checking the sources available on GH, where they migrated the test suite to RSpec, while the older version was using Test::Unit / Minitest. Nevertheless, you don't execute the test suite actually, since the search pattern "./test/test_*.rb" does not match any file. This is probably the command you should be using: ruby -Ilib:test -e 'Dir.glob "./test/tc_*.rb", &method(:require)' In this specific case, you could use: ruby -Ilib:test test/ts_all.rb instead, but the former is probably a bit better, since it gives you a bit more control, but it depends .... > Here is the koji build: > > http://koji.fedoraproject.org/koji/taskinfo?taskID=10663710 Thx.
Hello Vít, I've update the package and fix the error in the check section. Thanks for all your help :) spec: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl.spec srpm: https://leinfeva.fedorapeople.org/pkg-gems/rubygem-shortURL/rubygem-shorturl-1.0.0-5.fc23.src.rpm However the koji build fail :( http://koji.fedoraproject.org/koji/taskinfo?taskID=10672090 thanks again.
(In reply to leinfeva from comment #14) > However the koji build fail :( > http://koji.fedoraproject.org/koji/taskinfo?taskID=10672090 Have you tried locally? Does it work? I am asking, since Koji can't connect to Internet and resolve the DNS, so you'll need to disable the failing test cases probably, e.g.: sed -i "/def test_shorten$/ a\ return" test/tc_shorturl.rb
This is unofficial review of the package. just a couple of points: * Group is no longer required * Maybe avoid saying "foo" in a changelog ;)
Ping? Any progress?
Ping?
ping?
Closing this as per policy: https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews#Submitter_not_responding