mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-30 14:55:17 +00:00
refactor(build): share repository target inference
Move repository path mapping into MockBuildUtils so callers can use it directly. Keep the openEuler and EL target rules unchanged.
This commit is contained in:
+12
-1
@@ -19,7 +19,7 @@ our @EXPORT_OK = qw(
|
||||
version_matches required_pkgs skipped_builder carry_over_rpms rpm_name rpm_arch rpm_source_rpm
|
||||
source_package rpm_digests_ok
|
||||
have_rpm read_manifest
|
||||
verify_repo_packages verify_repo_signature verify_rpm_signatures
|
||||
derive_target_from_repo_path verify_repo_packages verify_repo_signature verify_rpm_signatures
|
||||
parse_evr evr_cmp evr_constraint_ok parse_pin rpmkeys_checksig_problem
|
||||
rpm_version rpm_release rpm_sigmd5 rpm_is_signed restamp_release_line
|
||||
cross_copy_genesis finalize_xcat_dep bump_dep_release_suffix
|
||||
@@ -298,6 +298,17 @@ sub parse_pin {
|
||||
return ('version');
|
||||
}
|
||||
|
||||
sub derive_target_from_repo_path {
|
||||
my ($dir) = @_;
|
||||
my $tgt;
|
||||
return $tgt unless defined $dir;
|
||||
$tgt = "alma+epel-$1-$2" if $dir =~ m{/rh(\d+)/([^/]+)/*$};
|
||||
if ($dir =~ m{/openeuler((?:20|22|24)\.03(?:sp[1-9][0-9]*)?)/(x86_64|ppc64le)/*$}) {
|
||||
$tgt = "openeuler-$1-$2";
|
||||
}
|
||||
return $tgt;
|
||||
}
|
||||
|
||||
sub verify_repo_packages {
|
||||
my ($expected, $present_ver, $present_evr, $vercmp) = @_;
|
||||
$present_evr //= $present_ver;
|
||||
|
||||
+2
-15
@@ -20,7 +20,8 @@ use lib $RealBin, "$RealBin/lib";
|
||||
use MockBuildUtils qw(sh_quote print_step version_matches required_pkgs rpm_in_cell
|
||||
carry_over_rpms rpm_name rpm_arch rpm_source_rpm rpm_digests_ok
|
||||
install_deps_packages install_deps_command missing_perl_modules
|
||||
read_manifest verify_repo_packages verify_repo_signature verify_rpm_signatures
|
||||
read_manifest derive_target_from_repo_path
|
||||
verify_repo_packages verify_repo_signature verify_rpm_signatures
|
||||
rpm_version rpm_release rpm_sigmd5 restamp_release_line
|
||||
cross_copy_genesis finalize_xcat_dep bump_dep_release_suffix
|
||||
build_mock_uniqueext rpmkeys_checksig_problem
|
||||
@@ -2237,20 +2238,6 @@ sub native_publisher_rpm {
|
||||
return $plan->{nodes}{$owner}{type} eq 'publisher';
|
||||
}
|
||||
|
||||
# derive_target_from_repo_path: map a deployed per-target repo path .../rh<N>/<arch> to its manifest
|
||||
# target section name alma+epel-<N>-<arch>. Returns undef when the path lacks that rh<N>/<arch> tail,
|
||||
# so the standalone --verify-repo mode can require an explicit --target instead.
|
||||
sub derive_target_from_repo_path {
|
||||
my ($dir) = @_;
|
||||
my $tgt;
|
||||
return $tgt unless defined $dir;
|
||||
$tgt = "alma+epel-$1-$2" if $dir =~ m{/rh(\d+)/([^/]+)/*$};
|
||||
if ($dir =~ m{/openeuler((?:20|22|24)\.03(?:sp[1-9][0-9]*)?)/(x86_64|ppc64le)/*$}) {
|
||||
$tgt = "openeuler-$1-$2";
|
||||
}
|
||||
return $tgt;
|
||||
}
|
||||
|
||||
sub reset_staging_repo {
|
||||
my ($directory) = @_;
|
||||
return unless -d $directory;
|
||||
|
||||
Reference in New Issue
Block a user