Updater NG
The current hair ball of shell scripts is slowly but surely reaching its limits. Consider some newer approach that does real dependency tracking and such.
-
Subtask #14 (closed) (Transactional backend for the old updater)
- Subtask #1 (closed) (Integrate lua interpreter)
- Subtask #2 (closed) (Parse current package state)
- Subtask #3 (closed) (Event loop)
- Subtask #20 (closed) (Logging support)
- Subtask #4 (closed) (Process manager)
- Subtask #5 (closed) (Unpacking to temporary location)
- Subtask #6 (closed) (Merging files to live system)
- Subtask #7 (closed) (Running pre/post-install/remove scripts)
- Subtask #8 (closed) (Saving package state)
- Subtask #9 (closed) (Locking)
- Subtask #10 (closed) (Journal manipulation)
- Subtask #11 (closed) (Using journal through the installation)
- Subtask #12 (closed) (Journal recovery)
- Subtask #13 (closed) (Integrate the backend in the old updater)
-
Subtask #25 (closed) (Integrate
transaction.process
into opkg-trans) - Subtask #26 (closed) (Config file handling)
- Subtask #27 (closed) (System level tests)
- Subtask #32 (closed) (Logging configuration)
- Subtask #35 (closed) (Field test)
-
Subtask #15 (closed) (LibC replacement support)
- Subtask turris/openwrt#9 (closed) (Turris packages with musl)
- Subtask #29 (closed) (Reinstall everything flag)
- Subtask #31 (closed) (Testing the migration)
- Subtask turris/openwrt#10 (closed) (static libraries for dependencies, maybe not needed
- Subtask #30 (closed) (static linking), maybe not needed
- Depends on #148 (closed) (Replace curl command with libcurl)
- Depends on #149 (closed) ( Integrate busybox to updater)
-
Subtask #16 (closed) (Replacement for the old updater)
- Language support:
- Subtask #36 (closed) (Sandboxes)
- Subtask #37 (closed) (Morphers)
- Subtask #50 (closed) (Include command)
- Subtask #76 (closed) (Allow missing)
- Subtask #86 (closed) (Unknown parameters)
- Subtask #91 (closed) (Complex deps)
- Subtask #92 (closed) (Flags)
- Subtask #93 (closed) (State variables)
- Subtask #97 (closed) (Errors from sub-scripts)
- Data sources:
- Subtask #38 (closed) (Download event)
- Subtask #39 (closed) (URI manager)
- Subtask #59 (closed) (Verification of resources)
- Subtask #60 (closed) (internal: schema)
- Subtask #103 (closed) (Restricted security level)
- Situation description:
- Subtask #40 (closed) (Package object)
- Subtask #41 (closed) (Repository object)
- Subtask #42 (closed) (Installation request)
- Postprocess info from configs:
- Subtask #57 (closed) (Download repositories)
- Subtask #58 (closed) (Get table of available packages)
- Dependency tracking:
- Subtask #43 (closed) (DFS through dependencies)
- Subtask #44 (closed) (Compare list of desired and installed packages)
- Subtask #45 (closed) (Feed the package list into the transaction backend)
- Subtask #109 (closed) (The „provides“ header)
- UI
- Subtask #46 (closed) (The updater binary)
- Subtask #47 (closed) (Command to remove or add a package)
- Subtask #48 (closed) (Emulation of opkg)
- Subtask #49 (closed) (Emulation of the old updater)
- Subtask #67 (closed) (Send logs of transaction to user)
- Subtask #69 (closed) (Better error reporting)
- Subtask #77 (closed) (Nuci integration)
- Subtask #80 (closed) (List collisions)
- Subtask #83 (closed) (CRL error)
- Subtask #84 (closed) (Missing repo error)
- Subtask #136 (closed) (Describe why critical requests failed in error message)
- Misc
- Subtask #61 (closed) (Hide context)
- Subtask #68 (closed) (Access to system libraries)
- Subtask #62 (closed) (Replan)
- Subtask #63 (closed) (Reinstall)
- Subtask #96 (closed) (Later reinstall)
- Subtask #64 (closed) (Reboot)
- Subtask #65 (closed) (TODO/FIXME)
- Subtask #66 (closed) (Deploy)
- Subtask #72 (closed) (Don't fail on prerm)
- Subtask #74 (closed) (Lock during the whole run)
- Subtask #75 (closed) (Config overwriting)
- Subtask #81 (closed) (Blocking write)
- Subtask #87 (closed) (Auto-run resilience)
- Subtask #88 (closed) (Generator of the configs)
- Subtask #89 (closed) (Userlist definitions)
- Subtask #95 (closed) (Lockup on poll)
- Language support:
-
Subtask #18 (closed) (Rules for dependency calculation)
- Subtask #122 (closed) (SAT structure, stage 1)
- Subtask #124 (closed) (Satisfiable requests)
- Subtask #125 (closed) (Eliminate unneeded packages)
- Subtask #127 (closed) (Order packages according to dependencies)
- Subtask #128 (closed) (Produce list of tasks to execute)
- Subtask #123 (closed) (SAT structure, stage 2)
- Subtask #126 (closed) (Alternative elimination)
- Subtask #17 (closed) (Full support of the requirements)
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information