updater issueshttps://gitlab.nic.cz/turris/updater/updater/-/issues2023-08-16T14:59:54+02:00https://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/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/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/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/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/197Approvals notifications should contain list of changes to be approved2020-11-12T03:27:29+01:00Karel KociApprovals notifications should contain list of changes to be approvedNotifications about waiting approvals says nothing about changes to be approved. It's like a small suprise that have to be unpacked in Foris.Notifications about waiting approvals says nothing about changes to be approved. It's like a small suprise that have to be unpacked in Foris.Turris OS 3.8https://gitlab.nic.cz/turris/updater/updater/-/issues/178Support 'Conflicts'2020-11-12T03:27:24+01:00Karel KociSupport 'Conflicts'Packages can have field 'Conflicts', we are ignoring this field for now. But
support for it should be added.Packages can have field 'Conflicts', we are ignoring this field for now. But
support for it should be added.Turris OS 3.8https://gitlab.nic.cz/turris/updater/updater/-/issues/190Allow updater.sh to be executed with verbose output2020-11-12T03:21:20+01:00Karel KociAllow updater.sh to be executed with verbose outputRunning pkgupdate optionally with DBG or TRACE output should help us in
diagnostics and might be usable even to users.
TODO add this also to diagnosticsRunning pkgupdate optionally with DBG or TRACE output should help us in
diagnostics and might be usable even to users.
TODO add this also to diagnosticsTurris OS 3.7https://gitlab.nic.cz/turris/updater/updater/-/issues/169Read /etc/opkg/customfeeds.conf in entry.lua2020-11-12T03:21:12+01:00Karel KociRead /etc/opkg/customfeeds.conf in entry.luaOpkg can be configured with any additional repositories, in such case opkg can
install software that updater doesn't know. This shouldn't be happening. For this
reason we should read opkg custom feeds in entry script.Opkg can be configured with any additional repositories, in such case opkg can
install software that updater doesn't know. This shouldn't be happening. For this
reason we should read opkg custom feeds in entry script.Turris OS 3.7https://gitlab.nic.cz/turris/updater/updater/-/issues/181Automatic migration to new updater2020-11-12T03:20:40+01:00Ghost UserAutomatic migration to new updaterAfter releasing 3.6 we want to start the work on automatically migrating to the new updater on all routers. Therefore we want to enable the automatic mode and test what goes wrong.After releasing 3.6 we want to start the work on automatically migrating to the new updater on all routers. Therefore we want to enable the automatic mode and test what goes wrong.Turris OS 3.7https://gitlab.nic.cz/turris/updater/updater/-/issues/173Run `pkgupdate` even if migration went through2020-11-12T03:15:47+01:00Ghost UserRun `pkgupdate` even if migration went throughEven when `auto.lua` contains the line the migration went through, run `pkgupdate` to update things and potentially finish up everything that didn't work before.Even when `auto.lua` contains the line the migration went through, run `pkgupdate` to update things and potentially finish up everything that didn't work before.Turris OS 3.6https://gitlab.nic.cz/turris/updater/updater/-/issues/172Migrator: cleanup before running2020-11-12T03:15:35+01:00Ghost UserMigrator: cleanup before runningDue to issues with the old update infrastructure, the `auto.lua` is a bit broken when the migrator is run.
- [x] Do some clean up before running (eg. make sure the updater and probably other packages are not mandated and packages are no...Due to issues with the old update infrastructure, the `auto.lua` is a bit broken when the migrator is run.
- [x] Do some clean up before running (eg. make sure the updater and probably other packages are not mandated and packages are not linked)
- [x] Blacklist (eg `Uninstall`) updater and similar from the list, so even if it is required from somewhere, it is not really installed.Turris OS 3.6https://gitlab.nic.cz/turris/updater/updater/-/issues/148Replace curl command with libcurl2020-11-12T02:24:16+01:00Karel KociReplace curl command with libcurlWe use curl executable, we should use libcurl instead.We use curl executable, we should use libcurl instead.https://gitlab.nic.cz/turris/updater/updater/-/issues/152Prepare the private authority to work2020-11-12T02:24:16+01:00Ghost UserPrepare the private authority to workThis means inserting the root to a proper place for nikola and logsend. It also means preparing the intermediate CA and making sure it can create the revocation lists. Some kind of HSM would be nice to protect it, and we need to decide o...This means inserting the root to a proper place for nikola and logsend. It also means preparing the intermediate CA and making sure it can create the revocation lists. Some kind of HSM would be nice to protect it, and we need to decide on the process of renewals of the CRLs.
- [x] Subtask turris/misc#9 (Logsend)
- [x] Subtask turris/turris-os-packages#11 (Cacert bundle)
- [x] Subtask turris/common-internal#31
- [x] Subtask turris/nuci#10
- [x] Nikola
- [x] Firewall downloader
- [x] Proxy of OpenWRT repositorieshttps://gitlab.nic.cz/turris/updater/updater/-/issues/2Parse current package state2020-11-12T02:24:16+01:00Ghost UserParse current package stateParse the info in /usr/lib/opkg and provide it as some data structures in lua. Make sure it is easily tested.
- [x] Depends on #1Parse the info in /usr/lib/opkg and provide it as some data structures in lua. Make sure it is easily tested.
- [x] Depends on #1https://gitlab.nic.cz/turris/updater/updater/-/issues/3Event loop2020-11-12T02:24:16+01:00Ghost UserEvent loop - Integrate libevent
- Handle registration of children and call callbacks for them (can we reuse the libevent's events for that?)
- Some kind of „wait“ mode ‒ list events that must stop being pending or active to stop, while still exe... - Integrate libevent
- Handle registration of children and call callbacks for them (can we reuse the libevent's events for that?)
- Some kind of „wait“ mode ‒ list events that must stop being pending or active to stop, while still executing the rest of eventshttps://gitlab.nic.cz/turris/updater/updater/-/issues/13Integrate the backend in the current updater2020-11-12T02:24:16+01:00Ghost UserIntegrate the backend in the current updaterGather all the packages to install or remove and perform the whole removal/installation at once by the opkg-trans backend.
- [x] Depends on #35 (Field test)Gather all the packages to install or remove and perform the whole removal/installation at once by the opkg-trans backend.
- [x] Depends on #35 (Field test)https://gitlab.nic.cz/turris/updater/updater/-/issues/4Process manager2020-11-12T02:24:16+01:00Ghost UserProcess managerImplement a process manager, inspired by perl's AnyEvent::Util::run_command (but simpler). It needs to be able to run the command provided, specify callbacks or buffers for its stdio and run a callback when all the IO is done and the com...Implement a process manager, inspired by perl's AnyEvent::Util::run_command (but simpler). It needs to be able to run the command provided, specify callbacks or buffers for its stdio and run a callback when all the IO is done and the command terminated.
Provide some interface to lua.
- [x] Depends on #1
- [x] Depends on #3https://gitlab.nic.cz/turris/updater/updater/-/issues/5Unpacking packages to a temporary location2020-11-12T02:24:16+01:00Ghost UserUnpacking packages to a temporary locationHave a mechanism to unpack the content of a given package into a given place and extract the control files somewhere.
Consider feeding it with a buffer instead of a file name.
- [x] Depends on #4Have a mechanism to unpack the content of a given package into a given place and extract the control files somewhere.
Consider feeding it with a buffer instead of a file name.
- [x] Depends on #4https://gitlab.nic.cz/turris/updater/updater/-/issues/7Running pre/post-install/remove scripts of packages2020-11-12T02:24:16+01:00Ghost UserRunning pre/post-install/remove scripts of packagesRun the necessary scripts. Decide if we want to run them before and after the whole merging of files #6 , or during. But we probably don't want to abort the merging in the middle because of a failed script.
- [x] Depends on #6
- [x] ...Run the necessary scripts. Decide if we want to run them before and after the whole merging of files #6 , or during. But we probably don't want to abort the merging in the middle because of a failed script.
- [x] Depends on #6
- [x] Depends on #8