From 6e5dac51769bb51eb228385ffa7d9cea9671bca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Mon, 24 Aug 2026 03:20:02 -0300 Subject: [PATCH] refactor(template): use shared Ubuntu version comparison --- xCAT-server/lib/perl/xCAT/Template.pm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/xCAT-server/lib/perl/xCAT/Template.pm b/xCAT-server/lib/perl/xCAT/Template.pm index bcf37d647..49e27803b 100644 --- a/xCAT-server/lib/perl/xCAT/Template.pm +++ b/xCAT-server/lib/perl/xCAT/Template.pm @@ -1786,18 +1786,23 @@ sub ubuntu_subiquity_otherpkg_sources sub ubuntu_subiquity_uses_deb822_sources { my ($media_dir) = @_; - my $release = ubuntu_subiquity_release($media_dir); - - return 1 if $release =~ m{ubuntu([2-9][4-9]|[3-9][0-9])\.\d+}; - return 0; + return ubuntu_subiquity_release_at_least( $media_dir, '24.0' ); } sub ubuntu_subiquity_uses_generated_cdrom_source { my ($media_dir) = @_; + return ubuntu_subiquity_release_at_least( $media_dir, '26.0' ); +} + +sub ubuntu_subiquity_release_at_least +{ + my ( $media_dir, $minimum ) = @_; my $release = ubuntu_subiquity_release($media_dir); - return 1 if $release =~ m{ubuntu([2-9][6-9]|[3-9][0-9])\.\d+}; + foreach my $version ( $release =~ m{ubuntu(\d{2}\.\d+)}g ) { + return 1 if xCAT::Utils->version_cmp( $version, $minimum ) >= 0; + } return 0; }