From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id F3DB51F8C6 for ; Sun, 20 Jun 2021 04:33:19 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] lei sucks: don't warn or error out on missing dependencies Date: Sun, 20 Jun 2021 04:33:19 +0000 Message-Id: <20210620043319.24891-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: %INC can hold undef. This can be hit on a Linux machine missing Linux::Inotify2. Loading PublicInbox::KQNotify is attempted and PublicInbox/KQNotify.pm always exists, causing the `undef' entry in %INC when it fails to load IO::KQueue. $ perl -MData::Dumper -I lib \ -E 'eval { require PublicInbox::KQNotify }; say Dumper(\%INC)' --- lib/PublicInbox/LeiSucks.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/PublicInbox/LeiSucks.pm b/lib/PublicInbox/LeiSucks.pm index a71158f3..3e945d0b 100644 --- a/lib/PublicInbox/LeiSucks.pm +++ b/lib/PublicInbox/LeiSucks.pm @@ -55,7 +55,7 @@ sub lei_sucks { my $dig = Digest::SHA->new(1); push @out, "public-inbox blob OIDs of loaded features:\n"; for my $m (grep(m{^PublicInbox/}, sort keys %INC)) { - my $f = $INC{$m}; + my $f = $INC{$m} // next; # lazy require failed (missing dep) $dig->add('blob '.(-s $f)."\0"); $dig->addfile($f); push @out, ' '.$dig->hexdigest.' '.$m."\n";