`gensquashfs@1.3.1` fails to pack directory with `glob`
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 条评论