2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-09-24 16:54:04 +00:00

fix(genesis): verify source package identity

This commit is contained in:
Vinícius Ferrão
2026-08-21 09:10:51 -03:00
parent f909033b10
commit 063ffc7724
+10 -5
View File
@@ -44,17 +44,22 @@ sub _verify_rpm {
my ($directory, $manifest, $architecture) = @_;
_require_command('rpm');
my $name = rpm_package_name($architecture);
my $source_name = "$name-$manifest->{xcat_version}-$manifest->{xcat_release}.src.rpm";
my @packages = (
[ "$directory/rpm/$name-$manifest->{xcat_version}-$manifest->{xcat_release}.noarch.rpm", 'noarch' ],
[ "$directory/srpm/$name-$manifest->{xcat_version}-$manifest->{xcat_release}.src.rpm", 'src' ],
[ "$directory/rpm/$name-$manifest->{xcat_version}-$manifest->{xcat_release}.noarch.rpm",
'noarch', $source_name ],
[ "$directory/srpm/$source_name", 'noarch', '(none)' ],
);
for my $package (@packages) {
my ($path, $expected_arch) = @{$package};
my ($path, $expected_arch, $expected_source) = @{$package};
my $metadata = _capture(
'rpm', '-qp', '--qf', "%{NAME}\t%{VERSION}\t%{RELEASE}\t%{ARCH}\t%{EPOCHNUM}\n", $path,
'rpm', '-qp', '--qf',
"%{NAME}\t%{VERSION}\t%{RELEASE}\t%{ARCH}\t%{EPOCHNUM}\t%{SOURCERPM}\n",
$path,
);
my $expected = join(
"\t", $name, $manifest->{xcat_version}, $manifest->{xcat_release}, $expected_arch, '2',
"\t", $name, $manifest->{xcat_version}, $manifest->{xcat_release},
$expected_arch, '2', $expected_source,
);
die "Unexpected RPM identity for $path: $metadata\n" unless $metadata eq $expected;
}