[MIR] Promote ruby-mime-types to main as a pcs indirect dependency

Bug #1990569 reported by Lucas Kanashiro
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ruby-mime-types (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[Availability]

The package ruby-mime-types is already in Ubuntu universe.

The package ruby-mime-types build for the architectures it is designed to work on.

It currently builds and works for architectures: amd64 (arch:all)

Link to package [[https://launchpad.net/ubuntu/+source/ruby-mime-types|ruby-mime-types]]

[Rationale]

The package ruby-mime-types is required in Ubuntu main for ruby-ethon
promotion which is a runtime dependency of pcs (the main reason for this
promotion).

Ideally, we expect that ruby-mime-types (and pcs) will be promoted in the
"L" development cycle. The idea is to promote only the ruby-mime-types
binary.

[Security]

Required links:

https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=mime-types

3 CVEs were found searching for the gem name, however, all of them related to
PHP related issues, not the ruby gem.

Nothing was found searching in the OSS security mailing list archive.

https://ubuntu.com/security/cves?package=ruby-mime-types

Also nothing found in the Ubuntu security tracker.

No CVEs/security issues in this software in the past

No `suid` or `sgid` binaries.

Package does not install services, timers or recurring jobs.

Packages does not open privileged ports (ports < 1024).

[Quality assurance - function/usage]

The package works well right after install.

[Quality assurance - maintenance]

The package is maintained well in Debian/Ubuntu and has no bugs open:

- Ubuntu https://bugs.launchpad.net/ubuntu/+source/ruby-mime-types/+bug
- Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=ruby-mime-types

The package does not deal with exotic hardware we cannot support.

[Quality assurance - testing]

The package runs a test suite on build time, if it fails
it makes the build fail, link to build log:

https://launchpadlibrarian.net/620973258/buildlog_ubuntu-kinetic-amd64.ruby-mime-types_3.3.1-2_BUILDING.txt.gz

The package runs an autopkgtest, and is currently passing on this list of
architectures: amd64, arm64, armhf, ppc64el, s390x.

Link to test logs: https://autopkgtest.ubuntu.com/packages/ruby-mime-types

The package does not have failing autopkgtests right now. Only in i386, where some dependencies are not installable.

[Quality assurance - packaging]

debian/watch is present and works.

debian/control defines a correct Maintainer field.

Lintian overrides are not present. Here is the output of `lintian --pedantic` against Kinetic version:

W: ruby-mime-types source: newer-standards-version 4.6.1 (current is 4.6.0.1)
P: ruby-mime-types source: update-debian-copyright 2008 vs 2022 [debian/copyright:12]
P: ruby-mime-types source: very-long-line-length-in-source-file mime-types.gemspec line 19 is 1017 characters long (>512)
P: ruby-mime-types source: very-long-line-length-in-source-file test/fixture/json.json line 1 is 1004 characters long (>512)

This package does not rely on obsolete or about to be demoted packages.

The package will not be installed by default

Packaging and build is easy, link to d/rules:

https://git.launchpad.net/~git-ubuntu-import/ubuntu/+source/ruby-mime-types/tree/debian/rules

[UI standards]

Application is not end-user facing (does not need translation).

[Dependencies]

There are further dependencies that are not yet in main, MIR for them
is at:

- ruby-mime-types-data MIR bug: https://bugs.launchpad.net/ubuntu/+source/ruby-mime-types-data/+bug/1990568

[Standards compliance]

This package correctly follows FHS and Debian Policy.

[Maintenance/Owner]

Owning Team will be Server.

Team is not yet, but will subscribe to the package before promotion.

This does not use static builds.

This does not use vendored code.

This package is not rust based.

The package has been built in the archive more recently than the last
test rebuild.

[Background information]

The Package description explains the package well.

Upstream Name is ruby-mime-types

Link to upstream project: https://github.com/mime-types/ruby-mime-types

description: updated
Changed in ruby-mime-types (Ubuntu):
assignee: nobody → Lukas Märdian (slyon)
Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (4.9 KiB)

Review for Package: src:ruby-mime-types

[Summary]
ruby-mime-types is a popular and mature Ruby gem, which can be used to query
metadata about a given mime type.

MIR team ACK.
=> This is basically an ACK, but is currently blocked on ruby-mime-types-data MIR, bug #1990568, so I'm tracking it as "Incomplete" for now. I added some
recommendations that should be double-checked or discussed with the Debian
maintainers (see "Notes" below).

This does not need a security review.

List of specific binary packages to be promoted to main: ruby-mime-types
Specific binary packages built, but NOT to be promoted to main: <None>

Notes:
- There are a few issues, which I'd like to see discussed with the Debian
  maintainers (#2, #3, #4) - but not blocking the MIR.
- There's a recent FTBFS bug in Debian (#5), which should be investigated, it
  built just fine for me on Kinetic, so not blocking the MIR neither.
- Debian/Ubuntu is lacking behind the upstream release by about 1 year (#6),
  changelog seems minor, so I'm not blocking the MIR on this, but we should work
  with Debian to get this updated.

Required TODOs:
#0 The package should get a team bug subscriber (Server team) before being promoted
#1 depends on ruby-mime-types-data MIR, bug #1990568

Recommended TODOs:
#2 warning: substitution variable ${shlibs:Depends} used, but is not defined
#3 Add package dependency on 'ruby' instead of just transitively on ruby-mime-types-data -> ruby?
#4 The "smoke-test" (autopkgtest) should be marked "superficial"
#5 FTBFS https://bugs.debian.org/1022302
#6 the current release is NOT packaged, v3.4.1 is available as of November 2021

[Duplication]
There is no other package in main providing the same functionality.

There is ruby-mime, ruby-mini-mime, ruby-marcel and ruby-mimemagic which
seem to be related, but all are in universe and the ruby-mime-types gem
seems to be most popular according to rubygems.org

[Dependencies]
OK:
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring
  more tests now.

Problems:
- depends on ruby-mime-types-data MIR, bug #1990568

[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have unexpected Built-Using entries
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard
- Does not include vendored code

Problems: None

[Security]
OK:
- history of CVEs does not look concerning
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not parse data formats (files [images, video, audio,
  xml, json, asn.1], network packets, structures, ...) from
  an untrusted source.
- does not open a port/socket
- does not process arbitrary web content
- does not use centralized online accounts
- does not integrate arbitrary javascript into the desktop
- does not deal with system authentication (eg, pam), etc)
- does not deal with security attestation (secure boot, tpm, signatures)
- does not deal with cryptography (en-/decryption, certificates, signing, ...)

Problems: None

[Common blockers]
OK:
- does not FTBFS curre...

Read more...

Changed in ruby-mime-types (Ubuntu):
status: New → Incomplete
assignee: Lukas Märdian (slyon) → nobody
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Thanks for the review Lukas! I already addressed some of your comments:

#0 the server team will get subscribe before its promotion

#1 waiting for the review

#2 not really sure why we are getting that since we have ${shlibs:Depends} in its Depends field (added by this commit 6139eab9)

#3 in ruby packages, we only add direct dependency on the ruby interpreter if the package ships a script or something which directly depends on ruby (i.e, via shebang). ruby-mime-types is just a library and it does not ship any executable, so the ruby interpreter will not be added as a dependency

#4 this is done in the salsa git repo, will be shipped in the next upload (https://salsa.debian.org/ruby-team/ruby-mime-types/-/commit/35534fbf1db8)

#5 bug is fixed

#6 the latest version was packaged and uploaded to Debian unstable, it will be synced once the archive gets opened for the "L" cycle

Revision history for this message
Lukas Märdian (slyon) wrote :

Thank you very much! That works for me. We're just waiting for #1 (and #0) for now.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

FWIW #1 was ACKed by the MIR team.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

All questions answered and all issues fixed - thanks Lucas.
Subscription to the PKG was added

The change for #4 was a suggestion, is in the packaging git (waiting for the next upload) and not a blocker.

This is overall ready -> move this to the correct "ready" state.

Changed in ruby-mime-types (Ubuntu):
status: Incomplete → In Progress
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Showing up in component mismatch now as planned.

Changed in ruby-mime-types (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Promoted together with the full PCS stack, details see https://bugs.launchpad.net/ubuntu/+source/pcs/+bug/1953341/comments/13

Changed in ruby-mime-types (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.