RoadMap¶
2.0¶
Overall state: ‘Test && polish period’.
Milestones¶
New deb package layout: mini-buildd (the service), mini-buildd-utils (for users), python3-mini-buildd, mini-buildd-doc
Code migration to
python 3.Update to
django 2.2(minimal version).Switch to
twistedas http backend.Support secure data channels (HTTPS && SFTP).
API upgrade to json.
Event message queue.
Periodic task scheduler (cron, internal use).
Automated repository snasphots (weekly, monthly, yearly).
WEB UI rewrite.
2.0 will
be ‘upgrade-compatible’ with 1.0 (especially, there is no SQL scheme change).
not be run-time compatible with 1.0.
Upgrading from 1.0.x¶
Package upgrade¶
Your 1.0.x installation will typically run on a buster-based system.
You may simply dist-upgrade that system (to bullseye or rather bookworm) – just make sure the
mini-buildd package is never purged during that process.
Extra APT sources needed:
bookworm:Debian Backports (bookworm-backports)– available after Debian bookworm releasebullseye:Debian Backports (bullseye-backports-sloppy)– available after Debian bookworm release
Alternatively: buster-based upgrade¶
For convenience, it’s still possible to run 2.0.x under buster with some tweaks:
Extra APT sources needed:
Debian Backports(buster-backports)Hellfield Archive(buster-ab-stable) 3rd party
To upgrade, aptitude is imho the easiest way. Select the suggestion that de-installs py2 variants, and upgrades all the rest:
aptitude install mini-buildd/buster-ab-stable
Attention
[buster-based install] 500 Internal Error: [Errno 2] No such file or directory: 'S.gpg-agent.extra'
We see this error seemingly random on buster installations (w/ 2.2.27-1~bpo10+1) only so far.
Removing a very old left-over
~/.gnupg/gpg.confseem to have helped so far on an actual hostIn test suite / chroot, it usually pops up with profile ‘_all’
Never yet seen with default (no) profile or ‘_debian’
Post-install checklist¶
mini-builddcommand line arguments (dpkg-reconfigure) – see command ‘mini-buildd’--httpd-bindis now deprecated in favor of--http-endpoint--verbose,--quietare now deprecated in favor of--log-level. Also, giving none of these options now yields the recommended production log level (before--verbosewas default)--debugnow has some options removed (see man page). In general, never use it for production,--log-level=DEBUGshould be good enough
Decide if you want switch to
https/ftps: See Running encryptedDB field
Daemon.ftpd_bindnow also deprecates ‘non-endpoint’ notationDB field
Daemon.gnupg_keyserver: Please change to traditional keyserver (likekeyserver.ubuntu.com) to retain functionalityInspect/extend your setup, see API call setup (regenerate reprepro repositories will enable new
Contentsupport (else you need to wait for internal cron))Recommended to re-create all chroots – see API call ‘remake_chroots’, mini-buildd’s ‘builders’ page
File
~/.mini-buildd.pidis no longer used, and may be removed (unless you use a custom setup using the old initv start/stop script)In case you have a custom upload setup, you can now add a custom dput snippet for convenience – see API call ‘dput_conf’
In case you hate the autogenerated complicated “Origin” text, you may now customize it – see DB field
Daemon.extra_options
2.2 Brainstorm¶
New Features¶
Dependency check on package migration
Watcher support: Autoport and/or alarm on Debian Package Updates
Automatic SSH upload support, either by scripting the setup or integrating SSH w/ twisted
Make piuparts actually work (non-EXPERIMENTAL)
Cron: ccache expire
django¶
SQL schema migration: Get rid of all the workarounds in models just to stick to old schema.
Integrate CAS/SSO-like features (python3-django-casclient?)
Refactoring¶
gnupg: Switch completely to ‘python3-gpg’ (NOT ‘python3-gpgme’)
Archive: Rethink Archive::mbd_ping (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740576)
Repository¶
Release: Alternatives for NotAutomatic, ButAutomo…)?? Can we use more finegrained PRIOS on archives?
sid-test-wildwest: Add extra suite for arbitrary package (deb+src) installs?