mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2026-10-28 16:18:23 +08:00
`resolve_symlink_chain` returned the resolved path with `echo`, but the installer runs under `/bin/sh`, which is `dash` on Debian-based systems, and `dash`'s `echo` expands backslash escapes: a dangling destination whose target contains `\t` or `\n` was resolved to a mangled path, so the installation either failed or created the file at the wrong place. Every `echo` inside the generated script is now `printf '%s\n'` - the `ls -ld` listing fed to `awk` in `keep_destination_inode` carries the file name too, and the diagnostics should print paths byte-for-byte as well. Added `Install tgz over a dangling symlink with a backslash in the target` to `ci/jobs/install_check.py`. https://github.com/ClickHouse/ClickHouse/pull/112766