source: trunk/debathena/third/schroot/TODO @ 24167

Revision 24167, 3.5 KB checked in by broder, 13 years ago (diff)
Import schroot upstream into subversion.
Line 
1TODO                                                            -*- outline -*-
2====
3
4
5Most new TODO items are marked @todo in the source code and listed in
6the Doxygen-generated documentation in doc/schroot/html/todo.html
7
8
9PLANNED
10-------
11
12* Add API to run multiple commands to replace auth::run().
13
14* Add extra file permissions checking
15
16Both to run-parts, to ensure that shell scripts are owned by root and
17not world writable (as for config files).  And also add the same
18permissions check to script-config files.
19
20* Generalise permissions checking
21
22Create a standard function which can use either stat, fstat or lstat
23and test for particular permissions.
24
25* SCHROOT_CONF error messages must also mention chroot.d.
26
27
28POTENTIAL
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
41None of these are urgent and/or are difficult to test in an automated
42fashion.  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
75Note: how to deal with duplicated names in both namespaces for --all?
76Maybe just list twice, first chroots and then sessions?
77
78Have 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
90Union: Don't allow overlay/underlay to be user-specified?  Or only
91allow underlay to be specified (but it's already specified in the
92chroot definition, so don't allow?).
93Note: Currently user settings are automatically overridden.
94
95Add directories under /var to man pages
96
97Add checks for unsupported features in setup scripts.
98
99Define operator &= and |= for enum types defining | and & operators.
100
101Header include order: chroot-facet depends upon sbuild-chroot being
102included first.  Try to break this dependency.
103
104block-device used to allow sessions to work without writing out
105a session file; this will break across upgrades to the new
106version (since orphan mounts will not be accessible).
107
108--end-session --force should forcibly end "broken" sessions by
109manually umounting and purging mount and session directories and
110metadata.
111
112Chroot validation does not distinguish between chroots and sessions.
113Also, sbuild::session uses find_alias to find chroots, but it should
114specifically look for either chroots or sessions (and potentially
115also source chroots).  Teach sbuild::chroot_config to treat all these
116separately.  Aliases are only useful for SESSION_AUTOMATIC and BEGIN.
Note: See TracBrowser for help on using the repository browser.