]> Sergey Matveev's repositories - public-inbox.git/blobdiff - ci/deps.perl
treewide: run update-copyrights from gnulib for 2019
[public-inbox.git] / ci / deps.perl
index ad2c11d28f6bc1a4e48799d4d6d8447ec3ad6d67..5ecf9c9f63ecefa8ac06cc91769f5a6fd959d24e 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright (C) 2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2019-2020 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 # Helper script for installing/uninstalling packages for CI use
 # Intended for use on non-production chroots or VMs since it
@@ -9,17 +9,15 @@ my $usage = "$0 PKG_FMT PROFILE [PROFILE_MOD]";
 my $pkg_fmt = shift;
 @ARGV or die $usage, "\n";
 
-my @test_essential = qw(Test::Simple Plack::Test);
+my @test_essential = qw(Test::Simple); # we actually use Test::More
 
 # package profiles
 my $profiles = {
        # the smallest possible profile for testing
-       # TODO: trim this, Plack pulls in Filesys::Notify::Simple,
-       # and we don't need that for mda-only installs
+       # TODO: trim URI::Escape from this, maybe
        essential => [ qw(
                git
                perl
-               Date::Parse
                Devel::Peek
                Digest::SHA
                Email::Simple
@@ -27,19 +25,21 @@ my $profiles = {
                Email::MIME::ContentType
                Encode
                ExtUtils::MakeMaker
-               Filesys::Notify::Simple
-               Plack
                URI::Escape
                ), @test_essential ],
 
        # everything optional for normal use
        optional => [ qw(
+               Date::Parse
                BSD::Resource
                DBD::SQLite
                DBI
+               Filesys::Notify::Simple
                IO::Compress::Gzip
                Inline::C
                Net::Server
+               Plack
+               Plack::Test
                Plack::Middleware::Deflater
                Plack::Middleware::ReverseProxy
                Search::Xapian
@@ -50,7 +50,6 @@ my $profiles = {
 
        # optional developer stuff
        devtest => [ qw(
-               IPC::Run
                XML::Feed
                curl
                w3m
@@ -60,7 +59,7 @@ my $profiles = {
 # account for granularity differences between package systems and OSes
 my @precious;
 if ($^O eq 'freebsd') {
-       @precious = qw(perl curl Socket6 IO::Compress::Gzip IO::KQueue);
+       @precious = qw(perl curl Socket6 IO::Compress::Gzip);
 } elsif ($pkg_fmt eq 'rpm') {
        @precious = qw(perl curl);
 }
@@ -149,6 +148,9 @@ my (@pkg_install, @pkg_remove, %all);
 for my $ary (values %$profiles) {
        $all{$_} = \@pkg_remove for @$ary;
 }
+if ($^O eq 'freebsd') {
+       $all{'IO::KQueue'} = \@pkg_remove;
+}
 $profiles->{all} = [ keys %all ]; # pseudo-profile for all packages
 
 # parse the profile list from the command-line