[24167] | 1 | TODO -*- outline -*- |
---|
| 2 | ==== |
---|
| 3 | |
---|
| 4 | |
---|
| 5 | Most new TODO items are marked @todo in the source code and listed in |
---|
| 6 | the Doxygen-generated documentation in doc/schroot/html/todo.html |
---|
| 7 | |
---|
| 8 | |
---|
| 9 | PLANNED |
---|
| 10 | ------- |
---|
| 11 | |
---|
| 12 | * Add API to run multiple commands to replace auth::run(). |
---|
| 13 | |
---|
| 14 | * Add extra file permissions checking |
---|
| 15 | |
---|
| 16 | Both to run-parts, to ensure that shell scripts are owned by root and |
---|
| 17 | not world writable (as for config files). And also add the same |
---|
| 18 | permissions check to script-config files. |
---|
| 19 | |
---|
| 20 | * Generalise permissions checking |
---|
| 21 | |
---|
| 22 | Create a standard function which can use either stat, fstat or lstat |
---|
| 23 | and test for particular permissions. |
---|
| 24 | |
---|
| 25 | * SCHROOT_CONF error messages must also mention chroot.d. |
---|
| 26 | |
---|
| 27 | |
---|
| 28 | POTENTIAL |
---|
| 29 | --------- |
---|
| 30 | |
---|
| 31 | * Add tests for |
---|
| 32 | |
---|
| 33 | ** Auth |
---|
| 34 | ** AuthConv |
---|
| 35 | ** AuthConvTty |
---|
| 36 | ** AuthMessage |
---|
| 37 | ** Session |
---|
| 38 | ** schroot::Options |
---|
| 39 | ** schroot_releaselock::Options |
---|
| 40 | |
---|
| 41 | None of these are urgent and/or are difficult to test in an automated |
---|
| 42 | fashion. expect might be useful for testing the PAM wrappers. |
---|
| 43 | |
---|
| 44 | * Add tests for dchroot and dchroot-dsa classes. |
---|
| 45 | |
---|
| 46 | * Line reporting while parsing config files misses file name. |
---|
| 47 | |
---|
| 48 | log_warning() is used, because we don't throw an exception. The |
---|
| 49 | code has no knowledge of the file name, so can't report it. |
---|
| 50 | Outright errors throw, and the handler adds the needed context. |
---|
| 51 | |
---|
| 52 | * Unify fork/exec code into a spawn function. |
---|
| 53 | |
---|
| 54 | * Pass configured sysconfdir, pkglibexecdir prefix exec_prefix etc. to scripts. |
---|
| 55 | |
---|
| 56 | * Tests for chroots: |
---|
| 57 | |
---|
| 58 | ** -source chroots |
---|
| 59 | |
---|
| 60 | * logging should allow customisation of log level |
---|
| 61 | |
---|
| 62 | See end of Debian Bug #279408. |
---|
| 63 | |
---|
| 64 | ** log functions should have a severity (to complement existing I/W/E types) |
---|
| 65 | |
---|
| 66 | Similar to debug level, but for normal messages |
---|
| 67 | e.g. quiet/normal/verbose/extra verbose. |
---|
| 68 | |
---|
| 69 | ** config file should have a "message" key. |
---|
| 70 | |
---|
| 71 | Overridden by --quiet/--verbose options. |
---|
| 72 | |
---|
| 73 | * Create separate namespaces for chroots and sessions |
---|
| 74 | |
---|
| 75 | Note: how to deal with duplicated names in both namespaces for --all? |
---|
| 76 | Maybe just list twice, first chroots and then sessions? |
---|
| 77 | |
---|
| 78 | Have separate namespaces for |
---|
| 79 | * chroots (for --all-chroots) |
---|
| 80 | * chroot aliases (for chroot commands) |
---|
| 81 | * source chroots (for --all-source-chroots) |
---|
| 82 | * source chroot aliases (for source chroot commands; add --source option) |
---|
| 83 | * sessions (for all session commands) |
---|
| 84 | |
---|
| 85 | * Testcase for chroot-loopback |
---|
| 86 | |
---|
| 87 | * Add a read-only mount option for union underlay (both for |
---|
| 88 | devices and bind mounts). |
---|
| 89 | |
---|
| 90 | Union: Don't allow overlay/underlay to be user-specified? Or only |
---|
| 91 | allow underlay to be specified (but it's already specified in the |
---|
| 92 | chroot definition, so don't allow?). |
---|
| 93 | Note: Currently user settings are automatically overridden. |
---|
| 94 | |
---|
| 95 | Add directories under /var to man pages |
---|
| 96 | |
---|
| 97 | Add checks for unsupported features in setup scripts. |
---|
| 98 | |
---|
| 99 | Define operator &= and |= for enum types defining | and & operators. |
---|
| 100 | |
---|
| 101 | Header include order: chroot-facet depends upon sbuild-chroot being |
---|
| 102 | included first. Try to break this dependency. |
---|
| 103 | |
---|
| 104 | block-device used to allow sessions to work without writing out |
---|
| 105 | a session file; this will break across upgrades to the new |
---|
| 106 | version (since orphan mounts will not be accessible). |
---|
| 107 | |
---|
| 108 | --end-session --force should forcibly end "broken" sessions by |
---|
| 109 | manually umounting and purging mount and session directories and |
---|
| 110 | metadata. |
---|
| 111 | |
---|
| 112 | Chroot validation does not distinguish between chroots and sessions. |
---|
| 113 | Also, sbuild::session uses find_alias to find chroots, but it should |
---|
| 114 | specifically look for either chroots or sessions (and potentially |
---|
| 115 | also source chroots). Teach sbuild::chroot_config to treat all these |
---|
| 116 | separately. Aliases are only useful for SESSION_AUTOMATIC and BEGIN. |
---|