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
52f7bdc5c8
minor cleanup
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-30 18:31:40 +01:00
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
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
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
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
48d74777e7
Fix buildstrategy command argument handlin
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29 21:54:08 +01:00
db6c2118c4
Add missing colon to optarg listing flag
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 15:25:34 +01:00
19e2f8aa8c
Fix file list removal of input line
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 14:57:59 +01:00
e3edcea895
Add missing options to install documentation
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 13:51:44 +01:00
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
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
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
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
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
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
55b2d2f0c0
Allow '+' characters in package names
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-01 09:58:44 +01:00
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
98b655f133
Cleanup: split sort_by_dependencies function up
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-21 15:04:27 +01:00
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
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
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
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
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
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
16f3e4d97c
Move utility source code to libuitil.a
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-04 15:26:31 +01:00
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
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
dd6022b686
optarg fixup
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00
391e69eceb
Fix mkdir_p for absolute directories
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00
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
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
26a7d3f3e7
Add install command
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-03 15:02:37 +01:00
3298ca1a73
Help text fixups
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-02-02 20:31:38 +01:00
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
a32a4cb149
Cleanup: unify input file processing code
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-31 22:15:41 +01:00
6fc871b3ff
Move input file processor to main code
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-31 17:56:29 +01:00
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
417fa5b907
Cleanup: remove unpack.h, eliminate subdirectory
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 13:48:58 +01:00
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
b052a12beb
unpack: rename flags
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 13:08:14 +01:00
35fabedb49
Move package unpacking functionality to generic pkg_unpack function
...
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 13:02:06 +01:00
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
3a4f19d1c5
unpack: don't chdir use dirfd, cleanup permissions
...
- don't chdir into root directory, use dirfd instead
- make sure we don't dereference symlinks when chaning permissions
(using appropriate AT_* flag)
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 11:27:32 +01:00
04f19bac2f
pack: read package name from description
...
This commit changes the pack command to read the output package name from
the description file instead of the command line. The command line argument
is replaced with a package repository directory to which the package file
is then written.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-01-30 10:40:02 +01:00