|Summary:||dev-lang/perl-5.32.0 should not install streamzip by default|
|Product:||Gentoo Linux||Reporter:||Andrew Church <achurch+gentoo>|
|Component:||Current packages||Assignee:||Gentoo Perl team <perl>|
|Package list:||Runtime testing required:||---|
Description Andrew Church 2021-01-08 09:32:59 UTC
Created attachment 681862 [details, diff] perl-5.32.0-r1.ebuild.patch By default, perl-5.32 installs a "streamzip" utility program which has nothing to do with Perl (other than the fact that it makes use of Perl's IO::Compress module). This should ideally be in a separate package, but at least it should not be installed by default with dev-lang/perl. Patch to add IUSE="streamzip" attached.
Comment 1 Ionen Wolkens 2021-01-08 14:34:54 UTC
Not up to me but any reason its presence is a problem? Small files with no further dependencies are normally not candidates to be behind USE per gentoo policy: https://projects.gentoo.org/qa/policy-guide/installed-files.html#pg0301 Perhaps make.conf(5) INSTALL_MASK would interest you?
Comment 2 Andrew Church 2021-01-08 22:10:12 UTC
I admit it's more of a stylistic issue, in that (in my view, though I see no relevant specific Gentoo policy) a single package should have a single purpose and should not install files irrelevant to that purpose, regardless of size. (In contrast to the LibreOffice example given in the policy guide, in which a bash completions file falls within the scope of the package's purpose in making LibreOffice easier to invoke from the shell, streamzip arguably has no connection to the purpose of using the Perl language.) That said, I was not aware of INSTALL_MASK, so I'll look into that (I came across this in the first place because streamzip's presence broke one of my common shell idioms beginning "stre<TAB>"). I do still think this is a point worth consideration, so I'll leave the bug up for maintainer decision.
Comment 3 Ionen Wolkens 2021-01-08 22:20:04 UTC
I believe it'd make more sense to configure bash's completion. Can either set your own priority rules (with 'complete' builtin) or use EXECIGNORE variable (see man 1 bash).