summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2020-01-18 14:03:18 +0000
committerSadie Powell <sadie@witchery.services>2020-01-18 14:25:03 +0000
commit87471ab92dc4c0089d021db3faa27ed2f929fb6b (patch)
tree681fc5f4e988d1342d381bf8af6b8285252a008a
parent04b5090a2f65a2e3380a32e5cd0b4936716ec394 (diff)
Add a function for showing a command whilst executing it.
-rw-r--r--make/common.pm6
-rwxr-xr-xtools/mkheaders3
-rwxr-xr-xtools/test-build10
-rwxr-xr-xvendor/update8
4 files changed, 17 insertions, 10 deletions
diff --git a/make/common.pm b/make/common.pm
index 49d4b7798..636c3d5d6 100644
--- a/make/common.pm
+++ b/make/common.pm
@@ -34,6 +34,7 @@ use File::Spec::Functions qw(rel2abs);
use make::console;
our @EXPORT = qw(create_directory
+ execute
get_cpu_count
get_version
read_config_file
@@ -47,6 +48,11 @@ sub create_directory($$) {
} // 0;
}
+sub execute(@) {
+ print_format "<|BOLD \$|> @_\n";
+ return system @_;
+}
+
sub get_version {
state %version;
return %version if %version;
diff --git a/tools/mkheaders b/tools/mkheaders
index 4b1f370f3..ee8142d3b 100755
--- a/tools/mkheaders
+++ b/tools/mkheaders
@@ -37,6 +37,7 @@ use List::Util qw(uniq);
use POSIX qw(strftime);
use lib dirname $RealDir;
+use make::common;
use make::console;
my @ignored_revisions = (
@@ -144,7 +145,7 @@ for my $path (@paths) {
}
}
-system 'git', 'commit',
+execute 'git', 'commit',
'--author', 'InspIRCd Robot <noreply@inspircd.org>',
'--message', 'Update copyright headers.',
'--', @updated;
diff --git a/tools/test-build b/tools/test-build
index 48988b687..eb7da05d0 100755
--- a/tools/test-build
+++ b/tools/test-build
@@ -40,7 +40,7 @@ use make::configure;
$ENV{INSPIRCD_DEBUG} = 3;
$ENV{INSPIRCD_VERBOSE} = 1;
-system 'git', 'clean', '-dfx';
+execute 'git', 'clean', '-dfx';
my @compilers = $#ARGV >= 0 ? @ARGV : qw(g++ clang++ icpc);
foreach my $compiler (@compilers) {
@@ -57,19 +57,19 @@ foreach my $compiler (@compilers) {
say "Attempting to build using the $compiler compiler and the $socketengine socket engine...";
my @configure_flags;
if (defined $ENV{TEST_BUILD_MODULES}) {
- system './configure', '--enable-extras', $ENV{TEST_BUILD_MODULES};
+ execute './configure', '--enable-extras', $ENV{TEST_BUILD_MODULES};
push @configure_flags, '--disable-auto-extras';
}
- if (system './configure', '--development', '--socketengine', $socketengine, @configure_flags) {
+ if (execute './configure', '--development', '--socketengine', $socketengine, @configure_flags) {
say "Failed to configure using the $compiler compiler and the $socketengine socket engine!";
exit 1;
}
- if (system 'make', '--jobs', get_cpu_count, 'install') {
+ if (execute 'make', '--jobs', get_cpu_count, 'install') {
say "Failed to compile using the $compiler compiler and the $socketengine socket engine!";
exit 1;
}
say "Building using the $compiler compiler and the $socketengine socket engine succeeded!";
}
- system 'git', 'clean', '-dfx';
+ execute 'git', 'clean', '-dfx';
}
diff --git a/vendor/update b/vendor/update
index c57918cb5..6f9ff5e86 100755
--- a/vendor/update
+++ b/vendor/update
@@ -57,14 +57,14 @@ while (my ($name, $info) = each $data) {
my $vendordir = catdir $RealDir, $name;
my $success = 0;
if (defined $info->{git}) {
- $success ||= system 'git', 'clone', $info->{git}, $unpackdir;
+ $success ||= execute 'git', 'clone', $info->{git}, $unpackdir;
chomp(my $tag = `git -C $unpackdir describe --abbrev=0 --tags HEAD 2>/dev/null`) unless $success;
- $success ||= system 'git', '-C', $unpackdir, 'checkout', $tag if $tag;
+ $success ||= execute 'git', '-C', $unpackdir, 'checkout', $tag if $tag;
chomp($info->{version} = `git -C $unpackdir describe --always --tags HEAD 2>/dev/null`);
} elsif (defined $info->{tarball}) {
my $tarball = catfile $unpackdir, basename $info->{tarball};
- $success ||= system 'wget', '--output-document', $tarball, $info->{tarball};
- $success ||= system 'tar', 'fx', $tarball, '-C', $unpackdir, '--strip-components', 1;
+ $success ||= execute 'wget', '--output-document', $tarball, $info->{tarball};
+ $success ||= execute 'tar', 'fx', $tarball, '-C', $unpackdir, '--strip-components', 1;
} else {
print_error "unable to update $name; no git or tarball specified!";
}