[Bug 2046170] Re: [MIR] libgetopt-long-descriptive-perl (libmail-dkim-perl dependency)
Didier Roche-Tolomelli
2046170 at bugs.launchpad.net
Tue Jan 9 14:33:52 UTC 2024
Review for Source Package: libgetopt-long-descriptive-perl
[Summary]
MIR team ACK under the constraint to resolve the below listed
required.
This does not need a security review
List of specific binary packages to be promoted to main: libgetopt-long-descriptive-perl
Notes:
Required TODOs:
- libparams-validate-perl needs to be MIR ack first.
- the server team needs to be subcribed to the bug before promoting it.
[Rationale, Duplication and Ownership]
The rationale given in the report seems valid and useful for Ubuntu
[Dependencies]
OK:
- no other Dependencies to MIR due to this
- libgetopt-long-descriptive-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.
Note: I was first scared by the stenza in the bug description:
" + 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."
But actually, there is no dependency from the binary package on
libscalar-list-utils-perl which would have made this package
uninstallable.
[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
[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
[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
- Upstream update history is (good/slow/sporadic)
- Debian/Ubuntu update history is good
- 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:
- current release in not packaged (current is 0.113, we have 0.111) but the last 2 ones are only 2 months old, so OK.
[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (the language has no direct MM)
- 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 bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit, seed or libgoa-*
- not part of the UI for extra checks
- no translation present, but none needed for this case
** Changed in: libgetopt-long-descriptive-perl (Ubuntu)
Status: New => Fix Committed
** Changed in: libgetopt-long-descriptive-perl (Ubuntu)
Assignee: Didier Roche-Tolomelli (didrocks) => (unassigned)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to libgetopt-long-descriptive-perl
in Ubuntu.
https://bugs.launchpad.net/bugs/2046170
Title:
[MIR] libgetopt-long-descriptive-perl (libmail-dkim-perl dependency)
Status in libgetopt-long-descriptive-perl package in Ubuntu:
Fix Committed
Bug description:
[MIR] libgetopt-long-descriptive-perl (libmail-dkim-perl dependency)
Package: libgetopt-long-descriptive-perl
[Availability]
The package libgetopt-long-descriptive-perl is already in Ubuntu universe.
The package libgetopt-long-descriptive-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/libgetopt-long-descriptive-perl
[Rationale]
The package libgetopt-long-descriptive-perl is required in Ubuntu main for libmail-dkim-perl
The package libgetopt-long-descriptive-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 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 libgetopt-long-descriptive-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 libgetopt-long-descriptive-perl is required in Ubuntu main
as soon as possible, since libmail-dkim-perl depends on it and
libmail-dkim-perl is already in main.
[Security]
No CVEs/security issues in this software in the past:
- (0) https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=libgetopt-long-descriptive-perl
- (0) https://ubuntu.com/security/cves?q=&package=libgetopt-long-descriptive-perl
- (0) https://security-tracker.debian.org/tracker/source-package/libgetopt-long-descriptive-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 that handles command-line arguments with usage text
Getopt::Long::Descriptive is a convenience wrapper for Getopt::Long, which
allows one to easily define options in the same familiar way, while also
supporting custom descriptions for program usage output.
[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/libgetopt-long-descriptive-perl/+bug
- Debian (0) https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=libgetopt-long-descriptive-perl
- Upstream's bug tracker (16) https://github.com/rjbs/Getopt-Long-Descriptive/issues
+ Upstream's repo last activity: https://github.com/rjbs/Getopt-Long-Descriptive
- last commit: in main, Nov 21, 2023
- Issues without answer: 6
- Updated issue/PR: Nov 21, 2023
- last fixed/closed/merged issue: Nov 21, 2023
- last merged PR: Mar 13, 2021
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/libgetopt-long-descriptive-perl/0.111-1/+build/25462675/+files/buildlog_ubuntu-lunar-amd64.libgetopt-long-descriptive-perl_0.111-1_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/*.test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
The package runs an autopkgtest (via autodep8 using 'Testsuite: autopkgtest-pkg-perl' in d/control file - https://git.launchpad.net/ubuntu/+source/libgetopt-long-descriptive-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, s390x) except i386: https://autopkgtest.ubuntu.com/packages/l/libgetopt-long-descriptive-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 for latest version, but it failed for --download-current-version.
debian/control defines a correct Maintainer field : Debian Perl Group
<pkg-perl-maintainers at lists.alioth.debian.org> (
https://git.launchpad.net/ubuntu/+source/libgetopt-long-descriptive-
perl/tree/debian/control#n2)
This package does not yield massive lintian Warnings, Errors
- recent build log of the package https://launchpadlibrarian.net/644863847/buildlog_ubuntu-lunar-amd64.libgetopt-long-descriptive-perl_0.111-1_BUILDING.txt.gz
- full output from `lintian --pedantic` :
#source
❯ lintian -EvIL +pedantic --show-overrides
W: libgetopt-long-descriptive-perl: changelog-distribution-does-not-match-changes-file unstable != noble [usr/share/doc/libgetopt-long-descriptive-perl/changelog.Debian.gz:1]
W: libgetopt-long-descriptive-perl changes: distribution-and-changes-mismatch noble unstable
#binary
❯ lintian -EvIL +pedantic --show-overrides ../libgetopt-long-descriptive-perl_0.111-1.dsc
X: libgetopt-long-descriptive-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/libgetopt-long-descriptive-
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:
libgetopt-long-descriptive-perl depends on:
- libparams-validate-perl (depends, universe)
MIR bug: https://bugs.launchpad.net/ubuntu/+source/libparams-validate-perl/+bug/2046181
+ 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 does not use vendored code.
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/26597663/+files/buildlog_ubuntu-mantic-
amd64.libgetopt-long-descriptive-perl_0.111-1_BUILDING.txt.gz
[Background information]
The Package description explains the package well.
Upstream Name is CryptX .
Link to upstream project https://metacpan.org/dist/CryptX
This has been in the archive since at least 2013 (Karmic, 0.074-1).
It was on main before (https://bugs.launchpad.net/ubuntu/+source/libgetopt-long-descriptive-perl/+bug/1492055), but was demoted to universe in Jammy.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libgetopt-long-descriptive-perl/+bug/2046170/+subscriptions
More information about the foundations-bugs
mailing list