This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours

Bug 728256

Summary: Review Request: rubygem-activesupport2.3 - rails 2 alongside rails 3
Product: [Fedora] Fedora Reporter: Emanuel Rietveld <codehotter>
Component: Package ReviewAssignee: Guillermo Gómez <guillermo.gomez>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: guillermo.gomez, notting, package-review
Target Milestone: ---Flags: guillermo.gomez: fedora‑review+
limburgher: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-06 11:26:43 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 726690, 728249, 728255    
Attachments:
Description Flags
rpmlint output none

Description Emanuel Rietveld 2011-08-04 10:09:12 EDT
Spec URL: http://xls01.freecult.org/pkg/?p=pkg.git;a=blob_plain;f=SPECS/rubygem-activesupport2.3.spec;hb=refs/heads/rails23
SRPM URL: http://xls01.freecult.org/pkg/?p=pkg.git;a=blob_plain;f=SRPMS/rubygem-activesupport2.3-2.3.12-1.fc15.src.rpm;hb=refs/heads/rails23

Changelog: http://xls01.freecult.org/pkg/?p=pkg.git;a=log;h=refs/heads/rails23

Description: rubygem-activesupport2.3 is a dependency of rails 2.3. (another dependency is rubygem-rdoc, which was built for Fedora 16 by mmorsi. See http://koji.fedoraproject.org/koji/buildinfo?buildID=254306 )

Although rails 3 was released, and Fedora 15 has moved to rails 3, there are still rails projects working with rails 2.3 series. Rails 3 is not backwards compatible and some key features are not yet working in rails 3. One notable project still on rails 2.3 is the issue tracker redmine: http://www.redmine.org.

Since rails 2 and rails 3 are perfectly parallel installable, I would like to maintain rails 2.3 series in Fedora until it really becomes obsolete. I have built these rails 2.3.12 packages starting from the rails 2.3.8 rpms already in Fedora 14.

This is my first time packaging for Fedora and I am welcoming feedback. Thank you for your time.
Comment 1 Guillermo Gómez 2011-08-10 08:30:58 EDT
According my deps this the first pkg to review, i will take it and find sponshorship for u if possible.
Comment 2 Emanuel Rietveld 2011-08-10 09:58:57 EDT
Created attachment 517615 [details]
rpmlint output

Pushed new package to replace incorrect Rakefile version in .src.rpm.

Full rpmlint output (233 warnings) attached. There are many warnings related to 'unexpanded macro' which are actually escaped characters, like %3f, in the filenames of the ri documentation. The previous version of the package, activesupport-2.3.8 in F14, had these warnings as well.

$ rpmlint /var/lib/mock/fedora-15-x86_64/result/*.rpm | grep -v unexpanded-macro

rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/failover-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/namespace-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/TZInfo/TimezonePeriod/end_transition-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/logger-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/timeout-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/Server/host-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/Server/retry-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/no_reply-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/Server/port-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/multithread-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/Server/weight-i.ri
rubygem-activesupport2.3.noarch: W: file-not-utf8 /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/cache.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/Server/status-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/TZInfo/TimezonePeriod/offset-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/TZInfo/TimezonePeriod/start_transition-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/MemCache/servers-i.ri
rubygem-activesupport2.3.noarch: W: wrong-file-end-of-line-encoding /usr/lib/ruby/gems/1.8/doc/activesupport-2.3.12/ri/ActiveSupport/CoreExtensions/Numeric/Time/since-i.ri
rubygem-activesupport2.3.src: W: invalid-url Source2: activesupport-23-tests.tgz
rubygem-activesupport2.3.src: W: file-size-mismatch Rakefile = 5371, https://raw.github.com/rails/rails/v2.3.12/activesupport/Rakefile = 1
2 packages and 0 specfiles checked; 0 errors, 233 warnings.

If ignoring the unexpanded-macro warnings of the ri documentation, there are several warnings left. First a list of 'wrong-file-end-of-line-encoding'. I am reluctant to fix these, because stripping \r from actionpack files has been known to break rails before - see comment of mmorsi in that spec file. Besides, the files are not plain text files, but binary documentation files. It is unclear what the effect of stripping \r characters out of a binary file will be. Of course, I am open to a difference of opinion.

Next one, invalid-url, is to be expected. For some reason the tests are not packaged in the upstream source gem, so the activesupport-23-tests.tgz source is created from git. The procedure for reproducing activesupport-23-tests.tgz is documented in the spec file.

Finally, however, I do not understand the file-size-mismatch at all.

curl -O https://raw.github.com/rails/rails/v2.3.12/activesupport/Rakefile results in a file with size of 5371 which is in every respect identical to the file in the source rpm. What is rpmlint complaining about here?
Comment 3 Guillermo Gómez 2011-11-19 10:36:38 EST
Cant find the srpm file, could you please refresh the links? (apologies for the delay)

Guillermo
Comment 4 Emanuel Rietveld 2011-11-20 04:50:06 EST
Tar gz of everything in my rails23 repo, most recent commit:
http://xls01.freecult.org/pkg/?p=pkg.git;a=snapshot;h=rails23;sf=tgz

Direct link to current source rpm:
http://xls01.freecult.org/pkg/?p=pkg.git;a=blob_plain;f=SRPMS/rubygem-activesupport2.3-2.3.14-1.fc15.src.rpm;h=rails23

I do like keeping my packaging work in git, but I still need to get some more userfriendly interface.

Thanks

Emanuel
Comment 5 Guillermo Gómez 2011-11-23 09:51:34 EST
Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

[x] : MUST - Package successfully compiles and builds into binary rpms on at least one supported architecture.
[x] : MUST - Fully versioned dependency in subpackages, if present.
[x] : MUST - Package does not contain any libtool archives (.la)
[-] : MUST - Package use %makeinstall only when make install DESTDIR=... doesn't work.
[x] : MUST - Package is named according to the Package Naming Guidelines.
 
   NOTE: not a blocker, but i would suggest to get rid of the epoch field.
   Its not needed and would simply naming the package (this is a brand new
   package, please adjust changelog if done)

[x] : MUST - Sources used to build the package matches the upstream source, as provided in the spec URL.
[x] : MUST - Spec file name must match the spec package %{name}, in the format %{name}.spec.

[-] : MUST - Rpmlint output is silent.
[x] : MUST - Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging
Guidelines.
[x] : MUST - All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines.
[x] : MUST - Package contains no bundled libraries.
[x] : MUST - Changelog in prescribed format.
[x] : MUST - Sources contain only permissible code or content.
[x] : MUST - Macros in Summary, %description expandable at SRPM build time.
[x] : MUST - Package uses nothing in %doc for runtime.
[x] : MUST - Package is not known to require ExcludeArch.
[x] : MUST - Permissions on files are set properly.
[x] : MUST - Package does not contain duplicates in %files.
[x] : MUST - Large documentation files are in a -doc subpackage, if required.
[-] : MUST - 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] : MUST - License field in the package spec file matches the actual license.
[-] : MUST - License file installed when any subpackage combination is installed.
[x] : MUST - Package consistently uses macros. instead of hard-coded directory names.
[x] : MUST - Package meets the Packaging Guidelines.
[-] : MUST - Package does not generates any conflict.
[-] : MUST - Package does not contains kernel modules.
[x] : MUST - Package must own all directories that it creates.
[x] : MUST - Package does not own files or directories owned by other packages.
[x] : MUST - Package installs properly.
[-] : MUST - Rpath absent or only used for internal libs.
[x] : MUST - Package is not relocatable.
[x] : MUST - Requires correct, justified where necessary.
[x] : MUST - Spec file is legible and written in American English.
[x] : MUST - File names are valid UTF-8.
[x] : SHOULD - Reviewer should test that the package builds in mock/koji.
[x] : SHOULD - Dist tag is present.
[x] : SHOULD - SourceX / PatchY prefixed with %{name}.
[x] : SHOULD - SourceX is a working URL.
[x] : SHOULD - Spec use %global instead of %define.
[x] : SHOULD - No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x] : SHOULD - Final provides and requires are sane (rpm -q --provides and rpm -q --requires).
[x] : SHOULD - Latest version is packaged.
[x] : SHOULD - Package does not include license text files separate from upstream.
[x] : SHOULD - Patches link to upstream bugs/comments/lists or are otherwise justified.
[x] : SHOULD - Package should compile and build into binary rpms on all supported architectures.
[x] : SHOULD - %check is present and all tests pass.

  NOTE: test passes 100% in koji but some tests fails in my station, there has 
  to be some test dependencies hiden.

[x] : SHOULD - Packages should try to preserve timestamps of original installed files.

Toshio, i think this one is clean enough in order to sponsor Emanuel.

APPROVED
Comment 6 Emanuel Rietveld 2011-11-23 12:01:35 EST
Thank you Guillermo.

I have removed the Epoch field and updated the changelog.

Can you please give me more information about the failing tests? Which tests fail? They all pass on my workstation in Mock.
Comment 7 Emanuel Rietveld 2011-11-25 04:01:26 EST
New Package SCM Request
=======================
Package Name: rubygem-activesupport2.3
Short Description: Support and utility classes used by the Rails 2.3 framework
Owners: codehotter
Branches: f15 f16
InitialCC:
Comment 8 Jon Ciesla 2011-11-27 16:58:03 EST
Git done (by process-git-requests).
Comment 9 Emanuel Rietveld 2012-01-06 11:26:43 EST
Built successfully http://koji.fedoraproject.org/koji/buildinfo?buildID=281645
Comment 10 Fedora Update System 2012-01-09 03:46:29 EST
rubygem-activesupport2.3-2.3.14-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/rubygem-activesupport2.3-2.3.14-1.fc16