Commit Graph

33 Commits

Author SHA1 Message Date
Daniel Golle b9dc5e5da7
auc: update to 0.3.1
Sync auc with main branch.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 6c9ab0e426)
(cherry picked from commit f1969ab584)
(cherry picked from commit 36525086ce)
(cherry picked from commit fd36c91db8)
2022-10-13 20:25:19 +01:00
Daniel Golle 793e7ee484 auc: don't segfault on invalid URL
Show error message instead of segfaulting in case of an invalid URL
being read from UCI config.

Fixes: #17971
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit c0d2c82528)
2022-03-14 21:29:50 +00:00
Daniel Golle 31e2e7ccb8 auc: fall back to 'sdcard' image
Fallback to use 'sdcard' image in case there is neither 'sysupgrade'
nor 'combined' image available.
This allows using 'auc' on targets where 'sdcard' image is also used
for sysupgrade (such as some mvebu-based devices with eMMC).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 6b041752a0)
2022-03-14 21:29:50 +00:00
Daniel Golle 8999b60db9 auc: accept both 'y' and 'Y' as confirmation from user
Accept both 'y' and 'Y' as positive confirmation when asking the user
if auc should proceed with requesting and installing an upgrade.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit d27ecdcc49)
2022-03-14 21:29:50 +00:00
Daniel Golle 1adcda368e auc: add '-n' parameter for dry-run
Add option to allow only requesting an image but not actually download
or sysupgrade anything.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 19c135685f)
2022-03-14 21:29:50 +00:00
Paul Spooren c0ceaca007
auc: remove superfluous variables
Remove parsing of data which is not used within `auc`. Later iterations
may use these but they can be gradually added whenever needed.

Also remove HTTP code handling of error codes no longer used by the
backend. Early iterations of the server where infinitely complex to
figure out created images and announce them to clients but ever since
everything is stored in JSON, things got better (aka simpler).

If a package is missing on the upstream server, color it in red.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 6527d65b9b)
2021-11-15 21:18:38 +00:00
Paul Spooren 34e512ac2a
auc: use /json/v1/
Currently `auc` uses the outdated /json/ path, this commit uses
/json/v1/ to be more future proof.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 69b5c28929)
2021-11-15 21:18:31 +00:00
Daniel Golle a95f71a736
auc: fix some minor issues
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 51f9df5b92)
2021-11-15 21:18:20 +00:00
Daniel Golle 954eba88a3
auc: update to version 0.2.4
* Brings support for future connexion based API.
 * read `detail` not `message` from server
 * 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
 * Fix check for mandatory fields (stray parenthesis)
 * Don't even fetch package lists if checking only for release.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 8486f64fea)
(cherry picked from commit 23ce5b0e6f)
(cherry picked from commit 2edbc4c805)
(cherry picked from commit bd4ad7b0ba)
2021-08-27 03:53:03 +01:00
Daniel Golle dd49c191af auc: update to version 0.2.0
Cherry-picked from
9c491c6cb auc: update to version 0.1.9
4d789eac3 auc: handle root filesystem type
545c93d45 auc: improve branch selection logic
6c784dff2 auc: move function to right place
b1d38e7ab auc: update to version 0.2.0

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-08-16 23:52:02 +01:00
Daniel Golle 0f395b9947
auc: update to version 0.1.8
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>
(cherry picked from commit 1204cb82f9)
2021-06-30 13:43:57 +01:00
Daniel Golle f69d625ac4 auc: compare versions using dpkg/opkg's verrevcmp
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>
(cherry picked from commit 794cf3ac59,
as it was previously skipped also switch PKG_REVISION back to manual
to keep it in sync with master branch)
2021-06-16 12:23:40 +01:00
Daniel Golle a8ae03f889 auc: update to version 0.1.7
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>
(cherry picked from commit 9150e82768)
2021-06-15 10:52:09 +01:00
Daniel Golle 09fc258b54 auc: fix several issues
* 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>
(cherry picked from commit 02bc1fc929)
2021-06-15 10:51:53 +01:00
Daniel Golle 1304580682 auc: support queue_position status from server
Display position in queue while waiting for build.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 5b7ff1ad65)
2021-06-15 10:51:53 +01:00
Daniel Golle 8210edd108
auc: bump to version 0.1.6
Fixes running on release branches.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 004abfec75)
2021-03-18 01:40:48 +00:00
Daniel Golle 8b8b70ef55 auc: sync with development branch
* update to new server API
 * 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

(cherry squashed from commit 85ba80592b,
commit 985b0f8f63 and
commit fb26b424e8)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-03-17 23:58:15 +00:00
Rosen Penev 67ac784f75
auc: link to libdl when needed
Fixes compilation under glibc.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-30 16:36:52 -08:00
Daniel Golle 8945a3f4d5 auc: send revision in update check
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-08 00:32:48 +01:00
Daniel Golle a903808e2c auc: adapt to server and ubus API
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-07 20:38:37 +01:00
Daniel Golle d506fc2651 auc: remove left-over subtarget string
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-07 11:56:57 +01:00
Daniel Golle 8c30ddd9dc auc: more API updates
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-06 22:28:47 +01:00
Daniel Golle af68f43147 auc: sync with server API
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>
2019-03-06 15:22:48 +01:00
Daniel Golle a7a02b4d87 auc: always send version when requesting image
Fixes #5799

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-03-23 01:53:09 +01:00
Daniel Golle 8162fecb37 auc: update to version 0.0.9
* 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>
2018-02-23 00:51:18 +01:00
Daniel Golle b514587011 auc: update to version 0.0.8
* 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>
2017-11-30 02:33:13 +01:00
Daniel Golle 19653e57bf auc: update to version 0.0.7
* implement using GET instead of POST requests when waiting for image

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-11-26 18:25:07 +01:00
Daniel Golle 78c699daa6 auc: update to version 0.0.6
* handle newly introduced 'initialize' server status
 * cosmetics

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-11-24 17:24:16 +01:00
Daniel Golle 7620a0d60c auc: update to version 0.0.5
* 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>
2017-11-23 18:56:58 +01:00
Daniel Golle dbcfa1618e auc: update to version 0.0.4
* 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>
2017-11-23 18:01:13 +01:00
Daniel Golle 68ae65f3bc auc: be a bit more verbose
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-11-13 01:49:04 +01:00
Daniel Golle 123ddf66ae auc: small improvements
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>
2017-11-13 00:39:46 +01:00
Daniel Golle 95d96a360f auc: add new package
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>
2017-11-12 23:33:15 +01:00