From 0e3e2461c3be358749d1dc15bc05d7618736baee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Sun, 6 Sep 2026 11:43:10 -0300 Subject: [PATCH] fix(genesis): centralize package name prefixes --- lib/XCAT/GenesisRelease.pm | 16 ++++++++++++++-- mockbuild-all.pl | 5 +++-- sbuild-all.pl | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) 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(), );