From 2b18e497086cb92d86d41e842c75feb1a28e9053 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 24 Jun 2019 02:52:51 +0000 Subject: [PATCH] ci: require IO::KQueue on FreeBSD, for now We'll likely replace IO::KQueue (at least on FreeBSD) using a pure-Perl syscall()-based version since syscall numbers are consistent across architectures on FreeBSD and easy to maintain. IO::KQueue->EV_SET is also shockingly inefficient in that it calls kqueue() as much as epoll_ctl. --- ci/deps.perl | 5 +---- ci/profiles.sh | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/ci/deps.perl b/ci/deps.perl index 62870c1f..ad2c11d2 100755 --- a/ci/deps.perl +++ b/ci/deps.perl @@ -60,7 +60,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); + @precious = qw(perl curl Socket6 IO::Compress::Gzip IO::KQueue); } elsif ($pkg_fmt eq 'rpm') { @precious = qw(perl curl); } @@ -149,9 +149,6 @@ 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 diff --git a/ci/profiles.sh b/ci/profiles.sh index d559ec5f..1ddf7891 100755 --- a/ci/profiles.sh +++ b/ci/profiles.sh @@ -54,8 +54,7 @@ esac case $ID-$VERSION_ID in freebsd-11|freebsd-12) sed "s/^/$PKG_FMT /" <