Commit Graph

34 Commits

Author SHA1 Message Date
David Oberhollenzer 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
David Oberhollenzer a632656a60 cleanup: remove compressor block processing functions
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-07-17 12:34:14 +02:00
David Oberhollenzer 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
David Oberhollenzer ab753a402f Shrink table of contents header
We aren't gonna need 2^32 uids/gids, this is a package manager, not a
file system. Also, mode only uses 16 of 32 bits. We can shrink the
entire header to 8 bytes.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-28 21:37:26 +02:00
David Oberhollenzer 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
David Oberhollenzer 7a70868fcd cleanup: move generic squashfs code to library
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-23 12:36:12 +02:00
David Oberhollenzer 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
David Oberhollenzer 26b3683f7a Add block processing function to compressors
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 14:08:02 +02:00
David Oberhollenzer aa6bbf2ef4 Move pkg-tool internal headers out of global include directory
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-05 12:36:47 +02:00
David Oberhollenzer 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
David Oberhollenzer 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
David Oberhollenzer 90667fbf8a Move dependency graph handling out of install command
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 00:23:06 +01:00
David Oberhollenzer 20aea96396 Add license
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 18:18:31 +01:00
David Oberhollenzer 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
David Oberhollenzer 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
David Oberhollenzer 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
David Oberhollenzer 6dd9ae94bd Add simple hash table implementation
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 00:28:41 +01:00
David Oberhollenzer f2627b8933 Add option to forcefully overwrite packages in pack command
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-15 09:05:12 +01:00
David Oberhollenzer 95c7302d25 Allow empty packages, i.e. packages not containing any files
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-08 11:20:12 +01:00
David Oberhollenzer 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
David Oberhollenzer 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
David Oberhollenzer 6f32c6b883 Add flag to surpress creation of symlinks when unpacking
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 16:26:47 +01:00
David Oberhollenzer 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
David Oberhollenzer 16f3e4d97c Move utility source code to libuitil.a
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:26:31 +01:00
David Oberhollenzer c23a2c8c33 Add listing modes to install command
Allow the install command to either list the packages it wants to install,
or to list the files it would install.

Optionally allow the command to ignore dependencies.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00
David Oberhollenzer 26a7d3f3e7 Add install command
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00
David Oberhollenzer a32a4cb149 Cleanup: unify input file processing code
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-31 22:15:41 +01:00
David Oberhollenzer 6fc871b3ff Move input file processor to main code
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-31 17:56:29 +01:00
David Oberhollenzer f62bab2629 Move pkg unpack functionality out of unpack command
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 13:26:05 +01:00
David Oberhollenzer be9bfed9b0 Add header for high-level package I/O functions
Mov file list from package function into seperate module, move declaration
into new high-level header.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 11:34:23 +01:00
David Oberhollenzer e3740ba387 Move mkdir_p helper function to main code
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-29 22:03:33 +01:00
David Oberhollenzer aab510aa98 Add package header with dependency information
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-28 20:01:36 +01:00
David Oberhollenzer 53194aa2ac Add lzma compressor
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2019-01-27 00:43:05 +01:00
David Oberhollenzer 6ec11b532e Initial commit
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2019-01-26 23:19:21 +01:00