Skip to content

Commit bfeff9c

Browse files
committed
build: Even more refactoring on MSI packaging process
1 parent c335f47 commit bfeff9c

File tree

2 files changed

+37
-21
lines changed

2 files changed

+37
-21
lines changed

contrib/windows/glpi-agent-extlibs-build.pl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@ BEGIN
2626
my $version = $GLPI::Agent::Version::VERSION;
2727

2828
sub toolchain_builder {
29-
my ($bits, $notest, $clean) = @_;
30-
31-
die "32 bits toolchain build not supported\n"
32-
if $bits == 32;
29+
my ($arch, $notest, $clean) = @_;
3330

3431
my $cpus = 0;
3532
if (open my $fh, "-|", "wmic cpu get NumberOfCores") {
@@ -46,8 +43,8 @@ sub toolchain_builder {
4643
_provided_by => PROVIDED_BY,
4744
_no_test => $notest,
4845
_clean => $clean,
49-
arch => $bits == 32 ? "x86" : "x64",
50-
_dllsuffix => '__',
46+
arch => $arch,
47+
_dllsuffix => $arch eq "x86" ? '_' : '__',
5148
_cpus => $cpus,
5249
);
5350

@@ -83,9 +80,12 @@ sub toolchain_builder {
8380
# Still select a defaut arch if none has been selected
8481
$do{x64} = 64 unless keys(%do);
8582

86-
foreach my $bits (sort values(%do)) {
87-
print "Building $bits bits toolchain packages for $provider-Agent $version...\n";
88-
my $tcb = toolchain_builder($bits, $notest, $clean);
83+
die "32 bits toolchain build not supported\n"
84+
if $do{x86};
85+
86+
foreach my $arch (sort keys(%do)) {
87+
print "Building $arch toolchain packages for $provider-Agent $version...\n";
88+
my $tcb = toolchain_builder($arch, $notest, $clean);
8989
$tcb->do_job();
9090
exit(1) unless -e catfile($tcb->global->{debug_dir}, 'global_dump_FINAL.txt');
9191
}

contrib/windows/glpi-agent-packaging.pl

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
}
7575

7676
sub build_app {
77-
my ($bits, $notest) = @_;
77+
my ($arch, $notest) = @_;
7878

7979
my $package_rev = $ENV{PACKAGE_REVISION} || PACKAGE_REVISION;
8080

@@ -93,8 +93,8 @@ sub build_app {
9393
agent_regpath => "Software\\$provider-Agent",
9494
service_name => lc($provider).'-agent',
9595
msi_sharedir => 'contrib/windows/packaging',
96-
arch => $bits == 32 ? "x86" : "x64",
97-
_dllsuffix => $bits == 32 ? '_' : '__',
96+
arch => $arch,
97+
_dllsuffix => $arch eq "x86" ? '_' : '__',
9898
_restore_step => PERL_BUILD_STEPS,
9999
);
100100

@@ -126,9 +126,15 @@ sub build_app {
126126
}
127127
}
128128

129-
foreach my $bits (sort values(%do)) {
130-
print "Building $bits bits packages...\n";
131-
my $app = build_app($bits, $notest);
129+
# Still select a defaut arch if none has been selected
130+
$do{x64} = 64 unless keys(%do);
131+
132+
die "32 bits packaging build no more supported\n"
133+
if $do{x86};
134+
135+
foreach my $arch (sort keys(%do)) {
136+
print "Building $arch packages...\n";
137+
my $app = build_app($arch, $notest);
132138
$app->do_job();
133139
# global_dump_FINAL.txt must exist in debug_dir if all steps have been passed
134140
exit(1) unless -e catfile($app->global->{debug_dir}, 'global_dump_FINAL.txt');
@@ -221,10 +227,22 @@ sub run {
221227
$self->boss->message(2, "Test: gonna run perl Makefile.PL");
222228
my $rv = $self->execute_standard($makefile_pl_cmd);
223229
die "ERROR: TEST, perl Makefile.PL\n" unless (defined $rv && $rv == 0);
230+
}
224231

225-
my @test_files = ref($self->{config}->{test_files}) ?
226-
map { bsd_glob($_) } @{$self->{config}->{test_files}} : qw(t/01compile.t);
227-
if (ref($self->{config}->{skip_tests}) && @{$self->{config}->{skip_tests}}) {
232+
sub test {
233+
my $self = shift;
234+
235+
# Update PATH to include perl/bin for DLLs loading
236+
my $binpath = catfile($self->global->{image_dir}, 'perl/bin');
237+
$ENV{PATH} .= ":$binpath";
238+
239+
# Without defined modules, run the tests
240+
my $makebin = catfile($binpath, 'gmake.exe');
241+
242+
my @test_files = qw(t/01compile.t);
243+
@test_files = map { bsd_glob($_) } @{$self->{config}->{test_files}}
244+
if ref($self->{config}->{test_files}) && @{$self->{config}->{test_files}};
245+
if (@test_files && ref($self->{config}->{skip_tests}) && @{$self->{config}->{skip_tests}}) {
228246
my %skip_tests = map { $_ => 1 } @{$self->{config}->{skip_tests}};
229247
@test_files = grep { not $skip_tests{$_} } @test_files;
230248
}
@@ -233,12 +251,10 @@ sub run {
233251
my $make_test_cmd = [ $makebin, "test" ];
234252
push @{$make_test_cmd}, "TEST_FILES=@test_files" if @test_files;
235253
$self->boss->message(2, "Test: gonna run gmake test");
236-
$rv = $self->execute_standard($make_test_cmd);
254+
my $rv = $self->execute_standard($make_test_cmd);
237255
die "ERROR: TEST, make test\n" unless (defined $rv && $rv == 0);
238256
}
239257

240-
sub test {}
241-
242258
package
243259
Perl::Dist::GLPI::Agent::Step::InstallModules;
244260

0 commit comments

Comments
 (0)