diff --git a/lib/XCAT/GenesisRelease.pm b/lib/XCAT/GenesisRelease.pm index c4b3bee..b05f9a1 100644 --- a/lib/XCAT/GenesisRelease.pm +++ b/lib/XCAT/GenesisRelease.pm @@ -8,10 +8,12 @@ use XCAT::BuildUtils qw(digest_file read_lines relative_files); our @EXPORT_OK = qw( architectures + deb_package_prefix deb_package_name minimum_release_version read_checksum_manifest read_release_manifest + rpm_package_prefix rpm_package_name validated_release_checksums validate_architecture @@ -25,6 +27,8 @@ our @EXPORT_OK = qw( my @RELEASE_V1_ARCHITECTURES = qw(x86 x86_64 ppc64 ppc64le armv7hf aarch64 riscv64); my @RELEASE_V2_ARCHITECTURES = (@RELEASE_V1_ARCHITECTURES, 's390x'); my @ARCHITECTURES = @RELEASE_V2_ARCHITECTURES; +my $RPM_PACKAGE_PREFIX = 'xCAT-genesis-openembedded-'; +my $DEB_PACKAGE_PREFIX = 'xcat-genesis-openembedded-'; my %ARCHITECTURE = map { $_ => 1 } @ARCHITECTURES; my %RELEASE_ARCHITECTURES = ( 1 => \@RELEASE_V1_ARCHITECTURES, @@ -42,17 +46,25 @@ sub validate_architecture { return $architecture; } +sub rpm_package_prefix { + return $RPM_PACKAGE_PREFIX; +} + sub rpm_package_name { my ($architecture) = @_; validate_architecture($architecture); - return "xCAT-genesis-openembedded-$architecture"; + return $RPM_PACKAGE_PREFIX . $architecture; +} + +sub deb_package_prefix { + return $DEB_PACKAGE_PREFIX; } sub deb_package_name { my ($architecture) = @_; validate_architecture($architecture); $architecture =~ tr/_/-/; - return "xcat-genesis-openembedded-$architecture"; + return $DEB_PACKAGE_PREFIX . $architecture; } sub minimum_release_version { diff --git a/mockbuild-all.pl b/mockbuild-all.pl index 154bc85..d4b7b5e 100755 --- a/mockbuild-all.pl +++ b/mockbuild-all.pl @@ -34,6 +34,7 @@ use XCAT::BuildUtils qw( ); use XCAT::GenesisRelease qw( architectures + rpm_package_prefix rpm_package_name validate_repository_packages validated_release_checksums @@ -367,6 +368,7 @@ if ($genesis_release ne '') { unless -d $genesis_release; my $verifier = "$script_dir/genesis-openembedded/verify-release"; die "Genesis release verifier not found: $verifier\n" unless -x $verifier; + common_repository_requirements(); # Checksum, verify, checksum again. The verifier reads the tree it validates, so a # release rewritten together with its SHA256SUMS while the verifier runs would satisfy # both the verifier and any single pass taken afterwards; comparing the pass taken @@ -376,7 +378,6 @@ if ($genesis_release ne '') { my $checksums_after = validated_release_checksums($genesis_release); die "Genesis release changed during verification\n" unless hashes_equal($checksums_before, $checksums_after); - common_repository_requirements(); $genesis_release_checksums = $checksums_before; } @@ -1124,7 +1125,7 @@ sub common_repository_requirements { return validate_repository_packages( \%common, 'common', - 'xCAT-genesis-openembedded-', + rpm_package_prefix(), map { rpm_package_name($_) } architectures(), ); } diff --git a/sbuild-all.pl b/sbuild-all.pl index b008692..60007aa 100755 --- a/sbuild-all.pl +++ b/sbuild-all.pl @@ -1069,7 +1069,7 @@ sub shared_repository_requirements { return XCAT::GenesisRelease::validate_repository_packages( \%shared, 'shared', - 'xcat-genesis-openembedded-', + XCAT::GenesisRelease::deb_package_prefix(), map { XCAT::GenesisRelease::deb_package_name($_) } XCAT::GenesisRelease::architectures(), );