<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/fstree, branch feature/goliath/msvc</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=feature%2Fgoliath%2Fmsvc</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=feature%2Fgoliath%2Fmsvc'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2020-04-01T23:07:57+00:00</updated>
<entry>
<title>Import the remaining utility files into VisualStudio project</title>
<updated>2020-04-01T23:07:57+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-04-01T23:07:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a772248e1a2f0886d8479b2f14392f020ea8c6e0'/>
<id>urn:sha1:a772248e1a2f0886d8479b2f14392f020ea8c6e0</id>
<content type='text'>
 - The libcommon print verion function requires the PACKAGE_NAME and
   PACKAGE_VERSION defines. Those are added manually to the msvc stub
   of config.h.
 - Also, libcommon cannot directly include getopt.h
 - libfstree needs to change the return type for getline

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Simplify hard link handling</title>
<updated>2019-12-23T19:19:46+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-23T18:32:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=04a80b89b8cd0d3b4d7a68d60f9c4f3ca56a9b72'/>
<id>urn:sha1:04a80b89b8cd0d3b4d7a68d60f9c4f3ca56a9b72</id>
<content type='text'>
 - For now, enforce that hard links don't point to a directories.
 - Instead of doing the swaping trickery, just reorder the flat list
   and hand out new inode numbers.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Minor cleanup in inode allocation</title>
<updated>2019-12-23T14:37:00+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-23T14:36:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=111702799a5a46e84a9bc54823a7fb9aae6a91cc'/>
<id>urn:sha1:111702799a5a46e84a9bc54823a7fb9aae6a91cc</id>
<content type='text'>
 - Remove unnecessary counter argument, we already have the
   total count.
 - Remove the return status, there is no failure branch.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Bring back the flat list of inodes in libfstree</title>
<updated>2019-12-22T23:50:00+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-22T23:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9db873364de85e6b5f972dbd2bada80591ef8af4'/>
<id>urn:sha1:9db873364de85e6b5f972dbd2bada80591ef8af4</id>
<content type='text'>
It makes further processing simpler and doesn't leak the abstraction
into upper layers.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add hard link support to gensquashfs and tar2sqfs</title>
<updated>2019-12-22T21:07:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-19T15:31:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b16616ef092e8cd97674aac3380c5d7c600d7c61'/>
<id>urn:sha1:b16616ef092e8cd97674aac3380c5d7c600d7c61</id>
<content type='text'>
In libtar, set a special flag if the header is actually a hard link.

In tar2sqfs, create a hard link node and skip the rest for hard links.
Also refues to set the root attributes from a hard link, it may refere
to a node that we have missed earlier, there is nothing else that we
can do here.

In fstree_from_file, add a "link" command for adding hard links.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add basic support for handling and serializing hard links</title>
<updated>2019-12-22T21:07:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-19T15:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=1466f1f8571aca423156ee7ef4094a0c082f88d7'/>
<id>urn:sha1:1466f1f8571aca423156ee7ef4094a0c082f88d7</id>
<content type='text'>
In libfstree, add a function to add a hard link to the fstree. The
hard links stores the target in the data.target field, canonicalizes
the target and sets a sentinel mode. A second function is used to
resolve link, i.e. replacing it with a direct pointer, setting another
sentinel mode and increasing the targets link count.

The post process function tries to resolve unresolved hard links and
only allocates inode numbers for nodes that aren't hard links. If the
target node of a hard link does not have an inode number yet, the two
need to be swapped, since this is also the order in which they are
serialized.

The serialization function in libcommon simply has to skip hard link
nodes and when writing directory entries, use the inode num/ref of
the target node.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Split the libfstree add_by_path tree traversal function out</title>
<updated>2019-12-19T15:34:10+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-18T18:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=0a6c5d7fa2f276b8e155d69bea17650bad46f089'/>
<id>urn:sha1:0a6c5d7fa2f276b8e155d69bea17650bad46f089</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add an explicit link count to the fstree nodes</title>
<updated>2019-12-18T16:40:49+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-18T16:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=19b98cf450220b742987e7f0599ae284e93f8e54'/>
<id>urn:sha1:19b98cf450220b742987e7f0599ae284e93f8e54</id>
<content type='text'>
Gets initialized to 2 for directories, 1 for all other types. The count
of the parent node is automatically incremented.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Rename fstree "slink_target" to "target"</title>
<updated>2019-12-18T16:04:54+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-18T16:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=5dc3ab23d0552dc9460152f8a9089f25c8572d90'/>
<id>urn:sha1:5dc3ab23d0552dc9460152f8a9089f25c8572d90</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Move is_filename_sane to libfstree, add test cases</title>
<updated>2019-12-18T15:48:03+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-18T15:35:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=6f96c4d2651ed59975354433267319d527490537'/>
<id>urn:sha1:6f96c4d2651ed59975354433267319d527490537</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
