Commit Graph

64 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 ec1020ffc6 Add support for filenames with spaces in them
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-07-17 11:17:57 +02:00
David Oberhollenzer f95f02f6be Add options for default repo dir & default install dir
This should make working with the pkg program in the toolchain build
system much cleaner.

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 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 4d48e374d8 Add option to buildstrategy to produce a dot graph
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-30 23:40:19 +01:00
David Oberhollenzer 52f7bdc5c8 minor cleanup
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-30 18:31:40 +01:00
David Oberhollenzer b7e81c081b cleanup: split package provider code out of buildstrategy.c
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-30 18:20:33 +01:00
David Oberhollenzer 46f340b20f cleanup: split source package code out of buildstrategy.c
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-30 17:57:34 +01:00
David Oberhollenzer 8a52ea6717 Allow multiple source packages to provide the same binary package
In build strategy, record a linked list of providers instead of just
one per binary package. Add an option to scan a preference list in
addition.

When looking up the provider and there is more than one, choose the
preferred one. Produce an error if none is given.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29 23:55:12 +01:00
David Oberhollenzer b2f1b5ef58 cleanup: buildstrategy
Split utility function to get a source package by name out from
handle provides.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29 21:57:48 +01:00
David Oberhollenzer 48d74777e7 Fix buildstrategy command argument handlin
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29 21:54:08 +01:00
David Oberhollenzer db6c2118c4 Add missing colon to optarg listing flag
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 15:25:34 +01:00
David Oberhollenzer 19e2f8aa8c Fix file list removal of input line
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 14:57:59 +01:00
David Oberhollenzer e3edcea895 Add missing options to install documentation
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 13:51:44 +01:00
David Oberhollenzer f11c9df330 Add a pkg command for producing a dependency graph
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 00:56:32 +01: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 f038cc52b3 cleanup: merge listing & format flags for dump and install commands
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 23:53:30 +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 af7c6f09df Add buildstrategy command
Basically an improved port of the makeshift depgraph from the pygos build
system.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-08 00:39:05 +01:00
David Oberhollenzer 00c8946497 pack: deduce package name from input file name
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-07 15:17:19 +01:00
David Oberhollenzer 55b2d2f0c0 Allow '+' characters in package names
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-01 09:58:44 +01:00
David Oberhollenzer 82c888bcbf install: make sure package dependencies have no trivial cycles
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-21 15:11:32 +01:00
David Oberhollenzer 98b655f133 Cleanup: split sort_by_dependencies function up
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-21 15:04:27 +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 4141e666b6 Move file compressors details from command line to desc file instead
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-08 11:20: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 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
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 deb7bb0d4e Cleanup automakefile structure
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:51:55 +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 618aaf4278 Make sure toc printers and IDs are propperly assigned
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:12:06 +01:00
David Oberhollenzer 8754729cb1 Improve unpack error handling, ignore mkdir failure on EEXIST
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 16:18:34 +01:00
David Oberhollenzer dd6022b686 optarg fixup
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00
David Oberhollenzer 391e69eceb Fix mkdir_p for absolute directories
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +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 c800554979 Fix argument requirements in unpack command line switches
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 3298ca1a73 Help text fixups
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-02 20:31:38 +01:00
David Oberhollenzer effe7bf69a pack: If source path is omitted, interpret as relative path
If no source file path is given for the file statement in a package source
listing, take the actual file name and interpret it as relative to the
source listing file.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-31 23:23:05 +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 134458b85a file processing: remove trailing spaces from line
Such as a line feed left there by getline().

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-31 17:50:49 +01:00