<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/fstree/src, branch master</title>
<subtitle>A new set of tools and libraries for working with SquashFS images</subtitle>
<id>https://git.infraroot.at/squashfs-tools-ng.git/atom?h=master</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2023-07-10T07:22:04+00:00</updated>
<entry>
<title>Move sqfs_dir_entry_t code from libio into libsquashfs</title>
<updated>2023-07-10T07:22:04+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-07-02T17:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e7ecb1f92ae618a56ee8eabb6cbf98365de3695a'/>
<id>urn:sha1:e7ecb1f92ae618a56ee8eabb6cbf98365de3695a</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Refactor: rename dir_entry_t to sqfs_dir_entry_t</title>
<updated>2023-07-03T07:31:51+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-07-02T17:31:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=ec593e0b94656a5481f82ee0f33728ced297ac48'/>
<id>urn:sha1:ec593e0b94656a5481f82ee0f33728ced297ac48</id>
<content type='text'>
Exact operation performed:

	git ls-files -z | \
	xargs -0 sed -i -e 's/dir_entry_t/sqfs_dir_entry_t/g

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstree: accept dir_entry_t instead of path and struct stat</title>
<updated>2023-05-30T12:47:14+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-05-29T18:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=50b67940c793e72656787469ced6e0245bb580b4'/>
<id>urn:sha1:50b67940c793e72656787469ced6e0245bb580b4</id>
<content type='text'>
Because the dir_entry_t also has a flag for had links, the regular
node and hard-link node interface can be unified. This simplifies
the users of libfstree (gensquashfs, tar2sqfs) since we can simply
hose the entries from an iterator directly into the tree.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Internalize fstree_mknode, consolidate fstree functionality</title>
<updated>2023-05-04T23:26:06+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-05-04T23:25:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7ce4b36d517ac5fade36240d293ff784ef6a9305'/>
<id>urn:sha1:7ce4b36d517ac5fade36240d293ff784ef6a9305</id>
<content type='text'>
The fstree_mknode function is only used internally, remove the
declaration from the header and internalize it. The code using it is
consolidated into fstree.c.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>gensquashfs: use prefix functionality for glob_files target node</title>
<updated>2023-04-29T21:44:05+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-04-29T01:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4390eddccfb3918291e7b8e4d708411f9b828c04'/>
<id>urn:sha1:4390eddccfb3918291e7b8e4d708411f9b828c04</id>
<content type='text'>
Piece together the prefix path and pass it to the iterator. That way,
we get the full target paths back from the iterator and can use those
directly in the callback for filtering.

We also no longer need the root node for fstree_from_dir (always tree
root) and the callback can no longer return an error state.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>gensquashfs: use stacked tree iterator in fstree_from_dir</title>
<updated>2023-04-28T22:26:32+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-04-27T22:50:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=ea8ed35e8665be75923bb483c377421d24ae2faf'/>
<id>urn:sha1:ea8ed35e8665be75923bb483c377421d24ae2faf</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Collect and print statistics about the kind of files we are packing</title>
<updated>2023-04-20T16:44:15+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-04-20T16:43:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2831c51d3386d12a97a6ce5f3d795cb51e02beec'/>
<id>urn:sha1:2831c51d3386d12a97a6ce5f3d795cb51e02beec</id>
<content type='text'>
Using depth-first search, we collect some crude statistics about
directory tree types (e.g. regular files, directories, device special
files and so on) and print them out after serializing the tree.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstree: Remove special modes for hard links</title>
<updated>2023-04-20T12:08:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-04-20T12:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=c5f0334e87deea2b54f33f62ee879455a814633c'/>
<id>urn:sha1:c5f0334e87deea2b54f33f62ee879455a814633c</id>
<content type='text'>
Instead of adding special sentinel modes, simply treat hard links as
special case of symlinks, setting a flag to indicate that it is a
hard link and another flag to indicate that it has been resolved.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstree: Make hard link resolution non-recursive</title>
<updated>2023-04-19T18:08:47+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-04-19T18:08:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d7be81367997536dceb08a7be0014136a1f89df2'/>
<id>urn:sha1:d7be81367997536dceb08a7be0014136a1f89df2</id>
<content type='text'>
Use the next_by_type pointer to create a list of all unresolved
hard links and iterate over that list for link resolution.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstree: hoist file link pointer into parent structure</title>
<updated>2023-04-19T09:17:54+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2023-04-19T08:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e1e655b02f6c54177f9070eeb221ab95c6d4e20f'/>
<id>urn:sha1:e1e655b02f6c54177f9070eeb221ab95c6d4e20f</id>
<content type='text'>
Instead of having a file_info_t next pointer, requiring an up-cast
to tree_node_t all the time, simply add a "next_by_type" pointer to
the tree node itself, which can also be used for other purposes by
other node types and removes the need for up-casting.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
