updater issueshttps://gitlab.nic.cz/turris/updater/updater/-/issues2020-11-12T02:24:14+01:00https://gitlab.nic.cz/turris/updater/updater/-/issues/100Deploy updater-ng on all omnia routers2020-11-12T02:24:14+01:00Ghost UserDeploy updater-ng on all omnia routers2016-06-30https://gitlab.nic.cz/turris/updater/updater/-/issues/313Add FilesSignature2021-06-11T08:24:02+02:00Karel KociAdd FilesSignature`FilesSignature` should be same extension as `LinkSignature` but assembled from list of files.
Originally I thought that we do not need this but it turns out that sometimes patches do not bump version but add/remove files. This can caus...`FilesSignature` should be same extension as `LinkSignature` but assembled from list of files.
Originally I thought that we do not need this but it turns out that sometimes patches do not bump version but add/remove files. This can cause collision but only in existing installations. This can be in the end pretty hard to detect. We should cover this even when this does not happen so often because of that.https://gitlab.nic.cz/turris/updater/updater/-/issues/300Detect broken Internet connection2023-08-16T14:59:54+02:00Vojtech MyslivecDetect broken Internet connectionWhen a WAN is down and Internet connection is not available, updater "spam" Foris notifications with:
```
unreachable: https://repo.turris.cz/omnia/lists/base.lua: Couldn't resolve host 'repo.turris.cz'
```
which is a bit cryptic, espec...When a WAN is down and Internet connection is not available, updater "spam" Foris notifications with:
```
unreachable: https://repo.turris.cz/omnia/lists/base.lua: Couldn't resolve host 'repo.turris.cz'
```
which is a bit cryptic, especially for new Turris users.
It would be really nice to enhance user experience and lower "false issues" [like that](https://forum.turris.cz/t/nemohu-resolvovat-repo-turris-cz/12907) (that's really not unique).Turris OS 5.1https://gitlab.nic.cz/turris/updater/updater/-/issues/299Make missing package hash fatal error2020-11-24T13:57:24+01:00Karel KociMake missing package hash fatal errorTo ensure that packages are verified we should check and not install package if there was no hash verification in place.
To enable override of this we should add `unsecure` extra option for package list to allow no hash verification opt...To ensure that packages are verified we should check and not install package if there was no hash verification in place.
To enable override of this we should add `unsecure` extra option for package list to allow no hash verification optionally (such as for localrepo).Turris OS 5.2.0https://gitlab.nic.cz/turris/updater/updater/-/issues/283Retrieve TOS version from updater2019-10-14T14:40:23+02:00Martin MatějekRetrieve TOS version from updaterUseful mainly for foris-controller.Useful mainly for foris-controller.Turris OS 4.0.2https://gitlab.nic.cz/turris/updater/updater/-/issues/272Add support for PKG_UPGRADE variable in package scripts2020-01-29T14:50:07+01:00Karel KociAdd support for PKG_UPGRADE variable in package scriptsThis variable seems to be set to `1` when package is updated. Up to my knowledge we are not doing that (although I haven't looked in to the code).
We should probably introduce it. There is small problem with it that we do not know if it...This variable seems to be set to `1` when package is updated. Up to my knowledge we are not doing that (although I haven't looked in to the code).
We should probably introduce it. There is small problem with it that we do not know if it is a new installation or not in location where we generate those variables, we know only that we have to install it. It should not be hard to see if package is already installed but it is not directly accessible in that code location.https://gitlab.nic.cz/turris/updater/updater/-/issues/262Add mode in which pkgupdate reinstall all packages2019-09-27T12:51:52+02:00Karel KociAdd mode in which pkgupdate reinstall all packagesThis should "solve" problem when we switch between branches. In single branch we have script that bumps packages and forces updater to reinstall them but between branches we have nothing like that. The good enough hack is to reinstall ev...This should "solve" problem when we switch between branches. In single branch we have script that bumps packages and forces updater to reinstall them but between branches we have nothing like that. The good enough hack is to reinstall everything every time. This can be archived easily just by not filtering out installed packages (causing reinstall instead). So this is option to skip single check in code.Turris OS 4.0https://gitlab.nic.cz/turris/updater/updater/-/issues/257localrepo: architecture of package should be checked and support for non-nati...2019-05-06T17:47:29+02:00Karel Kocilocalrepo: architecture of package should be checked and support for non-native ones should be addedCurrently we do not check if added package is of native architecture. We should do that.
That also introduced new problem and that is what if we want to use localrepo to maintain repository for non-native packages. This should be used f...Currently we do not check if added package is of native architecture. We should do that.
That also introduced new problem and that is what if we want to use localrepo to maintain repository for non-native packages. This should be used for rootfs preparation on Omnia for Mox. We need some approach on how to maintain non-native architecture local repositories because of that.https://gitlab.nic.cz/turris/updater/updater/-/issues/256Change user agent to contain additional information2019-05-06T17:46:46+02:00Karel KociChange user agent to contain additional informationWe should add additional information to user agent. Currently we only report updater version but it is common to also report the OS version, kernel version and network software version. This should help us to discover problematic clients...We should add additional information to user agent. Currently we only report updater version but it is common to also report the OS version, kernel version and network software version. This should help us to discover problematic clients and detect if some combination of software is not failing because of our server configuration.
Current user agent contains only updater version in following format: `"Turris Updater/" UPDATER_VERSION`
I suggest to append additional information in standard form: `"Turris Updater/" UPDATER_VERSION (ADD1; ADD2)`
Additional information should be:
* Version and name of distribution
* Architecture and kernel version and name
* Version of libcurlTurris OS 4.0https://gitlab.nic.cz/turris/updater/updater/-/issues/245Replace updater.sh with updater-suppervisor.py or something2019-05-06T17:47:32+02:00Karel KociReplace updater.sh with updater-suppervisor.py or somethingIt's clear that updater.sh is now in state where it's almost unmaintable and there is requirements from foris to post updater's state to foris-controller. It's clear that we would have to implement some suppervising daemon for updater (i...It's clear that updater.sh is now in state where it's almost unmaintable and there is requirements from foris to post updater's state to foris-controller. It's clear that we would have to implement some suppervising daemon for updater (it might be running only if updater is running. In different words it would be executed and killed by updater.sh). But there might be even better solution for this. What about if we create updater-suppervisor.py (or some better name?) instead of updater.sh or as something that updater.sh runs. That would replaced current functionality of updater.sh with cleaner code and could also post status of updater to foris-controller on its own.https://gitlab.nic.cz/turris/updater/updater/-/issues/244updater.sh: ensure that updater waits for lock and runs2019-05-06T17:47:32+02:00Karel Kociupdater.sh: ensure that updater waits for lock and runsEnsure that if already one instance of updater is running that we run another instance after it exits.
We need this for foris because that should ensure us that if it request updater's run that we really run it with latest updated confi...Ensure that if already one instance of updater is running that we run another instance after it exits.
We need this for foris because that should ensure us that if it request updater's run that we really run it with latest updated configuration.
We might be able to somehow note that we want another updater's run and when updater.sh is exiting we should just check if we have that note and if so we should run updater in background again.https://gitlab.nic.cz/turris/updater/updater/-/issues/239Set http user agent field2019-05-06T17:47:38+02:00Karel KociSet http user agent fieldWe should add user agent info to updater's http connections. Using libcurl it's just a single command.
https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html
The idea is to have something like `Turris Updater/VERSION` where version will ...We should add user agent info to updater's http connections. Using libcurl it's just a single command.
https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html
The idea is to have something like `Turris Updater/VERSION` where version will be appended from macro (there is a macro defined that contains string with updater's version).Boleslav BrezovskyBoleslav Brezovskyhttps://gitlab.nic.cz/turris/updater/updater/-/issues/237Implement some cleanup process2019-05-06T17:47:31+02:00Karel KociImplement some cleanup processCurrently in lua we have some sort of exceptions implementation but we have nothing hooked up to it do do real cleanup in most of the cases. And in C we in most cases just call die, specially in cases when we receive error from Lua. This...Currently in lua we have some sort of exceptions implementation but we have nothing hooked up to it do do real cleanup in most of the cases. And in C we in most cases just call die, specially in cases when we receive error from Lua. This is just bad, with any error small or big we do no cleanups and if we expect some sort of cleanup (like I don't know running postupdate hooks or closing status files and more) it is not executed and in most unexpected ways skipped.
So solution should be some global cleanup stack in utilities. Idea probably should be something where you can register (and unregister) functions that would be called when updater is going to exit. This should simplify for example main functions a lot (because right now it's just a pile of error handling shit) and should ensure that even if we trigger exit from some function that is no way relevant but should result to propper exit that we do propper cleanup and then exit.https://gitlab.nic.cz/turris/updater/updater/-/issues/236Report updater state on named socket2023-08-16T14:59:38+02:00Karel KociReport updater state on named socketWe want to be able to access state of running updater from gui (specially from Foris) and for that we need some common way to see what is updater doing no matter if we are running it directly or not.
We should dump to it informations ab...We want to be able to access state of running updater from gui (specially from Foris) and for that we need some common way to see what is updater doing no matter if we are running it directly or not.
We should dump to it informations about what packages are we downloading, installing, removing and so on at the moment.https://gitlab.nic.cz/turris/updater/updater/-/issues/227Add support for relative uri2019-05-06T17:46:46+02:00Karel KociAdd support for relative uriIf we are in script and using new uri then it makes sense that we shouldn't care where this script is really running and we should be able to use uris relative to ours.
Also it would be nice to have current uri in some variable in scrip...If we are in script and using new uri then it makes sense that we shouldn't care where this script is really running and we should be able to use uris relative to ours.
Also it would be nice to have current uri in some variable in script it self or maybe even call trace.Turris OS 4.0https://gitlab.nic.cz/turris/updater/updater/-/issues/219Publish info about updater running instance to ubus2019-05-06T17:47:32+02:00Karel KociPublish info about updater running instance to ubusPosting informations such as what package are we downloading and what package are
we installing should be handy for Foris to be able to show some informative output
to user if updater is used trough it.Posting informations such as what package are we downloading and what package are
we installing should be handy for Foris to be able to show some informative output
to user if updater is used trough it.https://gitlab.nic.cz/turris/updater/updater/-/issues/213Check extra option 'version' that is has correct format2020-11-24T13:57:24+01:00Karel KociCheck extra option 'version' that is has correct formatCurrently extra option `version` is just checked that it's a string but we should
also check format of that string.Currently extra option `version` is just checked that it's a string but we should
also check format of that string.Turris OS 5.2.0https://gitlab.nic.cz/turris/updater/updater/-/issues/209Blink with routers leds while updater is running2019-07-08T13:06:14+02:00Karel KociBlink with routers leds while updater is runningUsers complains that updater doesn't explicitly informs you that it's running and
while it does some bigger update it's common that some packages restarts network
and result is that from users point of view router broke. Idea is to light...Users complains that updater doesn't explicitly informs you that it's running and
while it does some bigger update it's common that some packages restarts network
and result is that from users point of view router broke. Idea is to light up leds
in some pattern signaling phases in updater to inform user that router is updating
and that connection lost is just temporally and that router is not broken.https://gitlab.nic.cz/turris/updater/updater/-/issues/207Add option to notify user about new *-opkg files2019-06-06T15:51:41+02:00Karel KociAdd option to notify user about new *-opkg filesThese files are new versions of configurations. One of users requested to be
notified about those. And it makes sense to do so.These files are new versions of configurations. One of users requested to be
notified about those. And it makes sense to do so.https://gitlab.nic.cz/turris/updater/updater/-/issues/206Unit tests for localrepo2019-06-06T15:51:42+02:00Karel KociUnit tests for localrepoLocal repo is pretty complicated and we should test it too. So we should add some
unit tests for it.Local repo is pretty complicated and we should test it too. So we should add some
unit tests for it.