Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fs/common.mk: use find instead of shell glob patterns
Different shells can have different behaviours when it comes to globbing patterns. The dash shell (/bin/sh) on Debian testing switched to a different fnmatch/glob implementation that results in this new behaviour: Using bash: $ mkdir /tmp/foo $ echo /tmp/foo/.[^.]* /tmp/foo/.[^.]* Using dash: $ mkdir /tmp/foo $ echo /tmp/foo/.[^.]* /tmp/foo/.. The current FAKEROOT script uses this shell glob pattern which now fails on recent Debian testing systems: rm: refusing to remove '.' or '..' directory: skipping '/build/buildroot-fs/cpio/target/run/..' rm: refusing to remove '.' or '..' directory: skipping '/build/buildroot-fs/cpio/target/tmp/..' Additionally, the glob will miss files which have at least two leading dots, like ..foo ...bar or ......buz (highly improbable, but still). It seems safer to use `find | xargs rm` here instead of relying on shell globbing patterns. Signed-off-by: Mathieu Mirmont <[email protected]> Signed-off-by: Yann E. MORIN <[email protected]>
- Loading branch information