From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 095B71F566 for ; Wed, 13 Sep 2023 09:12:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1694596363; bh=6X267ZsLiozqwQPyPYLwPvxR8Q4X4G9IEi3Z0KY7/SY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=zVTnRTgOdctQ1qSxe5LeZBJ+pAa14VY+ZHvm4HuAftW1bdGuqtR4Do3EOZpEGJJpr fNsR91TE6ZI2eBluloqUQ82q+lfd6BC6P6EX+AtiAPzcx1dzEZG3LOFEke+ZPxkaKD pHN8Qg4PVebLvc5MfJJz7clbNRLGcJH/bjgCXqfE= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 3/5] updates around RPM packages on CentOS 7.x Date: Wed, 13 Sep 2023 09:12:40 +0000 Message-ID: <20230913091242.1827709-4-e@80x24.org> In-Reply-To: <20230913091242.1827709-1-e@80x24.org> References: <20230913091242.1827709-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: 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. --- INSTALL | 3 +-- Makefile.PL | 25 ++++++++++++++----------- install/deps.perl | 18 ++++++++++++------ 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/INSTALL b/INSTALL index 4f473b78..52bc9447 100644 --- a/INSTALL +++ b/INSTALL @@ -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',