summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 90d045376c169b42a287a2da29cd646f1f3d5ce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Check packages in the alternatives and stalled_pkg_timeout lists in
the configuration file and Conf.pm.  Make sure they are current and
valid.

sbuild-createchroot should import most of buildd-make-chroot.
(note: only needed for buildd use--accounts and passwords needed for access)

Chroot.pm: Move chroot naming out of begin_session.

Are 'Build Start Time' and 'Pkg Start Time' different?

sbuild-setup references ~/build, even though not required.

sbuild-setup should document all files copied by schroot setup scripts.

bin/*: Add --help and --version

Add a --verbose option to all commands

All programs must use Getopt::Long for options parsing

sbuild-stats option formatting and option processing perform more than
one action at once?  Only set mode once?  actions have multiple args?

sbuild-stats only has a single database.  There's no distinguishing
between different distributions or architectures.  Fix with wannab.

buildd-clean-upload hard-codes $HOME/upload.  Configure location.

All perl programs and modules should
- use strict
- use warnings
- use function prototypes

buildd hard-codes config file locations.  Used in check_reread_config.

buildd hard-codes main::HOME and PATH.  Set in ::Conf.

buildd-watcher should use strftime in place of own functions

sbuild utilities should allow specification of chroot architecture

Document and add examples for %mailto.

sbuild-adduser should do schroot/sudo-specific setup depending on
$chroot_mode.  Now done in basesetup().  But, it may be useful to
do additional setup here such as user/group database updates for
sudo chroots and schroot when using plain chroot type (no
automated setup).

Use 'dcmd cp' to copy build files

Copyright details of new files.

Validate programs and paths only if required
- programs which only work inside the chroot
- programs which only work outside the chroot (if required by config)
- programs which may or may not be required inside and/or outside

Where did the 0.57.7 debian/changelog go to?

buildd-mail: Why do we use lockfiles rather than real fcntl locks?

Move locking functions out of Sbuild::Build.  Use proper locking in
place of lockfiles.

Sbuild::Base: Add append method to simplify set(get() . ) idiom.

buildd auto-restart isn't useful due to loss of @INC and failure to
detect changes in modules.  Create init script instead.

buildd-mail: %header (to|from|subject|message-id|date) are mandatory.
Check for these and bail out if not present.

Buildd::Conf: Add Sbuild::Chroot heirarchy-specific configuration
   keys.
- split into separate initialisation function,
- split wanna-build config into separate function also.
- may be useful to have different config files here or else
  we get parsing errors if variables aren't defined in the
  parsing sandbox.

buildd: shutdown_* should check if we are a daemon before removing
the pidfile, as for END.

END blocks should be inside object destructors.

buildd-vlog: Rather than tailing the output of sbuild logs, once
buildd uses Sbuild::Build directly, the daemon will be able to
do its own output (if desired).

buildd-mail: Moves built packages directly into the chroot
   /var/cache/apt/archives.  It should use Sbuild::Chroot.
   This should also update the source chroot.

buildd: SIGHUP should reread config, not SIGUSR1.  Swap?

buildd mails: Statistics start from 01-01-1970 when first started up.

Buildd::*: Don't set Host until after object construction, since
   the Log Stream isn't yet initialised.  If log stream opening
   is moved into Buildd::Base, this can be done automatically.

bin/*, lib/*: Kill use of main:: globals

Kill main::HOME hardcoding

Kill PATH hardcoding

Kill LOG/PLOG

Kill all globals

lib/Buildd: Move logger vfunc into Sbuild::Log as the default logger?

Generalise chroot setup logic in Build.pm and Chroot.pm
Put all APT and debconf configuration into sbuild.conf.

Documentation improvements:

- setup of cloned chroots (source-*)