Uh oh!
There was an error while loading. Please reload this page.
Add package validation command - #64
Conversation
812ecaa to
92ddeb8Compare418f8e1 to
2458213Compare2458213 to
5cc4bbcCompare319aac1 to
ad3f15fCompareUh oh!
There was an error while loading. Please reload this page.
mschwan-phytec
left a comment
There was a problem hiding this comment.
A first glimpse on your PR...
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
mschwan-phytec
commented
Sep 22, 2023
You may want to consider squashing some commit fixing earlier stuff of your PR, e.g.: There is code in |
Uh oh!
There was an error while loading. Please reload this page.
| -s, --skip-checksums Skip checksum verification for all input files | ||
| -w, --write-file Install the package to a file as an additional validation step | ||
| -k, --keep-file-as=FILENAME Keep the file. Implies --write-file |
There was a problem hiding this comment.
From a user perspective I think it is not clear, what you mean exactly with "file" in the options --write-file and --keep-file-as as the term collides with the input files.
| { "skip-checksums", 's', G_OPTION_FLAG_NONE, G_OPTION_ARG_NONE, | ||
| &arg_validate_skip_checksums, "Skip checksum verification for all input files", NULL }, | ||
| { "size", 0, G_OPTION_FLAG_NONE, G_OPTION_ARG_STRING, | ||
| &arg_validate_file_size, "Size of loop device. Default is 1G", "SIZE" }, |
There was a problem hiding this comment.
Again, a user may not be familiar with loop devices, so this description is not easy to understand without looking at the inner workings of partup.
Uh oh!
There was an error while loading. Please reload this page.
ad3f15f to
794acc2CompareOnly append the source filename in case the destination is a directory. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Add functions to create and remove loop devices. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Separate input files from flash specific information as they only contain general information like filename, checksums and size on target. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Add a list for all input files regardless of their destination. Use it to get the absolute path and size of all input files at once after config parsing instead of during writing. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Add a new function for config validation. For now only verifies checksums. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Checksum verification is done with the validate command. So remove it from the install command to save time when writing to a device. Update the docs accordingly. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
These steps are not necessary for package installation so execute them only when validating a package. Also, update the tests accordingly. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Add an additional validation step to check if the input files of each partition fit into the corresponding partition. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Check if the fixed size partitions fit into the device. This does not check expanding partitions. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Add a new function pu_parse_size() which accepts a size string and returns the size in bytes. Accepts strings with the same format as ped_parse_unit, but only with absolute units. Also, add a corresponding unit test. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
The new command 'validate' validates a package either against a provided device or a new loop device. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Writing the package to the loop device is an additional validation step. This is similar to installing the package to a real device. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
The generated image can be written with dd. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
8cc250f to
b056f7fComparea97a710 to
ed48627Compare9ab6f72 to
41bf69fCompare
Add a new command for package validation
validate.The goal of package validation is to make sure a package can be written to a device without writing to the device. Additionally, remove most validation steps from the
installcommand to reduce the time i takes to write to the device.Open tasks:
validatewithout passing a device (maybe use a loop device and pass eMMC size as argument)