mini-buildd (2.0.12) unstable; urgency=medium * [45003ae] cron.py (expire_builds): Rather should be daily, not weekly -- Stephan Sürken Mon, 12 Feb 2024 14:09:51 +0100 mini-buildd (2.0.11) unstable; urgency=medium [ Stephan Sürken ] * [77007f0] mini-buildd-ssh-uploader-command: Don't run SSH command in shell mode [ Gerhard A. Dittes ] * [535a13e] includes/events.html: fix illegal "alt" attribute -- Stephan Sürken Tue, 16 Jan 2024 14:24:23 +0100 mini-buildd (2.0.10) unstable; urgency=medium * [1312635] debian/po/sv.po: Update Swedish debconf translation. Thanks to Martin Bagge, Anders Jonsson (Closes: 1054279) * [4e446b4] models.py (PrioritySource): Make filterable (origin, codename) in admin interface -- Stephan Sürken Sun, 26 Nov 2023 13:42:30 +0100 mini-buildd (2.0.9) unstable; urgency=medium * [b6ed1c2] devel (mbd_api): Don't use --script-mode by default for API calls * [f52a753] models.py (Archive): Avoid unnecessary double '/' in release URL. Thanks to Magnus Holmgren (Closes: 1052459) * [b1e873d] modely.py,admin.py(django 4.2): pylint adaptions (for compatibility down to 2.2) * [a66467b] mini-buildd-self-signed-certificate (CN): Fall back to 'localhost' if ``hostname`` fails (Closes: 1052822) * [9c65b59] devel (tidy): Add exception for django 4.2 * [3bbcc56] dist.py (setup): Fix "broken" description for Ubuntu lunar (debootstrap, not debmirror) * [18ca477] dist.py: Add support for Ubuntu mantic * [eafe1fb] models.py (Chroot): Workaround: Be able to strap 'newer Ubuntus' with Debian's ``debootstrap`` * [8873fc7] devel (codespell): Adjustments for version 2.2.6: One actual typo fixed, added new exception -- Stephan Sürken Sun, 22 Oct 2023 10:48:13 +0200 mini-buildd (2.0.8) unstable; urgency=medium Assorted fixes ported from development [ Gerhard A. Dittes ] * [c787e3f] src/mini_buildd/templates/mini_buildd/includes/events.html: fix missing "list item" tags [ Stephan Sürken ] * [f3e1ea1] dir.html: Drop extra entry for "..": Redundant, and broke datatable's 'modified' sorting * [25c7449] manual/administrator.rst: Fix/update for "Logging and Debugging" section * [2a84007] api.py (Setup.report_load): Check for path existence (avoids unnecessary WARN log) * [bc49135] builders/index.html: Don't warn if remotes are nor re- checked -- rather note if they are * [fa6e222] models.py, reprepro.py: Fix rollbacks on migrate * [c79e2eb] changes.py: Fix buildrequests for orig-less uploads * [327f303] mini-buildd-api: Add --script-mode (force to be non- interactive) * [2341ce5] client.py (Client.api): Interact on any error && add interactive skip option -- Stephan Sürken Sun, 17 Sep 2023 17:02:25 +0200 mini-buildd (2.0.7) unstable; urgency=medium A couple of minor ported fixes [ Stephan Sürken ] * [b914c85] views.py (API): Error handling: Rather use BadRequest (not Unauthorized) when confirmation is missing [ Gerhard A. Dittes ] * [62696c6] src/mini_buildd/templates/mini_buildd/includes/tags/datatable.html: tune "anti flicker" workaround to actually work * [34c8bda] src/mini_buildd/templates/mini_buildd/includes/tags/datatable.html: slightly retweak "anti flicker" workaround [ Stephan Sürken ] * [5f4ff86] models.py (Builders): Add warning log on remote error (else possible error reason would not show up at all) * [8a0df5d] dist.py (Codename): Drop debug log when using codename sorting default (too much even for debug mode) -- Stephan Sürken Sat, 02 Sep 2023 16:46:49 +0200 mini-buildd (2.0.6) unstable; urgency=medium * [a442525] mini-buildd-ssh-uploader-command: Fix embarrassing typo (fixes: would run any user command) * [05a3039] mini-buildd-ssh-uploader-command: Make work for dput implementations that use multiple connections to copy files (like dput-ng/paramiko) -- Stephan Sürken Fri, 04 Aug 2023 13:25:09 +0200 mini-buildd (2.0.5) unstable; urgency=medium Ports (email) notification improvements from development branch: * [d8db8fb] models.py (Daemon.mbd_notify_event): Rewrite email notify code * [1cbf946] models.py, events.py (notify): (Re-)add textual email body with json as attachement * [319e453] models.py (notify): Send emails "From" Daemon's configured email address (fixes regression introduced in 3daee5ac) * [4be7b25] events.py (Event.isummary): Improve output for 'auto ports' -- Stephan Sürken Sat, 29 Jul 2023 12:18:14 +0200 mini-buildd (2.0.4) unstable; urgency=medium * [89c2547] api.py: Revive "output=plain" for API calls (on popular demand) * [db20990] events.py (Event.__str__): Add architecture to description * [ba22405] src/mini-buildd-ssh-setup: Make --help output work better with help2man * [2dc5247] src/mini-buildd-debootstrap-uname-2.6 (DESCRIPTION): Fix typo in description * [2887c10] changes.py (buildrequest): Add "Buildlog-Building|Installed" complete URLs (for convenience) * [3a6f47b] base.html: Move "Builders" back to _left_ main menu -- Stephan Sürken Mon, 17 Jul 2023 13:09:13 +0200 mini-buildd (2.0.3) unstable; urgency=medium [ Stephan Sürken ] * [778920c] src/mini-buildd-ssh-uploader-command: Allow dput via dput (bullseye and older) and dput-ng * [627b108] dist.py (lenny): Add "timeout" as extra chroot package (has it's own package in lenny) [we still don't get lenny to build though] * [3d90c65] api.py (Migrate): Extra doc to make clear we migrate *from* the given distribution * [0d80f85] manual/roadmap.rst (2.0.x): Upgrade checklist: Split (in admin/consumer sections) && add note about changed paths in keyring packages [ Gerhard A. Dittes ] * [d402342] src/mini_buildd/static/admin.css: make preformatted text distinguishable in "dark mode" [ Stephan Sürken ] * [d01d9a2] models.py (Daemon.mbd_notify_event): Fix (email) notify for non-raw (i.e., with name attached) ``EMailAddress``es -- Stephan Sürken Tue, 11 Jul 2023 16:44:51 +0200 mini-buildd (2.0.2) unstable; urgency=medium Mostly various minor Debian packaging and documentation fixups: * [c30a68d] manual/roadmap.rst (2.0.x upgrade checklist): Add hint for 'keyring packages' && make item order more 'practical' * [12871fb] debian/control (Multi-Arch): Make mini-buildd-doc Multi- Arch: foreign * [b6977df] debian/control (Standards-Version): Update to 4.4.1->4.6.2 (no changes needed) * [b2519ae] manual/roadmap.rst: Sync with master * [0275605] manual (sidebar): Improve and add "top" back link * [08d6186] manual/administrator.rst: Add FAQ && example config on how to run in systemd container * [dccbd88] debian/control (Depends): Double down on warning for reprepro 5.4 via dependency * [0ee22a3] models.py (Remote.mbd_check): Wake remote on check * [7498ef1] Move systemd container example to mini-buildd-utils * [bcc1e43] manual/administrator.rst: Minor text improvements * [e78c187] examples/mini-buildd/pin-sbuild-for-urold: Fix strange wording in comment * [a9b8be8] admin/mini_buildd.html: Drop bogus links to manual (category titles) -- Stephan Sürken Wed, 05 Jul 2023 09:39:32 +0200 mini-buildd (2.0.1) unstable; urgency=medium Fixes some non-reproducible usage (mini-buildd, *-dput) && minor post-release fixups: * [e659a70] debian/gbp.conf (debian-branch): Fixup to '2.0.x' * [e812c5e] mini-buildd-dput: Don't use build-time path for "--config"'s default value (fixes help && man page) * [eae1c9d] manual/roadmap.rst: Update "next labeling" after 2.0.0 release * [31bb735] manual/roadmap.rst (upgrade from 1.0.x): Fix: bullseye support will be via ``Hellfield Archive`` && minor improvements * [1ea5e7a] src/mini-buildd (usage): Don't use build host's FQDN in usage (Closes: 1039506) -- Stephan Sürken Tue, 27 Jun 2023 09:45:58 +0200 mini-buildd (2.0.0) unstable; urgency=medium Initial stable release. * Bug fix: "Not suitable for testing yet (due to outstanding migration tests)", thanks to absurd@debian.org; (Closes: #1026843). * Bug fix: "answering "never" to auto-setup is not honored", thanks to ydirson@free.fr; (Closes: #886128). (the 'auto-setup' script is gone) Updates setup's APT keys after bookworm release && various minor doc improvements. Details: * [7c87165] repositories/index.html: Add "sources_list" calls in top- level overview * [af341be] dist.py (bookworm release): Debian bookworm: Add bookworm- backports-sloppy * [c0ced49] dist.py (bookworm release): Add Debian trixie * [62558ef] views|models.py: Fix both calls to mbd_msg_exception(): Actually us a 'prefix str' (fixes slightly wrong formatted messages) * [41ac995] manual/administrator.rst: (Re)add example to manually list all signatures in a release file * [43184b3] manual (sphinx): Switch to 'alabaster' theme plus 'copybutton' * [354a4c3] manual/administrator.rst: Improve wording for other APT sosurces * [3750660] manual/*.rst: Consistent 'section newlines' for all documents * [05bfb95] manual/abstract.rst: Fix "about manual" section placing && add "admonition section" * [b9316e7] gnupg.py (gpgme_verify_release): Add (info) log for all signatures found in a release file * [b4030fe] dist.py: Add new bookworm APT keys * [f3c1b4f] dist.py (setup): Update APT keys for sid (bookworm release) * [638ead6] dist.py (setup): Update APT keys for trixie (bookworm release) * [5f5b5cf] dist.py (setup): Update APT keys for bookworm (bookworm release) * [d8d1d49] dist.py (setup): Update APT keys for bullseye (bookworm release) * [f84e0a1] dist.py (setup): Update APT keys for buster (bookworm release) * [b80e3af] dist.py (setup): Update APT keys for jessie (missing key) * [f73516e] manual/roadmap.rst: Add note to drop "test_packages" API call * [50e092a] manual/administrator.rst: Add attention note about reprepro 5.4 * [a6bf3d3] debian/control: Drop sphinx-copybutton (from 2.0.x): Not available in buster * [40f0d8c] manual/roadmap.rst: Add note to re-enable copybutton for 2.2.x -- Stephan Sürken Mon, 19 Jun 2023 16:26:42 +0200 mini-buildd (1.9.125) unstable; urgency=medium Summary: * Huge documentation update iteration (API,Manual). Release-ready * Web/HTML update iteration. Release-ready * Scheduled inspections: Stabilize implementation && make results persist - Update codeversions logic so inspections can also notify on releases (like bookworm ;) Details: * [f5519b8] models.py (Source): Make codeversion_override always be the guessed codeversion (and make codeversion editable) * [c82aa4b] api.py (Setup.__run.SourceInstance.diff): Add custom model diff for codeversion (get notification when rolling becomes stable) * [6b08ee8] builder.py (Builder): Cleanup and optimize builder 'stat' methods (queued(), running(), load()) * [32c685f] api.py/api_arg.html (doc/HTML): Add input syntax help per argument type * [28bbe95] api.py (_pimpdoc): Replace 'result_doc' _pimpdoc argument by RESULT_DESC class attribute * [c9686c4] api.py(doc): Drop _pimpdoc(), rather do all automatic injections in doc() * [e5f707c] api.py: Update all result descriptions to RESULT_DOC * [9e9f8e0] api.py (Calls): Be consistent in doc notation for all calls * [2589ebb] api.py (doc): Update calls status, dput_conf * [90b2538] api.py (Call.doc): Simplify && only inject result description if there is one * [f366f06] api.py (Call): Drop flag "CUSTOM_HTML_SNIPPET" (not used/needed any more) * [7521253] api.py (SourcesList): Doc proofreading fixes * [91378f4] src/mini_buildd/static/mini_buildd.css (body): Add standard margin/padding for span * [6d27c8e] api.py (SnapshotLs): Drop outdated result description (which does not really add information anyway) * [faf3d0d] api.py (UploadOptions): Indent upload option usage text (mitigates ugliness) * [0f45043] api.py (Retry, Cancel): Doc proofread fixes * [0677880] api.py (Port,PortExt): Doc proofread fixes * [50fbbf8] api.py (Debmirror): Doc proofread and update * [c4ecb98] manual: Add sphinx extension (example only for now) * [55746da] manual/*.rst: Consistently use new line on section start * [d4dbdaf] manual/*.rst: Bulk-reformat paragraphs for 120 char line length * [adf879a] manual/index.rst: Rather use order consumer->developer->administrator (somewhat like in API index page) * [f2f7f81] manual/administrator|consumer|developer.rst: Use "Introduction, Installation, Setup, Workflows" as top sections for all manuals * [2978fc3] manual/consumer.rst: Properly reorder sections * [158880a] manual/consumer.rst: Convert "multiple versions" section to note * [2b9d524] manual/developer.rst: Convert "reprepro symlink" section to error * [c261466] manual/administrator.rst: Re-order sections to new top level section lineup * [a265f66] manual/administrator.rst: Drop worklflow section "keyring and test packages" (we already have "Build Keyring Packages") * [fe6bdee] manual/administrator.rst: Bulk-drop superflous newlines * [4ec5591] manual/roadmap.rst: RoadMap -> Roadmap * [2438861] manual/roadmap.rst: Order versions "newest top" * [3bd64a6] manual/roadmap.rst: Move "migrate from 0.8.x" to roadmap * [571b1f8] manual/roadmap.rst: Simplify 2.2.x (next) issues list * [e6145a5] manual/roadmap.rst: Drop 'ccache expire' issue (ccache already limits and expires) * [0dcee1a] manual/roadmap.rst: Re-order and fixup issues for 2.2.x * [1f1a11f] manual/roadmap.rst: Make 2.0.x section "release ready" * [53baa31] manual/roadmap.rst: Label 2.2.x section 'next+' * [75fadea] manual/roadmap.rst: 2.2.x: Add reprepro 5.4 hint (multiple versions per distribution) * [594846d] manual/consumer.rst: Drop unnecessary attention for prio table * [ef45b66] manual/developer.rst: Move debbug link to title * [795bd29] manual/consumer.rst: Move debbug link to title * [def2085] manual/administrator.rst: Move debbug link to title * [c3ea29d] manual/administrator.rst: Move debbug link to title * [1cf5446] manual/administrator.rst: Move debbug link to title * [f8d01c0] manual/administrator.rst: Move debbug link to title * [1b8ba5b] mini-buildd-super-portext: Don't use 'attention' here (this is experimental, should not appear as issue in docs) * [b47a658] admin/mini_buildd.html: Drop (superflous/fixed) issue from template * [8859584] builtins.py (PlainFilter): Drop unused code line with attention (this won't come) * [e4b852e] builder.py (Build.__init__): Downgrade note on constructor to code-comment only * [65dcaba] api.py (KeyringPackages): "no apt-key support for urold" should be 'note' not 'tip' * [66f4527] manual/abstract.rst: Drop glossary (that does not seem to be very helpful) * [1df1bda] sphinx_ext_mini_buildd.py: Fix imports * [6049f47] *.py (doc/admonitions): Consistently put debbug last in title * [2d82da6] manual/administrator.rst (Introduction): Remove "not revised for 2.0" (no changes, but this should all still be valid) * [1c45c7a] manual/administrator.rst: Remove use of glossary terms (glossary has been removed) * [b4a09f3] api.py (admonition): Improve wording on qemu tip * [645bfeb] util.py (systemcert_workaround): python/SSL_CERTIFICATE admonition should be "note" not "tip" * [71dd3d3] manual/roadmap.rst (Upgrade from 1.0.x): Fix order of post- upgrade check list * [65e9497] manual: Move note on sbuildrc_snippet etc to roadmap's upgrade checklist * [bb1f799] manual/roadmap.rst Improve upgrade checklist * [55d045d] manual/administrator.rst: Improve section 'Handling of *ongoing* events' (make clear that uploads are now retried indefinitely) (Closes: 877144) * [a5cb6a0] mini_buildd.css (curstom margins): Add 'pre', drop 'span' * [9419e3c] api.py (inpection report user msg): Make clear this is from inspection run * [0ee18c5] config.py: Drop MAIN_MENU_LEFT|RIGHT (used nowhere else, should rather just be in HTML template) * [be10da4] includes/main_menu_item.html: Drop extra support for names setup, crontab (rather explicitly put them in base.html) * [0333c5b] includes/main_menu_item.html: Drop completely (in favor of explicit HTML menus in base.html) * [4ac18cd] builtins.py (mbd_menu_active): Add builtin to simplify menu HTML * [4d08271] mini_buildd.css: Drop superfluous '-body-' in some class names * [f2cb495] api.py (Setup.Report.severity_class): Fix class name when not run yet * [ba2556c] api.py (Setup.Report): Improve wording for severity texts * [3c6f9bc] api.py (Setup.Report.add_result): Move code to create report into Report class * [e82ad86] api.py (Setup.Report._add): Add support to persist setup inspection run (saved to ``var/log/inspect.json``) * [46c6fb1] base.html (main menu): Move "manual", "api" back ro tight menu * [046a54b] admin/mini_buildd.html: Improve wording for alive warning * [bf0d52c] admin/mini_buildd.html (setup): Add link resp. manual section * [dfb0f61] base.html (main menu): Add drop-down menu "browse" (directly access event, repositories, builds directory listings) * [4e62a43] base.html (main menu): Fixup order: Events, Repositories, Builds * [1cacbf1] base.html (user menu): Redo, w/o button, obsolete mbd_accounts extra builtin * [f20f229] base.html (main menu): Reorder and 'improve' * [d0a9458] mini_buildd.css: CSS fixes for drop-down menus * [85030ac] includes/events.html: Add browse links per event (events dir, builds dir) * [b2b7c31] base.html (main menu): Move "builders" to right menu * [bca6203] config.py: Drop "builds" view: Superfluous, "builds-dir" view basically does the same * [c7ef633] mini_buildd.css (suite colors): Add color for 'hotfix' && fix color for stable to blue * [6a65e9d] repositories/distribution.html: Add suite colors * [647b40f] devel, manual/administrator.rst: Release to version updates after bookworm release -- Stephan Sürken Sun, 11 Jun 2023 21:38:40 +0200 mini-buildd (1.9.124) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * Promote emacs support (from examples->actual installs to site-lisp) * Fix/update tooling to setup external 'SSH access' * Improve inspecting with API call 'setup' && do scheduled inspections Details: * [695d4b7] includes/events.html: Drop "rebuild" menu item (redundant && significantly slows down 'daily cake' events view on bigger repos) * [f092ff6] Promote emacs support from examples to proper installs to site-lisp * [cbdeb21] daemon.py (Stopped): Don't fail if restart fails (Fixes: maintenance calls with deactivated Daemon) * [2196dfd] src/mini-buildd-setup-ssh-access: Add admin tool to setup SSH access (user add/del support for now) * [8866288] src/mini-buildd-setup-ssh-access: Add support to auto- generated GPG key (per user) * [b542a0b] src/mini-buildd-setup-ssh-access: On --purge, kill all user processes 1st (avoids error with deluser) * [834deab] src/mini-buildd-setup-ssh-access: Add support to generate extra dput.cf (and add to mbd setup) * [a642f01] src/mini-buildd-setup-ssh-access (uploader): Add support to setup incoming dir * [55ef12e] src/mini-buildd-setup-ssh-access (uploader): Add support to generate initial authorized_key (with example line) * [6a0ae07] src/mini-buildd-setup-ssh-access (uploader): Add support to generate ~/.dput.cf * [7e45903] src/mini-buildd-setup-ssh-access: Add support to explicitly give an endpoint (defaulting to current hostname/http) * [8c5c05b] src/mini-buildd-setup-ssh-access: Get identity from endpoint (use for dput.cf) * [04d8663] src/mini-buildd-setup-ssh-access: Interactively ask to continue -- i.e., also in non-purge case * [d5df557] src/mini-buildd-setup-ssh-access (staff, admin): Add support to setup for plain python keyrings * [6a0be38] src/mini-buildd-setup-ssh-access (staff, admin): Add support to setup user password * [c8953d6] src/mini-buildd-setup-ssh-access: Generate GPG key for uploader only && auto-set key via m-b-api set_user_key * [18deef3] Improve naming: m-b-setup-ssh-access->m-b-ssh-setup * [13f2e99] src/mini-buildd-*: For all "bash tools", get tool name in usage automatically * [ad5b06c] src/mini-buildd-*: For all "bash tools", also accept "-h" to get help/usage * [0d1d28b] src/mini-buildd-ssh-uploader-command: Initial (sort-of working) code update/fix (greatly simplified) * [9a336a6] src/mini-buildd-ssh-uploader-command (CLI.runcli): Add check for original ssh command (give reasonable error on non sftp access) * [c34ac47] src/mini-buildd-ssh-uploader-command (CLI.runcli): Also log SSH_CONNECTION * [174eae2] src/mini-buildd-ssh-uploader-command: Serialize calls (via self-brewed filelock) * [777fd29] cli.py (auth_log): Completely drop 'auth_log hack' code * [5c28675] Rename ssh-client-command -> ssh-api-command * [a50a93d] src/mini-buildd-ssh-setup: Generalize authorized_keys "installer", and add for staff && admin as well * [70b0c8d] src/mini-buildd-ssh-setup (_install_authorized_key_example): Fix pub key part in example authorized_key file * [33b281c] src/mini-buildd-ssh-api-command: Drop (we can simply call m-b-api directly in command) * [e6cfbea] src/mini-buildd-ssh-setup (_setup_pk_plain): Fix/reword password store routine * [d32693a] src/mini-buildd-ssh-*: Update && merge docs in ``m-b-ssh- setup --help`` * [5554cfc] src/mini-buildd-ssh-setup: Drop saving user password for -uploader && update docs/notes && add cavet note * [a02f44e] src/mini-buildd-ssh-uploader-command (log): Simplify to just log one message (string) * [d8b408b] manual: Update "SSH access" docs in manual && drop thus last TODO * [498301a] builtins.py (mbd_dict_get): Add support for default value * [15cb8c7] main_menu_item.html: Use empty string as default value (avoids "None" as title if attention is unsupported) * [93d717d] api.py (Setup.__run._report_add): Generalize 'report item adding' * [90ab588] api.py (Setup): Drop extra "desc" from report item (instead, just use key as description) * [5c6aa35] api.py (Setup): Make "total instances" a proper report item * [7e7224f] api.py (Setup): Report: Add "overall severity" * [9f04c56] mini_buildd.css (:root): 'okay' should rather be greenish, like 'success' * [d21d6b5] api.py (Setup.Report): Improve/sanitize API call setup's 'report' code * [b80de3e] cron|daemon.py (cronjob_setup_inspect): Add 'inspecting' API call 'setup' to weekly cron (renames cron "check" -> "setup_inspect") * [4e113e3] api.py (Setup.Instance.Status): Use Enum for status (instead of just strings) * [10c9721] api.py (Setup.__run): Generalize reports based on instance status * [cf8266f] api.py (Setup.Instance.Status): Add checks FAILED, CHANGED (and accompanying cleanups) * [726600d] daemon.py, *: Drop all old-style "attention" code -- Stephan Sürken Mon, 29 May 2023 17:23:07 +0200 mini-buildd (1.9.123) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * Misc setup updates (bookworm, bullseye, xenial) * Fixes for use w/ apt-cacher-ng ("apt-get update stall", ping) Details: [ Stephan Sürken ] * [7d0a079] devel: Don't use --archives-from-proxy by default && update notes on 'apt-get update stalls' problem * [0c97cb6] dist.py (setup): Rename 'urold' flag back to 'broken' && add temporary 'broken' flag for Ubuntu lunar * [b287fd9] dist.py (setup): Add backports for bookworm * [3b7a53c] dist.py (setup): Add backports-sloppy to bullseye * [d77cad1] mini_buildd/base.html: Improve "Daemon stopped" message to actually tell when is maintenance being done * [426ac42] sbuild.py (apt-update): Use ``timeout`` on ``apt-get update`` (also works around mysterious apt client/parallel bug) * [6f33c36] examples (vsyscall-emulate.cfg): Drop "local-" prefix for this example * [49dc349] apt-parallel-bug: Add example script to repeat "apt-get update stall phenomena" * [512db34] manual/administrator.rst ('apt-get update stall' note): Downgrade to 'attention' (now has workaround) && update to newest findings * [cfdb44f] sbuild.py: Add comment why we use timeout on apt-update * [f02700e] models.py (Archive.mbd_ping): Drop trailing "/" on ping (problems with newer apt-cacher-ng) [ Gerhard A. Dittes ] * [286dc2a] Enhance Debian changelog mode extension [ Stephan Sürken ] * [2e6fae7] sbuild.py (apt-update): Drop ``--verbose`` from ``timeout`` call (to be compatible with urold coreutils) * [949581c] dist.py (setup): Ubuntu xenial: Should use ``apt-key-add`` sbuild block * [3d9dcf6] sbuild.py (apt-update): Tweak timeout times && re-add sleep -- Stephan Sürken Sun, 14 May 2023 07:16:28 +0200 mini-buildd (1.9.122) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * Make production log more readable * Web: Make start/stop (was: power) interface simpler * Web: Improve API call result design * Fix long-standing caveat 'No error handling for ftpd startup errors' * Misc smaller cleanups && doc updates Summary: [ Gerhard A. Dittes ] * [a4e9ed7] examples/mini-buildd-utils/mini-buildd.el (mini-buildd- debian-changelog-mode-hook): rename submenu to improve consistency * [e067813] examples/mini-buildd-utils/mini-buildd.el (mini-buildd- debian-changelog-mode-hook): add separator to improve clarity * [af1e3ed] examples/mini-buildd-utils/mini-buildd.el (mini-buildd- debian-changelog-mode-hook): append dots to menu entries which require further action * [f9aa238] examples/mini-buildd-utils/mini-buildd.el (mini-buildd- debian-changelog-mode-hook): combine "ignore items" into submenu to improve usability [ Stephan Sürken ] * [1bd8e43] manual/roadmap.rst: 1.0.x done: setup testing * [17dd0ee] models.py (StatusModel.Admin.mbd_check): code style: Error handling 1st * [405467f] models.py (KeyringKey): Drop this (obsoleted) abstract class * [908b714] sbuild.py (sbuild setup blocks): Add notes on placing for some blocks * [9db09a5] repositories/index.html: Use datatables for top view as well * [93b07ca] views.py (RepositoriesView.setup): Use separate templates for repo overview / dist view * [15eebd4] repositories/distribution.html: Customize for distribution view (fixes misleading title/header) * [47315f1] includes/popup.html: Fixup indent (cosmetic) * [c079ceb] includes/popup.html: Simplify API popup (one menu only) * [cf89bfd] includes/api/*.html: Drop all "trivial" custom API call templates * [5f55424] includes/api/list.html: Drop (this API call has been removed a while ago) * [b608a3a] api.py (Start): Replace 'Power' with 'Start', 'Stop' * [19096c4] daemon.py (Daemon.mbd_start): Fail if Daemon instance is deactivated (instead of just ignoring) * [4dea367] static/mini_buildd.js: Do location.reload() after successful ``start`` and ``stop`` calls * [008d6b5] ftpd.py (FtpD.run): Drop hiding/ignoring ftpd_options parse errors * [a5b29c8] ftpd.py (FtpD): Add extra bind() method (run before thread run). Fixes ftpd startup error handling * [3ff9ea5] threads.py (Thread): Update thread code for consistent thread start/stop logs * [51e3c94] twisted+pyftpd: Only bend resp. logging to ours if --log- level=DEBUG * [d986d97] threads.py (Thread.run): Cleanup log text * [6b0f81c] cli.py (logging): Only use one (simplified) format * [e68984d] *.py: Bulk-downgrade a number of log lines to debug (don't clutter a production log) * [eb75da8] httpd.py (HttpD.__init__): Make name of thread be the URL(s) of endpoint(s) (like for ftpd) * [5463b1d] daemon.py (Daemon.__init__): Make name of thread str(Model) && drop extra str(Daemon) * [a6fe39d] builder.py: Drop thread names for Uploader, Packager, (Cron)Tab * [eaacb9d] builder.py (Build.__str__): Drop: Unused, confusing * [dc18519] builder.py (Build.__init__): Only use build key as thread name * [a7a4a46] builder.py (Builder.__init__): Add useful info in thread name && drop extra __str__() * [85a1d29] threads.py (log, exceptions): Update wording and levels * [7f2acda] static/mini_buildd.js: Fix position of hidden class removal (Fixes ongoing not showing regression) * [e813a92] *.py(doc): Bulk-drop all (remaining) trailing '.' in exception strings (just for consistency) * [5d44467] *.py(doc): Bulk-drop all remaining trailing '.' for all python code documentation titles (just for consistency) * [653b900] *.py: Bulk-drop remaining trailing '.' from annotation titles (just for consistency) * [f2739c8] dist.py: Add Ubuntu lunar 23.04 * [24c528a] api.py: Fix sphinx error with pimpdoc * [723c19f] util.py, view.py (Versions): Pimp up && use as django context (replacing mbd-only ``mbd.version`` context) * [10281a8] devel (testsuite-packages): Do package removal (to assure idem potence) before (not after) the actual test -- Stephan Sürken Sun, 23 Apr 2023 17:45:37 +0200 mini-buildd (1.9.121) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * Consolidate && update docs on internal 'sbuild config|setup blocks' * More testing && doc for urold support (<= squeeze) * More migration testing, docs and fixes * [dde0f14] sbuild.py: Drop sbuild (auto) config block 'no-apt-update' in favor of '--no-apt-update' sbuild option * [1f37926] sbuild.py: Internal/cosmetic: Avoid extra space for BASH_VARS * [36ab36c] sbuild.py(setup blocks: Merge 'apt-setup-https' into 'apt- setup' * [50797df] *.py (sbuild config|setup blocks): Drop '-Top' variant. Ordered list instead with (hardcoded) default && no automatic entries * [015cb68] sbuild.py (apt-setup): Copy https cert only if exists and non-empty * [caf044c] dist.py(style): Bulk-fix multiline notation * [96f7271] models.py: Fixup doc on Distrubtion's extra options * [fb271cd] sbuild.py: Update block docs && order * [82ea8d9] sbuild.py (SetupBlocks.configure): Drop Dir.add_dir (now honors order of given setup blocks) * [2a07948] dist.py: Minimize workrounds needed for wheezy, jessie * [e37acf5] sbuild.py (setup blocks): Don't use 'show-sbuildrc' by default * [ee3645c] share/package-templates/mbd-test-cpp/debian/rules: Add workaround to make it build for squeeze * [2c3a415] examples/mini-buildd/pin-sbuild-for-urold: Add APT preferences example -- pin sbuild for urold support * [13f08bb] dist.py (squeeze): Add 'squeeze-lts' source * [b2f3f24] dist.py: Setup updates and hints for (broken) urold: squeezy, lenny, trusty * [6089f48] manual/administrator.rst: Add doc/hints how to possibly re- enable squeeze builds * [56a36ea] sbuild.py(doc): Improve desc for eatmydata setup block * [f529f05] manual/roadmap.rst (Upgrading from 1.0.x): Restructure && update * [dffcd37] manual/roadmap.rst (upgrade): Drop 'sudoers workaround' explanation (already covered in schroot.py) * [91f5fc2] manual/roadmap.rst: Move version scheme changes docs to administrators manual (as versionchanged for Source) * [97d21c8] manual/roadmap.rst: post install hints->checklist, update && simplify * [d737308] manual/administrator.rst: Update "Remotes" doc, hint to new WOL support (and declare this todo done in roadmap) * [a292ba4] manual/roadmap.rst: Update checklist notation && references * [cdc215e] manual/roadmap.rst (Alternatively): Sub section for buster option * [bc549c0] manual/roadmap.rst: Drop 2.2 "Setup" brainstorm notes (that's already done in 2.0) * [ae68f3c] api.py (Setup.Instance.diff): Exclude deprecated "smtp_server" field * [558545f] api.py (Setup.Instance.diff): Explicitly "unexclude" 'sbuildrc_snippet' and 'chroot_setup_script' (even if target is empty) * [dbc0137] manual/administrator.rst (Distribution): Add "versionadded" hint for Sbuild (Config|Setup) Blocks * [d21bb4f] manual/administrator.rst: Update and sync "API call setup" section * [f867f79] reprepro.py (Reprepro._del_snapshot): Fix (reprepro) snapshot removal when distro is removed from repo * [42286a4] files.py (SourcesList.get): Assure sources.list has a final newline (mostly cosmetic) * [f4c9dbd] api.py (Setup.__run.DistributionInstance.diff): Fix: Use designated method, don't get components manually from SETUP * [d74de06] dist.py(SETUP): Rename "default_components"->"components" * [a568e5d] dist.py(SETUP): Add component "non-free-firmware" as default for vendor Debian (exceptions for older releases) * [579c74a] files.py (AptLine): Fix: Drop obsoleted sorting of given components * [81af97c] models.py (Component): Drop ordering support * [f1aa205] dist.py: Add convenience order support for (str based) component lists * [48106a4] models.py (apt lines): Update to use sorted (str-based) component lists where needed * [b678eaf] devel (profiles): Rename broken -> urold * [7ec2dce] dist.py (SETUP): Rename "broken" -> "urold" (they may still work with tweaks) * [09378d9] dist.py (codename sorting): Simplify/harden code. Makes it work for pre-single-number release versions (<=squeeze) * [b3d3eb6] dist.py (devel): Updates to __main__ test code -- Stephan Sürken Sun, 09 Apr 2023 13:45:25 +0200 mini-buildd (1.9.120) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * More misc testing, docs and fixes * [618d04f] net.py (ClientEndpoint.__init__): Fix port parsing to make work for raw IPv6 notation * [0ddce9a] views.py (API): Log caller's IP address on API call (Closes: 933703) * [289c59a] manual/administrator.rst: Document how to manually deal with failing Sources due missing/wrong APT keys (Closes: 931732) * [59b5cef] dist.py: Fix 'syntax typo' in lenny setup * [98ed733] sbuild.py(apt-update): Use "exit", not "return" (old variants of bash don't support return from script) * [b08095e] sbuild.py (sbuild setup blocks): apt-urold->apt-(force- yes|no-cache|no-pipelining) && generalize APT option scripts * [cf6cdb8] files.py (Path.expire): Fix glob to only expire dirs _below_ the path (Fixes: expire jobs may remove skeleton paths) * [87b97b7] models.py (Distribution): Deprecate 'apt_allow_unauthenticated' field (just use resp. setup block) -- Stephan Sürken Sun, 02 Apr 2023 19:47:57 +0200 mini-buildd (1.9.119) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * More testing, docs and fixes on the setup system Details: * [3bff244] api|models.py: Bulk-fix: Consistent notation for multiline strings * [c0ce751] manual/administrator.rst: Update structure for Setup section * [38bbdea] manual/administrator.rst (Setup): Abstract doc, more structural change * [a904f03] api.py (Setup): Generalize "report" in json result * [307efdf] api/setup.html: Add auto-selector (via js) for values from report * [69927b4] api/setup.html: Use one table_id var * [1b82768] api/base.html: Drop extra section for result * [2071854] api/setup.html: Improve layout: Report && Instances sections with resp. title * [302c5e3] api.py (Setup): Add reports for "deactivated" and "missing" * [f9fa6d8] models.py (GnuPGPublicKey.mbd_key_id): Add (compat) helper to get key_id * [f1f57e8] api.py (Setup.__run.SourceInstance.diff): APT keys diff: Fix false-positive for unprepared keys * [8ff4060] manual/administrator.rst: Update "Bootstrap" section * [2895006] manual/administrator.rst (Setup): Add contents for "Update", "Extend" sections * [0c9d134] manual/administrator.rst: Re-use old generic part as 'Introduction'; add some "not revised" warnings * [7261f76] models.py (Builders): Only consider active builders (don't wake explicitly deactivated remotes (or show in builders/)) * [614e1d2] manual/administrator.rst (squeeze HTTPS error): Small text correction * [1dfe18d] manual/administrator.rst (apt-update stall phenomena): Update with some new test findings * [9d33a01] api.py (Setup.Instance.diff): Don't create diff for non- existing object (now hinted by 'missing' report) * [f9b2c66] debian/changelog [internal]: Temporary (bigger) entry for snapshot version schema update for internal snapshots * [7a4ecff] models.py (Model.save): Drop save override (used to trigger full_clean()) * [bf6e5f4] models.py (help texts): Drop some 'actual field name ghosting' using 'verbose_name' (generally confusing && user can't identify ``setup`` diff fields) * [53f2707] config.py: Slightly re-order main menus * [a596b1e] api.py: Simplify bootstrap (manual & web) * [4448544] builtins.py (mbd_api): Bugfix: Wrong variable used in error string * [291d52d] api.py (Setup): Presets 'inspect' (was 'check'), 'extend' (new) * [0e854cd] api.py (Setup.iarguments): Add generic ``--from-origins`` option -- Stephan Sürken Sun, 12 Mar 2023 21:18:11 +0100 mini-buildd (1.9.118) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * Internal python package restructure * More testing accompanied by misc fixes Details: * [4390927] devel (mbd_codenames): Fix mbd-api call syntax (re-enables 'internal port' testsuite tests) * [84c91cd] api.py (_ExtendAction): (ListArgument): Simplify && add workaround for https://github.com/python/cpython/issues/60603 * [8f799e2] api.py (RemakeChroots): Simplify, don't use mbd_actions && add some useful (json) results * [1db9dc5] models/base.py (StatusModel.Admin): Actions: Rather use 'modeladmin', not 'self' as 1st argument for actions * [39661e8] models/base.py (StatusModel.Admin.mbd_actions): Drop mbd_actions() * [543b6fc] models/base.py (StatusModel.Admin.mbd_action): Give action func directly instead of string * [b865b1e] includes/popup.html: Add title hints for keycodes (Reload=f5, Close=ESC) * [9420071] webapp.py (WebApp.remove_system_artifacts): Fixup: Use mdls() implicit importer && don't use admin actions * [8150e4a] cron.py (Tab.cronjob_check): Fixup: Don't use admin actions && move code to crontab * [61fabad] models/base.py (StatusModel.Admin): Add class methods (non- action) for pc, pca * [7feb377] api.py (Setup.Instance): Fixup 'pca': Don't use admin action (but mbd_pca class method) && add error handling * [a13ffb6] models/base.py (StatusModel.Admin): Use pc, pca class methods in resp. admin actions * [e624f9a] packager.py (Packager.run_event): Add missing exception log on REJECTED * [1f5f1f0] *.py (refac): Update python package structure && import convention * [ec0cc24] devel (mbd_pyrpl): Add helper * [7d201f7] *.py: Bulk fix a handful of cases where non 'util.HTTP*' exceptions were raised ([pylint 2.16.2] fixes 'broad-exception- raised') * [285bdeb] models.py: [pylint 2.16.2] Bulk-fix new (correct) warnings 'superflous-parens' * [da601e0] api/base|default.html: Minor improvements * [5e544d2] cron.py (Tab.cronjob_retry_uploads): Move "run-maintenance" to (minutely) cron job * [689f178] cron.py (Type): Add support for HOURLY jobs && make 'upload retry' job hourly (not minutely) * [21fd80a] api.py (Retry._run): Fix: Make also work for REJECTED events * [075f789] devel (profiles): Drop codespell check for buster * [4f36632] files.py: Bugfix: Drop pydoctest on dev-local files * [35b2a2a] devel (pydoctests): Run on *all* detected python scripts (was only m-b, m-b-api) * [c38c64e] debian/rules (override_dh_auto_test): Run ``./devel pydoctests`` as package test * [1b6671e] mini-buildd-super-portext: Fix doctests for BuildDep (unicode str, class path) * [48801ce] All py scripts: Bulk-protect to only run on ``__name__ == __main__`` * [eb28705] devel (pydoctests): Workaround for doctests in scripts * [a94cb58] models.py (Daemon): Allow starting even if FQDN of system is not configured (thanks to Lena Voytek for the patch) * [f78fff7] debian/po/de.po: Add translations for de, es, nl, pt (thx to all contributors!) (Closes: #1028241, #1028385, #1029029, #1029713) * [e134151] devel (testsuite packages): Fix mini 'typo' in comment * [80c0a02] util.py (Versions): Add utility for component versions * [7634eb2] models.py(EMailValidator): Compatibility for django < 3.2 * [1413d81] devel (testsuite-packages): installed-port: Port for released only (bullseye, buster) && skip non-working check on rebuild * [552b224] package.py (upload_template_package): Fix return value on error * [7214272] sbuild.py: Harden setup scripts code on path computing (using realpath) * [77e8d45] sbuild.py (apt-update): Add retry functionality for rare "File has unexpected size" error && document in adminstartors manual -- Stephan Sürken Tue, 07 Mar 2023 11:47:09 +0100 mini-buildd (1.9.117) unstable; urgency=medium [@release team: This is NOT for bookworm; pseudo bug is in place to keep mini-buildd in unstable.] Summary: * Another evolution of the 'setup system' * Misc fixes from some migration tests * Fixes/improvemts for remote building (Builders) * Improvements for the 'emacs cl mode' example (mr -- thx Gerhard) [ Gerhard A. Dittes ] * [6544e06] examples/mini-buildd-utils/mini-buildd.el: move to changelog menu * [f6bf1bd] examples/mini-buildd-utils/mini-buildd.el: separate from other menu items * [febf25f] examples/mini-buildd-utils/mini-buildd.el: be smart (, "always"!) * [31b60f3] examples/mini-buildd-utils/mini-buildd.el: homogenize menu definitions * [166cfa9] examples/mini-buildd-utils/mini-buildd.el: comply with "Emacs Lisp Coding Conventions" * [712e683] examples/mini-buildd-utils/mini-buildd.el: prevent redundant information * [ad92802] examples/mini-buildd-utils/mini-buildd.el: fix typo (auto- ports parameter) * [291503d] examples/mini-buildd-utils/mini-buildd.el: fix momentous typo * [d58cc66] examples/mini-buildd-utils/mini-buildd.el: some more reasonable variable naming * [411a384] examples/mini-buildd-utils/mini-buildd.el: prefer strings over symbols * [9bf9482] examples/mini-buildd-utils/mini-buildd.el: add some variable/function documentation (& make 'mbd-distributions' extensible) [ Stephan Sürken ] * [fa598e7] api.py (Setup.iarguments): --repositories: Fix notation/logic have [/] (not [/ __setup, __run (also fixes some pylint codestyle complaints) * [6a60628] api.py (Setup): (setup dict) Update all use of ``set`` to ``list`` (fixes order, makes setup dict JSON-serializable) * [3067616] devel (snapshot): Fix: sources_list check should be limited to "test" repository * [30a2aa8] api.py (Setup): Add separate --distributions arg (instead of combining w/ --repositories) * [31894ab] api.py (Setup.preset_current): Fixup chroots "current setup" * [e50c61d] api.py (Setup.Dists): Cleanup: Construct from iterable && drop separator * [2075dd5] tags/api_arg.html: Drop prefixing argument name to doc (duplication/cluttering only) * [3616c4f] api.py (ListArgument/argparse): Add custom argparse 'extend' action (fixes: Only last given values of '--list' options would be used if given multiple times) * [1eedf7a] src/mini-buildd (doc): --http-endpoint: Clear up wording (option itself may not be given multiple times) * [e84bb7b] devel (profiles): Update pureos setup * [12ef2ed] devel (testsuite): Add profiles '_arm64', '_repos' * [3d7def3] python3-mini-buildd.links: Switch Numix icon theme dir from 48->32 (since numix-icon-theme 0~20230112-1, 48/ is not complete) * [b893d97] api.py (Setup.iarguments): Drop '--save' option (including all support to auto save/retrieve from pickled_data) * [d718d43] api.py (Setup._preset): Drop '--update=all' from (Debian,Ubuntu) presets * [2d79c9b] api.py (Setup): Drop --sources-from-origin-with-lts|all in favor of :lts|all notation * [83b9799] api.py (Setup.iarguments): --chroots-from-distributions -> --chroots-from-sources (makes it suitable for builder-only hosts) * [9eedb47] api.py (Setup.iarguments): Misc argument docs fixups * [490d098] dist.py (refac): Make CODENAMES dict of Codenames (not setup) * [b477ef2] dist.py(refac): Drop CODENAMES global * [45382dd] api|dist.py (refac): codename selector: Move to dists and simplify * [4cea9d2] api.py (Setup._check_codenames): Drop (projected: should just go with a defaults) * [c44eddc] dist.py (di_codenames): Add support to get all codenames known to distro-info * [66176d0] api.py (Setup): Fix: Provide empty list if no 'apt_keys' setup found, not None * [dea8d1d] dist.py (Codename): Initially support a default setup * [cdb572c] api.py (Setup.__run.LayoutInstance.update): Remove some left-over debug logs * [fec5ea7] api.py (Setup.__run.SourceInstance.update): Skip clearing apt_keys list, always, use 'Instance', simplify * [a9d5a39] api.py (Setup.__run): Layout: Always use 'Instance', simplify * [dd6d3c2] api.py (Setup.Instance.diff): Model diff: Skip field if Model's default is the empty string * [394f583] misc.py (mdget): Add special "dict get" helper * [ccd1c3b] dist.py (Codename): Add setup_* methods to retrieve data from setup; updates && fixes for Sources+Distribution+Chroot * [f9e7fb9] views.py (ExceptionMiddleware): Fix incorrect 'error' call (fixes error response for django http errors) * [b82a475] devel (profiles): Make '_debug' only raise log level; add '_debug_full' to enable all the extra debug modes * [4171105] repository.py (Repository._mbd_package_migrate): Bugfix: Avoid repeated 'migration' when called w/o explicit version * [6312148] api.py (Setup): Don't force 'Daemon start' after running * [1a2731d] api.py: Add _Maintenance MixIn (lock && stop daemon), use for both Setup and RemakeChroots * [cca14f0] api.py (Setup): Add report counts for total setup+model diffs * [050c3dc] models/distribution.py (Distribution.__str__): Doc 'multiple distributions fluke' && add 'id' to make distinguishable for the user * [410bea6] api.py (Setup): Add preliminary-check: Fail on 'multiple Distributions fluke' * [1a5bd36] api.py (Setup): Update preset handling * [7d37ec9] index.html, base.html: Move 'power' API call to main menu * [d275a8d] models/daemon.py (Daemon): Don't 'power on' on activation * [4c80a32] base|index|admin.html: Improved visualization && info for power state * [277fb1d] api.py: Add "test" repository for (Debian,Ubuntu) presets * [525b2ca] api.py (doc): Update all argument doc strings to consistently start capitalized * [46a2dbb] devel (profiles): Better profile names for remote test setup * [304758c] builders/index.html: Cleanup/simplify builders view * [b757da9] models/gnupg.py (Remote.mbd_check): Not in remote status: Choose slightly better exception wording * [5eaf1c8] models/gnupg.py (Builders): Fix wrong call of mbd_check() (&& simplify and document) (fixes building on remotes) * [7f237a5] api.py (Wake): Change authorization: _Admin->_Staff * [c2a2c78] models/gnupg.py (Remote): Don't implicitly wake on check; instead, wake optionally for Builders instance * [e6d036b] views.py (BuildersView): Automatically re-check remotes if staff user is logged in * [51a7f7e] api/*.html: Add custom HTML for power,cancel and retry API calls * [7126427] sbuild.py (SBuild.cancel): Improve: Add PID to logs, add smart wait after terminate && kill as last resort * [20b144f] models/*.py: Fixup all usages of obj.id -> obj.pk ('id' is only available if model has a primary key field) * [a5a02c7] api.py (Call.set_args): Drop debug logs per arg (way too chatty, rather breaks debugging) * [95d025a] api.py (Setup.Instance._get_obj): Add support to define custom getter * [7ee27be] api.py (Setup.Instance.diff): Add function doc * [83b1017] api.py (Setup): Add custom AptKeyInstance: Support old short keys in getter; always update 'key_id' (8) to 'long key id' (16) * [33f084f] models/gnupg.py (GnuPGPublicKey.mbd_prepare): Always implicitly update key_id to key_long_id * [968d865] api.py (Setup.Instance): On update, set fields directly to obj instead of QuerySet.update() * [00aef08] api.py (SourceInstance): Do AptKeyInstances outside of update() && clear apt_keys again on update * [2c78bf8] api.py (Setup.Instance): Replace updated,created,pca individual bool values by list of actions * [a8e64c1] api.py (Setup): Distribution: Move PrioritySource, Components outside of update() * [0813365] api.py (Setup, DistributionInstance.update): Bugfix: Move "archall fixer" code out of architecture loop * [6594e85] includes/api/show.html: Use predictable datatable id (keeps search setting per source) * [738b9f2] mini-buildd-backup (--restore): Create mini-buildd user, fail if exists * [9d68a03] api.py (Setup --sources): Fix: Don't force only setup-known codenames (we now have defaults) * [bde2f91] manual/roadmap.rst: Add preliminary note about --debug * [69f3297] api.py (Setup --pca): Always call with 'check' forced * [dacedf6] sbuild.py (SBuild.run): Add LOG.info on sbuild start -- Stephan Sürken Sun, 19 Feb 2023 14:17:14 +0100 mini-buildd (1.9.116) unstable; urgency=medium Summary: * More HTML/usability updates * Improvements to new setup system Details: * [402dd6c] views.py: Pimp default "Events" limit to 40 * [d8c5fe7] dist.py (Codename): Bugfix: Account for that 'release' from DistroInfo may be None * [a26c5fc] api.py (Setup.setup_repositories): Don't fail (just skip) if there is an existing (source) instance we have no setup for * [4986b0c] models/base.py (Model.mbd_diff): Add exception log when not comparable (this rather is a bug) * [d04078d] models/base.py: Better name mbd_message->mbd_msg_exception * [c7c71bb] models/base.py: Add mbd_msg generic function && also use for non-error messages * [a75d812] includes/messages.html: Don't show all messages directly (hide in
tag) * [a882e81] api.py (Setup.setup_repositories): Notation fix: Add custom extra_options directly * [b4b34ab] api.py (Setup.get_or_none): Add helper function * [f18044b] models/base.py (Model.mbd_diff): Allow compared obj to be None * [e38f92f] api.py (Setup.x_or_create): refactor, only change (including create) on --update && allow obj=None * [b96b40b] api.py (Setup): Some fixes to deal with obj=None * [6a0f3f6] models/base.py: Rather use decorators to set action descriptions * [0e88968] models/base.py: Admin actions: Fixup code order for PC, PCA * [b456f47] models/base.py: Update mbd_msg (django) to also log * [7cc6d57] models/base.py (StatusModel).Admin: Add mbd_pca() helper * [e882ac4] api.py (Setup.x_or_create): Add "dynamic update" support * [45c8047] src/mini_buildd/api.py: Add dynamic update function for Source * [3c9032a] api.py: Add dynamic update function for Distribution * [61dfdf5] api.py: Add dynamic update function for Repository * [e78fc26] api.py: Drop mbd_pca_all() * [204be70] api.py: Divide setup_repositories (+ *_layouts, *_distributions) * [4467744] api.py (sources, chroot, distributions): Refactor, iterate args (not existing instances) * [79db4f9] api.py(setup): Minor code cleanups * [4326169] api/setup.html: Show primary key in summary * [11e8c34] api.py (Setup.x_or_create): Add to diff when dynamic update fails (instead of failing) * [18abbb9] api.py (Setup.x_or_create): diff: If there is no existing instance, use kwargs as key * [0cb221b] api.py (Setup.setup_chroots): Don't fail if resp. Source cannot be found (rather add error to result) * [b2f2af9] api.py (Setup.setup_distributions): Don't fail if resp. Source does not exists * [281be23] builtins.py (mbd_api): Fix argument setting when called with command instance * [2ab4643] api.py (Call.*command_line): Add support to arbitrarily exclude options * [913b4c9] api.py (Setup.run): Exclude '--save' and '--update' in saved setup command line * [678e86c] api.py (Setup.Instance): Update to use Instance class (refactor) * [e2e6754] api.py (Setup): Move ``get_or_none`` helper to Base model ``mbd_get_or_none`` * [71ef0e6] api.py /refac): Replace ``x_or_create`` helper by ``Instance.run`` * [b7571b2] api.py (Setup.Instance): Add call instance as class variable * [5526347] api.py (Setup): (refac) Drop update_args * [2043caa] api.py (Setup): (refac) update() via inheritance * [14d9911] models/base.py (StatusModel): Revert action decorators back to monkey patching (only for django 3.2+) * [9115b09] devel: Add convenience profile '_debian_all' * [10923fb] control (mini-buildd): Drop dependency on lsb-base (now empty compat package only -- fixes lintian error) * [6b6de84] control (*-utils: Recommends): Add lsb-release (used in m-b- bootstrap-apt) * [9f97dac] devel (mbd_installdeps): Add lsb-release (used early in devel) * [d2e8ae4] api.py (Setup.Instance.__init__): Add identity && identity_hash * [efa7dbb] api.py (Setup): Change argument '--update' from bool->str ("", "all", ",..") * [1a4de5d] api.py (Setup.setup_chroots): (refac) Simplify loop * [04559a5] models/base.py, api.py: Move Model.mbd_diff() to Instance.diff() * [4e3ce55] api.py (Setup.Instance.diff): Fix: Instantiate default (compare) object from kwargs as well * [9e15ec9] models/base.py (Model): Add helper mbd_get_fields() (encapsulating django's _meta.get_fields()) * [7ff3c42] api.py (Setup.Instance.diff): Update: Diff (nearly) all model fields && distinguish diff against setup && (model) default * [0ae9e4e] api.py (Setup.Instance.__init__): Make 'defaults' non- optional * [497c0c4] models/repository|source.py: Fix get_apt_line() to feed AptLine only the *name* of components, not the objects themselves * [dff240c] models/*.py: Sync all '__str__()' of models to make them more consistent * [6aad6ac] api.py (Handshake.run): Rather run log_exception on error (make log-debugging possible) * [766137a] dist.py: SETUP: Move (suite) rollbacks into layout * [84b1791] models/distribution.py(SuiteOptionInline) Fix: Show 'extra_options' (for rollback) * [5b7ef1a] api.py (Setup.Instance): (refac) Proper naming (kwargs->identifiers, defaults->options, model_class->model) * [72c57c9] dist.py: Replace 'needs_uname_26' by 'chroot_options' * [584dae5] dist.py: Update SetupSources or "identifiers, options" * [62cda28] models/distribution.py (Distribution.__init__): Add constructor to set default for "extra_options" * [e5499d2] dist.py: Cleanup Distribution options * [b315d76] dist.py: Fixup format for distribution and chroot options * [da44f48] dist.py (SETUP): Update, simplify and consolidate notation * [32bfcd5] dist.py (SETUP): Consistently add trailing newline for "extra_options" * [0094c5a] dist.py: Cleanup/simplify sbuild import * [7deac6f] api.py (Setup.run): Protect from being run in parallel * [705f963] api.py (Setup.setup_chroots): Simplify && create Architecture object if needed * [bfe9817] api.py (Setup): Diversify --update -> --update, --pca * [755518a] api/setup.html: Improve layout && add calls to 'update, pca, update+pca' global && for each instance * [c01f519] api.py (Setup.Instance.__init__): Simplify notation, add debug log * [d2edbea] api.py (Setup._setup): Simplify code to have one _setup() method only * [8501f4a] api.py (Setup._check_codenames): Add pre-check for (given) codenames with no setup * [fd4b11f] devel (changelog): Prefix '.dev' to snapshot (timestamp) version (PEP 440) * [bc6d254] setup.py: Convert version to be PEP 440 compatible (fixes error w/ p-setuptools 66) * [e883200] api.py (Setup._setup): PrioSource: Fix location of instance generation (i.e., should not be in apt_keys loop) * [3a47f2f] api.py (Setup.Instance): Simplify, drop superfluous run() * [d8c7405] api.py (Setup._setup.SourceInstance.diff): Add 'dynamic' diff for "apt_keys" * [fd774f3] mini_buildd.css (nav>ul>li:hover>ul): Make login menu text align to right * [7125510] api/setup.html: Fixup instance description && status display * [e1dc5e8] api/setup.html: Switch to use datatables to display instances * [74bd65f] api.py (Setup.Instance): Simplify result: Just a list of instance (info) dicts does fine * [afdf18b] api/setup.html: Add separate columns for setup/default diff, created, updated * [4d0c4cf] api.py (Setup.Instance.diff): "fields" list per diff "type" (setup or model) * [ec79377] api/setup.html(diff columns): Improve wording; consistent search string to accommodate w/ datatables search * [230603c] api.py (Setup.Instance._add_m2m_diff): Add generic method for m2m diffs * [b26566e] api.py (Setup, DistributionInstance.diff): Add m2m diffs for fields "components", "extra_sources" * [cc1f0af] api.py (Setup._setup.RepositoryInstance.diff): Add m2m diff for "distributions" * [32dd9ac] api.py (Setup.Instance.__init__): Fix: Compute 'status' and 'diff' _after_ (potential) update or pca runs * [194049f] api/setup.html: Add extra support to show per-instance change URL (convenience) * [0cda6c5] models/base.py (UnixTextField): Replace all TextFields by this new custom field (normalizes newlines to UNIX) * [6dad8bc] dist.py, models: Remove all trailing newlines from Model defaults and setup * [bc81ade] api.py (Setup.Instance.diff): Simplify code -- Stephan Sürken Sun, 29 Jan 2023 19:42:15 +0100 mini-buildd (1.9.115) unstable; urgency=medium Summary: * More HTML/usability updates * Test and document "ongoing" handling (BUILDING, PACKAGING) * Initial tests and improvements for new 'setup' feature Details: * [d30dc0e] dir.html: Avoid links to raw (static twisted default) dir index && make text links always be "Download", icon links "View" * [618fea6] dir.html: Add up (..) to dir index * [9016daf] tags/datatable.html: better doc && somewhat nicer style for reset workaround * [857c808] mini_buildd/base.html: Rather show custom menu 1st (usually keeps general menus on same place) * [086a467] repositories/index.html: Fix: Don't show table when there are no repos (e.g., after initial install) * [8293ea9] web: Simplify HomeView to just show 'Ongoing Events' * [81279bf] web: Simplify 'Events' && 'Builds' to not have an extra header and menu * [d71ca85] events/index.html: Consistent table id name * [65cfa37] events.py: Drop "ongoing" run time flag workaround (no longer needed) * [9736378] api/show.html: DSC && CHANGES: Add DSC link to base version, drop event links && consolidate code * [b5ce6ea] manual/roadmap.rst: setup: Add sub-todo * [70be1bf] manual(notation): Update section hierarchy to ``#*=-~`` * [dc0b444] manual/index.rst: Simplify && re-order toctree * [9a1bf39] builder.py: Fix: Log ``BUILT`` event after build has finished (not after successful upload) * [f6d1068] events.py: Add per event "ongoing" template helper (enables 'ongoing' (blinking) display in 'EventsView') * [6b74dcf] includes/events.html(cancel): Fix: Rather use 'ongoing' shortcut, not calling function again * [1b7bb59] includes/events.html: Add "retry" for orphaned PACKAGING as well * [543276d] manual/administrator.rst: Add section explaining the 'ongoing handling' on restart (or lack thereof) * [e2907c2] manual/administrator.rst(Custom Event Hooks): Add version && minor fixups * [9354b3b] api.py (Setup.x_or_create): Add _defaults var (handling None-dict arg) * [77eb017] api.py (Setup.x_or_create): Update obj creation/update code (fixes: defaults would always be set, even w/o --update) * [0ccff3a] api.py: Simplify code && json result * [36394b7] api.py (Setup.x_or_create): Another refactoring of code (fixes diff on --update) * [9d0b8eb] api/setup.html: Add initial custom API 'setup' template * [2c9f5ad] src/mini-buildd-backup (--restore): Rather default to "no" && add DANGER text before proceeding * [446da0a] api/port.html: Reword "Event Queue"->"Ongoing Events" -- Stephan Sürken Fri, 06 Jan 2023 18:51:28 +0100 mini-buildd (1.9.114) unstable; urgency=medium Summary: * Documentation: Cleans up roadmap && admonitions * API: Adhere to "newer RFC" for json, allowing for a cleanup && simplification using non-dict JSON results * Another painful "HTML iteration" (make it less ugly) Details: * [be86ab8] manual/administrator.rst: Update apt-get update stall phenomena hint * [1057224] manual/administrator.rst: Update profiling hint * [7ee2c76] builder.py (Uploader): Migrate ``self.failed`` to dict * [a7339e4] events.html (BUILDING): Display "Upload failed" warning * [57fd86b] events.html: Display key (as title of event row) * [9b691a9] events.html: Rather use 'yesno' for ongoing class * [34e9e32] administrator.rst: Constitute two items from atok roadmap as bugs ;) * [55ef38c] manual/roadmap.rst: Fixup "setup todo" * [3d23b72] manual/roadmap.rst: Move SSL bug (from roadmap) to Administrator's Manual && update doc * [5992d8a] manual/roadmap.rst: Remove mbd-off/web bug (retests show it's fixed now) * [1d8cfe5] manual/roadmap.rst: Don't use admonitions for Open Tasks && Brainstorm * [4b02fab] manual/roadmap.rst: Drop 'debconf/make ssl default' item from brainstorm * [1fa0d66] manual/roadmap.rst: Move (to admin manual) and update "ssl/squeeze" bug * [96da765] manual/roadmap.rst: Move RFC 5147 hint/note to (PlainFilter) code * [972045c] manual/roadmap.rst: Drop dataclasses brainstorm (not valid I think) * [8a26188] manual/roadmap.rst: Simplify django brainstorm order * [13443b4] manual/roadmap.rst: Update && fixup 'Open Tasks' * [30700bc] manual/_templates/layout.html: Make 1st line of any admonition be bolder (via CSS) * [9a9f2e9] manual/roadmap.rst: Admonitions: Downgrade all wrong "error" admonitions (fixes the "bug" list) * [21501c3] *.py, *.rst: Replace "important" admonition by "note" * [863e8ad] src/mini_buildd/api.py: Update debmirror bug note * [c227031] includes/tags/file.html: Rather use 'strong', not 'h4' * [93d3857] mini_buildd.css: Add standard padding for section * [5e2c49d] api/base.html: cli/plin menus: Make result sections * [a5eea00] mini_buildd.css (section, aside): Make section borders thin (was medium) * [22fb30a] api/show.html: Simplify version menu (drop "More") * [dda07ba] *.py (refactor): Add generic misc.json_pretty() && update all code * [6a04eaa] api/base.html: Menu: Just show json, not json or plain * [c5225df] mini_buildd.css (nav ul): vertical-align=top * [71f79e8] api.py(Command): Add with_output option for http_args(); add url() * [558e8ac] api/base.html: Add "URL" to menu * [2a58dd5] API(plain): Replace __PLAIN__ special key in favor of method inheritance * [9c36569] manual/roadmap.rst: Add item to test/doc remotes handling * [205c886] api.py (calls with plain support): Update json result to be list of lines, not one big string * [4cbdb45] api/source_header.html: Fix: Don't use shortcut var "source" (defined elsewhere) * [158b8a6] mini_buildd.css: Center 'mbd-grid-ll' * [ef20e05] builtins.py: Add custom helper tag: mbd_repository * [883e6b3] api/migrate.html: Add custom template for "migrate" * [b5398b2] api/remove.html: Add custom template for "remove" * [3c17349] api.py: Remove mixin '_Show' (no longer needed) * [0da3e76] builtins.py (mbd_api): Move "output" option to end * [73177c9] package.py: Fix "port" when no version is supplied * [ce81ceb] package.py (port): Refac: Rather (more consistently) use 'to_version', not 'port_version' var name * [a674d8f] package.py (_port): Rather return a dict, omit unneeded 'source' && add 'dsc_url' (API calls port, portext) * [d342eb1] api.py (_Plain calls): Simply use a list as json result * [0ec93c7] api.py (all port-like calls): Just use list (of dicts) as result (drop superfluous "uploaded" key) * [72920ff] package.py (_port): Revive "source" entry in port results (convenient when checking results) * [7fabfd2] api.py (KeyringPackages): Fixup postprocessing (after port result change) * [ac85b47] api.py (TestPackages): Fixup postprocessing (after port result change) * [7ed2358] api/port.html: Add custom template * [9765e3b] api/port.html: Add custom templates for all port-likes (portext, keyring-packages, test-packages) as link * [d96400d] api/port.html: Don't include generic "source header" here * [67e6035] port_ext.html: Fix link name * [745b8e7] views.py (ExceptionMiddleware.error): Rather use log_exception (so we see stacktrace on debug) * [37893b4] views.py (APIView.get): Allow non-dict JsonResponse * [9007aef] api.py (subscribe/unsubscribe): Simplify json result * [cde5816] api.py (SnapshotLs): Simlify json result * [9777d33] api.py (retry, cancel): Simplify json result * [222d14e] api.py (Debmirror): Fix typo in docs * [468cf45] mini_buildd.css (pre, code): Use 'break-spaces' * [c8a6ab1] api.py (get_plain(), plain(), json_pretty()): Refactor * [962da75] scripts: Where ``m-b-api`` is used together with ``jq``, use --json * [f407eb2] mini-buildd-bootstrap-apt (get_pub_key): Fixup when getting pub_key via wget ('__plain__' is no more) * [ea2d694] models/gnupg.py (Remote.mbd_prepare): No longer needed to call get_plain() on API results -- Stephan Sürken Sun, 01 Jan 2023 16:36:00 +0100 mini-buildd (1.9.113) unstable; urgency=medium This release mainly cleans up (debconf) templates, READMEs and various other documentation; also changes handling of the default file (should appease piuparts): * [e4cee00] manual/administrator.rst: Add bug note about the rare "apt- get update build stalled" phenomena * [f32de6f] debian/mini-buildd.templates: Fix hint on (1.0.x) 'Quickstart' to new administrator's manual * [949053c] mini-buildd.postinst: Don't mix quoting on options (' vs ") when writing the default file (always use ") * [e52316d] mini-buildd.postinst: Drop deprecated '--verbose' as default option (now just empty) * [35d974f] mini-buildd.default: Sync with the default postinst (potentially) writes * [f7bf531] mini-buildd.postinst (default file handling): Simplify: Just always either write new line or replace * [ee24ab1] mini-buildd.default: Clarify wording of comment * [e805ef2] mini-buildd.postinst: Further simplify the default file handling code * [d26fca8] devel: Drop writing default file directly, rather do all via debconf * [855320a] devel (install): Use 'noninteractive' hardcoded for *.deb install, as sudo arg * [78963f5] mini-buildd.templates (admin_password): Description wording clarifications * [495712b] devel: Drop extra MBD_DEBIAN_FRONTEND (just directly set/use DEBIAN_FRONTEND) * [58896a0] devel (install): Empty out (old) options from default file before dpkg-reconfigure * [b40627a] devel (mbd_setupcert): Just always run 'create' (script already does not overwrite itself) * [fd065e1] devel (certificates): Setup certificates late (avoids perm problems when mini-buildd user is missing) && only if needed * [6afd7e7] devel (mbd_setupcert): Call browser/cert helper after updating certs (not before any browser start) * [f15c4b8] httpd.py (Events.mbd_ssl_workaround): Add setTimeout(None) due to new findings w/ twisted 22.4 * [22e15f7] debian/mini-buildd.README.Debian: Update wording and link to manual * [8794e83] mini-buildd.README.Debian: Drop note on shm bug (fixed in schroot, now an optional sbuild setup block snippet, documented there) * [dc3ede3] mini-buildd.README.Debian: Drop emacs mode hint * [f7574b8] src/mini-buildd: Update link to manual * [86f23c9] devel (changelog): Fixup snapshot versioning (so it will be > than the previous release) * [dd6ed93] mini-buildd.templates (options): Improve wording, mention options to get HTTPS * [038eeca] manual/administrator.rst (Running encrypted): Improve and complete section * [73b4f4d] debian/po: Updates from debconf-updatepo -- Stephan Sürken Sat, 24 Dec 2022 12:10:45 +0100 mini-buildd (1.9.112) unstable; urgency=medium Upload to unstable: * Bug fix: "mini-buildd (build-)depends on cruft package.", thanks to Peter Michael Green (Closes: #933751). * Bug fix: "Python2 removal in sid/bullseye", thanks to Matthias Klose (Closes: #937049). Please wait for a '2.0.x release' for any production purposes. While no serious problem is known, some mandatory testing (&& documentation) is still outstanding, especially on - upgrades from 1.0.x - the new 'setup' system Details: * [cf90668] dist.py(setup): 'wheezy' needs 'apt-key-add' workaround * [bf3d0e1] dist.py(setup): 'wheezy' needs 'apt-urold' workaround * [8a646b2] builder.py,ftpd.py: Cosmetic: Update two now misleading code comments * [5f4bc16] builtins.py (Css): Add "failed" as possible sbuild status (color) * [3d837a9] builder.py: Add "Canceled-By" tag for explicit build cancellation (by shutdown or user) * [353cddb] manual/administrator.rst: Improve 'vsyscall hint' * [d7743d6] repository.py (Repository._mbd_package_migrate): Fix 'migrate' when 'version' not given * [b4734f5] events.html: Add 'rebuild' button on 'INSTALLED' * [e4b9c0e] dist.py: Add Ubuntu 22.10 (kinetic) * [a21af05] api/source_header.html: Use same header for ls && show * [a96f655] api.py (Output): Add meta argument class for 'output' * [ce187e4] builtins.py, api.html (mbd_api): 'output': Rather use 'Output' meta option instance than explicit HTML * [ff6c6ea] api.py, tags/api_arg.html: Revive HTML 'select' for Choice* arguments * [fe3b5df] tags/api_arg.html: Fix includes of "checked" and "required" for correct spacing * [918f2b4] mini_buildd.js(mbd_api_call): Code (mostly style) improvements * [c8d37ee] api.html/js(API calls): Switch "confirm" to HTML only * [fea4f2c] api.html/mini_buildd.js: Switch to "onsubmit/action" (drop extra