use Cwd;
use Carp;
-use parent 'Exporter';
+use Exporter;
+our @ISA = qw(Exporter);
+
our @EXPORT_OK = qw(mailgroup dynamic_socket exim_binary flavour flavours);
our %EXPORT_TAGS = (
all => \@EXPORT_OK,
sub exim_binary {
# two simple cases, absolute path or relative path and executable
- return @_ if $_[0] =~ /^\//;
- return Cwd::abs_path(shift), @_ if -x $_[0];
+ if (@_) {
+ return @_ if $_[0] =~ /^\//;
+ return Cwd::abs_path(shift), @_ if -x $_[0];
+ }
# so we're still here, if the simple approach didn't help.
my $os = `$_/scripts/os-type`;
my $arch = `$_/scripts/arch-type`;
chomp($os, $arch);
+ ($ENV{build} ? "$_/build-$ENV{build}" : ()),
"$_/build-$os-$arch" . ($ENV{EXIM_BUILD_SUFFIX} ? ".$ENV{EXIM_BUILD_SUFFIX}" : '');
} @candidates;
if (open(my $f, '<', "$etc/os-release")) {
local $_ = join '', <$f>;
my ($id) = /^ID="?(.*?)"?\s*$/m;
- my ($version) = /^VERSION_ID="?(.*?)"?\s*$/m;
+ my $version = /^VERSION_ID="?(.*?)"?\s*$/m ? $1 : '';
return "$id$version";
}