Files
Alexey Milovidov f5c5dd1d4d Address review: return paths from doinst.sh byte-for-byte with printf
`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
2026-08-06 05:18:55 +00:00
..