diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 10:22:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 10:22:39 +0000 |
commit | a7a8dcc3f3e7ffa12ac734a1ce0a6f4ef88ed6c9 (patch) | |
tree | 28525063835d0d1b64a06217746b0c1c9b87baeb /lib/Dpkg | |
parent | Releasing progress-linux version 0.1.44-0.0~progress7.99u1. (diff) | |
download | debputy-a7a8dcc3f3e7ffa12ac734a1ce0a6f4ef88ed6c9.tar.xz debputy-a7a8dcc3f3e7ffa12ac734a1ce0a6f4ef88ed6c9.zip |
Merging upstream version 0.1.45.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'lib/Dpkg')
-rw-r--r-- | lib/Dpkg/BuildDriver/Debputy.pm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/Dpkg/BuildDriver/Debputy.pm b/lib/Dpkg/BuildDriver/Debputy.pm new file mode 100644 index 0000000..957f608 --- /dev/null +++ b/lib/Dpkg/BuildDriver/Debputy.pm @@ -0,0 +1,44 @@ +package Dpkg::BuildDriver::Debputy; +use strict; +use warnings FATAL => 'all'; +use Dpkg::ErrorHandling; + +sub _run_cmd { + my @cmd = @_; + printcmd(@cmd); + system @cmd and subprocerr("@cmd"); +} + +sub new { + my ($this, %opts) = @_; + my $class = ref($this) || $this; + my $self = bless({ + 'ctrl' => $opts{ctrl}, + 'debputy_cmd' => 'debputy', + }, $class); + return $self; +} + + +sub pre_check { + my ($self) = @_; + my $ctrl_src = $self->{'ctrl'}->get_source(); + my $debputy_self_hosting_cmd = './debputy.sh'; + if ($ctrl_src->{"Source"} eq 'debputy' and -f -x $debputy_self_hosting_cmd) { + $self->{'debputy_cmd'} = $debputy_self_hosting_cmd; + notice("Detected this is a self-hosting build of debputy. Using \"${debputy_self_hosting_cmd}\" to self-host."); + } + return; +} + +sub need_build_task { + return 0; +} + +sub run_task { + my ($self, $task) = @_; + _run_cmd($self->{'debputy_cmd'}, 'internal-command', 'dpkg-build-driver-run-task', $task); + return; +} + +1; |