mini-buildd (2.3.7) experimental; urgency=medium Summary: * reprepro reindex: Also run 'flood' && add explicit reindexing via API call * Misc minor fixes Details: * [f3fd726] manual/roadmap.rst (2.4.x): Minor wording fix (used vs preset) * [828f031] api.py, Manual (PubKey): Improve doc for API(pub_key) and key retrieval * [0da02e5] reprepro.py (Reprepro.reindex): Also run "reprepro flood" (make arch=all packages available for potentially newly added architectectures) * [837769c] manual/roadmap.rst: Updates for the 2.4.x roadmap * [4d4cf65] models.py (Daemon): Fix daemon.start|stop calls on [de]activation * [9618818] api.py (Call.doc): Rather use () (join) notation for doc string * [3d4adad] api.py (Call.doc): Automate warning note for '_Maintenance calls' * [f77dfb2] models.py (Repository.mbd_reprepro_update_config): Add arg to force reindex (even if config did not change) * [cd1e55a] manual/roadmap.rst (2.2.4): Rather use apicall macros * [f76223f] api.py: New API call "reindex" (force reprepro reindex) -- Stephan Sürken Fri, 06 Sep 2024 14:14:53 +0200 mini-buildd (2.3.6) experimental; urgency=medium Summary: * Makes web app initially "responsive" (usable on mobile devices). Thx Gerhard! * Fix suite sorting (for upgraded systems) [run explicit "Check" on repositories to see this in API(show) as well] * Misc minor fixes [ Stephan Sürken ] * [30a3231] templates/admin: Switch to override 'app_list.html' (django >=3.1); this also syncs 'app_list HTML code' with django 3.2. * [6447cb9] templates/admin: Split up "blocks" in several includes [ Gerhard A. Dittes ] * [5e51c5a] admin.css: Adapt to updated django version (>= 3.1) * [ad56ce6] CSS, HTML: Make web application initially responsive. Thanks to Boyuan Yang (Closes: 843396) * [8a25c74] mini_buildd.css: Make page footer more space-efficient * [ea41da1] mini_buildd.css: Reduce "toggle popup buttons" complexity * [21e2fe0] icons/isolate.svg: Finetune * [a174c27] source_header.html (usability): Make dedicated page links more/faster accessible * [fd8a972] mini_buildd.css (responsiveness): Further improve support for small screen sizes * [289a1f2] mini_buildd.css: Reposition "dirview" icon * [3cabd0d] source_header.html: Phrase "non-popup title" a bit more concisely * [529eec0] mini_buildd.css: Better align "icons within link tags" for dir listing [ Stephan Sürken ] * [cd691a3] dist.py (setup): Add "lintian_version" to all (non-rolling) codenames * [6468e4a] models.py (SuiteOption): Support (python) sorting * [d5726af] models.py (SuiteOption): Fix (python) sorting of SuiteOption * [d3f5ada] builtins.py: Add filter 'mbd_sorted' * [6741921] models.py (Repository.mbd_sorted_distributions): Drop (simply use ``sorted`` directly, and templates can now use ``mbd_sorted``) * [983ba3f] dist.py, models.py (Component): Move sorting help to Model * [4da041b] models.py, html: Make 'suiteoption' sorted wherever applicable * [351d471] builtins.py (mbd_fromtimestamp): Should use from_stamp() from utils * [c51ebb1] tags/file.html: Add "modified" stamp to file view * [5fd8392] repositories/distribution.html: Fix class name for distribution column (make suites colored) -- Stephan Sürken Mon, 26 Aug 2024 14:24:46 +0200 mini-buildd (2.3.5) experimental; urgency=medium Summary: * 100% fix for "Daemon (singleton) race condition" * API(dput_conf), m-b-cruft improved Details: [ Stephan Sürken ] * [8fd83e1] debian/po/nl.po: Update translation. Thanks to Frans Spiesschaert (Closes: 1075876) * [e59a154] models.py: Fixup Distribution.sbuild_*_blocks fields (not to have hardcoded implicit defaults when empty) [ Gerhard A. Dittes ] * [6f65b5b] events/index.html, mini_buildd.css: Improve style of events table column "Source" and "Version" [ Stephan Sürken ] * [50ef40c] models.py (refac): Rename get_daemon() -> daemon() * [e90eec4] *.py (refac): Replace all "util.daemon().model" by "util.models().daemon()" * [a4f9b38] daemon.py (refac): Drop "model" property * [8ea98cb] daemon|cron|packager.py: Make importable w/o django config * [ab641b0] setup.cfg: Drop global disabling of 'import-outside- toplevel' (pylint) * [1fe4666] *.py (refac): Move Daemon Model Getter to models.py -> daemon.py * [aad5711] daemon.py (refac): Move Daemon Getter to util.py -> daemon.py * [5437e5f] daemon.py (refac): Move start/stop outside Daemon class * [cbb902c] daemon.py (refac): Drop (Daemon) singleton * [84a9aca] daemon.py (Daemon.sync): Drop Daemon.sync() (no longer needed) * [fe5b565] mini-buildd-cruft (_add_outdated_paths_in): Add generic function for outdated files * [f3dcc0d] mini-buildd-cruft: Add check for outdated incoming files * [ad512dd] mini-buildd-cruft: Add option '--automatic-remove' * [d5e8f9b] mini-buildd-cruft: Improve usage/help display * [94bc8b9] mini-buildd-cruft: Exit 0 on usage (--help must not fail) * [c0506b2] setup.cfg (flake8, pydocstyle): Strictly do 'one line per item' (diff-friendly) approach * [36bf431] manual/administrator.rst (Remote): Add "remote hostname" note (followup for bug #1076480) * [ddc7974] api.py (dput_conf): [doc] Add note about custom side-wide config add-on * [a352494] api.py (dput_conf): Add '--with-global' option: Recommended global config * [fbbe4de] api.py (dput_conf): [doc] Explicitly mention that config works for both dput and dput-ng * [5801aa3] api.py (dput_conf): [refac] site config: Rather use 'exists style', not try/catch (less code && more readable) * [4384701] api.py (dput_conf): Add global recommended config: Avoid accidental uploads to default target * [97238d7] api.py (dput_conf): Add comment lines for the (three) sections * [31e4e4f] api.py (dput_conf): Rather make recommended global config "opt out", not "opt in" * [a788dee] manual/roadmap.rst: Drop "[refac] Drop Daemon singleton" from brainstorm (done) * [e994a0d] manual/roadmap.rst: Update dev brainstorm list * [d8e3fd7] manual/roadmap.rst (2.4.x): Add note about change in API(dput_conf) -- Stephan Sürken Wed, 14 Aug 2024 11:23:23 +0200 mini-buildd (2.3.4) experimental; urgency=medium Summary: * Fixes up Distribution's lintian options support (and also suppresses 'bogus-mail-host*' by default now for newer distributions). * Logging cleanups && make all django migration run output now available Details: [ Stephan Sürken ] * [3d5654e] devel (testsuite-packages): Sync port codenames w/ changelog of 'installed-port' test package * [56568f2] Improve lintian support (add warnfail options field, drop hardcoded run-time options) * [2799761] models.py (Distribution): Update help on lintian options * [6c8c3b3] dist.py (lintian): Suppress bogus-mail-host[-in-debian- changelog] by default * [b56ce5f] dist.py: Embed lintian defaults into SETUP dict * [7bcf8b5] webapp.py (fix_sqlite_path): Log this as DEBUG only (was INFO) * [7cbdfe8] values.py (cache_clear): Log this as DEBUG only (was INFO) * [282ca57] cli.py (logformat): Add thread name && id to [meta info] * [3b9ad28] webapp.py (Call): Add Call() class: Smarter/better logging for django-admin commands * [e9bef76] webapp.py: Update all code to Call() (drop call() function) * [ad113b4] sbuild.py (SBuild.run): Log with sbuild extras should rather be debug * [6e1ef5d] *.py (log): Unify names, str() and logging for threads [ Gerhard A. Dittes ] * [1b6fb65] admin.css: Adapt text field size to be larger if possible [ Stephan Sürken ] * [f564204] events.py (get): Unified event getter (correctly reacts to SHUTDOWN) * [df29964] mini-buildd (CLI.runcli): Be sure to initially create Daemon singleton _before_ starting web services (avoid potential race on Singleton creation) * [f7f5a64] dist.py: Fix lintian defaults (accidentally borked by b56ce5f5) * [5c51e3f] django-admin: Drop monkey-patching for Field.deconstruct * [dfde72d] models.py: Make all custom validators deconstructible (to make makemigration work again) * [ec2120b] webapp.py (init): Simplify init code * [837951e] migrations/0034_sync_help_text_and_more.py: Sync to current help_text status * [c7bdd0f] models.py (Repository._mbd_package_migrate): Fix the "rollback restore" functionality -- Stephan Sürken Fri, 02 Aug 2024 20:03:58 +0200 mini-buildd (2.3.3) experimental; urgency=medium [ Stephan Sürken ] * [8919802] debian/NEWS: Change version for icon theme note to 2.3.1 (Fixes lintian warning about non-existing version) * [553ab00] devel (mbd_test_urls): Add extra function to generate test URLs * [063f151] devel: Drop "httpd_testfiles" (clunky and not really needed) * [e2e5ce7] devel (httpd-benchmark): Simplify: Use siege && use URLs from mbd_test_urls() * [9bf44f2] devel: Use curl everywhwere (so we can drop wget as 'testsuite dependency') * [41b94b0] devel (kill): Don't fail when no process is found && cleanup potential PID file * [1c3d40c] devel (install): Explicitly kill service before installing in chroot environments * [de55ff6] setup.cfg (pycodestyle): Don't leave 'ignore' empty (confusingly uses default value if not given) * [ea35e9f] setup.cfg (pycodestyle): Enable test for E226 && fix one find [ Gerhard A. Dittes ] * [ec0469b] events/index.html, mini_buildd.css: Disable "source form" if pointless [ Stephan Sürken ] * [f9b766f] devel (mbd_pid): Ignore pids from foreign chroots [ Gerhard A. Dittes ] * [b0d688a] models.py (Remote.Admin): Reverse the order of "Key" and "Key ID" [ Stephan Sürken ] * [d03f4cc] manual/conf.py: Suppress new sphinx (7.3.7) cache warning [ Gerhard A. Dittes ] * [f69f9c4] manual/administrator.rst: Improve systemd container example to not unnecessarily install things outside of the container * [4e6c206] manual/administrator.rst (Visit): Optically tweak sentence to improve understandability [ Stephan Sürken ] * [23da454] devel (tidy): Fix variable name for sphinx testing (uri->url) * [4926c46] devel (tidy): Improve output of tidy result * [c7c0a30] devel (tidy): Use --force-output yes (avoids extra warning text (on supressed errors)) * [0cc1f05] devel (tidy): Drop exceptions 'False-positives due to django "escapejs" tag' (seems no longer necessary) * [24b2074] devel (tidy): Add exception for 'sphinx 7.3.7 seems to use new "search" element' [ Gerhard A. Dittes ] * [7c37998] static/mini_buildd.css: Open form details (remake_chroots, wake) to "the left" for better accessibility (in most cases) * [40b6ee0] manual/administrator.rst: Rephrase sentence for better understanding [ Stephan Sürken ] * [96121d2] templates/mini_buildd/events/index.html: Just use plain text, not form for 'non-api source display' * [1efd40a] events.py (Event): Add constant sets to distinguish "building" and "packaging" events * [07e3380] templates/mini_buildd/events/index.html: Use Event.PACKAGING|BUILDING where applicable * [f306e1b] reprepro.py (Ls.enrich): Improve extra data retrieval form events dir (avoids multiple changes in show()) [ Gerhard A. Dittes ] * [023b232] manual/administrator.rst (Remote): Improve section on how to interconnect 2 mbd instances * [6909095] manual/administrator.rst (wake): Improve description of newly introduced feature [ Stephan Sürken ] * [3509935] testsuite-packages/installed-port/debian/changelog: 'Upgrade' to bookworm,bullseye (drop buster) * [53e00c2] manual/roadmap.rst: Add upgrading note for minor JSON result change in API(show). * [ec78786] reprepro.py (Reprepro._call): Improve public message when (any) reprepro call fails * [27f4602] API port, portext && changes options: Silently uniquify distributions to port to * [8b2c0ff] manual/roadmap.rst: Fix version in 'Upgrading' section title * [478f5e1] dist.py: Move 'lintian options' from SbuildCheck to sbuild * [8a62e9c] devel (tidy): Mute 'BLANK_TITLE_ELEMENT' (new w/ tidy 5.8.0, no fix known) -- Stephan Sürken Sun, 21 Jul 2024 12:02:28 +0200 mini-buildd (2.3.2) experimental; urgency=medium * [3360a29] util.py: Add "python" to VERSIONS (informational, and we will need runtime compat code for python <3.12) * [fc3adb2] util.py (shutil.rmtree()): Add run-time compatibility for python < 3.12 * [203470b] base.html (text): Improve text when inspection cron has not been run *yet* * [c7d28a1] expire_builds, expire_events: Textual fixes and improvements -- Stephan Sürken Sun, 30 Jun 2024 16:46:53 +0200 mini-buildd (2.3.1) experimental; urgency=medium [ Gerhard A. Dittes ] * [5f860df] manual: Fix style of "python TOC" (to not exceed sidebar and overlap actual content) * [69169ed] manual: Further tune "Alabaster" theme [ Stephan Sürken ] * [132c87a] debian/NEWS, README.Debian: Make both files generic (not mini-buildd binary package only) * [be7792b] python3-mini-buildd.maintscript: Proper symlink/dir handling for icon theme (Fixes: Bogus file installs to numix-icon-theme package paths) -- Stephan Sürken Sun, 23 Jun 2024 11:06:15 +0200 mini-buildd (2.3.0) experimental; urgency=medium Initial 2.3.x (development) release. Initial upload to experimental. * [c09ca5f] debian/changelog: Add header for 2.3.x development * [74b4873] debian/po/es.po: Update translation (Closes: 1072928) * [4c14a54] debian/control: Drop dependency on python3-attr (no longer needed twisted/buster workaround) * [7b5b0d2] debian/control, httpd.py: Depend on twisted 24.3 && remove all code workarounds * [479fe65] debian/control: Depend on reprepro 5.3.1-1.4 (avoid bugs 1050321, 1056380) * [60e4e51] contrib.py (DebianPackageTracker.__init__): Avoid "beautiful soup" warning for missing "features" argument * [fe376b2] examples/mini-buildd-utils/python-dpts: Add example to use 'DPTS support' from contrib * [4c2492c] contrib.py (DebianPackageTracker.__init__): Drop "~+" from changelog URLs (adapt to current DPTS state) -- Stephan Sürken Sun, 16 Jun 2024 16:09:19 +0200 mini-buildd (2.2.0) unstable; urgency=medium 2.2.0 release. Initial upload to unstable. -- Stephan Sürken Sun, 02 Jun 2024 20:30:09 +0200 mini-buildd (2.2.0~rc5) experimental; urgency=medium Summary: Rollback removal fix, minor manual fixes Details: * [01413b2] manual/roadmap.rst: Drop redundant "News" sections (Fixes sphinx's 'autosectionlabel' duplicate warnings) * [a4f82f7] devel (testsuite): Extend 'build-migrate' with removal tests (especially rollback removal) * [30fe76d] models.py (Repository.mbd_package_remove): Fix rollback remove. Thanks to Magnus Holmgren (Closes: 1071181) -- Stephan Sürken Mon, 20 May 2024 15:00:54 +0200 mini-buildd (2.2.0~rc4) experimental; urgency=medium Summary: 2.2.x Release Notes, minor fixes Details: * [09172e0] mini-buildd-cruft: Suppress lvdisplay's stderr output (Fixes: Confusing 'not root' warning while forcing uid=mini-buildd) * [8fc6a4a] mini-buildd-debug-build: Fix program name in usage * [489a6f1] doc: Make note about re-enabling vsyscall an admonition (and move to schroot.py) * [d3d9939] manual/roadmap.rst (2.0.x): Remove outdated notes * [3b7cb29] manual/roadmap.rst: Initial 'News' for 2.2.x -- Stephan Sürken Sun, 12 May 2024 12:19:17 +0200 mini-buildd (2.2.0~rc3) experimental; urgency=medium Summary: Setup updates for Ubuntu, misc cosmetic fixes and doc updates [ Stephan Sürken ] * [5dd4b5a] api.py (Setup.Dists.iexpand_arch): [style] Rather use 'yield from' (Fixes new warning w/ pylint 3.1.0) * [f932bfc] dist.py: Drop "broken" tags for Ubuntu mantic + lunar (we do have a documented debootstrap workaround for some time) * [950765b] dist.py: Add setup support for Ubuntu noble (24.04) [ Gerhard A. Dittes ] * [d980214] mini_buildd.css: Increase z-index by 1 (Fixes certain "opened details" not being covered by "popup") [ Stephan Sürken ] * [a4600b2] models.py (Repository.__str__): [readability] Add space to codename iteration * [1f81c51] httpd.py (doc, admonitions): Merge & update admonitions around twisted * [c6ffc4c] events/index.html (BUILDING): Don't show empty '()' after "Live Build Log" Link * [bd53970] httpd.py (admonition): Dropping note about squeeze apt- transport-https stalling twisted: Not reproducible any more -- Stephan Sürken Sun, 05 May 2024 13:28:05 +0200 mini-buildd (2.2.0~rc2) experimental; urgency=medium Summary: Documentation updates & some minor fixes Details: * [18aa8cd] setup.py: Use pep440-style version for setuptools only (Fixes: Incomplete version displayed if version has '~') * [d1888da] util.py (log_exception): Don't use fstring for logging * [15b5c8b] views.py (ExceptionMiddleware.error): Don't use django's message system for HTTP errors (Fixes: Duplicate messages on error pages) * [08e7fed] views.py (ExceptionMiddleware.error): Use level DEBUG (not WARNING) for (django) HTTP errors (Fixes: Potential log spam when webapp is spammed) * [b30a903] daemon.py (Daemon.mbd_start): Also clear value's cache on start (Fixes: Potential wrong API server values after maintenance in stopped state) * [9610f8e] manual/administrator.rst (doc): Update "archiving urold" workflow description * [1ed6c07] manual/roadmap.rst: Add item to brainstorm (implicit chroot deletion) -- Stephan Sürken Sun, 28 Apr 2024 09:32:36 +0200 mini-buildd (2.2.0~rc1) experimental; urgency=medium Summary: Adds ``--codenames`` to debmirror API call (and some notes how to archive urold distributions). Label this RC: Only doc updates && bug fixes until 2.2.0. Details: * [5357f46] manual/administrator.rst: Add proposed workflow to archive urold codenames * [cde6d5b] models.py (Repository.mbd_get_diststrs): Use dedicated arg for suiteoption_filter * [f4e70e6] models.py (Repository.mbd_get_diststrs): Add 'distributions_filter' arg * [48b04bd] api.py (debmirror): Add argument ``--codenames`` * [a0bc2c2] devel (testsuite): Add debmirror call test * [f90ad0b] views.py (TemplateView.mbd_get_range): Update default (events) limit to 100 (was 40) -- Stephan Sürken Sun, 21 Apr 2024 18:26:03 +0200 mini-buildd (2.1.19) experimental; urgency=medium Summary: Fixes issues with updated twisted 24 in unstable, adds SQL migration test to testsuite && and some doc cleanups. Details: * [0f8a190] django_settings.py (pseudo_configure): Make path to sqlite configurable (defaults to memory still) * [a8db646] webapp.py (refac): Simplify: No need for class WebApp * [c50ce3c] webapp.py (call): Add generic "call" function * [5a410aa] webapp.py (init): Divide into individual functions * [08550a9] src/run-migrations: Initial POC to run/test migrations standalone * [b948a5d] webapp.py: Integrate django_settings.py into webapp.py * [35640be] devel: Add automatic database migration test (from 20x example db) * [8869ac8] src/run-doctest: Use cli.py * [a411147] manual/conf.py (pysources): Fix admonition links (regression introduced by 7aff0d0d) * [943f27f] reprepro.py: Update/clarify reprepro stall bug note * [3b2a8c8] models.py: Move §duplicate AptKeys note from roadmal to model.py's admonitions * [65bd12e] models.py: Admonitions describing working workarounds should be notes * [50d3d1c] api|reprepro|models.py (doc): Consistently order admonitions error..tip * [378d5be] api.py (doc): Admonition about package loss on stop should be "note" (by design) * [b14415f] manual/roadmap.rst: Update brainstorm items * [d53fd2c] httpd.py: Disable "producer workaround" for twisted >= 23.10 (fixes SSL with twisted 24) * [09ddcb9] httpd.py: Disable "SSL workaround" for twisted >= 24 (broken, no longer needed) -- Stephan Sürken Wed, 17 Apr 2024 18:40:54 +0200 mini-buildd (2.1.18) experimental; urgency=medium Summary: Makes builds/event expire dates configurable && misc code maintencance Details: * [9452e04] models.py (pylint): Drop one local override (seems false- positive now fixed) * [7305a83] setup.cfg (pycodestyle): Drop global exception for W503 (one code issue fixed) * [d3f4f05] setup.cfg (pycodestyle): Rather use max-line-length instead of globally disabling E501 * [1fabbc1] devel(style): Use "isort" to manage consistent python import order * [b64c9ae] *.py: Bulk-fix all python import orders via isort (``./devel isort fix``) * [e9d35c3] setup.cfg (pylint): Drop extension-pkg-whitelist config -- no longer needed * [9bd8796] devel: Rename .lintianrc -> devel.lintianrc * [753234d] setup.cfg (generated-members): Update (via ``./devel pylintgeneratedmembers``) * [b1c5c1e] cron.py (expire): Make expire times for builds and events dirs configurable (via Daemon) * [9aa2f7f] *.py: Don't use fstrings for log messages * [204dd28] changes.py: Add public error handling for binary-only uploads -- Stephan Sürken Sun, 14 Apr 2024 09:31:10 +0200 mini-buildd (2.1.17) experimental; urgency=medium Summary: 2.1.14 regression fix, buildlog speedup && some Debian package maintenance Details: * [041dae0] debian/control (Standards-Version): Update to 4.7.0 (no changes needed) * [ff6dc9f] values.py: Fix: m-b-api uses client values for some API args (regression introduced in 2.1.14/values caching) * [2a91dd4] builtins.py (PlainFilter.regex_filter): Optimize filter (will significantly speed up render of huge buildlogs) * [af1e4db] manual/08x*: Drop ancient/obsolete documents * [d5be5a3] debian/mini-buildd.init: Add 'Short-Description' (soothes pedantic lintian warning) * [043330e] debian/mini-buildd.NEWS (format): Don't use asterisk here (as recommended in the Developer Reference) * [464d58b] debian/mini-buildd.config|postrm: Consistently don't use quotes on 'db_*' calls * [8c48350] debian/control (Rules-Requires-Root): Add with value "no" * [16c83fe] .lintianrc (finetune): Don't show experimental and overridden -- Stephan Sürken Thu, 11 Apr 2024 10:11:27 +0200 mini-buildd (2.1.16) experimental; urgency=medium Summary: Fixes potential FTBFS & some more web tweaks. Details: [ Gerhard A. Dittes ] * [beebad2] includes/range_menu.html: prepare to show "date-time limit option" on demand * [55b08ef] static/mini_buildd.js: show "date-time limit option" on demand * [27c132c] static/mini_buildd.css: tweak && refactor minorly [ Stephan Sürken ] * [0b0e1c2] cron.py (Tab.cronjob_expire_events): Cosmetic: Simplify call (analog to expire_builds) * [7aff0d0] rules: Drop calling ./devel directly (fixes potential FTBFS) -- Stephan Sürken Tue, 09 Apr 2024 17:21:39 +0200 mini-buildd (2.1.15) experimental; urgency=medium Summary: Addresses various weaknesses of the setup system addressing sources (thx Magnus Holmgren for the hint): Sources with same codename as the base source will now survive inspection, and could also be used in the predefined setups now (although there is no use case for the latter yet). Details: * [859e7e7] api.py (Setup.__run): Retrieve source instance by codename _and_ origin (Closes: 1067239) * [5578e18] dist.py (SETUP): Use "extra_sources", not "sources" * [3fcb9b2] dist.py (style): Use all upper-code variables in global test code (avoids some pylint surprises) * [efc7931] dist.py (SETUP): Make "extra_sources" list of dicts, not dict itself (Fixes: Can't add extra sources that use same base codename) * [5998ae4] api.py (Setup, PrioSources): Fix to also use "origin" to address Source * [777d396] dist.py (SETUP): Add "priority" for extra sources (obsoletes heuristic for security sources) * [b87a4ff] dist.py (SETUP): Style: "origin" should be first key -- Stephan Sürken Sun, 07 Apr 2024 18:03:51 +0200 mini-buildd (2.1.14) experimental; urgency=medium Summary: Enables API values caching (speeds up HTML page rendering with many integrated API calls) and other mostly WEB GUI improvements. Details: [ Gerhard A. Dittes ] * [41344b5] static/mini_buildd.css: improve menu item appearance when getting "mbd-attention" * [959550a] devel: fix "usage examples" regarding "profile network options" * [992add7] static/mini_buildd.css: indicate page (re)loading triggered by "limit before form" (if "clicked") * [527e483] manual/_templates/mbd-sidebar-apicalls.html: fix (potential) iframe recursion * [1fa6079] manual/_static/custom.css: finetune current theme ("Alabaster") * [14cf855] static/mini_buildd.css: improve "button click" feedback [ Stephan Sürken ] * [8897be4] api/index.html: Drop redundant menu for API index * [b02f7e6] devel (mbd_pygrep->grep): Rather grep whole project, not just py code * [0ef8dfd] manual/conf.py: Update copyright years * [0cf4d72] values.py: Drop all values that definitely do not need to be cached * [bd92aea] values.py (misc refac): Fix naming, order; drop unused (DUMMY, ALL_DISTRIBUTIONS) * [269091a] values.models.py: Refacture codename set getter * [4692ed2] api.py (Argument._get_value): Rather move slightly confusing get_value() helper to api.py (only used there) * [ee0e60a] devel (sphinx-build): Needs 'version_py' call to always work standalone * [236cf36] devel,manual/administrator.rst: Drop (incomplete) profiling hint from manual && add (working) code to devel * [ae19aad] values.py: Simplify: Just use one properly named module function per value * [e9a9779] values.py: Enable caching for most dynamic values -- Stephan Sürken Mon, 01 Apr 2024 18:40:41 +0200 mini-buildd (2.1.13) experimental; urgency=medium Summary: Miscellaneous minor fixes (mostly user interface/documentation). Details: [ Gerhard A. Dittes ] * [704c613] templates/accounts/profile/index.html: add
around table to make "pkg notifications" referenciable via css * [51c29c0] static/{mini_buildd,admin}.css: improve "Profile", "iframe usability" && finetune several minor things * [3a45d1f] templates/accounts/profile/index.html: fix datatable not being automatically resized [ Stephan Sürken ] * [b059992] events/index.html (retry): Don't present on non-use-cases: not on 'PACKAGING', only if event has source * [2407121] events/index.html: More consistent wording for 'Build Log' link titles [ Gerhard A. Dittes ] * [f72cf96] templates/mini_buildd/repositories/index.html: use "icon" instead of "text" to link to repository specific manual [ Stephan Sürken ] * [743b75a] sphinx manual: Drop sphinx-copybutton (again) * [cd71676] manual: Drop confusing "TOP" backlink * [5c78ac0] manual/consumer.rst (apt secure strap): Rather add 'apt update' as final step * [4d2a0c1] client.py (prompt): Add '[]retry' (to make clear no input is retry) * [2b7c123] client.py (Client.getpass): Simplify (no need for a custom prompt argument) * [dc317fa] client.py (keyring): Add password input fallback on keyring error * [70b1201] package.py (KeyringPackage.__init__): Style: Drop shortcut usage (model, gnupg) * [0c88814] package.py (TemplatePackage.call): Add generic call method (assure correct environment for all external calls) [ Gerhard A. Dittes ] * [2d04bf1] manual/{administrator,consumer}.rst: fix some typos * [f414334] static/icons/standalone-view.svg: create * [3888954] templates/mini_buildd/embed.html: use "standalone-view" icon instead of text * [7828d39] templates/mini_buildd/includes/error.html, static/mini_buildd.css: utilize close button if popup * [2198020] static/mini_buildd.css: do some minor positioning tweak and cosmetics * [7acbeae] static/admin.css: (ab)use button to indicate "iframe page loading" * [8f77ba4] static/admin.css: fix some bookworm specifics * [ff57347] static/admin.css: finetune "recent actions" appearance * [fab9302] static/admin.css: improve "login site" appearance * [3b1fa3c] src/mini_buildd/static/admin.css: tweak positioning && further improve "iframe scrolling behavior" [ Stephan Sürken ] * [ed2bb86] schroot.py: Add note about schroot explicitly logging to syslog * [5358c7e] schroot.py (doc): Drop duplicate wording (from 'stale sessions' note) -- Stephan Sürken Sun, 17 Mar 2024 19:06:30 +0100 mini-buildd (2.1.12) experimental; urgency=medium Summary: * SQL schema migration support && resp. model cleanup * More improvements for the web interface Details: [ Gerhard A. Dittes ] * [90e9889] includes/api/base.html: fix (potential) iframe recursion (inside "Setup" area) * [03f316b] static/mini_buildd.css: finetune just everything * [f8314c6] static/admin.css: some button adaption * [658edd8] templates/mini_buildd/includes/range_menu.html: resort "limit" && "before" * [c40ff85] src/mini_buildd/static/icons/api.svg: improve * [75b8b9e] src/mini_buildd/static/icons/setup.svg: create * [08c13e7] src/mini_buildd/static/icons/crontab.svg: create * [f98915f] templates/mini_buildd/base.html: use icons "setup" && "crontab" * [9804da3] Revert "static/mini_buildd.css: make "logged in as 'admin'" visually distinguishable" * [5dd920d] Revert "static/icons/logged-in-as-admin.svg: create" * [833047e] Reapply "static/icons/logged-in-as-admin.svg: create" * [887b345] Reapply "static/mini_buildd.css: make "logged in as 'admin'" visually distinguishable" * [6771dc4] static/icons: some minor adaptions to several SVGs * [d688f72] static/mini_buildd.css: slightly tweak && clean up * [19e125a] static/mini_buildd.css: greatly improve header section's icon hovering * [22e939f] templates/mini_buildd/base.html: extend title of "setup" && "crontab" to be/look always reasonable * [2aff615] templates/mini_buildd/base.html: be more clear about "inspection info" * [ccee634] static/mini_buildd.css: prevent menus from being brightened (on hover) * [f20d3b5] static/mini_buildd.css: kinda revert "inner-focus" coloring * [3faf2b4] static/mini_buildd.css: improve appearance of "inner dt rollbacks" * [decb895] static/mini_buildd.css: improve "URL, CLI, JSON" area * [43ee1f0] static/mini_buildd.css: improve "register user" * [c532757] static/mini_buildd.css: improve "crontab" * [1ce7dca] static/mini_buildd.css: tweak minor things * [b95ee2c] static/mini_buildd.css: improve "Home, Reload, Close"-"button hovering" * [a4bffee] static/mini_buildd.css: crazily fix && improve "buildlog TOC jumps" * [146bdcd] builtins.py: add css classes to better support "toc buildlog jumps" * [6fd75ef] static/mini_buildd.css: make use of new buildlog classes and further enhance "eyecandyness" * [ab24877] static/mini_buildd.css: make sure "popup details" do not exceed their spacial limits * [7e8c3b6] includes/api/base.html: add css classes to address "result title bar" elements * [fc922b6] static/mini_buildd.css: make use of "result title bar" classes && improve * [04e4032] static/mini_buildd.css: enhance distribution snapshot (inner) table * [72a62af] static/mini_buildd.css: do not show close button on "non popup" results * [311dc06] templates/mini_buildd/includes/api/show.html: introduce css class "mbd-api-port" * [dcca5c9] static/mini_buildd.css: improve "port hovering" and stuff like that * [b35edc0] manual/_templates/mbd-sidebar-backlink.html: fix (potential) iframe recursion * [3f6a01b] static/mini_buildd.css: further improve "port hovering" * [0dfbfff] static/mini_buildd.css: bring "UCJ" into line with "port" appearance * [406adb2] static/mini_buildd.css: harmonize cursor style for title bar buttons * [4b85614] mini_buildd/static/mini_buildd.css: minorly tweak some things * [c1a0ec3] templates/mini_buildd/includes/tags/file.html: add some css classes * [6907f6e] static/mini_buildd.css: improve "file" (using newly introduced classes) * [f6e7312] static/icons: brighten a bit more some header bar icons * [4cf3474] static/admin.css: regain bookworm compatibility && finetune * [76cdf69] static/mini_buildd.css: finetune * [66e7ef5] static/admin.css: minorly finetune "django >= 4.x case" [ Stephan Sürken ] * [8ca34dc] django_settings.py (pseudo_configure): Update doc (emphasize internal-only use) * [fa577db] django_settings.py (pseudo_configure): Extend settings to be able to run 'django admin' calls * [8ec024b] src/makemigrations: Add tool to call ``django-admin makemigrations`` (django SQL migrations) * [e1d8c52] Move ``src/makemigration`` to more general ``django-admin`` * [f81b74b] devel: Add ``makemigrations`` shortcut command && ignore pylint for migrations * [d79db63] devel (mbd_installdeps): Add sqlite3 * [f56b409] migrations/0001_initial.py: Initial SQL migration (``./devel makemigrations``) * [5f1376a] migrations/0002_remove_pickled_data.py: Drop 'pickled_data' field for good (not used since 1.0.x) * [ada3d9a] migrations/0003_remove_daemon_sbuild_jobs.py: Drop unused 'sbuild_jobs' field * [bf47a7a] migrations/0004_remove_distribution_apt_allow_unauthenticated.py: Drop unused field 'apt_allow_unauthenticated' * [a92d960] migrations/0005_remove_daemon_smtp_server.py: Drop unused field 'smtp_server' * [92af936] migrations/0006_remove_daemon_custom_hooks_directory.py: Drop unused field 'custom_hooks_directory' * [7460b39] migrations/0007_remove_auto_reactivate.py: Drop unused field 'auto_reactivate' * [7a9fc92] migrations/0008_remove_daemon_hostname.py: Drop unused field 'hostname' * [693a9ca] migrations/__init__.py: Add "extra options" support for (future) data migrations * [520abe2] setup.cfg ("migration mode"): Add hints on how to taint to also 'pylint' migration code * [b151945] devel (mbd_makedatamigrations): Add shortcut for datamigration (template) * [a7bd5f4] migrations/0009_add_source_extra_options.py: Add explicit fields for all functionality formerly in 'extra_options' * [452814d] migrations/0010_migrate_source_extra_options.py: Migrate 'extra_options' data to new fields * [140e28c] setup.cfg: Update 'pylintgeneratedmembers' * [3e78356] migrations/0011_add_layout_extra_options.py: Add meta_distribtions explicit fields, formerly in extra_options * [8aaccaa] migrations/0012_migrate_layout_extra_options.py: Migrate 'extra_options' data to new field (meta_distributions) * [9cf9b5b] src/mini_buildd/migrations/0013_alter_layout_meta_distributi ons_and_more.py: Allow blank for JSONFields (extra_identifiers, meta_distributions) * [09168ea] migrations/0014_add_distribution_extra_options.py: Add fields for all functionality formerly in 'extra_options' * [59a9cb0] migrations/0015_migrate_distribution_extra_options.py: Add data migration from extra_options to explicit fields * [e9221a5] migrations/0016_add_daemon_extra_options.py: Add custom_archive_origin field from extra options * [e75d378] migrations/0017_migrate_daemon_extra_options.py: Add data migration from extra options * [e574513] migrations/0018_add_chroot_extra_options.py: Add explicit fields for functionality formerly in extra options * [d998b40] migrations/0019_migrate_chroot_extra_options.py: Add data migration for extra options * [6094eec] migrations/0020_add_suiteoption_extra_options.py: Implement "rollback" as explicit field * [8debe98] migrations/0021_migrate_suiteoption_extra_options.py: Data migration for rollback * [adce007] models.py (Source.clean): Fix validator for 'post extra_options' * [1bda586] models.py (Distribution.clean): Fix verification for 'post extra_options' * [4b9e371] migrations/0022_remove_extra_options.py: Remove generic "extra_options" helper field for good * [0b70721] *.py, manual: Fix up various places where "extra options" are mentioned * [555d9e5] webapp.py (WebApp.__init__): Post-fixup ``config.sqlite`` file permissions: 'rw-r' only * [cff052f] share/remove-aptkey-constraints.sql: Drop -- does not make sense after SQL migration in place * [87f02f9] setup.py: Add 'version_py' command (use instead of 'build_py' where only working python is needed) * [61da4a7] models.py (style): Update all models fields to more consistent notation * [e8d6163] *.py (style): Bulk-improve (read- && diffability) various "multiline notations" (multiline str, dict, list) * [5d022b0] models.py: Add ``help_html`` conversion helper && add to all 'help_text' args * [9f23114] src/django-admin: Monkey-patch ``Field.deconstruct`` to ignore 'help_text' changes for migrations * [93951f2] mini-buildd-ssh-uploader-command: Don't run SSH command in shell mode * [ae8b11f] accounts/profile/index.html: Fix doubled title * [bf19397] migrations/0024_remove_daemon_keep_build_results_and_more.py: Drop (unused) fields 'keep_build_results', 'wait_for_build_results' * [46c8604] migrations/0025_remove_daemon_show_last_builds.py: Drop 'show_last_builds': No (longer) used * [a60a1a8] files.py (AptLine.get): Update notation * [a9405ae] files.py (AptLine.get): Quote (with '"') 'suite' part if it contains space * [a6f069e] net.py (Endpoint): Make _url_netloc() public as netloc() * [efce89c] models.py (Repository._mbd_reprepro_conf_distributions): [style] Fix multiline str notation * [59cd27a] models.py (Meta): Consistently use list (not tuple) for options * [65d5d30] models.py (Admin): Consistently use tuple (not list) for options * [d73496e] cron.py (expire_builds): Rather should be daily, not weekly * [c08f9fb] setup.cfg (pylint 3.0): Add exception 'duplicate-code' for "migration mode" * [aab89a5] migrations/0026_rename_show_...: Properly rename three model fields * [917a971] src/django-admin: Ignore arg "validators" for migrations * [a3c8af6] models.py (RegexValidator): Update all 'regex validations' to field level * [da3a970] models.py (GnuPGPublicKey): Use MinLengthValidator on 'key_id' field (instead of overriding clean()) * [626d954] models.py (Source.extra_identifiers): Add per field validator, drop clean() override * [41ecbd1] models.py (RegexValidator): Support 'message' override * [efa52ad] models.py (Archive): Move "trailing slash" validator to field && regex * [e25b653] models.py (Distribution): Update validators for sbuild_config|setup_blocks,chroot_setup_script to field-based * [0ae7dd9] models.py (Daemon): Update validators for ftpd_bind|options to field-based * [a2b99a0] models.py (Source, Distribution): Some bulk field re-order for convenience * [fa41089] src/django-admin (mbd_deconstruct): Also ignore arg "editable" for migrations * [e66e67d] models.py (GnuPGPublicKey): Rather use editable=False than readonly_fields && adapt list_display * [cbbb87d] models.py (Source.Admin): Add meta field "apt line" for list_display * [ebebe03] migrations/0027_source_codeversion_override.py: (Re-)introduce codeversion_override (i.e., now with matching impl) * [67f9141] migrations/0028_migrate_source_codeversion_override.py: Datamigration: Keep old override behaviour for existing instances. * [f121be6] models.py (StatusModel): Rather use _status, not colored_status (renicing admin display) * [39acecf] models.py (Source.Admin): Simplify list_display && search options * [e985511] models.py: Consistently add editable=False for all readonly fields * [15d8e5a] models.py (Model.Admin): For all models: Add "save as" && additional "save buttons" on top * [0eb2e45] models.py (Source, Repository, Chroot): Drop 'magic readonly fields' in favor of appropriate clean actions * [5336688] models.py (Daemon): Fix field order * [10fa1cc] migrations/0029_alter_source_options.py: Drop 'Meta.ordering' for Source * [84ec3d0] models.py (Model.clean()): Consistently drop support for optional arguments (Model.clean() does not use any) * [eda72b3] models.py (Source.mbd_prepare): Rather use full_clean() now we also use per-field validators * [702683a] models.py (doc): Bulk-update field's 'help_text' * [0a20ef9] migrations/0030_remove_suiteoption_auto_migrate_after.py: Drop unused "auto_migrate_after" * [613d692] reprepro.py: Update "reprepro hang" error note * [9a99247] webapp.py: For all django admin calls: Just go with default verbosity (instead of silencing) * [3083bb6] webapp.py (__init__): Improve logging (levels, wording) * [650ce85] django_settings.py: Move 'migration monkey-patching' here (avoids 'missing migrations' warnings on actual migrations) * [2517d62] django_settings.py: Fix/update comment * [18df077] migrations/*.py: Post-drop all "help_text" field args * [0acb6b6] Revert "django_settings.py: Move 'migration monkey-patching' here (avoids 'missing migrations' warnings on actual migrations)" * [59abcc2] devel (pylint): Add extra (automatic) pylint check for migrations (previously ignored/manual only) * [964d795] Daemon (fields identity, email_address, allow_emails_to): Default values per function && post-fix migration code * [65ba60d] devel (mbd_pid): Drop pgrep 'cgroup' support (only works in certain conditions) * [019f238] devel (pgrep helpers): Simplified and more robust support for "pid" and "kill" * [4970e3d] devel (mbd_pythonkeyringtestconfig): Force rc file to be a symlink * [7b0ef21] html (wording): Don't use "View foo" for link titles (just foo) * [e630cfe] html(style): Rather always use '', not '' (as replacement for '') * [d5624d3] api/show.html: Drop redundant "DSC URL" link on version * [f08b1d8] api/show.html: Add pool link * [bd040f3] net.py (Endpoint.geturl): Add support to provide relative URL * [546d884] api.py (Call.url_relative): Add helper function for template use * [b3e7c77] builtins.py: Add custom tag to build absolute URI from relative location * [626b498] api/base.html (URL): Fix URL link && value to use hostname currently used (not the server's canonical hostname) * [01124a7] webapp.py: Only output/log admin call's if log level is >=DEBUG * [b7b705a] models.py (Daemon): Make max_parallel_builds default via function && retro-fit migration code * [127adc6] devel (profiles): Add 'debug_django' profile * [558e3b2] api.py (Ls, Show): Clarify description for 'ls' and 'show' [ Gerhard A. Dittes ] * [fa32286] src/mini_buildd/static/icons/pool-dir.svg: Create * [3d2d925] templates/mini_buildd/includes/api/show.html: Make use of new "pool icon" -- Stephan Sürken Wed, 06 Mar 2024 14:08:02 +0100 mini-buildd (2.1.11) experimental; urgency=medium Primarily (web) usability updates: [ Gerhard A. Dittes ] * [c744394] includes/events.html: fix illegal "alt" attribute * [df497ac] includes/tags/api_args.html: fix unnecessary div element affecting layout negatively * [8e68cbe] includes/api/setup.html: cosmetically fix redundant whitespace * [d8596f1] static/mini_buildd.css: introduce "hover forms" * [ef1e5f2] static/mini_buildd.css: homogenize button * [6ab9c11] static/admin.css: transform "django-based" design of login page "towards ours" * [f88e417] static/mini_buildd.css: make footer always visible again * [1bc81e8] static/mini_buildd.css: let header && footer still look decent when scrolling * [5032d9f] static/icons/logged-in-as-admin.svg: create * [5dd03a2] static/mini_buildd.css: make "logged in as 'admin'" visually distinguishable * [ca0d12c] static/{mini_buildd.css,admin.css}: adapt button colors to newly introduced form hover coloring * [fd74367] templates/admin/base_site.html: fix iframe recursion * [03d4737] templates/admin/base_site.html: use light theme (explicitly) * [dcddca2] includes/api/setup.html: fix link to "configure icon" * [07311f6] static/icons/manual.svg: create * [6c5a523] templates/{admin/mini_buildd.html,base.html}: make use of "manual icon" * [facfc9d] static/mini_buildd.css: make empty "pre elements" completely invisible * [e6bf460] static/icons: overhaul several icons * [b629ff3] static/mini_buildd.css: finetune bunch of appearance things * [fd8af0d] static/admin.css: revise, brutally extend and make things fit to surrounding world * [d811c44] static/admin.css: finetune & clean up minor things * [431c4f0] static/icons/top.svg: improve * [bee879b] static/icons/top.svg: fix to be "Plain SVG" (again) * [15579df] static/mini_buildd.css: finetune some z-index values * [29b0146] src/mini_buildd/static/icons/api.svg: create * [35320e2] templates/mini_buildd/base.html: make use of "API icon" * [bc42763] static/mini_buildd.css: harmonize header menu icon sizes * [908a8eb] src/mini_buildd/static/icons/api.svg: improve * [240bd43] manual/administrator.rst: fix example "running mbd in a systemd container" * [79c02e6] static/mini_buildd.css: fix popup to cover footer as well [ Stephan Sürken ] * [dd4cca2] *.py (manual): Update/cleanup various admonitions * [132bb90] net.py: Drop support for deprecated : endpoint syntax * [adc512a] manual/*/mbd-sidebar-commands.html: Don't use jquery (not included with newer sphinx) * [a6195c0] admin.py (AdminSite.get_app_list): Optional 'app_label' arg needed for django >=4.1 (fixes 500er on /mini_buildd,/auth URIs) [ Gerhard A. Dittes ] * [158bf65] manual/developer.rst: fix typo [ Stephan Sürken ] * [ead55df] HTML(datatables): Per default, show all entries (no pagination) * [6dfefb3] HTML(datatables): Don't save state of datatables (rather confusing than helpful) * [0f2f2ca] HTML(datatables): Completely disable pagination (including menu support) * [cbbd877] HTML(datatables): Add 'dom' option: Only show info, filter, table (ift) * [2429863] HTML(datatables): Drop options 'searching' and 'info' * [ccc06b2] HTML(datatables): Clean up option order * [87e2e6f] HTML: Drop "Ongoing Events", make events page "home" * [0302701] mini_buildd/includes/events.html: Drop (no need for the include anymore) [ Gerhard A. Dittes ] * [489004a] static/mini_buildd.css, templates/*/datatable.html: improve filter and table appearance * [83e8cde] static/mini_buildd.css: assimilate "inner DataTables"; treat "dist snapshots" specially [ Stephan Sürken ] * [9145d83] events/index.html: Don't use hash for datatable id [ Gerhard A. Dittes ] * [4199c7b] static/mini_buildd.css: no need to tune "DT paginate buttons" any longer * [e4062ec] static/mini_buildd.css: tweak DataTables coloring a bit further [ Stephan Sürken ] * [0bea9b5] debian/gbp.conf: Rather use ignore-branch -- Stephan Sürken Sun, 07 Jan 2024 09:23:12 +0100 mini-buildd (2.1.10) experimental; urgency=medium Mostly updates for the manual's admonitions (bugs, todos, notes, faq): [ Gerhard A. Dittes ] * [0705ace] includes/api/setup.html: hide options within result section [ Stephan Sürken ] * [6e4c7ac] mini-buildd-debug-build: Use "starting-build" (not "finished-build") as default drop-out hook * [207741b] models.py (Remote.mbd_check): Don't prefix {self} in exception descriptions (avoids duplication in logs) * [3365644] api.py (Handshake._run): Add note about (for now unreproducible) suspicious log * [7eaaed7] util.py (log_exception): Add filename:lineno from last raise * [8b892fa] models.py (mbd_msg): Don't implicitly also log in these functions * [ebbad0a] models.py (mbd_msg*): Drop mbd_msg_exception() && simplify mbd_msg() * [0dfb170] httpd.py (manual): Move all twisted-related admonitions here * [4963da6] httpd.py (mbd_workaround_producer|ssl): Drop unneeded/overcomplicated logging of __doc__ * [5f5be4c] httpd.py (manual): Move all admonitions to file doc * [953293b] reprepro.py: Move all reprepro-related admonitions here * [86e4b5d] reprepro.py: Add note about observed reprepro lockup * [bdf2eda] models.py (manual): Move model-related admonitions here * [b4775b1] api.py (manual): Update admonitions to be on top of file * [e92e0df] reprepro.py (manual): Move another reprepro-relates admonition here * [63b64ab] models.py (manual): Move more model-related admonitions here * [c61a62b] daemon|api|sbuild|models.py (manual): More admonitions moved * [6dd7d5d] src/mini-buildd (manual): Drop todo for argparse issue (wontfix in python) * [e492bcc] manual/administrator|roadmap.rst: Minor admonition updates * [a4c4614] manual/conf.py (admonitions): Fix/clarify descriptions for 'error' and 'attention' -- Stephan Sürken Sun, 10 Dec 2023 13:11:07 +0100 mini-buildd (2.1.9) experimental; urgency=medium Mostly internal refac to (pythonize and) improve ``mini-buildd-debug-build``: [ Gerhard A. Dittes ] * [5a26062] includes/api/setup.html: fix missing "" and "" * [d98cfdf] includes/api/setup.html: fix table colspan mismatch * [e48d790] static/mini_buildd.css: tweak "
" [ Stephan Sürken ] * [3cdcb9a] client.py (interactive): Make 'skip' and 'quit' separate choices (quit exits immediately with current error) * [e909a9a] devel (codespell): Update to use config files file for 'ignore-words' and (new) 'ignore-lines' * [4a47179] devel (codespell): Ignore awkward interaction prompt line from client.py * [e9b68ba] devel (profile arm64): Also add arm64 chroots * [6052b7c] models.py (PrioritySource): Make filterable (origin, codename) in admin interface * [9ed7893] changes.py (_move_to): Add analog 'copy_to', and make both methods public * [1afe52d] changes|events|models|packager.py: Simplify events/builds creation/move * [6592dd8] changes.py (Base): Add dir_name(), improve __str__() * [1c255a4] changes.py (Base): _move_to(): Rather don't use files.Path as path parameter * [e3cdf0d] changes.py (Changes.save_to): Create path && don't use files.Path * [603b225] events.py (events.log): Add log_exception() call on exception (fixes missing logs for error conditions on incoming) * [e46c462] changes.py (Changes): Drop builds_path * [068db38] changes.py (Changes): Drop 'events_path' class var (make Changes class independent from config) * [45f5c31] sbuild.py (SBuild.__init__): Use class var for environment variables * [5c0db53] sbuild.py (SBuild.__init__): (refac) Bundle all static cmdline entries 1st, in one go * [da42b7b] config.py (Routes): Add var/shared/debug dir to layout (already used by m-b-debug-build) * [ced535c] sbuild.py (SBuild.__init__): Add 'extra_args' and use --key- id in builder only * [590d634] builder|sbuild.py: Move "bres" var to sbuild * [cb4d459] sbuild|builder.py: (refac) Only change bres in Sbuild * [0d66dba] sbuild.py (SBuild): (refac) Don't actually change anything on __init__, only on run() * [3d2025b] mini-buildd-debug-build: Replace w/ python variant * [a334112] cli.py: Move mini-buildd's '--dedicated-user' precaution arg to cli.py (as generic optional arg) * [0f5aa46] mini-buildd-debug-build: Add precaution: Run as user mini- buildd only * [05f9dc3] devel (service.log): Add timestamp per line (when following log file) -- Stephan Sürken Sun, 26 Nov 2023 13:58:11 +0100 mini-buildd (2.1.8) experimental; urgency=medium [ Stephan Sürken ] * [da74959] models.py (Archive): Avoid unnecessary double '/' in release URL. Thanks to Magnus Holmgren (Closes: 1052459) [ Gerhard A. Dittes ] * [418c821] static/{mini_buildd,admin}.css: introduce less disturbing "details popups" && finetune here and there [ Stephan Sürken ] * [b44e663] modely.py,admin.py(django 4.2): pylint adaptions (for compatibility down to 2.2) * [5ce8c8d] models.py (DaemonEmailField): Drop compat code for django < 3.2 * [bac77f3] client.py (Client.__init__): Drop unused class var '_status' * [102304f] devel (tidy): Add exception for django 4.2 * [d373877] client.py (Client): Improve terminal interaction * [564b8fc] httpd.py (FileResource.mbd_workaround_producer): Update workaround note (it's twisted failing on APT pipelining) * [f40f20b] httpd.py (FileResource.mbd_workaround_producer): Retest that twisted trunk really fixes this && update notes * [077cb2a] devel (mbd_pythonkeyringtestconfig): Create config dir (needed on very 1st call) * [6d2be8b] client.py: Drop 'systemcert workaround' (fixed bookworm+) * [0942722] devel (mbd_installdeps): Use --yes on mk-build-deps as well * [730a932] devel (mbd_api): Use --auto-save-password for API calls (saves us one interaction on inital strap) * [54f19ad] devel (codenames,events): Don't use admin URL where not needed * [2d2b687] devel: Add MBD_COMMON_OPTIONS && cleanup debug profiles * [68823b2] devel (MBD_SETUP): Add config hint if no apt-cacher-ng is running * [3c18fdb] src/run-doctest: Don't run hardcoded with '-W default' (rather use devel profile 'debug_all') * [8ac8810] mini-buildd-cruft: Also find dated debug copies (as created manually by m-b-debug-build) * [838545e] mini-buildd-debug-build: Improve session/data info && issue it 'post' * [8d0df9c] src/mini-buildd-debug-build: Add convenience option to install extra packages * [944aaaf] mini-buildd-debug-build: Permission fix fixup: Fix all top level files in copy (not only dsc) * [3afd071] src/mini-buildd-debug-build: Do post info on exit via trap * [68dae3e] mini-buildd-debug-build: Add workaround for buildsystems that choose ccache even if not in PATH * [7aad787] mini-buildd-debug-build: Add note that maybe rather sbuild should be used directly * [758f39a] mini-buildd-self-signed-certificate (CN): Fall back to 'localhost' if ``hostname`` fails (Closes: 1052822) * [70221d0] devel (MBD_HOSTNAME): Fall back to localhost if ``hostname`` fails * [367c689] dist.py (setup): Fix "broken" description for Ubuntu lunar (debootstrap, not debmirror) * [9d71931] dist.py: Add support for Ubuntu mantic * [14fa87d] models.py (Chroot): Workaround: Be able to strap 'newer Ubuntus' with Debian's ``debootstrap`` * [7fbb56a] devel (codespell): Adjustments for version 2.2.6: One actual typo fixed, added new exception -- Stephan Sürken Sun, 22 Oct 2023 11:08:58 +0200 mini-buildd (2.1.7) experimental; urgency=medium [ Stephan Sürken ] * [2e9aa81] debian/control (Depends): Drop blocking reprepro 5.4 * [d53a386] tags/api_arg.html (text input): Use doc as placeholder text if it has no default value [ Gerhard A. Dittes ] * [04a7545] tags/datatable.html: use string "Filter" instead of "Search" to make things more obvious * [52c619f] static/mini_buildd.css: don't display (kind of) redundant label of "source package name" search field && adjust font size * [f64a9d4] static/mini_buildd.css: fix/restrict "spn" label hiding to header area * [c4d7f5f] static/mini_buildd.css: isolate "spn" label hiding even more * [f804084] crontab/index.html: use
    instead of dataTable to present cron log [ Stephan Sürken ] * [190ef82] debian/mini-buildd.templates (extra options): More (and more explicit) examples * [6bdacdf] client.py (Client): Add __str__ for client class * [ca7b39d] cli.py (StdErrHandler): Update log format 'I: [meta]' * [006a158] client.py (Client.api): Improve interactive prompt * [59bce5d] debian/po: Updates from debconf-updatepo (after template change) * [3fc104b] api.py (Call.url): Make url() function versatile * [0468208] client.py: Switch to use url() from Call class * [a2bc6ae] client.py (Client.api): Simplify variable initialization * [f1c49a5] etc/profile.d/mini-buildd.sh: Add sh/bash profile for user mini-buildd (for now, only adds sbin path for convenience) * [7917059] mini-buildd-cruft: Make interaction slightly less annoying (when deleting many cruft files) * [0217283] cli.py (logging): Set default level to "WARNING", "INFO" for mini-buildd loggers only * [02ca9e8] api.py (Setup): Don't place volatile native arch list in docs * [8e290d0] dist.py (Archs._atwarn): Make "missing arch-test" warning more usable * [73c2b5c] manual/roadmap.rst: Update reprepro 5.4 brainstorm notes * [efe1dcb] cli.py(log level): Add generic parser function (to use for both argparse.type and actually set) * [2f72a70] cli.py (log level): Make advanced format '.' (not '.') * [38b73f3] cli.py (CLI): Manually handle default for --log-level (argparse would append to default if given) * [f503ae9] crontab/index.html: Fix left-over 'id' after change datatable->ol switch * [f5f6855] devel (python3-keyring): Drop support for urold versions && use config file (devel.keyringrc.cfg) * [643e3be] devel (mbd_installdeps): Drop mk-build-deps cleanup workaround (fixed bookworm+) * [5bcefca] devel (mbd_api): Don't use --script-mode by default for API calls -- Stephan Sürken Sun, 24 Sep 2023 14:43:23 +0200 mini-buildd (2.1.6) experimental; urgency=medium This release * has more logging improvements * refreshes debconf templates * adds 'cruft tool' Details: * [74082b3] manual/administrator.rst: Move "log cruft" section to mini- buildd user section * [c52b6b4] debian/mini-buildd.init (PIDFILE): Move from mini-buildd's home to /run (SYSV only) * [894a3a5] debian/mini-buildd.init: Rather log to "/var/log/mini- buildd.log", not "~/var/log/daemon.log" (SYSV only) * [041fb76] src/mini-buildd-cruft: Add new tool to help admin to find cruft files (merges m-b-reject-cleanup) * [af8c44d] src/mini-buildd-cruft: Merge mbd-schroot-cleanup into mbd- cruft * [60d65c9] dir.html: Drop extra entry for "..": Redundant, and broke datatable's 'modified' sorting * [c254369] dir.html: Minor cleanup (no need to give data-search, data- order explicitly for 'Name' any more) * [15b73ce] manual/administrator.rst: Fix/update for "Logging and Debugging" section * [bcb2f52] cli.py (CLI.setup): Drop -- only used in mini-buildd (code can simply be called in runcli()) * [d0444e7] cli.py (CLI.run): Move '-v/-q compat code' down && simply set root logger level * [855755c] cli.py (DputCf.target_completer): No need for extra list() call on keys() * [d5f7383] cli.py (--log-level): Add ability to give multiple times && with optional logger name * [ef4b397] cli.py: Drop unused 'allow_unknown' option * [b77350c] cli.py: Drop deprecated -v,--verbose,-q,--quiet options for good * [9c51839] cli.py: Add custom formatting for py.warnings (avoid multiline) * [8a01d96] cli.py (CLI.run): Always capture py.warning to our logging * [01ebefa] devel (install): Use --force-confnew (rather than post- sanitizing the default file) * [0a49b27] cli.py: Programmatically ignore python warnings (unless configured explicitly form outside (PYTHONWARNINGS, -W) * [da1c0cb] Support PYTHONWARNINGS environment variable (debconf, service, devel) * [2912822] debian/mini-buildd.default: Drop superfluous comments * [9680934] debian/mini-buildd.config: Drop unnecessary/convoluted helper function * [f0df6a9] debian/mini-buildd.templates: Fixup order and priorities * [fbc9f36] debian/mini-buildd.templates: Minor wording improvements * [f02ba04] debian/mini-buildd.config: Minor order fixes (again) * [9f1339c] debian/mini-buildd.postinst: Add common function to update default file * [ad404c7] webapp.py, postinst (set admin pass): Always use LOG.info on py side && drop extra output from postinst * [adf9af5] debian/mini-buildd.postinst: Be less chatty on upgrades for user changes * [97de35a] webapp.py: Run "check" in quiet mode * [38db3ce] api.py (Setup.report_load): Check for path existence (avoids unnecessary WARN log) * [2cf6bc2] devel (install): Drop --force-confnew (does not seem to work) && clearing out values again * [4b6ee20] mini-buildd: Drop deprecated ``-W,--httpd-bind`` option * [35a84b9] builders/index.html: Don't warn if remotes are nor re- checked -- rather note if they are * [386a43e] debian/mini-buildd.templates: Improve description for "extra options" (include most viable examples) * [47edae5] debian/mini-buildd.templates: Improve description for 'pythonwarnings' * [685000f] cli.py (--log-level): Fix && simplify help text * [c9e2303] devel(build-migrate): Add test for rollbacks after migrate * [05ffa64] models.py, reprepro.py: Fix rollbacks on migrate * [33b119c] changes.py: Fix buildrequests for orig-less uploads * [b532d27] examples/mini-buildd-utils/python-client: Update import style && simplify * [33aa5b3] debian/po/: Update debconf templates * [98f056f] mini-buildd-api: Add --script-mode (force to be non- interactive) * [a9216b8] client.py (Client.api): Interact on any error && add interactive skip option * [35159cd] devel (mbd_pid): Fix for new path to (sysv) pidfile * [8addcee] devel (mbd_pid): Drop sysv pidfile support && harden pgrep call -- Stephan Sürken Sun, 17 Sep 2023 17:07:26 +0200 mini-buildd (2.1.5) experimental; urgency=medium This release improves logging && doubles down on the "new-style daemon" approach. It drops internal support to write the "daemon.log" file (&& web support to view logs). The olde "daemon.log file" is still used only for the (usually unused) sysv-style init scripts (and will now actually include _all_ relevant logs, even pure stderr logs from third party libraries). * [ec53e1d] api|view.py: Add Call.__str__() (&& improve call error messages) * [9cf5fe3] src/mini-buildd-backup: Fix typo (whery->where) * [fa700ec] Drop GUI support for service and access.log * [d30da00] cli.py: Only use one (Console)LogHandler (w/ auto journalctl support when there is no tty) * [093f399] cli.py: Drop internal service logging to file (to ~/var/log/daemon.log) * [0df496b] debian/mini-buildd.init: Simplify by using 'init-d-script' * [cb24b17] httpd.py: Simplify twisted static support * [aa7c4da] devel (log helpers): Clean up && make work for systems w/ systemd running (like systemd containers) * [81bab25] debian/mini-buildd.init: Add a poor man's log rotate * [1d395a5] src/mini_buildd/httpd.py: Simplify code for the two workarounds * [7d346ba] client|http|util.py: Naming consolidation for some workaround functions * [444305d] debian/mini-buildd.init (do_stop_cmd): Don't fail if start- stop-daemon fails (may just be a stale pidfile) * [3db9960] debian/mini-buildd.init: Overwrite do_start_cmd as well (to avoid multiple starts) * [38b173f] debian/mini-buildd.init (start/stop): Show extra info if already stopped/running * [0e76250] debian/mini-buildd.init (do_stop_cmd): Display cosmetics for savelog case * [3c56568] httpd.py: Configure twisted logs to go to stderr && with mini-buildd's log level * [a2041ff] ftpd.py (FtpD.bind): Drop special LOG config on DEBUG * [2029a25] src/mini_buildd/cli.py (log_info): Add debug helper to list all loggers + handlers * [033c86c] cli.py (CLI, logging): Drop self.[w]logger, switch to configure root logger only * [1c0301a] cli.py (CLI): Drop loggers() 'conf function' (obsolete, we really double down on "new style daemon" approach) * [388dcb0] cli.py (ConsoleHandler): Switch to f-string style for log formatting * [6834655] cli.py (log_clone): Drop this helper function, no longer used * [cd4292c] cli.py (systemd prefix): Rather monkey-patch log record than rewriting emit() code * [faf3b0e] cli.py (StdErrHandler): Simplify, rename to StdErrHandler * [12276ac] httpd.py: Use python's native logging system * [dcbd6a2] cli.py (StdErrHandler): Update log format (show name 1st) -- Stephan Sürken Sat, 02 Sep 2023 16:27:12 +0200 mini-buildd (2.1.4) experimental; urgency=medium This release - drops some more compatibility code && fixes some minor issues - further refreshes Web GUI design Details: [ Gerhard A. Dittes ] * [75a32ea] src/mini_buildd/static/icons/debian.svg: improve * [d3b711e] src/mini_buildd/static/icons/ubuntu.svg: improve [ Stephan Sürken ] * [5ffdbd0] setup.py, debian/control: Depend on py-argcomplete >=2 && drop compatibility code from setup * [18a86c8] debian/control (Build-Depends): Depend on py-django >= 3.2 * [787f912] models.py (StatusModel.Admin): [django 3.2] Use decorators for admin actions (instead of monkey patching) * [24a2ea5] models.py (StatusModel.Admin): Drop (no longer needed) local pylint override for admin actions * [8625f2b] debian/control (Build-Depends): Update sphinx dependency to >= 3.5 * [118fa09] manual/conf.py: [sphinx 3.5] Use 'project_copyright' (obsoletes 'redefined-builtin' pylint override) [ Gerhard A. Dittes ] * [e7ef918] css: improve & style towards (bookworm-)blue [ Stephan Sürken ] * [dba434a] manual/administrator.rst (admonition): Drop ancient "eatmydata" note * [9a11848] schroot.py (Session.check_sudo_workaround): Drop ancient safeguard for possible insecure chroot [ Gerhard A. Dittes ] * [9751077] src/mini_buildd/static/icons/mini-buildd.svg: harmonize with new icon theme * [99d6f77] src/mini_buildd/static/icons/copy.svg: improve * [1c24500] src/mini_buildd/static/icons/paste.svg: improve * [04a5bc2] src/mini_buildd/static/mini_buildd.css: revive "menu- active"; prefer unit "rem"; tweak elsewhere * [9bc5161] css,js,svg: prevent outdated versions/files being loaded from browser cache * [0e2f778] src/mini_buildd/static/mini_buildd.css: use default "input" with (to fix most non-reachability issues) * [2fd56dd] src/mini_buildd/static/mini_buildd.css: adapt "textarea" size [ Stephan Sürken ] * [92c5252] views.py (API): Error handling: Rather use BadRequest (not Unauthorized) when confirmation is missing * [181af06] tags/datatable.html: Drop "anti flicker" workaround && nowrap (fixes column widths on reload && avoids content possibly unreachable) [ Gerhard A. Dittes ] * [0beb630] src/mini_buildd/static/mini_buildd.css: tweak some coloring, alignment and such like * [798cfbf] Revert "tags/datatable.html: Drop "anti flicker" workaround && nowrap (fixes column widths on reload && avoids content possibly unreachable)" * [8c6eabb] src/mini_buildd/templates/mini_buildd/includes/tags/datatable.html: tune "anti flicker" workaround to actually work * [14dbdf5] src/mini_buildd/static/mini_buildd.css: tweak sizes of "home, reload & close"-buttons * [a802660] src/mini_buildd/templates/mini_buildd/includes/tags/datatable.html: slightly retweak "anti flicker" workaround * [f3b0355] src/mini_buildd/static/mini_buildd.css: slightly improve DataTables appearance & usability * [834b670] src/mini_buildd/templates/mini_buildd/includes/events.html: fix missing "list item" tags * [b5489a3] src/mini_buildd/static/mini_buildd.css: make tables more compact [ Stephan Sürken ] * [e130b85] debian/mini-buildd.templates (_Description): Add hint for 'debug mode' * [bd11a0a] models.py (Builders): Add warning log on remote error (else possible error reason would not show up at all) * [94ba76b] dist.py (Codename): Drop debug log when using codename sorting default (too much even for debug mode) * [1efc874] debian/po: Updates from debconf-updatepo (after template change) -- Stephan Sürken Thu, 17 Aug 2023 18:39:23 +0200 mini-buildd (2.1.3) experimental; urgency=medium This release - drops compatibility for python < 3.11 - drops numix-icon-theme in favor of custom icons (thx Gerhard) Details: [ Stephan Sürken ] * [57303a8] debian/control: Depend on python 3.11 * [3babf8b] util.py (PyCompat): Drop (depending on python 3.11 now) * [4d3ae93] client.py (Client.api): Drop py compat note (no longer relevant, code has changed) * [934dd6f] mini-buildd-ssh-uploader-command: Fix embarrassing typo (fixes: would run any user command) * [e8fd1c9] mini-buildd-ssh-uploader-command: Make work for dput implementations that use multiple connections to copy files (like dput-ng/paramiko) [ Gerhard A. Dittes ] * [f632ca1] devel: remove "Numix icons" support * [7431227] debian/python3-mini-buildd.links: don't link Numix icons any longer * [58cc3a7] debian/control (Depends): remove numix-icon-theme * [68d2fa8] src/mini_buildd/static/icons/places/folder.svg: create * [ac04749] src/mini_buildd/static/icons/actions/edit-clear.svg: create * [5ea7678] src/mini_buildd/static/icons/actions/view-refresh.svg: create * [703f6ba] src/mini_buildd/static/icons/categories/preferences- other.svg: create * [ad40fc8] src/mini_buildd/static/icons/actions/edit-copy.svg: create * [1dbbdaa] src/mini_buildd/static/icons/actions/window-close.svg: create * [933764e] src/mini_buildd/static/icons/places/folder.svg: improve * [619618e] src/mini_buildd/static/icons/actions/window-close.svg: improve * [bf5ec0f] src/mini_buildd/static/icons/actions/edit-copy.svg: improve * [1a8931f] src/mini_buildd/static/icons/mimetypes/text-html.svg: create * [d5816ce] src/mini_buildd/static/icons/actions/go-up.svg: create * [21bc3e0] src/mini_buildd/static/icons/actions/go-top.svg: create * [4e09116] src/mini_buildd/static/icons/actions/edit-clear.svg: improve * [7e84167] src/mini_buildd/static/icons/actions/edit-copy.svg: improve * [bc46ff7] src/mini_buildd/static/icons/actions/go-top.svg: improve * [069e0d5] src/mini_buildd/static/icons/actions/go-up.svg: improve * [bc05bf4] src/mini_buildd/static/icons/actions/window-close.svg: improve * [5ba8f7c] src/mini_buildd/static/icons/categories/preferences- other.svg: improve * [7fdd64c] src/mini_buildd/static/icons/mimetypes/text-x-generic.svg: create * [8916e52] src/mini_buildd/static/icons/mimetypes/text-x-generic.svg: rename to ../changes.svg * [2ba6dcb] src/mini_buildd/static/icons/changes.svg: improve * [452652d] src/mini_buildd/static/icons/file.svg: create * [446bf88] src/mini_buildd/templates/mini_buildd/includes/api/show.html: use new "changes" icon * [79b3ef6] src/mini_buildd/templates/mini_buildd/dir.html: use new "file" icon * [97ff18b] src/mini_buildd/static/icons/places/folder.svg: use 8x8 px corners * [2cfd373] src/mini_buildd/static/icons/mimetypes/text-html.svg: use 8x8 px corners * [f4ff8a8] src/mini_buildd/static/icons/file.svg: use 8x8 px corners * [64c8506] src/mini_buildd/static/icons/changes.svg: use 8x8 px corners * [cc321ab] src/mini_buildd/static/icons/categories/preferences- other.svg: use 8x8 px corners * [dcdd1c3] src/mini_buildd/static/icons/actions/view-refresh.svg: improve * [77f51b4] src/mini_buildd/static/icons/actions/window-close.svg: improve * [37764a9] src/mini_buildd/static/icons/actions/go-up.svg: improve * [7bc77d3] src/mini_buildd/static/icons/actions/go-top.svg: improve * [6d52636] src/mini_buildd/static/icons/actions/edit-clear.svg: improve * [13f93c5] src/mini_buildd/static/icons/actions/edit-copy.svg: improve * [3a5d7a6] src/mini_buildd/static/icons/actions/download.svg: create * [6742399] src/mini_buildd/static/icons/actions: improve several icons * [f751c67] src/mini_buildd/static/icons/mimetypes/package-x- generic.svg: create * [eddec95] src/mini_buildd/static/icons/actions/edit-copy.svg: rename to edit-paste.svg * [71e5a49] src/mini_buildd/static/icons/actions/edit-paste.svg: improve * [eaa5fa3] src/mini_buildd/static/icons/actions/edit-copy.svg: create * [a1df0b5] src/mini_buildd/static/icons/actions: improve some icons * [463ae30] src/mini_buildd/static/icons/actions/edit-redo.svg: create * [a70112b] src/mini_buildd/static/icons/actions/arrow-up.svg: create * [ff72905] src/mini_buildd/static/icons/home.svg: create * [8013c6b] src/mini_buildd/templates/mini_buildd/includes/api/base.html: use new "home" icon * [8d1250c] src/mini_buildd/static/icons/events-dir.svg: create * [406958f] src/mini_buildd/templates/mini_buildd/includes/events.html: use new "events dir" icon * [15e60eb] src/mini_buildd/static/icons/builds-dir.svg: create * [61ce2d1] src/mini_buildd/templates/mini_buildd/includes/events.html: use new "builds dir" icon * [cff2e58] src/mini_buildd/static/icons/actions/arrow-up.svg: improve * [10a9556] src/mini_buildd/static/icons/debian-pts.svg: create * [8dfeae0] src/mini_buildd/templates/mini_buildd/includes/api/source_header.html: use new "debian pts" icon * [c71fe87] src/mini_buildd/static/icons/logged-in.svg: create * [d787eb9] src/mini_buildd/static/icons/logged-off.svg: create * [14073cf] src/mini_buildd/templates/mini_buildd/base.html: use icons to represent logged in/off users * [42475a4] src/mini_buildd/static/icons/open-folder.svg: create * [ad40354] src/mini_buildd/static/icons/open-folder.svg: improve * [a91051e] src/mini_buildd/templates/mini_buildd/base.html: use new "open folder" icon * [ed8db3a] src/mini_buildd/static/icons/arguments.svg: create * [368fc2e] src/mini_buildd/templates/mini_buildd/includes/tags/api.html: use new "arguments" icon * [723ac07] src/mini_buildd/static/icons/categories/preferences- other.svg: improve * [870e35e] src/mini_buildd/static/icons/configure-chroots.svg: create * [2280d60] src/mini_buildd/static/icons/configure-remotes.svg: create * [5c2717c] src/mini_buildd/templates/mini_buildd/builders/index.html: use new "configure-chroots/remotes" icons * [22b9932] style: adapt mbd logo and other css delicacies * [30118f1] reclassify: src/mini_buildd/static/icons/actions/arrow- up.svg -> src/mini_buildd/static/icons/isolate.svg * [6b774f8] reclassify: src/mini_buildd/static/icons/actions/download.svg -> src/mini_buildd/static/icons/download.svg * [7141182] reclassify: src/mini_buildd/static/icons/actions/edit- clear.svg -> src/mini_buildd/static/icons/clear.svg * [8a184ce] reclassify: src/mini_buildd/static/icons/actions/edit- copy.svg -> src/mini_buildd/static/icons/copy.svg * [50a397d] reclassify: src/mini_buildd/static/icons/actions/edit- paste.svg -> src/mini_buildd/static/icons/paste.svg * [1ac6776] reclassify: src/mini_buildd/static/icons/actions/edit- redo.svg -> src/mini_buildd/static/icons/restore.svg * [435de44] reclassify: src/mini_buildd/static/icons/actions/go-top.svg -> src/mini_buildd/static/icons/top.svg * [cd9aa0b] reclassify: src/mini_buildd/static/icons/actions/go-up.svg -> src/mini_buildd/static/icons/up.svg * [706ceb6] reclassify: src/mini_buildd/static/icons/actions/view- refresh.svg -> src/mini_buildd/static/icons/refresh.svg * [a14373f] reclassify: src/mini_buildd/static/icons/actions/window- close.svg -> src/mini_buildd/static/icons/close.svg * [0032802] reclassify: src/mini_buildd/static/icons/categories/preferences-other.svg -> src/mini_buildd/static/icons/configure.svg * [450fcad] reclassify: src/mini_buildd/static/icons/mimetypes/package- x-generic.svg -> src/mini_buildd/static/icons/dsc.svg * [e8b338e] reclassify: src/mini_buildd/static/icons/mimetypes/text- html.svg -> src/mini_buildd/static/icons/html.svg * [803ca4e] reclassify: src/mini_buildd/static/icons/places/folder.svg -> src/mini_buildd/static/icons/folder.svg * [f065c8c] src/mini_buildd/templates/mini_buildd/includes/tags/api.html: fix checkbox to be disabled when unauthorized * [5c8cc14] src/mini_buildd/static/mini_buildd.css: tweak some minor form/menu things * [0ca3b3f] reclassify: src/mini_buildd/static/mini_buildd.svg -> src/mini_buildd/static/icons/mini-buildd.svg * [b43d6fa] reclassify: src/mini_buildd/static/{debian,ubuntu}.svg -> src/mini_buildd/static/icons/ [ Stephan Sürken ] * [d25b9b2] manual/conf.py: Fix logo path (after 'custom icons' update) -- Stephan Sürken Sun, 06 Aug 2023 12:43:17 +0200 mini-buildd (2.1.2) experimental; urgency=medium * [74ad96f] models.py (notify): Send emails "From" Daemon's configured email address (fixes regression introduced in 3daee5ac) * [71e01ae] events.py (Event.isummary): Improve output for 'auto ports' * [08f03d6] builtins.py, html, css: Drop 'mbd_cssmap' custom builtin * [b1b6499] devel(.lintianrc): Add '--info' to lintian run * [64c40b3] .lintianrc (suppress-tags): Suppress changelog spelling error check (really?) * [6c9d324] html, css: Rename mbd-severity -> mbd-inspect-severity (this is the only use case) * [9158147] mini_buildd.css: Drop extra color handling for suites * [216cb19] mini_buildd.css (:root): Better names for menu colors && drop unused 'mbd-highlight' class * [4a8b2e8] mini_buildd.css: Drop hardly useful 'mbd-bg-' classes * [106a3ef] mini_buildd.css: Drop unused "firefox tweaks" * [ed70349] mini_buildd.css (doc/consistency): Add comment header for main custom classes -- Stephan Sürken Sat, 29 Jul 2023 12:15:04 +0200 mini-buildd (2.1.1) experimental; urgency=medium [ Stephan Sürken ] * [4f4202e] manual/roadmap.rst (upgrade from 1.0.x): Fix: bullseye support will be via ``Hellfield Archive`` && minor improvements * [a52330f] manual/roadmap.rst: Update 2.2.x roadmap * [a83b232] devel (mbd_browser): Add url for website * [5e47c81] mini-buildd (usage): --http-endpoint: Add some newlines for better readability * [e615e5e] src/mini-buildd (usage): Don't use build host's FQDN in usage (Closes: 1039506) * [89bcd46] manual/roadmap.rst (2.0.x upgrade checklist): Add hint for 'keyring packages' && make item order more 'practical' * [201cf8f] manual/roadmap.rst (2.0.x): Add note about custom SSH upload setup in 'upgrading checklist' * [5dc1d9b] manual/roadmap.rst (1.0.x): Integrate vintage installation instructions from website * [b5ea164] manual/roadmap.rst (0.8.x): Integrate vintage installation instructions from website * [eaa6321] manual/roadmap.rst (2.2.x): Drop two (too fine-grained && done) issues * [44c5988] manual/roadmap.rst (2.2.x): Update roadmap * [57b8f40] manual (sidebar): Improve and add "top" back link * [b772c18] manual/administrator.rst: Add FAQ && example config on how to run in systemd container * [cb6ce4b] debian/control (Depends): Double down on warning for reprepro 5.4 via dependency * [cc5c97a] models.py (Remote.mbd_check): Wake remote on check * [c560bf6] Move systemd container example to mini-buildd-utils * [440e038] manual/administrator.rst: Minor text improvements * [9580685] examples/mini-buildd/pin-sbuild-for-urold: Fix strange wording in comment * [335e696] admin/mini_buildd.html: Drop bogus links to manual (category titles) [ Gerhard A. Dittes ] * [d845e47] src/mini_buildd/static/admin.css: make preformatted text distinguishable in "dark mode" [ Stephan Sürken ] * [b3937b4] src/mini-buildd-ssh-uploader-command: Allow dput via dput (bullseye and older) and dput-ng * [3ef350c] 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] * [2457d5a] api.py (Migrate): Extra doc to make clear we migrate *from* the given distribution * [7fac276] manual/roadmap.rst (2.0.x): Upgrade checklist: Split (in admin/consumer sections) && add note about changed paths in keyring packages * [dd11fe6] manual/roadmap.rst (2.2.x): Add "duplicate APT key" issue to brainstorm * [be82925] models.py (Daemon.mbd_notify_event): Fix (email) notify for non-raw (i.e., with name attached) ``EMailAddress``es * [0b2f655] api.py: Revive "output=plain" for API calls (on popular demand) * [e039dfb] *.py: Support dput-ng profile (API call dput_conf, archive- keyring) * [0bf0765] events.py (Event.__str__): Add architecture to description * [8cd9065] src/mini-buildd-ssh-setup: Make --help output work better with help2man * [79da662] src/mini-buildd-debootstrap-uname-2.6 (DESCRIPTION): Fix typo in description * [658fc86] changes.py (buildrequest): Add "Buildlog-Building|Installed" complete URLs (for convenience) * [a42a8ad] base.html: Move "Builders" back to _left_ main menu * [3daee5a] models.py (Daemon.mbd_notify_event): Rewrite email notify code * [7d7d90a] models.py, events.py (notify): (Re-)add textual email body with json as attachement -- Stephan Sürken Sun, 23 Jul 2023 19:28:19 +0200 mini-buildd (2.1.0) experimental; urgency=medium Initial release from development branch (master) * [0a7028c] Revert "debian/control: Drop sphinx-copybutton (from 2.0.x): Not available in buster" * [32fac7e] debian/changelog: Pseudo header for 2.2.x * [7271f9b] debian/control (Standards-Version): Update to 4.4.1->4.6.2 (no changes needed) * [798740f] debian/source/lintian-overrides: Remove override for (now fixed) lintian false-positive missing-build-dependency-for-dh-addon * [914e1d2] debian/python3-mini-buildd.lintian-overrides: Drop ldconfig- escape override (no longer an issue) * [ff0c08d] debian/mini-buildd.lintian-overrides (mini-buildd): Drop 'non-standard-file-perm' (no longer an issue) * [0f0329a] debian/control (Multi-Arch): Make mini-buildd-doc Multi- Arch: foreign * [d1c5fee] debian/changelog: Fix dev version (2.1 not 2.2), dist=experimental, help 'gbp dch' to get initial snapshot cl right * [ff52b7a] mini-buildd-dput: Don't use build-time path for "--config"'s default value (fixes help && man page) * [ed14be2] manual/roadmap.rst: Update "next labeling" after 2.0.0 release * [fba0e56] manual/roadmap.rst: Fix typo in 2.2.x roadmap * [19351b5] debian/control (Depends): Move dependency for pyftpdlib to python package -- Stephan Sürken Sun, 25 Jun 2023 11:59:00 +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