TODO #12 - bin/why-dont-you(line 12):
reintrocude "keep", "stubbornly_keep", "stabilize" and "unstage"
using information from the database.

TODO #13 - bin/db-update(line 10):
make (all) locking less restrictive

TODO #14 - bin/return-assignment(line 1002):
sign database

TODO #18 - bin/get-package-updates(line 10):
keep database clean in case of abort

TODO #23 - bin/ping-to-master(line 13):
abort build if requested to

TODO #58 - bin/build-packages(line 10):
report back memory and hdd stats to the build master on successful build

TODO #98 - bin/bootstrap-mysql(line 63):
`package_blobs` needs too much space!

TODO #104 - bin/copy-to-build-support(line 10):
allow to introduce a manually built package into build-support

TODO #108 - bin/return-assignment(line 1131):
possibly remove install_target_providers with less restrictive
versions than we have now

TODO #115 - bin/return-assignment(line 854):
maybe, we should not put "any" packages into repositories of all
architectures at once, but wait until they can actually be installed
on that architecture? (They might be missing an architecture specific
dependency)

TODO #117 - lib/mysql-functions(line 357):
we might want to keep the pkgrel part and only remove the
sub_pkgrel part - but then we need to include pkgrels on the provide
side, too(?)

TODO #120 - bin/build-packages(line 770):
symbols may be in object files _inside_archives_
In that case, we're interested in the object file's name,
not the archive's file name

TODO #126 - bin/seed-build-list(line 400):
this might become wrong if we ever change the order of the
rows in repository_stabilities -- we might want to refer to
repository_stability_relations here somehow ...

TODO #128 - bin/create-build-support-package(line 183):
mangle customizable meta-infos here (new provides, keep some
depends)

TODO #135 - bin/create-build-support-package(line 353):
maybe add (some?) depends here, too?

TODO #136 - bin/return-assignment(line 1288):
set _correct_ version of install_target_providers

TODO #138 - bin/check-opcodes(line 107):
pentium4

TODO #152 - bin/build-packages(line 543):
get the name of the key file from its finger print or
some other information inside the repository

TODO #153 - bin/build-packages(line 12):
some build failures should skip straws - e.g. if dependencies are unavailable,
we should not try to rebuild with a cleaned chroot

TODO #154 - bin/build-packages(line 15):
some build environments should be archived when the build fails - but:
which/how?

TODO #155 - bin/build-packages(line 18):
it might be worth trying to build with makedepends installed from
[testing] and only depends installed from [staging]

TODO #160 - bin/build-packages(line 21):
the following things need proper locking and/or proper handling of
external locks:
- `git` on the package source
- `archbuild` (e.g. /var/lib/archbuilds/staging-i686-build/root.lock)
- `find ... -exec umount` on the build chroot

TODO #161 - bin/build-packages(line 27):
releave some locking conditions - meta goal: be able to run multiple
build slaves on one host from within one archlinux32/builder repository

TODO #167 - bin/nit-picker(line 13):

- check for differences of dependencies between mysql and git
- check for differences of dependencies between mysql and packages
- check for installability of packages
- check if our packages are still available upstream
- complain about packages residing too long in [staging]/[testing]

TODO #170 - bin/return-assignment(line 972):
this makes sense for provide= entries in .PKGINFO, too

TODO #173 - bin/manage-fail-reasons(line 6):
deduplicate matching logic (with bin/return-assignment)

TODO #176 - bin/seed-build-list(line 19):
allow to reschedule filtered by architecture

TODO #177 - bin/seed-build-list(line 223):
translate lib32-* packages instead of ignoring them for -m

TODO #179 - bin/build-packages(line 896):
dependency-adding from make_source_info() should
be replicated here, somehow ...

TODO #180 - bin/seed-build-list(line 663):
this seems to be broken (deletes too few packages) - still valid
after implementing the correct blacklisting below?

TODO #181 - bin/get-assignment(line 323):
This is broken, it cannot work and probably never will do this way.

TODO #189 - bin/filter-build-logs(line 10):
remove hard-coded package suffixes

TODO #191 - bin/copy-to-build-support(line 12):
remove hard-coded package suffixes

TODO #192 - bin/seed-build-list(line 21):
remove hard-coded package suffixes

TODO #193 - bin/create-build-support-package(line 6):
remove hard-coded package suffixes

TODO #195 - bin/interpret-mail(line 8):
remove hard-coded default package suffixes

TODO #205 - bin/seed-build-list(line 23):
-a reschedules too many packages (for example, packages, that have just been rescheduled in a previous run)

TODO #207 - bin/get-package-updates(line 443):
sometimes we schedule the identical package twice (once "normal"
and once, because we found the deleted package elsewhere) - this could
be avoided

TODO #209 - lib/mysql-functions(line 506):
we might want to move packages of blacklisted architectures to
the deletion-list instead of the build-list

TODO #210 - bin/seed-build-list(line 25):
-a leaves the buildmaster in an unclean state (or is it when running get-package-updates afterwards?)

TODO #211 - bin/build-packages(line 30):
remove hard-coded package suffixes

TODO #212 - bin/create-build-support-package(line 8):
use the intention-queue

TODO #216 - bin/db-update(line 553):
sign repositories

TODO #218 - bin/build-packages(line 32):
save build-logs in case of success, too - only the build is
guaranteed to have been successful, maybe the package is broken.