shell: exec encoding is utf8 by default and no shell

explicitly mark calls that require the shell
This commit is contained in:
Girish Ramakrishnan
2024-02-21 17:16:33 +01:00
parent 23cac99fe9
commit 14c9260ab0
14 changed files with 54 additions and 51 deletions

View File

@@ -110,14 +110,13 @@ async function saveFsMetadata(dataLayout, metadataFile) {
// we assume small number of files. spawnSync will raise a ENOBUFS error after maxBuffer
for (let lp of dataLayout.localPaths()) {
const emptyDirs = await shell.promises.exec('saveFsMetadata', `find ${lp} -type d -empty`, { encoding: 'utf8', maxBuffer: 1024 * 1024 * 80 });
const emptyDirs = await shell.promises.exec('saveFsMetadata', `find ${lp} -type d -empty`, { maxBuffer: 1024 * 1024 * 80 });
metadata.emptyDirs = metadata.emptyDirs.concat(emptyDirs.trim().split('\n').map((ed) => dataLayout.toRemotePath(ed)));
const execFiles = await shell.promises.exec('saveFsMetadata', `find ${lp} -type f -executable`, { encoding: 'utf8', maxBuffer: 1024 * 1024 * 80 });
const execFiles = await shell.promises.exec('saveFsMetadata', `find ${lp} -type f -executable`, { maxBuffer: 1024 * 1024 * 80 });
metadata.execFiles = metadata.execFiles.concat(execFiles.trim().split('\n').map((ef) => dataLayout.toRemotePath(ef)));
const symlinks = await shell.promises.exec('safeFsMetadata', `find ${lp} -type l`, { encoding: 'utf8', maxBuffer: 1024 * 1024 * 30 });
console.log(symlinks);
const symlinks = await shell.promises.exec('safeFsMetadata', `find ${lp} -type l`, { maxBuffer: 1024 * 1024 * 30 });
metadata.symlinks = metadata.symlinks.concat(symlinks.trim().split('\n').map((sl) => {
const target = safe.fs.readlinkSync(sl);
return { path: dataLayout.toRemotePath(sl), target };