-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Wed, 10 Mar 2021 12:10:03 +0100 Source: mini-buildd Architecture: source Version: 1.9.18 Distribution: experimental Urgency: medium Maintainer: Stephan Sürken <absurd@debian.org> Changed-By: Stephan Sürken <absurd@debian.org> Changes: mini-buildd (1.9.18) experimental; urgency=medium . User summary: * Update sbuild config and setup handling: * New 'Sbuild-Config-Blocks' 'Extra Option': Predefined config blocks. * New 'Sbuild-Setup-Blocks' 'Extra Option': Predefined script blocks. * 'sbuildrc_snippet' and 'chroot_setup_script' are now blank by default and truly custom options. * When not using the (automatic) setup, 'Sbuild-Config-Blocks: ccache' and 'Sbuild-Setup-Blocks: ccache eatmydata' need to be set manually to get the previous (default) behaviour. * Minor improvements. . Details: * [07fbc79] files.py: Initial implementation: Handle line based text files (configs, scripts, etc..). * [fa5daaf] files.py: Real-world adaptions after sbuildrc POC. * [aa55d3b] builder.py (Build.build): Use files.PerlModule for .sbuildrc. * [f4f9587] __init__.py: Move open_utf8 here (and add some explanation). * [6161bb6] files.py: Rather use open_utf8(). * [47d672c] files.py (File): Add update() method (form ConfFile), make '#' default comment. * [e27f45c] models/repository.py: Update (reprepro) conffile generation to files.File. * [9dea2b1] models/chroot.py: Update (schroot) conffile generation to files.File. * [23e628b] misc.py (ConfFile): Remove ConfFile (no longer used). * [6130912] models/repository.py (Repository._mbd_reprepro_conf_options): Mv conf helper functions to where they are used. * [7195e3e] files.py (Dir): Manage a collection of Files in a directory. * [4af044f] builder.py: Add general handling for chroot-setup-commands (with custom script from buildreqeust initially converted). * [50a930f] builder.py (Build.build): Convert apt-transport (https) to new generic schroot-setup-command handling. * [691e5d0] builder.py: Go back to """-multiline notation for script strings (looks a bit weird, but otherwise only advantages). * [df8ff6f] builder.py: Update remaining chroot setup code to general handling. * [e2b0db6] builder.py (Build.build): Rm useless comment, garbaging around from somewhere. * [7842abb] builder.py: sbuils perl config: Also back to multi-line notation. * [5d36d0e] builder.py (Build._buildlog_to_buildresult): Use mini_buildd.open_utf8(). * [9a33ead] files.py (File): 'Don't edit' comment: Better wording: Created, not Autogenerated. * [5e528b9] builder.py: Add support for predefined schroot setup scripts; use script name prefixes "auto-", "custom-", "custom-block-". * [3b76ef8] chroot.py: New module; move new chroot setup blocks here. * [7b4ca58] models/distribution.py (Distribution.Admin): Add doc for new extra option: Chroot-Setup-Blocks. * [8898bab] chroot.py: Copy all predefined scripts from model/distribution.py. * [2c11a79] builder.py (Build.build): chroot setup: 'custom- buildrequest' should run after 'custom-block-*'. * [0efa12f] builder.py: Acrually Chain Chroot-Setup-Block extra option trough (dist->buildrequest->sbuild). * [0821abf] chroot.py: APT_GET (Quiet, non-interactive, least invasive and loggable apt-get call): To be used throughout internal script code. * [1dbbf92] Rename chroot.py -> sbuild.py. * [d805ba1] builder.py: Use new APT_KEY shortcut for all auto-generated scripts as well. * [418eea4] sbuild.py: Re-order blocks (ccache 1st) and remove example block. * [cee7b4a] models/distribution.py: Make chroot setup blocks "ccache eatmydata" default for setup. * [110dee4] models/distribution.py: Remove all script code. Default value for chroot_setup_script is now blank. * [7f0590e] files.py: Add some shebang parsing && AutoScript (autmatically parse whole script with shebang). * [e340570] models/distribution.py: 'schroot_setup_script': Make shebang mandatory if given (with django validation). * [a1ab1c0] builder.py: "custom-buildrequest": Only add if not zero- sized && use AutoScript (enables arbitrary shebangs again). * [dd77185] files.py (AutoScript): Add file in non-snippet mode (fixes double shebang). * [c4959c5] builder.py: Chroot-Setup-Blocks -> Sbuild-Setup-Blocks. * [8bcbf43] builder.py (Build.build): Add "auto" chroot command to cat sbuildrc to buildlog. * [aee9440] models/distribution.py, changes.py: New extra option "Sbuild-Config-Blocks", and loop through in buildrequest. * [e7c2047] sbuild.py: Add CONFIG_BLOCKS; copy 'ccache' from distribution (with template strings). * [454aaef] builder.py (Build.build): Support adding of Sbuild-Config- Blocks. * [ac200d3] files.py: Loop kwargs through for all subclasses of File. * [91afa27] files.py (File): Support placeholders. * [801c45e] builder.py: Support placeholders for sbuildrc (LIBDIR only). * [938a67b] test-data/dos|unix.txt: Add test files: dos mode line break (CRLF ASCII), unix line break. * [33f8789] files.py: Skip writing extra "don't edit" comment (little gain, duplicates if snippets are merged, hardens automatic testing) * [bf3c973] files.py (File): Add tests that dos files are handled fine. * [4cb6be7] models/distribution.py: Obsolete mbd_get_sbuildrc_snippet. * [c2c9a2e] misc.py: Obsolete fromdos. * [3d81791] models/distribution.py: Make default for sbuildrc_snippet blank && doc update. * [6877de1] misc.py (Hash): Upgrade file hash support to class, add doctest. * [f80459e] files.py: Move SourcesList support here. * [7e1ffc2] files.py (SourcesList.has_https): Make tool function class method. * [f8958da] misc.py (chroot_libdir_path): Rm, obsoleted by config.Resource. * [cc6b4b5] misc.py (API): Remove unused 'API' class. * [021eeea] builder.py (Build): No need for sbuildrc_path property. * [a5dfc21] builder.py: Clean up (notation && doc) sbuildrc/setup blocks. * [2ac6ba9] builtins.py (Plain): buildlog index: Make generic E(RROR), W(WARNING) ignore case. * [b594117] builtins.py (Plain): buildlog index: Also recognize 'ERR: foo', 'WARN: foo'. * [dafd784] builder.py: sbuild apt setup: Copy apt keys to /etc/apt/trusted.gpg.d if exists (instead of always using deprecated apt-key). * [dcb8f31] .prospector.yaml (pylint): Update to reality. * [f6ce0c4] setup.cfg (max_line_length): Use _, not - (warnings from dist.py). Checksums-Sha1: a88d51d43ee2ba996435ba0f7267a24dbcb170ac 2269 mini-buildd_1.9.18.dsc 9bd293846fc4f2ef1a11de8ece470ec927f0fc81 458116 mini-buildd_1.9.18.tar.xz e90fbdcfa699c44c35e152bb42c89799b1e76735 10664 mini-buildd_1.9.18_source.buildinfo Checksums-Sha256: 835aa77ea648266ea48dbfad3e99c5f1bc90baa9656bf22fe6eb4dd0aa926b21 2269 mini-buildd_1.9.18.dsc 6d108026fdc4d5161a0b959048b461bf5fe61f27148e7a32327d1bd9c585b16d 458116 mini-buildd_1.9.18.tar.xz 391929752bac9f1ed9965247fc94f32b2571d39e240b602e1053d237e9380f63 10664 mini-buildd_1.9.18_source.buildinfo Files: 967cf425e9c5cef164a3e4bfd06ac94a 2269 devel optional mini-buildd_1.9.18.dsc c3843688632346280f64d85af9ce9ac6 458116 devel optional mini-buildd_1.9.18.tar.xz fa5ba26d594ae5f3456a818692403fe6 10664 devel optional mini-buildd_1.9.18_source.buildinfo -----BEGIN PGP SIGNATURE----- iQJGBAEBCgAwFiEEVOttCJ+jfBmmRZCzBm3oAX4rYdkFAmBIrBYSHGFic3VyZEBk ZWJpYW4ub3JnAAoJEAZt6AF+K2HZ6I4P/A/n9x2gY2SeyQt/7enyQqO+iPNdNGs7 nsZz8Glhjsoyviahg9Kb47rxN+cQL1V6wrhm9tX+euF6lVRP1rY5snS6snNiNYOl v+dUx6zP90Y0NTtwyYkBwa4LgRxCGgYOFhBVoJEOw5TG/P8G+6qZHNNDeBo+g/d1 +EMrkiQGWn+OVpr0/QksbJRhkGmTfecp/D8TkUZr4uLh9t8CdJiOge8tYigVTN9X y4nctkbD7DlBYd8MvtoceAVaLm5XxMRs+Yuo8Zp3paGD/N0/ujhk0GrkC68N/h1Y vyObXrFfSDwjuljlt0t7ZtZECYS4o5dLZcY04Jyn1slyGjtK4fiHg4JDjyhM6saL lXBLwS3GHd2+1E8uqQgtQbP48lphgkv9ZyNlQ2E969UsxpJ6zr6K9I8kpeD+dTTM VXyxHxpws4v4A2R5B9jXkDD1L0jGR46j1PzDz4OpZP1K87AhqWkyU3y6en4J+mh5 RUiNSxNZ3tTjO4ptdVDkzIXkUNBEPwjOjQcHq++cTVr1dTWkmEq+KcQR+TpE1RlK f7Wx9BDUEdvDwyX2L3Qy52WQpxosuxrW3lL9izJPSCGA/YmM3uBzujc465Rqy4Qx VaX+nWj9Ffc2/H66tUaScDaNvVcKYhmbLdxR3+joapC5BeW66Q5XZZnyKkZ/UylH Ej8UTn1vAcDC =P1O8 -----END PGP SIGNATURE-----