ITADN

`gensquashfs@1.3.1` fails to pack directory with `glob`

#129Closedbirunts 创建于 2024-06-03
B
biruntscommented
Having example directory structure: ``` └ misc ├── build │   ├── subbuild │   │   └── subtool.py │   └── test.sh ├── test_a.txt └── test_b.txt ``` and a `packfile`: ``` glob /a/b/c 0775 0 0 -type d -- misc glob /a/b/c 0775 0 0 -type f -name "*" -- misc ``` Trying to pack `misc` directory content to `/a/b/c` fails with: ``` $ gensquashfs --pack-file packfile --pack-dir=$(pwd) output.squashfs packing a/b/c/build/subbuild/subtool.py a/b/c/build/subbuild/subtool.py: No such file or directory ``` The problem is with [populate_dir()](https://github.com/AgentD/squashfs-tools-ng/blob/fixes-1.3.0/bin/gensquashfs/fstree_from_dir.c#L284) function which takes output name as an input file. Looks like [tree_node_t.data.file.input_file](https://github.com/AgentD/squashfs-tools-ng/blob/fixes-1.3.0/include/fstree.h#L114) is not set. This would most probably need set [extra](https://github.com/AgentD/squashfs-tools-ng/blob/fixes-1.3.0/bin/gensquashfs/fstree_from_dir.c#L288) for `S_ISREG == true`.
关闭于 2024-12-13 5 条评论