80f298de55
Always quote files when producing a listing
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-07-17 18:13:29 +02:00
4a7b1d3b3c
cleanup: move package dependency management to libpkg.a
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-07-17 12:45:23 +02:00
a632656a60
cleanup: remove compressor block processing functions
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-07-17 12:34:14 +02:00
f426e4ef91
Remove pkg2sqfs
...
Rewritten and moved to a seperate project.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-06-09 02:18:27 +02:00
5df2d5f730
Remove squashfs pseudo file listing generator
...
We no longer need this, since we can now produce our own squashfs images
directly from package files.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-28 16:04:54 +02:00
ed6841ed17
fix: flush SquashFS meta block if *exactely* filled
...
Otherwise we can get really funky corner cases where an inode offset is
indicated as just 1 byte after the end of a block. The unsquashfs program
doesn't complain but the kernel implementation really doesn't like that.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-23 13:54:17 +02:00
7a70868fcd
cleanup: move generic squashfs code to library
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-23 12:36:12 +02:00
00db5541e9
file list sort: remove duplicate directory entries
...
Can happen when merging multiple packages. But make sure they actually
are duplicates.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 14:08:43 +02:00
96d4d353d4
Remove unnecessary flush from unpacking loop
...
The uncompressor will know when end of file is reached. Flushing
prematurely won't help. Especially the way the loop was constructed,
using an external buffer that is a lot larger than the internal
buffer of the compressor will cause multiple erroneous flushes.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 14:08:43 +02:00
214a5e917e
Add a way to pass options to compressors
...
Currently only used by lzma compressor to set the dictionary size.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 14:08:03 +02:00
26b3683f7a
Add block processing function to compressors
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 14:08:02 +02:00
cd79a4fccf
make file list sorting more robust
...
If entries are sorted by length and some have the same length, sort
them asciibetically.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-17 16:30:01 +02:00
c78dc2255f
pkg reader: try to read *entire* requested chunk
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-09 16:02:31 +02:00
6cfd9a37bf
Move all the package I/O code to libpkg library
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-05 12:33:50 +02:00
1205ca0f3b
Move compressors to utility library
...
- Remove compressor registration interface. Doesn't work in a static
library, since all the files containing no exported members are
optimized away at link time.
- Repack as seperate utility library.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-05 12:22:47 +02:00
20aea96396
Add license
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 18:18:31 +01:00
4a682b83f1
cleanup: reimplement process_file using foreach_line_in_file
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 17:32:59 +01:00
b688a39149
cleanup: move input file open/close into process_file function
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 17:32:59 +01:00
f7e4aec2ea
Add utility function to iterate over lines in a file
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 17:32:59 +01:00
6dd9ae94bd
Add simple hash table implementation
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 00:28:41 +01:00
d55ee9bd72
Add a toc format that is also valid input for pkg pack
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 18:52:11 +01:00
27c802fed0
Cleanup/fix order of toc entries
...
- Make sure we always sort the list when reading it from a package
- Cleanup and clarify order of elements
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 18:08:32 +01:00
16bf7172fe
Add support for device special files in packages
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 17:57:10 +01:00
deb7bb0d4e
Cleanup automakefile structure
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:51:55 +01:00
6a80140c59
Move abstract file list handling code to seperate utility library
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:39:43 +01:00
4d8b8f52d5
Split utility code up into translation-unit per function
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:29:16 +01:00
16f3e4d97c
Move utility source code to libuitil.a
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:26:31 +01:00