From 5304327c962ff5d8d5a1cb15fbb44923fe213435 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Thu, 7 Sep 2023 16:02:03 +0100 Subject: [PATCH] Build: check during make for perl script library requirements --- src/OS/Makefile-Base | 14 ++++++++++++++ src/src/exicyclog.src | 2 +- src/src/exim_checkaccess.src | 4 ++-- src/src/exim_id_update.src | 13 ++++++++++--- src/src/eximon.src | 2 +- src/src/eximstats.src | 2 +- src/src/exinext.src | 2 +- src/src/exipick.src | 2 +- src/src/exiqgrep.src | 2 +- src/src/exiqsumm.src | 2 +- src/src/exiwhat.src | 2 +- src/src/transport-filter.src | 2 +- 12 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base index e0aa1dc6c..6778331c7 100644 --- a/src/OS/Makefile-Base +++ b/src/OS/Makefile-Base @@ -287,6 +287,7 @@ exicyclog: config ../src/exicyclog.src ../src/exicyclog.src > exicyclog-t @mv exicyclog-t exicyclog @chmod a+x exicyclog + @./exicyclog -v 2>&1 >/dev/null @echo ">>> exicyclog script built" # Target for the exinext utility script @@ -304,6 +305,7 @@ exinext: config ../src/exinext.src ../src/exinext.src > exinext-t @mv exinext-t exinext @chmod a+x exinext + @./exinext -v 2>&1 >/dev/null @echo ">>> exinext script built" # Target for the exiwhat utility script @@ -328,6 +330,7 @@ exiwhat: config ../src/exiwhat.src ../src/exiwhat.src > exiwhat-t @mv exiwhat-t exiwhat @chmod a+x exiwhat + @./exiwhat -v 2>&1 >/dev/null @echo ">>> exiwhat script built" # Target for the exim_checkaccess utility script @@ -346,6 +349,7 @@ exim_checkaccess: config ../src/exim_checkaccess.src ../src/exim_checkaccess.src > exim_checkaccess-t @mv exim_checkaccess-t exim_checkaccess @chmod a+x exim_checkaccess + # @./exim_checkaccess -v 2>&1 >/dev/null @echo ">>> exim_checkaccess script built"; echo "" # Target for the Exim monitor start-up script @@ -366,6 +370,7 @@ eximon: config ../src/eximon.src ../OS/eximon.conf-Default \ -e "s?EXIM_RELEASE_VERSION?$${EXIM_RELEASE_VERSION}?" \ -e "s?EXIM_VARIANT_VERSION?$${EXIM_VARIANT_VERSION}?" \ ../src/eximon.src >> eximon + @./eximon -v 2>&1 >/dev/null @echo ">>> eximon script built"; echo "" # Targets for utilities; these are all Perl scripts that have to get the @@ -385,6 +390,7 @@ exigrep: config ../src/exigrep.src ../src/exigrep.src > exigrep-t @mv exigrep-t exigrep @chmod a+x exigrep + @./exigrep --version 2>&1 >/dev/null @echo ">>> exigrep script built" exim_msgdate: config ../src/exim_msgdate.src @@ -402,6 +408,7 @@ exim_msgdate: config ../src/exim_msgdate.src ../src/exim_msgdate.src > exim_msgdate-t @mv exim_msgdate-t exim_msgdate @chmod a+x exim_msgdate + @./exim_msgdate -v 2>&1 >/dev/null @echo ">>> exim_msgdate script built" eximstats: config ../src/eximstats.src @@ -413,6 +420,7 @@ eximstats: config ../src/eximstats.src ../src/eximstats.src > eximstats-t @mv eximstats-t eximstats @chmod a+x eximstats + @./eximstats -v 2>&1 >/dev/null @echo ">>> eximstats script built" exiqgrep: config ../src/exiqgrep.src @@ -428,6 +436,7 @@ exiqgrep: config ../src/exiqgrep.src ../src/exiqgrep.src > exiqgrep-t @mv exiqgrep-t exiqgrep @chmod a+x exiqgrep + @./exiqgrep -v 2>&1 >/dev/null @echo ">>> exiqgrep script built" exiqsumm: config ../src/exiqsumm.src @@ -439,6 +448,7 @@ exiqsumm: config ../src/exiqsumm.src ../src/exiqsumm.src > exiqsumm-t @mv exiqsumm-t exiqsumm @chmod a+x exiqsumm + @./exiqsumm -v 2>&1 >/dev/null @echo ">>> exiqsumm script built" exipick: config ../src/exipick.src @@ -452,6 +462,7 @@ exipick: config ../src/exipick.src ../src/exipick.src > exipick-t @mv exipick-t exipick @chmod a+x exipick + @./exipick -v 2>&1 >/dev/null @echo ">>> exipick script built" exim_id_update: config ../src/exim_id_update.src @@ -465,6 +476,7 @@ exim_id_update: config ../src/exim_id_update.src ../src/exim_id_update.src > exim_id_update-t @mv exim_id_update-t exim_id_update @chmod a+x exim_id_update + @./exim_id_update -v 2>&1 >/dev/null @echo ">>> exim_id_update script built" transport-filter.pl: config ../src/transport-filter.src @@ -487,6 +499,7 @@ convert4r3: config ../src/convert4r3.src ../src/convert4r3.src > convert4r3-t @mv convert4r3-t convert4r3 @chmod a+x convert4r3 + @./convert4r3 -v 2>&1 >/dev/null @echo ">>> convert4r3 script built" convert4r4: config ../src/convert4r4.src @@ -498,6 +511,7 @@ convert4r4: config ../src/convert4r4.src ../src/convert4r4.src > convert4r4-t @mv convert4r4-t convert4r4 @chmod a+x convert4r4 + @./convert4r4 -v 2>&1 >/dev/null @echo ">>> convert4r4 script built" diff --git a/src/src/exicyclog.src b/src/src/exicyclog.src index 20bf9fcd4..ce43b80b0 100644 --- a/src/src/exicyclog.src +++ b/src/src/exicyclog.src @@ -72,7 +72,7 @@ while [ $# -gt 0 ] ; do -k) keep=$2 shift ;; - --version) + --version|-v) echo "`basename $0`: $0" echo "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION" exit 0 diff --git a/src/src/exim_checkaccess.src b/src/src/exim_checkaccess.src index 360f307ba..159d9a472 100755 --- a/src/src/exim_checkaccess.src +++ b/src/src/exim_checkaccess.src @@ -68,11 +68,11 @@ use FileHandle; use File::Basename; use IPC::Open2; -if ($ARGV[0] eq '--version') { +if ($ARGV[0] eq '--version' || $ARGV[0] eq '-v') { print basename($0) . ": $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", "perl(runtime): $]\n"; - exit 0; + exit 0; } if (scalar(@ARGV) < 3) diff --git a/src/src/exim_id_update.src b/src/src/exim_id_update.src index 28fff1c4d..1597accc9 100644 --- a/src/src/exim_id_update.src +++ b/src/src/exim_id_update.src @@ -25,12 +25,18 @@ my $id; my $b62 = '[0-9A-Za-z]'; -if ( !getopts('hud', \%opt) +if ( !getopts('hudv', \%opt) || $opt{h} - || !$opt{u} && !$opt{d} + || !$opt{v} && !$opt{u} && !$opt{d} ) { &help; exit 1; } +if ($opt{v}) { + print "exim_id_update:\n", + "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", + "perl(runtime): $]\n"; + exit 0; +} $spool = $ARGV[0] if ($ARGV[0]); $mode_upgrade = $opt{u}; @@ -42,11 +48,12 @@ in spool files. Only the filenames is first-line ID tag values are affected; not message content such as Message-ID fields. Only -H, -D and -J files are handled. -Syntax: exim_id_update [-d | -u | -h] [spooldir] +Syntax: exim_id_update [-d | -u | -h | -v] [spooldir] -d Downgrade mode -h This help message -u Upgrade mode + -v Version Exactly one of -d or -u must be given. The spool directory defaults to the build-time value, diff --git a/src/src/eximon.src b/src/src/eximon.src index 6293a7cc2..77bd88050 100644 --- a/src/src/eximon.src +++ b/src/src/eximon.src @@ -19,7 +19,7 @@ # PROCESSED_FLAG # -if test "x$1" = x--version +if [ "x$1" = x--version -o "x$1" = x-v ] then echo "`basename $0`: $0" echo "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION" diff --git a/src/src/eximstats.src b/src/src/eximstats.src index 3b89e6bd7..b961df8e1 100644 --- a/src/src/eximstats.src +++ b/src/src/eximstats.src @@ -557,7 +557,7 @@ use File::Basename; # use Time::Local; # PH/FANF use POSIX; -if (@ARGV and $ARGV[0] eq '--version') { +if (@ARGV and ($ARGV[0] eq '--version' || $ARGV[0] eq '-v')) { print basename($0) . ": $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", "perl(runtime): $]\n"; diff --git a/src/src/exinext.src b/src/src/exinext.src index 913801867..30e08a5e2 100644 --- a/src/src/exinext.src +++ b/src/src/exinext.src @@ -25,7 +25,7 @@ config= eximmacdef= exim_path= -if test "x$1" = x--version +if [ "x$1" = x--version -o "x$1" = x-v ] then echo "`basename $0`: $0" echo "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION" diff --git a/src/src/exipick.src b/src/src/exipick.src index 61527ca64..c3830f4a5 100644 --- a/src/src/exipick.src +++ b/src/src/exipick.src @@ -90,7 +90,7 @@ GetOptions( 'show-tests' => \$G::show_tests, # display tests as applied to each message 'man' => sub { pod2usage(-verbose => 2, -exit => 0, -noperldoc => system('perldoc -V >/dev/null 2>&1')) }, 'help' => sub { pod2usage(-verbose => 1, -exit => 0) }, - 'version' => sub { + 'v|version' => sub { print "$p_name: $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", "perl(runtime): $]\n"; diff --git a/src/src/exiqgrep.src b/src/src/exiqgrep.src index 74c29f7ef..6a0d40b51 100644 --- a/src/src/exiqgrep.src +++ b/src/src/exiqgrep.src @@ -50,7 +50,7 @@ if ($^O eq 'darwin') { # aka MacOS X $base = 62; }; -if ($ARGV[0] eq '--version') { +if ($ARGV[0] eq '--version' || $ARGV[0] eq '-v') { print basename($0) . ": $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", "perl(runtime): $]\n"; diff --git a/src/src/exiqsumm.src b/src/src/exiqsumm.src index afb74fdcd..3918ab0b8 100644 --- a/src/src/exiqsumm.src +++ b/src/src/exiqsumm.src @@ -50,7 +50,7 @@ use warnings; BEGIN { pop @INC if $INC[-1] eq '.' }; use File::Basename; -if (@ARGV && $ARGV[0] eq '--version') { +if (@ARGV && ($ARGV[0] eq '--version' || ($ARGV[0] eq '-v'))) { print basename($0) . ": $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", "perl(runtime): $]\n"; diff --git a/src/src/exiwhat.src b/src/src/exiwhat.src index a1f748edd..812f0b149 100644 --- a/src/src/exiwhat.src +++ b/src/src/exiwhat.src @@ -55,7 +55,7 @@ signal=EXIWHAT_KILL_SIGNAL # See if this installation is using the esoteric "USE_NODE" feature of Exim, # in which it uses the host's name as a suffix for the configuration file name. -if test "x$1" = x--version +if [ "x$1" = x--version -o "x$1" = x-v ] then echo "`basename $0`: $0" echo "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION" diff --git a/src/src/transport-filter.src b/src/src/transport-filter.src index db00d877f..ba86d8f46 100644 --- a/src/src/transport-filter.src +++ b/src/src/transport-filter.src @@ -15,7 +15,7 @@ use warnings; BEGIN { pop @INC if $INC[-1] eq '.' }; use File::Basename; -if ($ARGV[0] eq '--version') { +if ($ARGV[0] eq '--version' || $ARGV[0] eq '-v') { print basename($0) . ": $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", "perl(runtime): $]\n"; -- 2.30.2