<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/mkfs, branch v0.8</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=v0.8</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v0.8'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2019-12-22T21:07:44+00:00</updated>
<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>Fix spelling mistakes found by lintian</title>
<updated>2019-12-19T11:24:12+00:00</updated>
<author>
<name>Benjamin Drung</name>
<email>benjamin.drung@cloud.ionos.com</email>
</author>
<published>2019-12-16T15:58:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=20ceb65fbc728c6a681ec85ee2a94e93a9e7df0c'/>
<id>urn:sha1:20ceb65fbc728c6a681ec85ee2a94e93a9e7df0c</id>
<content type='text'>
Signed-off-by: Benjamin Drung &lt;benjamin.drung@cloud.ionos.com&gt;
</content>
</entry>
<entry>
<title>Cleanup: merge the fstree post processing functions</title>
<updated>2019-12-18T14:55:03+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-18T14:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2777dfe050359c359233b2f00dfb5c3b2dba4ed6'/>
<id>urn:sha1:2777dfe050359c359233b2f00dfb5c3b2dba4ed6</id>
<content type='text'>
Instead of having 3 different functions for sorting the tree, numbering
the nodes and generating a file list, that all have to be used in the
right order, this commit merges them into a single "fstree_post_process"
function.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add --no-tail-packing option to gensquashfs, tar2sqfs</title>
<updated>2019-12-13T00:19:27+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-13T00:19:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=74f25ae0f3ebc1cd435f29c21ab164a9028af980'/>
<id>urn:sha1:74f25ae0f3ebc1cd435f29c21ab164a9028af980</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: programs linking against libsquashfs also need pthread</title>
<updated>2019-12-12T09:22:30+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-12T09:22:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=c229e8909096540910db9d52689308279a1fd1d0'/>
<id>urn:sha1:c229e8909096540910db9d52689308279a1fd1d0</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: Return combined return value from compressor id by name</title>
<updated>2019-11-28T15:11:22+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-11-28T15:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7f53d2785816e5b65dfdb0daa4039249569e58f9'/>
<id>urn:sha1:7f53d2785816e5b65dfdb0daa4039249569e58f9</id>
<content type='text'>
Instead of returning the ID through a pointer and an error code as
return status, return a single int that could be a compressor ID
(positive values) or an error code (negative values).

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: remove what is left of libutil</title>
<updated>2019-11-25T12:28:28+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-11-25T12:28:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=94b547d27f953fefa0ed080611eb916f58702e87'/>
<id>urn:sha1:94b547d27f953fefa0ed080611eb916f58702e87</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: move overflow safe alloc code into libsquashfs</title>
<updated>2019-11-25T12:20:08+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-11-25T12:13:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=fc9a644002dc501a5c224e5cc1a7dfba3ca2d1d8'/>
<id>urn:sha1:fc9a644002dc501a5c224e5cc1a7dfba3ca2d1d8</id>
<content type='text'>
There were only a hand full of instances outside libsquashfs that used
the alloc code. In most cases, the thing allocated hat its size derived
from something already in memory anyway, so it is safe to assume its
size fits into a size_t.

At the same time, the opencoded Windows path conversion functions are
all unified into a single helper function.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: Move LZO compressor from libsquashfs to libcommon</title>
<updated>2019-11-24T00:03:10+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-11-23T23:45:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=0f89517d418ff907fd9cf51f5313974812ceb305'/>
<id>urn:sha1:0f89517d418ff907fd9cf51f5313974812ceb305</id>
<content type='text'>
The liblzo2 library is licensed under GPLv2, so it is not possible to
distribute binaries of libsquashfs that link against liblzo2 under
LGPL.

This commit moves the LZO compressor implementation to libcommon,
where this isn't a problem, since the tools themselves are licensed
under GPLv3.

It removes the ability of libsquashfs to read or generate LZO compressed
SquashFS images, but the tools still can.

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