-
Notifications
You must be signed in to change notification settings - Fork 5
Add package validation command #64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add package validation command #64
Conversation
812ecaa to
92ddeb8
Compare
418f8e1 to
2458213
Compare
2458213 to
5cc4bbc
Compare
319aac1 to
ad3f15f
Compare
mschwan-phytec
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A first glimpse on your PR...
|
You may want to consider squashing some commit fixing earlier stuff of your PR, e.g.: There is code in |
doc/usage.rst
Outdated
| -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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
src/pu-main.c
Outdated
| { "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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
ad3f15f to
794acc2
Compare
Only 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
b056f7f
Compare
a97a710 to
ed48627
Compare
9ab6f72 to
41bf69f
Compare
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)