* use regular verrevcmp for branch names, fixes update indication
* break out usage() from main() function
* require '-f' in case installed package is missing in remote lists
* don't use ENETUNREACH for unlrelated error
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The server API was unified and therefore the servers response is now
`detail` rather than `message`, all found under the new endpoint
/api/v1/build.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Make sure '-rcX' suffix is recognized as being a lower version than
the release.
Detect per-branch snapshot version by matching the version name string.
Clean up here and there.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Automatically select image root filesystem type and allow the user
to override that choice using the new '-F' command line option.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Follow the @aparcar's withlist:
- [x] Print URL of used server when searching for an update
- [x] Implement `-y` option which automatically accepts changes
- [x] Implement `-r` option which doesn't check for package upgrades but only new releases
- [x] Print link or created image to be downloadable by the user from a browser/curl.
Also allow selecting branch and version manually.
Fixes: #16324
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This fixes support for x86, auc now selects the right combined image
depending on the system being booted in EFI mode or not.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
No longer fail in case a package is part of multiple lists (which may
happen temporarily in case it becomes 'nonshared').
Bump version to prepare for sync accross branches.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* don't segfault if server reply is incomplete
* always request 'generic' image on x86/generic and x86/64
* make SNAPSHOT branches sticky, eg. stay on 21.02-SNAPSHOT and do
not 'upgrade' to 21.02.0-rc2.
* output requested server URL when debugging
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Using strcmp() to compare a version string doesn't work well.
Use verrevcmp() function from opkg instead.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
faster to compile.
A small selection of packages was tested going from:
Executed in 696.30 secs fish external
usr time 82.98 mins 395.00 micros 82.98 mins
sys time 9.02 mins 0.00 micros 9.02 mins
to:
Executed in 592.20 secs fish external
usr time 84.84 mins 361.00 micros 84.84 mins
sys time 8.85 mins 57.00 micros 8.85 mins
Tested by running make -j 12 and wiping staging/build_dir/target_x
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* include version_code in request
* include versions of selected packages in request
* add SHA256 verification via busybox sha256sum
* sort attributes in policies alphabetically
* move all API-specific string constants to precompiler macros
* set correct MIME type for JSON post request (application/json)
* output string error message if something goes wrong
* auto-generate version string
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This updates auc to use the new API of the sysupgrade image server.
Package version updates now need to be evaluated locally.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Drop pre-ucert signature verification.
HTTPS is optional now as integrity can also be provided using ucert.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* use full package list when checking for upgrades
* verify sha256sums and usign signature of sha256sums.sig
* introduce '-c' option to only check if system is up-to-date
* introduce '-F' option to ignore the signature verification result
* return -1 on locally caused and -2 on server-side errors
* don't include locally appended attributes in debug output of a
server reply
* output bug report note on 412 target not found
* use content-length header instead of filesize field in JSON content
* suppress duplicate error messages
* drop unused attributes
* make debug messages optional at compile-time
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* fix multiple read_data_cb calls from uclient, otherwise hickups
happend when receiving a large JSON reply
* add minimal help message (-h)
* pretify package update output
* fix infinite retry of upgrade-check which happened in some cases
* add sleep in case of check-request retry
* lots of cosmetics
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* use HTTP headers to know ImageBuilder status and queue position
* use pretty (ie. indented) JSON output for debugging
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* implement '-d' cmdline option to output json requests
* switch to new server API
* implement upgrade_packages
Read upgrade_packages UCI option and ask for either only release
upgrades or also builds based on updated packages depending on whether
upgrade_packages is '0' or '1'.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Detect if calling rpc-sys packagelist fails due to the method not
being provided by rpcd.
Mark package as experimental.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The Attended sysUpgrade CLI is a full-featured client for the
attended-sysupgrade service which works directly on the target device.
It requires libustream-ssl as well as at least the CA certificate
needed to contact the sysupgrade server.
It has only been tested briefly and is by no means ready for
production!
Signed-off-by: Daniel Golle <daniel@makrotopia.org>