diff options
author | Eric Wong <e@80x24.org> | 2023-09-13 09:12:40 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-09-14 10:06:24 +0000 |
commit | 8affa863b069186a367debcf695760a2df09d9ca (patch) | |
tree | e4504e120f272ed660fcc7d223f7bc5e58c7dd1e | |
parent | 7682d7645f579ba531717ba95c8f3d4ff63af53f (diff) | |
download | public-inbox-8affa863b069186a367debcf695760a2df09d9ca.tar.gz |
Add explicit dependencies on packages that are possible to remove without removing the `perl' RPM from CentOS 7.x. However, simplify deps.perl to avoid naming essential Perl modules (e.g. `perl-Exporter') that cannot be removed without removing the `perl' RPM entirely. We can also drop `Socket6' from deps.perl since it's pulled in as-needed by other packages and we try to avoid it in favor of the (now-standard) IO::Socket::IP.
-rw-r--r-- | INSTALL | 3 | ||||
-rw-r--r-- | Makefile.PL | 25 | ||||
-rwxr-xr-x | install/deps.perl | 18 |
3 files changed, 27 insertions, 19 deletions
@@ -208,9 +208,8 @@ RPM-based distros split them out into separate packages: * autodie rpm: perl-autodie * Digest::SHA rpm: perl-Digest-SHA * Data::Dumper rpm: perl-Data-Dumper -* Encode rpm: perl-Encode * IO::Compress rpm: perl-IO-Compress -* Storable rpm: perl-Storable +* Sys::Syslog rpm: perl-Sys-Syslog * Text::ParseWords rpm: perl-Text-Parsewords Copyright diff --git a/Makefile.PL b/Makefile.PL index d0652410..a04a3b75 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -150,15 +150,14 @@ WriteMakefile( # perl-modules-5.xx or libperl5.xx in Debian-based # part of "perl5" on FreeBSD - 'autodie' => 0, - 'Compress::Raw::Zlib' => 0, - 'Compress::Zlib' => 0, - 'Data::Dumper' => 0, + 'autodie' => 0, # rpm: perl-autodie + 'Compress::Raw::Zlib' => 0, # rpm: perl-Compress-Raw-Zlib + 'Compress::Zlib' => 0, # rpm: perl-IO-Compress + 'Data::Dumper' => 0, # rpm: perl-Data-Dumper 'Digest::SHA' => 0, # rpm: perl-Digest-SHA - 'Encode' => 2.35, # 2.35 shipped with 5.10.1 - 'IO::Compress::Gzip' => 0, - 'IO::Uncompress::Gunzip' => 0, - 'Storable' => 0, # rpm: perl-Storable + 'IO::Compress::Gzip' => 0, # rpm: perl-IO-Compress + 'IO::Uncompress::Gunzip' => 0, # rpm: perl-IO-Compress + 'Sys::Syslog' => 0, # rpm: perl-Sys-Syslog 'Text::ParseWords' => 0, # rpm: perl-Text-ParseWords # Plack is needed for public-inbox-httpd and PublicInbox::WWW @@ -170,12 +169,16 @@ WriteMakefile( # users to install them. See INSTALL # All Perl installs I know about have these, but RH-based - # distros make them separate even though 'perl' pulls them in + # distros can separate these even if `perl' depends on them: + 'constant' => 0, # rpm: perl-constant + 'Encode' => 2.35, # rpm: perl-Encode # 2.35 shipped with 5.10.1 'File::Path' => 0, 'File::Temp' => '0.19', # for ->tmpdir support - 'Getopt::Long' => 0, - 'Exporter' => 0, + 'Getopt::Long' => 0, # rpm: perl-Getopt-Long + 'Exporter' => 0, # rpm: perl-Exporter 'IO::Poll' => 0, + 'Storable' => 0, # rpm: perl-Storable + 'Time::HiRes' => 0, # rpm: perl-Time-HiRes # ExtUtils::MakeMaker # this file won't run w/o it... }, MAN3PODS => \%man3, diff --git a/install/deps.perl b/install/deps.perl index e888cf30..a7b42607 100755 --- a/install/deps.perl +++ b/install/deps.perl @@ -35,12 +35,13 @@ my @test_essential = qw(Test::Simple); # we actually use Test::More my $profiles = { # the smallest possible profile for testing essential => [ qw( + autodie git perl Digest::SHA - Encode ExtUtils::MakeMaker IO::Compress + Text::ParseWords URI ), @test_essential ], @@ -58,7 +59,6 @@ my $profiles = { Plack::Test Plack::Middleware::ReverseProxy Xapian - Socket6 highlight.pm xapian-tools ) ], @@ -79,9 +79,9 @@ $profiles->{v2essential} = [ @{$profiles->{essential}}, qw(DBD::SQLite DBI) ]; # dependencies to prevent essential package removal: my $non_auto = { git => { - pkg => [ qw(curl p5-Socket6 p5-TimeDate git) ], + pkg => [ qw(curl p5-TimeDate git) ], rpm => [ qw(curl git) ], - pkg_add => [ qw(curl p5-Socket6 p5-Time-TimeDate git) ], + pkg_add => [ qw(curl p5-Time-TimeDate git) ], }, perl => { pkg => 'perl5', @@ -132,8 +132,14 @@ my $non_auto = { }, }; -# standard library stuff that CentOS 7.x (and presumably other RPM) split out: -for (qw(Digest::SHA Encode ExtUtils::MakeMaker IO::Compress Test::Simple)) { +# standard library stuff that CentOS 7.x (and presumably other RPM) +# split out and can be removed without removing the `perl' RPM: +for (qw(autodie Digest::SHA ExtUtils::MakeMaker IO::Compress Sys::Syslog + Test::Simple Text::ParseWords)) { + # n.b.: Compress::Raw::Zlib is pulled in by IO::Compress + # qw(constant Encode Getopt::Long Exporter Storable Time::HiRes) + # don't need to be here since it's impossible to have `perl' + # on CentOS 7.x without them. $non_auto->{$_} = { deb => 'perl', # libperl5.XX, but the XX varies pkg => 'perl5', |