[MIR] libparams-validate-perl (as libgetopt-long-descriptive-perl, libmail-dkim-perl dependency)

Bug #2046181 reported by Miriam España Acebal
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libparams-validate-perl (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[MIR] libparams-validate-perl (as libgetopt-long-descriptive-perl, libmail-dkim-perl dependency)

Package: libparams-validate-perl

[Availability]
The package libparams-validate-perl is already in Ubuntu universe.
The package libparams-validate-perl build for the architectures it is designed to work on.
It currently builds and works for architectures: amd64 (all)
Link to package https://launchpad.net/ubuntu/+source/libparams-validate-perl

[Rationale]
The package libparams-validate-perl is required in Ubuntu main for libgetopt-long-descriptive-perl, as libmail-dkim-perl dependency.
The package libparams-validate-perl will not generally be useful for a large part of
our user base, but is important/helpful still because is required as runtime dependency by libgetopt-long-descriptive-perl (https://bugs.launchpad.net/ubuntu/+source/libgetopt-long-descriptive-perl/+bug/1492055), and this, in turn, is required as runtime dependency by libmail-dkim-perl that is already in main.

libmail-dkim-perl it's a perl module to cryptographically identify the sender of email (implementing the new Domain Keys Identified Mail (DKIM)), used by spamassassin
and amavisd-new. The following change added to libmail-dkim-perl makes it necessary to use libparams-validate-perl:

1.20220520 2022-05-20 UTC
  + Change default algorithm in dkimsign.pl to sha-256
  + Use Getopt::Long::Descriptive in scripts for better command help

That change have been there since Lunar, apparently.

The package libparams-validate-perl is required in Ubuntu main main no later than through the same scheduled requested for the libgetopt-long-descriptive-perl promotion, since libgetopt-long-descriptive-perl depends on it.

[Security]
No CVEs/security issues in this software in the past:
  - (0) https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=libparams-validate-perl
  - (0) https://ubuntu.com/security/cves?q=&package=libparams-validate-perl
  - (0) https://security-tracker.debian.org/tracker/source-package/libparams-validate-perl
No `suid` or `sgid` binaries.
No executables in `/sbin` and `/usr/sbin`.
Package does not install services, timers or recurring jobs.
Package does not open privileged ports (ports < 1024).
Package does not expose any external endpoints.
Package does not contain extensions to security-sensitive software (filters, scanners, plugins, UI skins, ...);
It's a Perl module to validate parameters to Perl method/function calls.
Params::Validate is a Perl module providing a flexible way to validate method
and function call parameters. The validation can be as simple as checking for
the presence of required parameters, or more complex, like validating object
classes (via isa) or capabilities (via can) and checking parameter types. It
also provides extensibility through customized validation callbacks.
The module has been designed to work equally well with positional or named
parameters (via a hash or hash reference) and includes experimental support
for attributes (see Attribute::Params::Validate for details).

[Quality assurance - function/usage]
The package works well right after install

[Quality assurance - maintenance]
The package is maintained well in Debian/Ubuntu and does
not have too many, long-term & critical, open bugs:
   - Ubuntu (1) https://bugs.launchpad.net/ubuntu/+source/libparams-validate-perl/+bug
   - Debian (1) https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=libparams-validate-perl
   - Upstream's bug tracker (7) https://github.com/houseabsolute/Params-Validate/issues
     + Upstream's repo last activity: https://github.com/houseabsolute/Params-Validate
       - last commit: in master, Oct 22, 2022
       - Issues without answer: 0
       - Updated issue/PR: Aug 15, 2022
       - last fixed/closed/merged issue: Aug 17, 2023
       - last merged PR: Oct 22, 2022
The package hasn't important/old open bugs on upstream.

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: https://launchpad.net/ubuntu/+source/libparams-validate-perl/1.31-2/+build/27049552/+files/buildlog_ubuntu-noble-amd64.libparams-validate-perl_1.31-2_BUILDING.txt.gz

 dh_auto_test
 /usr/bin/perl Build test --verbose 1

The package runs an autopkgtest (via autodep8 using 'Testsuite: autopkgtest-pkg-perl' in d/control file - https://git.launchpad.net/ubuntu/+source/libparams-validate-perl/tree/debian/control#n7 -),
that runs essentialy the above build-time test suite. It is currently passing on
this list of architectures (amd64, arm64, armhf, ppc64el, s390x) except i386: https://autopkgtest.ubuntu.com/packages/l/libparams-validate-perl

The package does have failing autopkgtests tests right now, but since
they always failed they are handled as "ignored failure", this is
because the test depends on pkg-perl-autopkgtest package that is not
build for i386 since focal.

[Quality assurance - packaging]
debian/watch is present and works.

debian/control defines a correct Maintainer field : Debian Perl Group <email address hidden> ( https://git.launchpad.net/ubuntu/+source/libparams-validate-perl/tree/debian/control#n2)

This package does not yield massive lintian Warnings, Errors
  - recent build log of the package https://launchpad.net/ubuntu/+source/libparams-validate-perl/1.31-2/+build/27049552/+files/buildlog_ubuntu-noble-amd64.libparams-validate-perl_1.31-2_BUILDING.txt.gz
  - full output from `lintian --pedantic` :
    #source
    ❯ lintian -EvIL +pedantic --show-overrides
      W: libparams-validate-perl: changelog-distribution-does-not-match-changes-file unstable != noble [usr/share/doc/libparams-validate-perl/changelog.Debian.gz:1]
      W: libparams-validate-perl changes: distribution-and-changes-mismatch noble unstable
    #binary
    ❯ lintian -EvIL +pedantic --show-overrides ../libgetopt-long-descriptive-perl_0.111-1.dsc
      X: libparams-validate-perl source: debian-watch-does-not-check-openpgp-signature [debian/watch]

This package does not rely on obsolete or about to be demoted packages.
This package has no python2 or GTK2 dependencies.

The package will not be installed by default.

Packaging and build is easy, link to debian/rules: https://git.launchpad.net/ubuntu/+source/libparams-validate-perl/tree/debian/rules

[UI standards]
Application is not end-user facing (does not need translation).

[Dependencies]
There are further dependencies not yet in main. Listing then:

libparams-validate-perl depends on:
  - libscalar-list-utils-perl (depends, universe)

However, the modules provided by libscalar-list-utils-perl are provided by the libperl5.36 package too,
although there is no Break/Replace/Provides in the d/control of perl about this.

[Standards compliance]
This package correctly follows FHS and Debian Policy (4.6.2)

[Maintenance/Owner]
Owning Team will be Ubuntu Server Team.
Team is not yet, but will subscribe to the package before promotion.
This does not use static builds.
This use vendored code:
 -c/ppport.h : from https://metacpan.org/pod/Devel::PPPort
This package is not rust based.

A previous version of the package was successfully built during the most recent test rebuild : https://launchpad.net/ubuntu/+archive/test-rebuild-20230830-mantic/+build/26602467/+files/buildlog_ubuntu-mantic-amd64.libparams-validate-perl_1.31-1_BUILDING.txt.gz

[Background information]
The Package description explains the package well.
Upstream Name is Params-Validate .
Link to upstream project https://metacpan.org/dist/Params-Validate

This has been in the archive since at least 2014 (Utopic,1.09-1).
It was on main before (https://bugs.launchpad.net/ubuntu/+source/libparams-validate-perl/+bug/878004), but was demoted to universe in Jammy.

Changed in libparams-validate-perl (Ubuntu):
assignee: nobody → James Page (james-page)
Revision history for this message
James Page (james-page) wrote :
Download full text (3.2 KiB)

[Summary]
Note: This package has previous been in Ubuntu main (at 1.30 - current is 1.31).

MIR team ACK
This does not need a security review (see aboive)

List of specific binary packages to be promoted to main:
- libparams-validate-perl

Notes:
The package should get a team bug subscriber before being promoted

[Rationale, Duplication and Ownership]
There is no other package in main providing the same functionality.
A team is committed to own long term maintenance of this package (Ubuntu Server) and its also team maintained in Debian.
The rationale given in the report seems valid and useful for Ubuntu

[Dependencies]
OK:
- no other Dependencies to MIR due to this
 - libparams-validate-perl checked with `check-mir`
 - all dependencies can be found in `seeded-in-ubuntu` (already in main)
 - none of the (potentially auto-generated) dependencies (Depends
   and Recommends) that are present after build are not in main
 - no -dev/-debug/-doc packages that need exclusion
 - No dependencies in main that are only superficially tested requiring
   more tests now.

Problems: None

[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have unexpected Built-Using entries

OK:
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard

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 expose any external endpoint (port/socket/... or similar)
- 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 currently
- does have a test suite that runs at build time
  - test suite fails will fail the build upon error.
- does have a non-trivial test suite that runs as autopkgtest
- This does not need special HW for build or test

Problems: None

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- debian/watch is present and looks ok (if needed, e.g. non-native)
- Upstream update history is (good/slow/sporadic)
- Debian/Ubuntu update history is (good/slow/sporadic)
- the current release is packaged
- promoting this does not seem to cause issues for MOTUs that so far
  maintained the package
- no massive Lintian warnings (just lack of checking of openpgp signature)
- debian/rules is rather clean
- It is not on the lto-disabled list

Problems: None

[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (as far as we can check it)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside
  tests)
- no use of user nobody
- no use of setuid / setgid
- no important open bu...

Read more...

Changed in libparams-validate-perl (Ubuntu):
status: New → Fix Committed
assignee: James Page (james-page) → nobody
Revision history for this message
Steve Langasek (vorlon) wrote :

Override component to main
libparams-validate-perl 1.31-2 in noble amd64: universe/perl/optional/100% -> main
libparams-validate-perl 1.31-2 in noble arm64: universe/perl/optional/100% -> main
libparams-validate-perl 1.31-2 in noble armhf: universe/perl/optional/100% -> main
libparams-validate-perl 1.31-2 in noble ppc64el: universe/perl/optional/100% -> main
libparams-validate-perl 1.31-2 in noble riscv64: universe/perl/optional/100% -> main
libparams-validate-perl 1.31-2 in noble s390x: universe/perl/optional/100% -> main
6 publications overridden.

Changed in libparams-validate-perl (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.