按提示词结论补源路径依据锁

This commit is contained in:
cnc
2026-06-02 14:06:59 +08:00
parent dda5b4973e
commit 854cc682b3
4 changed files with 22 additions and 0 deletions

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" cd "$(dirname "$0")"
# LinuxCNC source basis: linuxcnc-kinematics-source-files.txt tracks
# src/emc/kinematics plus configs/sim INI/HAL/remap/tooldata/assets used by
# LinuxCNC switchkins, M428/M429/M430 remaps, and RTCP coverage.
manifest=${1:-linuxcnc-kinematics-source-files.txt} manifest=${1:-linuxcnc-kinematics-source-files.txt}
filter_group=${2:-core} filter_group=${2:-core}
output_mode=${3:-relative} output_mode=${3:-relative}

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" cd "$(dirname "$0")"
# LinuxCNC source basis: manifest listers expose LinuxCNC-root relative source
# entries from RS274, kinematics, remap, config, tooldata, and metadata
# manifests after check-linuxcnc-inputs.sh validates their source coverage.
manifest=${1:?manifest required} manifest=${1:?manifest required}
filter_group=${2:?filter group required} filter_group=${2:?filter group required}
output_mode=${3:?output mode required} output_mode=${3:?output mode required}
@@ -52,6 +55,10 @@ while IFS=: read -r group path note; do
echo "unknown manifest group: $group" >&2 echo "unknown manifest group: $group" >&2
exit 1 exit 1
fi fi
if [[ "$path" = /* || "$path" == .. || "$path" == ../* || "$path" == */.. || "$path" == */../* ]]; then
echo "manifest source must be LinuxCNC-root relative: $path" >&2
exit 1
fi
full_path="$linuxcnc_root/$path" full_path="$linuxcnc_root/$path"
if [[ ! -f "$full_path" ]]; then if [[ ! -f "$full_path" ]]; then

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" cd "$(dirname "$0")"
# LinuxCNC source basis: fixed-source probes resolve explicit LinuxCNC-root
# relative paths from src/emc/rs274ngc, src/emc/tooldata, and related source
# directories before compiling or linking source-backed bridge checks.
linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
missing_source_message="missing LinuxCNC source" missing_source_message="missing LinuxCNC source"
preflight_cache_dir=${CNC_SIM_PREFLIGHT_CACHE_DIR:-build/linuxcnc-helper-preflight-cache} preflight_cache_dir=${CNC_SIM_PREFLIGHT_CACHE_DIR:-build/linuxcnc-helper-preflight-cache}
@@ -39,6 +42,10 @@ if [[ "$#" -eq 0 ]]; then
fi fi
for source in "$@"; do for source in "$@"; do
if [[ "$source" = /* || "$source" == .. || "$source" == ../* || "$source" == */.. || "$source" == */../* ]]; then
echo "LinuxCNC source path must be root-relative: $source" >&2
exit 1
fi
full_source="$linuxcnc_root/$source" full_source="$linuxcnc_root/$source"
if [[ ! -f "$full_source" ]]; then if [[ ! -f "$full_source" ]]; then
echo "$missing_source_message: $source" >&2 echo "$missing_source_message: $source" >&2

View File

@@ -72,7 +72,12 @@ grep -F 'LinuxCNC source basis: standalone probe modes either compile LinuxCNC'
grep -F 'LinuxCNC source basis: link probe modes reuse wasm-safe objects built from' build-linuxcnc-wasm-link-probe.sh >/dev/null grep -F 'LinuxCNC source basis: link probe modes reuse wasm-safe objects built from' build-linuxcnc-wasm-link-probe.sh >/dev/null
grep -F 'grep -F '\''LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc provides'\'' "$main_source" >/dev/null' build-linuxcnc-wasm-link-probe.sh >/dev/null grep -F 'grep -F '\''LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc provides'\'' "$main_source" >/dev/null' build-linuxcnc-wasm-link-probe.sh >/dev/null
grep -F 'core:src/emc/rs274ngc/rs274ngc_pre.cc:Interp implementation covered by rs274ngc_pre link probe' build-linuxcnc-wasm-standalone-probe.sh >/dev/null grep -F 'core:src/emc/rs274ngc/rs274ngc_pre.cc:Interp implementation covered by rs274ngc_pre link probe' build-linuxcnc-wasm-standalone-probe.sh >/dev/null
grep -F 'LinuxCNC source basis: fixed-source probes resolve explicit LinuxCNC-root' list-linuxcnc-source-files.sh >/dev/null
grep -F 'LinuxCNC source path must be root-relative: $source' list-linuxcnc-source-files.sh >/dev/null
grep -F 'LinuxCNC source basis: manifest listers expose LinuxCNC-root relative source' list-linuxcnc-manifest-sources.sh >/dev/null
grep -F 'manifest source must be LinuxCNC-root relative: $path' list-linuxcnc-manifest-sources.sh >/dev/null
grep -F 'LinuxCNC source basis: linuxcnc-rs274-source-files.txt enumerates the native' list-linuxcnc-source-manifest-sources.sh >/dev/null grep -F 'LinuxCNC source basis: linuxcnc-rs274-source-files.txt enumerates the native' list-linuxcnc-source-manifest-sources.sh >/dev/null
grep -F 'LinuxCNC source basis: linuxcnc-kinematics-source-files.txt tracks' list-linuxcnc-kinematics-manifest-sources.sh >/dev/null
grep -F 'LinuxCNC source basis: native source-link support objects come from the' list-linuxcnc-source-support-objects.sh >/dev/null grep -F 'LinuxCNC source basis: native source-link support objects come from the' list-linuxcnc-source-support-objects.sh >/dev/null
grep -F 'LinuxCNC source basis: native RS274/source-link builds consume headers from' list-linuxcnc-source-common-cxxflags.sh >/dev/null grep -F 'LinuxCNC source basis: native RS274/source-link builds consume headers from' list-linuxcnc-source-common-cxxflags.sh >/dev/null
grep -F 'LinuxCNC source basis: wasm-safe probes compile the manifest-selected' list-linuxcnc-wasm-common-cxxflags.sh >/dev/null grep -F 'LinuxCNC source basis: wasm-safe probes compile the manifest-selected' list-linuxcnc-wasm-common-cxxflags.sh >/dev/null