diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-11-24 00:45:03 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-11-24 01:03:10 +0100 |
commit | 0f89517d418ff907fd9cf51f5313974812ceb305 (patch) | |
tree | b8083226dd401a64fd4369777c474af2a15848f8 /lib/common/writer.c | |
parent | 5971411b6db1a1e0dab92df37f3974643a3d4399 (diff) |
Fix: Move LZO compressor from libsquashfs to libcommon
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 <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/common/writer.c')
-rw-r--r-- | lib/common/writer.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/common/writer.c b/lib/common/writer.c index 1221358..d67f76b 100644 --- a/lib/common/writer.c +++ b/lib/common/writer.c @@ -86,6 +86,16 @@ int sqfs_writer_init(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *wrcfg) goto fail_file; sqfs->cmp = sqfs_compressor_create(&cfg); + +#ifdef WITH_LZO + if (cfg.id == SQFS_COMP_LZO) { + if (sqfs->cmp != NULL) + sqfs->cmp->destroy(sqfs->cmp); + + sqfs->cmp = lzo_compressor_create(&cfg); + } +#endif + if (sqfs->cmp == NULL) { fputs("Error creating compressor\n", stderr); goto fail_fs; |