diff --git a/src/usr/bin/amber-pm-convert b/src/usr/bin/amber-pm-convert index 232b75a..36832d7 100755 --- a/src/usr/bin/amber-pm-convert +++ b/src/usr/bin/amber-pm-convert @@ -116,7 +116,7 @@ trap cleanup EXIT get_recursive_basenames() { local basename="$1" local base_dir="/var/lib/apm/apm/files/ace-env/var/lib/apm/$basename" - local info_file="$base_dir/files/ace-env/info" + local info_file="$base_dir/info" if [ -f "$info_file" ]; then log.info "读取info文件: $info_file" diff --git a/src/usr/bin/apm b/src/usr/bin/apm index 8f4a2a8..634c298 100755 --- a/src/usr/bin/apm +++ b/src/usr/bin/apm @@ -42,13 +42,13 @@ EOF apm_exec(){ # 递归读取info文件并构建lowerdir local lowerdirs=() - local current_dir="${PATH_PREFIX}/var/lib/apm/${coredir}/files" # 当前目录开始 + local current_dir="${PATH_PREFIX}/var/lib/apm/${coredir}" # 当前目录开始 local next_info_file="" while : ; do # 构建info文件的路径 next_info_file="${current_dir}/info" - + # 检查info文件是否存在 if [[ ! -f "$next_info_file" ]]; then log.debug "No more info files found, stopping recursion." @@ -60,11 +60,11 @@ apm_exec(){ [[ -z "$basedir" ]] && continue # 跳过空行 # 检查ace-env目录是否存在 - if [[ -d "${current_dir}/${basedir}/files/ace-env" ]]; then - lowerdirs+=("${current_dir}/${basedir}/files/ace-env") + if [[ -d "${PATH_PREFIX}/var/lib/apm/${basedir}/files/ace-env" ]]; then + lowerdirs+=("${PATH_PREFIX}/var/lib/apm/${basedir}/files/ace-env") # 如果ace-env不存在,检查core目录 - elif [[ -d "${current_dir}/${basedir}/files/core" ]]; then - lowerdirs+=("${current_dir}/${basedir}/files/core") + elif [[ -d "${PATH_PREFIX}/var/lib/apm/${basedir}/files/core" ]]; then + lowerdirs+=("${PATH_PREFIX}/var/lib/apm/${basedir}/files/core") else log.warn "Neither ace-env nor core directory found for base: $basedir" fi @@ -72,12 +72,12 @@ apm_exec(){ # 尝试获取下一个依赖信息的路径 local next_basedir=$(tail -n 1 "$next_info_file") - if [[ -z "$next_basedir" || ! -d "${current_dir}/${next_basedir}/files" ]]; then + if [[ -z "$next_basedir" || ! -d "${PATH_PREFIX}/var/lib/apm/${next_basedir}/files" ]]; then log.debug "No further dependencies found, ending recursion." break fi # 更新当前目录,递归处理下一个依赖 - current_dir="${current_dir}/${next_basedir}/files" + current_dir="${PATH_PREFIX}/var/lib/apm/${next_basedir}/files" done # 检查是否找到了有效的lowerdir