Bug 2127693 - Review Request: rubygem-hashie - Your friendly neighborhood hash library
Summary: Review Request: rubygem-hashie - Your friendly neighborhood hash library
Keywords:
Status: POST
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Benson Muite
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-09-18 07:48 UTC by Robby Callicotte
Modified: 2024-01-04 13:47 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-11-25 17:06:44 UTC
Type: ---
Embargoed:
benson_muite: fedora-review+


Attachments (Terms of Use)

Description Robby Callicotte 2022-09-18 07:48:42 UTC
Spec URL: https://rcallicotte.fedorapeople.org/rubygem-hashie.spec
SRPM URL: https://rcallicotte.fedorapeople.org/rubygem-hashie-5.0.0-1.fc38.src.rpm
Description: Hashie is a collection of classes and mixins that make hashes more powerful.

Fedora Account System Username: rcallicotte

Comment 1 Benson Muite 2022-09-18 09:49:29 UTC
Assume will unretire https://src.fedoraproject.org/rpms/rubygem-hashie

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Package does not use a name that already exists.
  Note: A package with this name already exists. Please check
  https://src.fedoraproject.org/rpms/rubygem-hashie
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/Naming/#_conflicting_package_names


===== 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", "MIT License". 47 files have unknown
     license. Detailed output of licensecheck in
     /home/FedoraPackaging/reviews/rubygem-hashie/2127693-rubygem-
     hashie/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package contains no bundled libraries without FPC exception.
[?]: 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.
[?]: 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.
[?]: 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]: 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.
[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 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 must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[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

===== 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).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[?]: 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]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: When checking ruby code, install the ruby plugin.
[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
-------
Cannot parse rpmlint output:


Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 2

rubygem-hashie.noarch: W: no-documentation
 2 packages and 0 specfiles checked; 0 errors, 1 warnings, 0 badness; has taken 
4.3 s 



Source checksums
----------------
https://rubygems.org/gems/hashie-5.0.0.gem :
  CHECKSUM(SHA256) this package     : 9d6c4e51f2a36d4616cbc8a322d619a162d8f42815
a792596039fc95595603da
  CHECKSUM(SHA256) upstream package : 9d6c4e51f2a36d4616cbc8a322d619a162d8f42815
a792596039fc95595603da


Requires
--------
rubygem-hashie (rpmlib, GLIBC filtered):
    ruby(rubygems)

rubygem-hashie-doc (rpmlib, GLIBC filtered):
    rubygem-hashie



Provides
--------
rubygem-hashie:
    rubygem(hashie)
    rubygem-hashie

rubygem-hashie-doc:
    rubygem-hashie-doc



Generated by fedora-review 0.9.0 (6761b6c) last change: 2022-08-23
Command line :/usr/bin/fedora-review -b 2127693
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Perl, Ocaml, Haskell, PHP, Java, fonts, C/C++, Python, R, SugarActivity
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comments:
a) Tests do not seem to be run as done in https://src.fedoraproject.org/rpms/rubygem-hashie/blob/f35/f/rubygem-hashie.spec
b) May want to update https://src.fedoraproject.org/rpms/rubygem-hashie/blob/f35/f/rubygem-hashie.spec rather than generate an entirely new spec.

Comment 2 Robby Callicotte 2022-09-18 21:36:35 UTC
Hello, 

Yes, it is my intention to unretire hashie. Releng ticket: https://pagure.io/releng/issue/11038

I have updated the spec and srpms...  Included tests...
SPEC: https://rcallicotte.fedorapeople.org/rubygem-hashie.spec
SRPM: https://rcallicotte.fedorapeople.org/rubygem-hashie-5.0.0-1.fc38.src.rpm


I also intended to utilize the gem2rpm tool for the spec... Since the package is retired, should I be placing the original changelog back into the spec?  This is my first retired package that I have worked with.

Comment 3 Benson Muite 2022-09-19 04:44:13 UTC
Yes it is helpful to capture the history as you are unretiring the package, and not making an entirely new package.

Comment 4 Benson Muite 2022-09-19 06:55:18 UTC
There are some warnings when running the tests, but they pass:

+ rspec -rtempfile -rjson spec/hashie spec/hashie_spec.rb
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/spec/hashie/
extensions/symbolize_keys_spec.rb:4: warning: method redefined; discarding old i
nvoke
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/spec/hashie/
extensions/stringify_keys_spec.rb:4: warning: previous definition of invoke was 
here
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/e
xtensions/dash/property_translation.rb:132: warning: method redefined; discardin
g old config=
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/e
xtensions/dash/property_translation.rb:132: warning: previous definition of conf
ig= was here
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/e
xtensions/dash/property_translation.rb:132: warning: method redefined; discardin
g old first_name=
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/d
ash.rb:99: warning: previous definition of first_name= was here
................................................................................
................................................................................
................................................................................
........../builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/sp
ec/hashie/extensions/indifferent_access_spec.rb:124: warning: already initialize
d constant ALIASES
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/spec/hashie/
extensions/indifferent_access_spec.rb:124: warning: previous definition of ALIAS
ES was here
................................................................................
...............W, [2022-09-19T08:24:37.285995 #1847]  WARN -- : You are setting 
a key that conflicts with a built-in method #<Class:0x00007f73a9df7450>#foo defi
ned at /builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/spec/
hashie/extensions/mash/define_accessors_spec.rb:61. This can cause unexpected be
havior when accessing the key as a property. You can still access the key via th
e #[] method.
................................................................................
................................................................................
................................................................................
................................................................................
........................../builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems
/hashie-5.0.0/lib/hashie/extensions/dash/property_translation.rb:132: warning: m
ethod redefined; discarding old id=
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/d
ash.rb:99: warning: previous definition of id= was here
.../builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashi
e/extensions/dash/property_translation.rb:132: warning: method redefined; discar
ding old id=
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/d
ash.rb:99: warning: previous definition of id= was here
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/e
xtensions/dash/property_translation.rb:132: warning: method redefined; discardin
g old id=
/builddir/build/BUILD/hashie-5.0.0/usr/share/gems/gems/hashie-5.0.0/lib/hashie/d
ash.rb:99: warning: previous definition of id= was here
......
Finished in 0.96985 seconds (files took 1.25 seconds to load)
700 examples, 0 failures
+ rspec spec/integration/active_support
...........................................................
Finished in 0.1166 seconds (files took 1.55 seconds to load)
59 examples, 0 failures
+ popd
~/build/BUILD/hashie-5.0.0
+ RPM_EC=0
++ jobs -p
Processing files: rubygem-hashie-5.0.0-1.fc38.noarch
+ exit 0

Lint messages:

$ rpmlint rubygem-hashie-5.0.0-1.fc38.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

rubygem-hashie.spec: W: invalid-url Source1: hashie-5.0.0-spec.tar.gz
 1 packages and 0 specfiles checked; 0 errors, 1 warnings, 0 badness; has taken 1.9 s 

$ rpmlint rubygem-hashie-5.0.0-1.fc38.noarch.rpm
============================ rpmlint session starts ============================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

rubygem-hashie.noarch: W: no-documentation
 1 packages and 0 specfiles checked; 0 errors, 1 warnings, 0 badness; has taken 16.8 s 

$ rpmlint rubygem-hashie-doc-5.0.0-1.fc38.noarch.rpm
============================ rpmlint session starts ============================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 4.0 s 

Comments:
a) Should UPGRADING.md be placed in the documentation package?
b) Can source1 be linked explicitly, it has a tag https://github.com/hashie/hashie/tags ? 
c) there are font files which should be packaged separately
Lato-LightItalic.ttf  Lato-RegularItalic.ttf  SourceCodePro-Bold.ttf
Lato-Light.ttf        Lato-Regular.ttf        SourceCodePro-Regular.ttf
Corresponding packages
https://packages.fedoraproject.org/pkgs/lato-fonts/lato-fonts/
https://packages.fedoraproject.org/pkgs/adobe-source-code-pro-fonts/adobe-source-code-pro-fonts/
Can make these packages dependencies and add softlinks at usr/share/gems/doc/hashie-5.0.0/rdoc/fonts
d) Not sure why one still gets the warning [!]: When checking ruby code, install the ruby plugin.

Comment 5 Robby Callicotte 2022-09-24 04:16:43 UTC
Hello!

Updated SPEC: https://rcallicotte.fedorapeople.org/rubygem-hashie.spec
Updated SPRM: https://rcallicotte.fedorapeople.org/rubygem-hashie-5.0.0-2.fc38.src.rpm

> a) Should UPGRADING.md be placed in the documentation package?
I added this file to the doc subpackage

> b) Can source1 be linked explicitly, it has a tag https://github.com/hashie/hashie/tags ? 
I am following established precedent observed in about 30-ish previously built rubygems.
This is explicitly archiving only the spec directory.

> c) there are font files which should be packaged separately
> Lato-LightItalic.ttf  Lato-RegularItalic.ttf  SourceCodePro-Bold.ttf
> Lato-Light.ttf        Lato-Regular.ttf        SourceCodePro-Regular.ttf
> Corresponding packages
> https://packages.fedoraproject.org/pkgs/lato-fonts/lato-fonts/
> https://packages.fedoraproject.org/pkgs/adobe-source-code-pro-fonts/adobe-source-code-pro-fonts/
> Can make these packages dependencies and add softlinks at usr/share/gems/doc/hashie-5.0.0/rdoc/fonts
I am following established precedent observed in about 30-ish previously build rubygems.  I have searched 
the ruby-devel lists[1] and this ticket[2] was mentioned.  The consensus was to keep the status quo due
to the amount of re-work that would need to be done. ¯\_(ツ)_/¯

> d) Not sure why one still gets the warning [!]: When checking ruby code, install the ruby plugin.
This might be due to fedora-review missing the ruby plugin.  You can install fedora-review-plugin-ruby
and that should clear the warning.


[1] - https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/thread/E5RLYVVSWITHJXCABIIPTMRR3BYU6JWF/#E5RLYVVSWITHJXCABIIPTMRR3BYU6JWF
[2] - https://bugzilla.redhat.com/show_bug.cgi?id=1224715

Comment 6 Benson Muite 2022-09-24 07:22:03 UTC
>> b) Can source1 be linked explicitly, it has a tag https://github.com/hashie/hashie/tags ? 
>I am following established precedent observed in about 30-ish previously built rubygems.
>This is explicitly archiving only the spec directory.
Ok.

>> c) there are font files which should be packaged separately
>> Lato-LightItalic.ttf  Lato-RegularItalic.ttf  SourceCodePro-Bold.ttf
>> Lato-Light.ttf        Lato-Regular.ttf        SourceCodePro-Regular.ttf
>> Corresponding packages
>> https://packages.fedoraproject.org/pkgs/lato-fonts/lato-fonts/
>> https://packages.fedoraproject.org/pkgs/adobe-source-code-pro-fonts/adobe-source-code-pro-fonts/
>> Can make these packages dependencies and add softlinks at usr/share/gems/doc/hashie-5.0.0/rdoc/fonts
>I am following established precedent observed in about 30-ish previously build rubygems.  I have searched 
>the ruby-devel lists[1] and this ticket[2] was mentioned.  The consensus was to keep the status quo due
>to the amount of re-work that would need to be done. ¯\_(ツ)_/¯
I expect adding a softlink will work. Build as normal, require the appropriate font packages, remove the bundled ttf 
files, replace the font files with softlinks. This does not seem like it should be problematic to continue going 
forward, but let me know if I am wrong. I can reopen the ticket if helpful.  

>> d) Not sure why one still gets the warning [!]: When checking ruby code, install the ruby plugin.
> This might be due to fedora-review missing the ruby plugin.  You can install fedora-review-plugin-ruby
> and that should clear the warning.
Thankyou.

Comment 7 Robby Callicotte 2022-10-02 04:09:38 UTC
Benson,

Is there any other action required by me?  If there are further questions regarding the embedded fonts, I can reach out to one of the ruby-sig folks for clarification.

Comment 8 Benson Muite 2022-10-04 08:08:34 UTC
Thanks.  Going with current practice for the fonts seems ok, there are efforts to automate this. Checking the package again.

Comment 9 Robby Callicotte 2022-10-16 21:47:26 UTC
Benson, 

Other than the fonts issue, is there anything else that is keeping this package held in review status?  I would like to get the build going if at all possible. :)

Comment 10 Benson Muite 2022-10-31 13:10:46 UTC
Just fonts at this point.

Comment 11 Benson Muite 2022-10-31 14:12:17 UTC
gemspec file also seems to be replicated:
$ ls rpms-unpacked/rubygem-hashie-doc-5.0.0-1.fc38.noarch.rpm/usr/share/gems/gems/hashie-5.0.0/
CHANGELOG.md  CONTRIBUTING.md  hashie.gemspec  Rakefile  README.md
$ ls rpms-unpacked/rubygem-hashie-5.0.0-1.fc38.noarch.rpm/usr/share/gems/specifications/
hashie-5.0.0.gemspec

Comment 12 Benson Muite 2022-11-21 04:59:10 UTC
Approving. Hopefully fonts packaging will be fixed soon.
When importing please remove the lines
%{gem_instdir}/Rakefile
%{gem_instdir}/hashie.gemspec
Please also and OFL font license to the spec file, and add a license breakdown for the font files (OFL) and the rest of the code (MIT)

Comment 13 Benson Muite 2022-11-21 05:17:40 UTC
Please also remove
BuildRequires: ruby(release)

Comment 14 Benson Muite 2022-11-21 05:22:40 UTC
Sorry 
BuildRequires: ruby(release)
is fine.

Comment 15 Package Review 2023-11-25 17:06:44 UTC
Package is now in repositories, closing review.

Comment 16 Vít Ondruch 2024-01-04 13:47:46 UTC
What is the status here? This was never successfully build as far as I can tell:

https://koji.fedoraproject.org/koji/packageinfo?packageID=16659


Note You need to log in before you can comment on or make changes to this bug.