mirror of
https://github.com/Pmodules/Pmodules.git
synced 2026-06-27 18:13:08 +02:00
modbuild: issue with cleaning up modulefiles in overlays fixed
This commit is contained in:
@@ -967,6 +967,7 @@ pbuild::make_all() {
|
||||
fi
|
||||
install_modulefile
|
||||
install_release_file
|
||||
cleanup_modulefiles
|
||||
cleanup_build
|
||||
cleanup_src
|
||||
std::info \
|
||||
@@ -999,6 +1000,33 @@ pbuild::make_all() {
|
||||
install -m 0644 "${src}" "${modulefile_name}"
|
||||
}
|
||||
|
||||
cleanup_modulefiles(){
|
||||
local ol=''
|
||||
for ol in "${Overlays[@]}"; do
|
||||
local i
|
||||
for ((i=0; i<${#mod_overlays}; i++ )); do
|
||||
[[ "${ol}" == "{mod_overlays[i]}" ]] && continue 2
|
||||
done
|
||||
[[ "${ol}" == "${ol_name}" ]] && continue
|
||||
local mod_root="${OverlayInfo[${ol}:mod_root]}"
|
||||
local dir="${modulefile_dir/${ol_mod_root}/${mod_root}}"
|
||||
local fname="${dir}/${module_version}"
|
||||
if [[ -e "${fname}" ]]; then
|
||||
std::info "%s "\
|
||||
"${module_name}/${module_version}:" \
|
||||
"removing modulefile from overlay '${ol}' ..."
|
||||
rm "${fname}"
|
||||
fi
|
||||
fname="${dir}/.release-${module_version}"
|
||||
if [[ -e "${fname}" ]]; then
|
||||
std::info \
|
||||
"%s " \
|
||||
"${module_name}/${module_version}:" \
|
||||
"removing release file from overlay '${ol}' ..."
|
||||
rm "${fname}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
install_release_file() {
|
||||
local -r release_file="${modulefile_dir}/.release-${module_version}"
|
||||
@@ -1208,6 +1236,7 @@ pbuild::make_all() {
|
||||
install_modulefile
|
||||
fi
|
||||
install_release_file
|
||||
cleanup_modulefiles
|
||||
return $?
|
||||
fi
|
||||
if [[ "${module_release}" == 'deprecated' ]]; then
|
||||
|
||||
@@ -578,10 +578,14 @@ build_modules_yaml(){
|
||||
else
|
||||
ol_name="${opt_overlay}"
|
||||
fi
|
||||
mod_overlays[${ol_name}]=1
|
||||
if [[ ! -v OverlayInfo[${ol_name}:inst_root] ]]; then
|
||||
std::die 3 "Overlay is not defined -- ${ol_name}"
|
||||
fi
|
||||
mod_overlays[$i]="${ol_name}"
|
||||
done
|
||||
|
||||
for (( i=0; i<n_variants; i++)); do
|
||||
ol_name="${mod_overlays[$i]}"
|
||||
yaml_get_relstage relstage "${fname}" "${v}" $i
|
||||
yaml_get_dependencies deps "${fname}" "${v}" $i
|
||||
ol_inst_root="${OverlayInfo[${ol_name}:inst_root]}"
|
||||
@@ -616,7 +620,6 @@ build_modules_yaml(){
|
||||
"${relstage}"
|
||||
fi
|
||||
done
|
||||
cleanup_modulefiles
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user