Spec URL: http://users.linpro.no/ingvar/vagrant/f18/specs/rubygem-log4r.spec SRPM URL: http://users.linpro.no/ingvar/vagrant/f18/src/rubygem-log4r-1.1.10-1.fc18.src.rpm Description: In the process of making a more native fedora package of vagrant, I found that rubygem-log4r was missing in fedora. Wrapping the package seemed straightforward, so here it is. From the log4r homepage: Log4r is a comprehensive and flexible logging library written in Ruby for use in Ruby programs. It features a hierarchical logging system of any number of levels, custom level names, logger inheritance, multiple output destinations, execution tracing, custom formatting, thread safetyness, XML and YAML configuration, and more. Fedora Account System Username: ingvar
Doesn't build on F19 at the moment, due to newer ruby and %global rubyabi 1.9.1
(In reply to Michael Scherer from comment #1) > Doesn't build on F19 at the moment, due to newer ruby and %global rubyabi > 1.9.1 I didn't test Ingvar's spec file, but I had no problem building a RPM using gem2rpm on F19 and F20. I there any other blocking factor? I can provide a package if needed.
It looks like this spec file needs to be updated for the newest Ruby guidelines for Fedora 19+. Ingvar, are you still interested in packaging this?
This is blocking for Vagrant, so I agree to take ownership if nobody wants it.
Updated for Fedora 19: http://users.linpro.no/ingvar/vagrant/f19/specs/rubygem-log4r.spec http://users.linpro.no/ingvar/vagrant/f19/x86_64/rubygem-log4r-1.1.10-2.fc19.noarch.rpm http://users.linpro.no/ingvar/vagrant/f19/src/rubygem-log4r-1.1.10-2.fc19.src.rpm
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= SHOULD Items -------------- [!]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. Note: I see you are scrapping the license text from the upstream website. Please request upstream to include license in the source code. You can send an email to the upstream maintainer or mailing list and include the link (to the link here) [!]: Test suite of the library should be run. Please see https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby#Running_test_suites ===== 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. [X]: License file installed when any subpackage combination is installed. [X]: Package must own all directories that it creates. [X]: Package contains no bundled libraries without FPC exception. [X]: Changelog in prescribed format. [X]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf %{buildroot} present but not required [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 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]: Package is not known to require an ExcludeArch tag. [X]: 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. [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 below Checking: rubygem-log4r-1.1.10-2.fc19.noarch.rpm rubygem-log4r-doc-1.1.10-2.fc19.noarch.rpm rubygem-log4r-1.1.10-2.fc19.src.rpm rubygem-log4r.noarch: W: spelling-error %description -l en_US safetyness -> safeness rubygem-log4r.src: W: spelling-error %description -l en_US safetyness -> safeness 3 packages and 0 specfiles checked; 0 errors, 2 warnings. [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]: Each %files section contains %defattr if rpm < 4.4 [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 Ruby: [X]: 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). [x]: Package contains Requires: ruby(release). ===== 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. Please provide more info on whether you have tried to query upstream [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. [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]: 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]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. Ruby: [X]: Gem should use %gem_install macro. [!]: Test suite of the library should be run. https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby#Running_test_suites [-]: Specfile should use macros from rubygem-devel package. Note: The specfile doesn't use these macros: /usr/share/gems/specifications/log4r-1.1.10.gemspec, %exclude /usr/share/gems/cache/log4r-1.1.10.gem [x]: Gem package should exclude cached Gem. ===== 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: rubygem-log4r-1.1.10-2.fc19.noarch.rpm rubygem-log4r-doc-1.1.10-2.fc19.noarch.rpm rubygem-log4r-1.1.10-2.fc19.src.rpm rubygem-log4r.noarch: W: spelling-error %description -l en_US safetyness -> safeness rubygem-log4r.src: W: spelling-error %description -l en_US safetyness -> safeness 3 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint rubygem-log4r-doc rubygem-log4r rubygem-log4r.noarch: W: spelling-error %description -l en_US safetyness -> safeness 2 packages and 0 specfiles checked; 0 errors, 1 warnings. # echo 'rpmlint-done:' Requires -------- rubygem-log4r-doc (rpmlib, GLIBC filtered): rubygem-log4r rubygem-log4r (rpmlib, GLIBC filtered): ruby(release) ruby(rubygems) Provides -------- rubygem-log4r-doc: rubygem-log4r-doc rubygem-log4r: rubygem(log4r) rubygem-log4r Source checksums ---------------- https://rubygems.org/gems/log4r-1.1.10.gem : CHECKSUM(SHA256) this package : 9b452928c964b7c54c09aeb25ff045b5a722b387b16c9ce37cb1baec00062966 CHECKSUM(SHA256) upstream package : 9b452928c964b7c54c09aeb25ff045b5a722b387b16c9ce37cb1baec00062966 Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30 Command line :/usr/bin/fedora-review -u https://bugzilla.redhat.com/show_bug.cgi?id=905240 Buildroot used: fedora-19-x86_64 Active plugins: Generic, Ruby, Shell-api Disabled plugins: Java, C/C++, Python, SugarActivity, Perl, R, PHP Disabled flags: EPEL5, EXARCH, DISTTAG
New activity on this bug ?
It's been almost a month. do you still want to maintain this package?
I actually got time again to do a new run on this package. Upstream has released a new version, but the old homepage is down, so I got the source from github. In this version, the license is fixed upstream - they changed it to BSD. On running the test suit, tests/README states that "the unit tests are currently out of date", and many of them fails when ran manually. so I have skipped over those. At a glance, I think they should be fairly easy for a ruby dev to fix, but I'm not one of those New src.rpm here http://users.linpro.no/ingvar/vagrant/f19/src/rubygem-log4r-1.1.11-1.fc19.src.rpm Ingvar
Hi Ingvar, I accidentally opened a second review request[0]. Can I ask you whether you want to continue with this? If so, I am gonna close mine as a duplicate. Also I briefly looked at your spec and some tests can be actually run [1] so you can try to run them. [0] https://bugzilla.redhat.com/show_bug.cgi?id=1150151 [1] http://data-strzibny.rhcloud.com/rubygem-log4r.spec
Maintaining this package doesn't seem much work, so I'd like to continue, please :-) I'll add the tests that actually run, and put up a new package. Ingvar
*** Bug 1150151 has been marked as a duplicate of this bug. ***
Thanks.
Updated package here: http://users.linpro.no/ingvar/vagrant/f20/src/rubygem-log4r-1.1.11-2.fc20.src.rpm Ingvar
I just noticed that 1.11 is introducing breaking changes: https://github.com/colbygk/log4r/issues/26 https://github.com/colbygk/log4r/issues/24 And it was yanked on rubygems.org: http://rubygems.org/gems/log4r/versions https://github.com/colbygk/log4r/issues/26#issuecomment-31622574 Could you please revert back to 1.10 until this gets resolved? Thanks.
Ping! Any progress?
Hi Ingvar, do you have time to work on this? We really need to get it into Fedora. Thank you.
Since Ingvar is not responsive I am submitting my original work from the duplicate bug: Spec URL: http://data-strzibny.rhcloud.com/rubygem-log4r.spec SRPM URL: http://data-strzibny.rhcloud.com/rubygem-log4r-1.1.10-1.fc22.src.rpm Description: Log4r is a comprehensive and flexible logging library for use in Ruby programs. It features a heirarchical logging system of any number of levels, custom level names, multiple output destinations per log event, custom formatting, and more. Fedora Account System Username: jstribny This is a Vagrant dependency, which I would like to have as a F22 feature.
I'll take it for a review.
Sorry, I have not been able to use time on this. Too much happening in my real life. Only thing that's a bit tricky with version 1.10 is to sort out the correct license. 1.11 changed to BSD, so that's quit clear. The 1.10 license was not completely clear to me. It is _either_ GPL (no version mentioned) or some more or less free variant. License text pasted here: http://fpaste.org/153946/14169327/ Ingvar
Ingvar, if you don't mind, we'll finish the review. If you like, you can become co-maintainer if that works for you. * Documentation should be marked by %doc macro - %{gem_instdir}/doc should be marked as documentation. * Is the lib/log4r/rdoc runtime dependency? - Shouldn't it be moved into documentation? - Shouldn't it be removed? Isn't it just used to generate documentation? * Wrong license - As Ingvar pointed out, the license is a bit tricky, but I'd say that the last license mentioned for 1.10.0 is LGPLv3 [1]. I believe that it was relicensed, although the conditions of the relicensing are not very clear :/ * License file - Have you asked upstream to include the LICENSE file? * Execute test suite using Minitest 5.x - Have you considered to execute the test suite using Minitest 5.x? (please note that some of the points might be already obsolete with 1.11.0 release) [1] https://github.com/colbygk/log4r/tree/40e2c2edd657a21b34f09dec7de238f348b6f428
(In reply to Vít Ondruch from comment #21) > Ingvar, > > if you don't mind, we'll finish the review. Sure, that was my point. I've not been able to prioritize this for months, so it's better you guys take over. > If you like, you can become co-maintainer if that works for you. Thanks, but no, thanks. My primary target was to wrap up Vagrant, and this subpackage was just a requirement. When Vagrant upstream changed so much that packaging with Fedora standards became non-trivial, I left that to more seasoned packagers. I don't feel ownership to this package, so it's better off in your hands. > * Wrong license > - As Ingvar pointed out, the license is a bit tricky, but I'd say that the > last license mentioned for 1.10.0 is LGPLv3 [1]. I believe that it was > relicensed, although the conditions of the relicensing are not very > clear :/ > > * License file > - Have you asked upstream to include the LICENSE file? For clearity, the gem included doc/content/license.html should probably be removed or replaced with text referring to the (missing) LGPLv3 LICENSE file then :-) Ingvar
I hopefully addressed all the issues: Spec URL: http://data-strzibny.rhcloud.com/vagrant/rubygem-log4r.spec SRPM URL: http://data-strzibny.rhcloud.com/vagrant/rubygem-log4r-1.1.10-1.fc22.src.rpm
* rpmlint issues: - rubygem-log4r.noarch: W: spelling-error %description -l en_US heirarchical -> hierarchical, hierarchic Otherwise the package looks good => APPROVED
Thanks for the review. New Package SCM Request ======================= Package Name: rubygem-log4r Short Description: Log4r, logging framework for ruby Upstream URL: https://github.com/colbygk/log4r Owners: jstribny vondruch Branches: InitialCC:
Git done (by process-git-requests).
Package Change Request ====================== Package Name: rubygem-log4r New Branches: f21 Owners: obnox vondruch jstribny InitialCC: Need to backport this package as a prerequisite for backporting the new vagrant package.
rubygem-log4r-1.1.10-2.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/rubygem-log4r-1.1.10-2.fc21
rubygem-log4r-1.1.10-2.fc21 has been pushed to the Fedora 21 stable repository.
Package Change Request ====================== Package Name: rubygem-log4r New Branches: epel7 Owners: jstribny humaton