-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Sun, 29 Jan 2023 19:42:15 +0100 Source: mini-buildd Architecture: source Version: 1.9.116 Distribution: unstable Urgency: medium Maintainer: Stephan Sürken <absurd@debian.org> Changed-By: Stephan Sürken <absurd@debian.org> Changes: 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 <details> 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", "<hash_id>,..") * [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 Checksums-Sha1: b51529a75427c2c8dd2d4d836e178d6bb8848dc3 2272 mini-buildd_1.9.116.dsc 3f662fe7e9f869fe8fc52f8afdabe741c2a01cb7 546468 mini-buildd_1.9.116.tar.xz 3bd2ba01e6532df806c360a71861fb7c6b3bc1ee 12084 mini-buildd_1.9.116_source.buildinfo Checksums-Sha256: a9b3ed6eec50169b072c579ac3f7da99e5e2ee1cade309939abac1836c2de725 2272 mini-buildd_1.9.116.dsc df811429983d67a22915ea59180e18fac7e76e72e69ce995449f6ba41cef5fb4 546468 mini-buildd_1.9.116.tar.xz 89ac6973be6ee198ac158170f0c1acaf1d234c8dc60d2798b9c6452268e87698 12084 mini-buildd_1.9.116_source.buildinfo Files: 309d3753ee0092111683ff51099a1fc8 2272 devel optional mini-buildd_1.9.116.dsc 11b6c5cf1507833a5b8ea432dab95834 546468 devel optional mini-buildd_1.9.116.tar.xz e367060ed4199ebef547198c008d80ba 12084 devel optional mini-buildd_1.9.116_source.buildinfo -----BEGIN PGP SIGNATURE----- iQJGBAEBCgAwFiEEVOttCJ+jfBmmRZCzBm3oAX4rYdkFAmPWvuQSHGFic3VyZEBk ZWJpYW4ub3JnAAoJEAZt6AF+K2HZHpgP/3RFLEMNiBBZQQ95Xy68DuLQw1Y8cys4 we5cWVsTpVVXQLI+9yF+waNAXxUKVrot1H8Q54zJXUjkYOrHO3/mzzMJSl+wEZ0+ fUgCwNbCEZL22S7BWLKdnvvb1YCahmbH614I9FOSX/YAAH5mCr1+OoecdnHrXZmj VRe/qXQY52/psR34tp7tdbard+c7Y7bseB+mKv3SnT7ta3XJH/RQ2o/yyO3Weu6V ZX5TR4OaYZ3recHFfpSq0q6Rc9kaHcrx41BgFdvCOK4GocrolGlPdmQb8N+5zlDc ZzAIrAjppgvMk5W3LILFqsnspZjNPz7RsEoh3ecC0G5rInZkFOY9WZEchLZSI5NL qgMU1iaSUSAIcbdYIP9JonCYErFQWg+2Atkww2VXP18GB6GAbexK9caiETZSmfBL AMxUyKOos3xg2pxodFSu5buryRM3M2Bovs9xQfb23RosVV25l1piU6ME78nul3N7 FZq8Pa8O4qHr/R7JVBuunTzT1GwY735nTW79l3jYrsXZQNO8LTjKndtJngZGMSzD gLpsWa+5ow3RrpqKBnFuiXJILHC1a0JTZWM2lfIpUxIbsnn9EhrTT66Ak01Vr11W Pg/QdMZfZaPAx2T5hPYHTTu6oh+rlTkiE2VgZvBcKc26rkzDIFkCVuC9n0xfa5qR uqzO7fSHZEnY =BIlP -----END PGP SIGNATURE-----