File: TODO

package info (click to toggle)
sbuild 0.60.0-2squeeze1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,136 kB
  • ctags: 640
  • sloc: perl: 14,039; sh: 1,173; sql: 772; makefile: 406
file content (162 lines) | stat: -rw-r--r-- 5,378 bytes parent folder | download
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
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)

Split utility programs into library functions. Functions should operate on
chroot objects, or plain files where appropriate.

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.

ConfBase get/set code doesn't distinguish between undefined and empty
   hashes (and also arrays?)  Due to Perl automatically creating an
   instance if the reference is undefined (autovivification).

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

gzip log files

send gzipped log mail, with correct headers
Content-Transfer-Encoding and Content-Type need setting.
message['Content-Transfer-Encoding'] = 'base64'
message['Content-Type'] = 'application/x-gzip'
https://buildd.debian.org/docs/log-compressor.py

Where did the 0.57.7 debian/changelog go to?

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

sbuild: Add alternative build-dep resolver support:
 - traditional (current)
 - apt_get (apt-get build-dep)
 - apt_package (dependency package)
 - aptitude (aptitude build-dep)
 - aptitude_package (dependency package)

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

Wannabuild::Database::send_reupload_mail unused.

Wannabuild::Database: Move priority, section and category values into
configuration file to allow customisation.

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.

run|pipe_apt_command should be generic functions, not class
methods.

Use ChrootRoot to run commands on host system.  Remove CHROOT
parameter?  Only needed for run_apt_command, which can work
accordingly without CHROOT.

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?

Add sbuild configuration option to disable package removal on cleanup.
(#528312)

sbuild-* should use ChrootSetup.

sbuild-checkpackage: Make functions to get and set the package list
in Sbuild::ChrootSetup.

sbuild-hold|unhold: Make functions to get and set the package list
in Sbuild::ChrootSetup.

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