[MIR] libregexp-common-perl (as a libmail-dmarc-perl dependency)

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

Bug Description

Package: libregexp-common-perl

[Availability]
The package libregexp-common-perl is already in Ubuntu universe.
The package libregexp-common-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/libregexp-common-perl

[Rationale]
The package libregexp-common-perl is required in Ubuntu main for libmail-dmarc-perl.
The package libregexp-common-perl will not generally be useful for a large part of
our user base, but is important/helpful still because it is required as runtime dependency by libmail-dmarc-perl
( libmail-dmarc-perl is in the MIR process here: https://bugs.launchpad.net/ubuntu/+source/libmail-dmarc-perl/+bug/2023971 )

The package libregexp-common-perl is required in Ubuntu main no later than through the same scheduled requested for the libmail-dmarc-perl promotion, since libmail-dmarc-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=libregexp-common-perl
  - (0) https://ubuntu.com/security/cves?q=&package=libregexp-common-perl
  - (0) https://security-tracker.debian.org/tracker/source-package/libregexp-common-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, ...); but creates and parse patterns of URIs and other sensitive information like credit cards.
Regexp::Common is a Perl module that exports a single hash ('%RE') that stores or generates commonly needed regular expressions.

[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 (0) https://bugs.launchpad.net/ubuntu/+source/libregexp-common-perl/+bug
   - Debian (0) https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=libregexp-common-perl
However, in upstream there are not a lot of activity.
   - Upstream's bug tracker (24) https://rt.cpan.org/Public/Dist/Display.html?Name=Regexp-Common
     + Upstream's repo last activity: https://github.com/Abigail/Regexp--Common
       - last commit: in master, Jun 2, 2017
       - Last answered issue: Jan 13, 2022
       - Issues without answer: 12
       - last fixed/closed issue: Jun 3, 2016
       - last merged PR: Never

The package has important/old open bugs on upstream , some of them are:
- /^$RE{URI}$/ takes exponential time depending on the position of an invalid percent-encoding: https://rt.cpan.org/Ticket/Display.html?id=132726
- Examples in pod do not work(?) Regexp::Common : https://rt.cpan.org/Ticket/Display.html?id=129566
- IPv6 regexp fails to match address fd5d:5d93:4007:5a::aa:bb:80 : IPv6 regexp fails to match address fd5d:5d93:4007:5a::aa:bb:80
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/libregexp-common-perl/2017060201-3/+build/24612542/+files/buildlog_ubuntu-lunar-amd64.libregexp-common-perl_2017060201-3_BUILDING.txt.gz :

      dh_auto_test
    make -j4 test TEST_VERBOSE=1
   make[1]: Entering directory '/<<PKGBUILDDIR>>'
   PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/*/*.t

The package runs an autopkgtest (via autodep8 using 'Testsuite: autopkgtest-pkg-perl' in d/control file - https://git.launchpad.net/ubuntu/+source/libregexp-common-perl/tree/debian/control#n6 -),
that runs essentialy the above build-time test suite. It is currently passing on
this list of architectures (amd64, arm64, armhf, ppc64el, riscv64, s390x), except on i386: https://autopkgtest.ubuntu.com/packages/l/libregexp-common-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/libregexp-common-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/libregexp-common-perl/2017060201-3/+build/24612542/+files/buildlog_ubuntu-lunar-amd64.libregexp-common-perl_2017060201-3_BUILDING.txt.gz
  - full output from `lintian --pedantic` :
    #source
    ❯ lintian -EvIL +pedantic --show-overrides
      W: libregexp-common-perl: changelog-distribution-does-not-match-changes-file unstable != mantic [usr/share/doc/libregexp-common-perl/changelog.Debian.gz:1]
      W: libregexp-common-perl changes: distribution-and-changes-mismatch mantic unstable
    #binary
    ❯ lintian -EvIL +pedantic --show-overrides ../libregexp-common-perl_2017060201-3.dsc
      I: libregexp-common-perl source: out-of-date-standards-version 4.1.3 (released 2017-12-27) (current is 4.6.2)
      P: libregexp-common-perl source: silent-on-rules-requiring-root [debian/control]
      X: libregexp-common-perl source: debian-watch-does-not-check-openpgp-signature [debian/watch]
      X: libregexp-common-perl source: update-debian-copyright 2017 vs 2022 [debian/copyright:12]
      X: libregexp-common-perl source: very-long-line-length-in-source-file 1220 > 512 [lib/Regexp/Common/profanity.pm:15]

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/libregexp-common-perl/tree/debian/rules

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

[Dependencies]
No further dependencies that are not yet in main.

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

[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 does not use vendored code.
This package is not rust based.

The package successfully built during the most recent test rebuild : https://launchpad.net/ubuntu/+archive/test-rebuild-20230830-mantic/+build/26603532/+files/buildlog_ubuntu-mantic-amd64.libregexp-common-perl_2017060201-3_BUILDING.txt.gz

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

This has been in the archive since at least 2006 (Feisty, 2.120-3).
It's never had a bug filed against it in Launchpad.
It had only one bug filed in Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641616

Last version on upstream was released on 2017.

description: updated
Lukas Märdian (slyon)
Changed in libregexp-common-perl (Ubuntu):
assignee: nobody → Didier Roche-Tolomelli (didrocks)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :
Download full text (3.7 KiB)

Review for Source Package: libregexp-common-perl

[Summary]
MIR team ACK. Do not forget to add the team subscription.
This does not need a security review
List of specific binary packages to be promoted to main: libregexp-common-perl

Notes:
Required TODO:
- 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 after .
A team is committed to own long term maintenance of this package.
The rationale given in the report seems valid and useful for Ubuntu

[Dependencies]
- no other Dependencies to MIR due to this
- libregexp-common-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.

[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
- Does not include vendored code

[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, ...)
- this makes appropriate (for its exposure) use of established risk
  mitigation features (dropping permissions, using temporary environments,
  restricted users/groups, seccomp, systemd isolation features,
  apparmor, ...)

[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
- no new python2 dependency

Problems:
Note: the autopkgtests are failing on i386 as depends on pkg-perl-autopkgtest package that is not build for i386 since focal.

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking not applicable for this kind of code.
- debian/watch is present and looks ok
- the current release is packaged
- promoting this does not seem to cause issues for MOTUs that so far
- no massive Lintian warnings
- debian/rules is rather clean
- It is not on the lto-disabled list

Problems:
- Upstream update history is sporadic (and so Debian/Ubuntu update history is slow too, but for this kind of project, there is not...

Read more...

Changed in libregexp-common-perl (Ubuntu):
status: New → Fix Committed
assignee: Didier Roche-Tolomelli (didrocks) → nobody
Revision history for this message
Miriam España Acebal (mirespace) wrote :

Server Team's subscription to the bug requested on the MP attached to the bug.

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

Full stack ready, all dependencies seen in component mismatches, FFE approved, MIR approved, only the top level change pulling this in is in -proposed and ready there other than this mismatch -> promoting.

Override component to main
libregexp-common-perl 2017060201-3 in noble: universe/perl -> main
libregexp-common-perl 2017060201-3 in noble amd64: universe/perl/optional/100% -> main
libregexp-common-perl 2017060201-3 in noble arm64: universe/perl/optional/100% -> main
libregexp-common-perl 2017060201-3 in noble armhf: universe/perl/optional/100% -> main
libregexp-common-perl 2017060201-3 in noble i386: universe/perl/optional/100% -> main
libregexp-common-perl 2017060201-3 in noble ppc64el: universe/perl/optional/100% -> main
libregexp-common-perl 2017060201-3 in noble riscv64: universe/perl/optional/100% -> main
libregexp-common-perl 2017060201-3 in noble s390x: universe/perl/optional/100% -> main
Override [y|N]? y
8 publications overridden.

Changed in libregexp-common-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.