updater issueshttps://gitlab.nic.cz/turris/updater/updater/-/issues2020-11-12T02:24:16+01:00https://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/147Tool for dependencies visualisation2019-07-08T13:07:43+02:00Karel KociTool for dependencies visualisationUse debug output of updater to build graph of dependencies between packages and
additionally proof of not satisfiability of some step.Use debug output of updater to build graph of dependencies between packages and
additionally proof of not satisfiability of some step.https://gitlab.nic.cz/turris/updater/updater/-/issues/144Support package pre_* and post_* hook2019-05-06T17:47:25+02:00Karel KociSupport package pre_* and post_* hookThese will be Lua function hooks from configuration files. For exact
specification see updater language documentation.
These will be Lua function hooks from configuration files. For exact
specification see updater language documentation.
https://gitlab.nic.cz/turris/updater/updater/-/issues/143Support abi_change package option2019-05-06T17:47:20+02:00Karel KociSupport abi_change package optionIf this option is specified for some package, we should reinstall all packages
depending on that one or alternativelly list from table.If this option is specified for some package, we should reinstall all packages
depending on that one or alternativelly list from table.https://gitlab.nic.cz/turris/updater/updater/-/issues/138Support "content" extra in packages from configuration2019-05-06T17:47:49+02:00Karel KociSupport "content" extra in packages from configurationhttps://gitlab.nic.cz/turris/updater/updater/-/issues/131Integration of the migrator2020-11-12T02:24:09+01:00Ghost UserIntegration of the migratorThis needs to check if we actually need to run the migration (by checking if it happened, by the content of `auto.lua`) and, asking the user if it is OK (unless some `--batch` is passed) and finally running real updater once it is writte...This needs to check if we actually need to run the migration (by checking if it happened, by the content of `auto.lua`) and, asking the user if it is OK (unless some `--batch` is passed) and finally running real updater once it is written out.
- [x] Depends on #129 (Basics of the migration utility)https://gitlab.nic.cz/turris/updater/updater/-/issues/130Eliminate non-head packages2020-11-12T02:24:10+01:00Ghost UserEliminate non-head packagesEliminate all the packages in the list that are dependency of something else.
- [x] Depends on #129 (The basics of migration utility)Eliminate all the packages in the list that are dependency of something else.
- [x] Depends on #129 (The basics of migration utility)https://gitlab.nic.cz/turris/updater/updater/-/issues/129The basics of the migration utility2020-11-12T02:24:14+01:00Ghost UserThe basics of the migration utilityDo the crucial parts of the migration utility:
* Parsing and planning of the updater (simply reuse the same functions)
* Parse the current list of installed packages
* Dump the difference into a fileDo the crucial parts of the migration utility:
* Parsing and planning of the updater (simply reuse the same functions)
* Parse the current list of installed packages
* Dump the difference into a filehttps://gitlab.nic.cz/turris/updater/updater/-/issues/128Produce list of tasks to execute2019-05-06T17:47:49+02:00Ghost UserProduce list of tasks to executeTake the list of packages that need to be installed from #125, compare it with list of currently installed packages and produce list of actions to be executed (packages to be installed and removed). Note that some packages may have the „...Take the list of packages that need to be installed from #125, compare it with list of currently installed packages and produce list of actions to be executed (packages to be installed and removed). Note that some packages may have the „reinstall“ flag, therefore need to be reinstalled even if they are already present.
Order the actions in correct order by #127.
- [x] Depends on #125 (Eliminate unneeded packages)
- [x] Depends on #127 (Order packages by dependencies)https://gitlab.nic.cz/turris/updater/updater/-/issues/127Order packages according to dependencies2019-05-06T17:47:48+02:00Ghost UserOrder packages according to dependenciesTake the whole dependency graph and compute topological order of packages. Consider breaking cycles somehow (and possibly marking the defective packages, but we don't want to fail right now, since these packages may not need to be instal...Take the whole dependency graph and compute topological order of packages. Consider breaking cycles somehow (and possibly marking the defective packages, but we don't want to fail right now, since these packages may not need to be installed).https://gitlab.nic.cz/turris/updater/updater/-/issues/126Alternative elimination2019-05-06T17:47:48+02:00Ghost UserAlternative eliminationImplement the „Package versions & alternatives“ of `design/deps.txt`, eliminating all the package versions and alternative dependencies that are not needed. While it can be implemented after #125, it needs to be executed before that in t...Implement the „Package versions & alternatives“ of `design/deps.txt`, eliminating all the package versions and alternative dependencies that are not needed. While it can be implemented after #125, it needs to be executed before that in the code.
- [x] Depends on #124 (Satisfiable requests)
- [x] Depends on #123 (SAT structure, stage 2)https://gitlab.nic.cz/turris/updater/updater/-/issues/125Eliminate unneeded packages2019-05-06T17:47:18+02:00Ghost UserEliminate unneeded packagesImplement the „Package selection“ section of `design/deps.txt`, to ensure all the packages that are not needed are set to false. Produce list of desired packages.
- [ ] Depends on #124 (Select satisfiable requests)Implement the „Package selection“ section of `design/deps.txt`, to ensure all the packages that are not needed are set to false. Produce list of desired packages.
- [ ] Depends on #124 (Select satisfiable requests)https://gitlab.nic.cz/turris/updater/updater/-/issues/124Compute satisfiable Install and Uninstall requests2019-05-06T17:47:18+02:00Ghost UserCompute satisfiable Install and Uninstall requestsPartition the requests by priority and try to assume them group-wise, fixing all that can be satisfied. Proceed through all the groups, as described in `design/deps.txt`.
- [ ] Depends on #122 (SAT structure, stage 1)Partition the requests by priority and try to assume them group-wise, fixing all that can be satisfied. Proceed through all the groups, as described in `design/deps.txt`.
- [ ] Depends on #122 (SAT structure, stage 1)https://gitlab.nic.cz/turris/updater/updater/-/issues/123SAT structure creation, stage 22019-05-06T17:47:18+02:00Ghost UserSAT structure creation, stage 2Install all the additional variables for penalties and complex dependencies, as described in `design/deps.txt`. Add the relevant clauses. This is continuation of #122.Install all the additional variables for penalties and complex dependencies, as described in `design/deps.txt`. Add the relevant clauses. This is continuation of #122.https://gitlab.nic.cz/turris/updater/updater/-/issues/122SAT structure creation, stage 12019-05-06T17:47:18+02:00Ghost UserSAT structure creation, stage 1Populate a SAT instance with variables and clauses, describing the relations between packages, requests, etc. The details are described in `design/deps.{txt,html}`.
It is possible to ignore complex dependencies and multiple package vers...Populate a SAT instance with variables and clauses, describing the relations between packages, requests, etc. The details are described in `design/deps.{txt,html}`.
It is possible to ignore complex dependencies and multiple package versions. This way we would get the equivalent of the current functionality sooner while preparing the ground for the full feature set.https://gitlab.nic.cz/turris/updater/updater/-/issues/117Log all installations and removals2020-11-12T02:24:14+01:00Ghost UserLog all installations and removalsProvide a global log of things that were installed or removed in a persistent storage.Provide a global log of things that were installed or removed in a persistent storage.https://gitlab.nic.cz/turris/updater/updater/-/issues/115Make output to stderr more readable outside of debugging2019-05-06T17:47:17+02:00Karel KociMake output to stderr more readable outside of debuggingPrinted messages contains source file, line and function as origin. This is probably mostly useless outside of debugging. For normal execution we can hide this and output it to log only. It seems to be enough. Print it only if level on s...Printed messages contains source file, line and function as origin. This is probably mostly useless outside of debugging. For normal execution we can hide this and output it to log only. It seems to be enough. Print it only if level on stderr is set to DBG.https://gitlab.nic.cz/turris/updater/updater/-/issues/114Don't run another set of preupdate hooks when we replan2019-05-06T17:47:17+02:00Ghost UserDon't run another set of preupdate hooks when we replanWhen the updater restarts, because there's a replan package, don't run another set of the pre-update hooks. One should be enough.When the updater restarts, because there's a replan package, don't run another set of the pre-update hooks. One should be enough.https://gitlab.nic.cz/turris/updater/updater/-/issues/112Delayed installation2020-11-12T02:24:12+01:00Ghost UserDelayed installationSupport users' wishes to approve installation of packages (or give them time to do it). The schemas should be something like:
* I trust you, install everything you like.
* I trust you, but warn me 3 days ahead before you install.
* I ...Support users' wishes to approve installation of packages (or give them time to do it). The schemas should be something like:
* I trust you, install everything you like.
* I trust you, but warn me 3 days ahead before you install.
* I don't really trust you to do the right thing. Show me what you want to do and I'll approve it.https://gitlab.nic.cz/turris/updater/updater/-/issues/109The „provides“ header2019-05-06T17:47:16+02:00Ghost UserThe „provides“ headerSome packages have a „provides“ header. That means they can be used to satisfy a dependency. Support this somehow (maybe by creating a virtual package).Some packages have a „provides“ header. That means they can be used to satisfy a dependency. Support this somehow (maybe by creating a virtual package).