-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Thu, 24 Aug 2023 19:14:48 +0200 Source: debputy Architecture: source Version: 0.1.4 Distribution: experimental Urgency: medium Maintainer: Debhelper Maintainers <debhelper@packages.debian.org> Changed-By: Niels Thykier <niels@thykier.net> Changes: debputy (0.1.4) experimental; urgency=medium . * debputy.pm: Breaking change: The debputy dh sequence now removes the following debhelper tools from the sequence: . - dh_installdirs - dh_install - dh_installdocs - dh_installchangelogs - dh_installexamples - dh_installman - dh_installcatalogs (!) - dh_installdebconf (!) - dh_installemacsen (!) - dh_installinfo - dh_installinit (!) - dh_installsysusers - dh_installsystemd (!) - dh_installsystemduser (!) - dh_installmenu (!) - dh_ucf (!) - dh_perl - dh_usrlocal (!) - dh_installwm (!) - dh_strip_nondeterminism (!) - dh_dwz (!) - dh_strip - dh_missing (!) . At this point, basically any command *after* dh_auto_install (plus dh_installdirs, which runs before dh_auto_install) has been removed. As a consequence, the `debputy.pm` sequence no longer interacts very well with most debhelper sequence addons. Basically any command relying on content in `debian/<pkg>` will no longer work with `dh-debputy`. . Commands marked with (!) has no or almost no replacement support. If a package rely on these commands, odds are debputy will be unlikely to support that package. Other commands will have support for common cases (similar to debhelper's default behavior). . * debputy.py: Breaking change: Remove support for services, debhelper provided maintscripts and triggers. . * New migration features: - Auto-migrate `debian/tmpfile` to `debian/tmpfiles` - Auto-migrate `debian/README.debian` to `debian/README.Debian`. (debhelper allowed both, debputy only supports the latter, which is the more common variant). - Auto-migrate `debian/doc-base.<suffix>` to `debian/<pkg>.<suffix>.doc-base`. Note that debhelper and debputy are not aligned on the naming scheme here. Applying this migration causes debhelper to no longer see the doc-base files. - Auto-migrate common `debian/install`, `debian/docs` and `debian/examples` into the `installations` feature (see "manifest changes" below). Some (but not 100%) dh-exec support provided as well. - Detect `debian/<foo>` files for unsupported debhelper tools or where no migration has been written yet and warn about their usage affecting the migration. - Migration now works with debhelper compat 13 rather than compat 14 in most cases. Notable exception being packages that have a `debian/pam`, which will still trigger a min compat of 14. . * manifest changes: - Implement `installations` to replace `dh_install`, `dh_installdocs` and `dh_installexamples`. Please see the `Installations` section in `MANIFEST-FORMAT.md` for how to use it. Note that `debputy` installations work differently than debhelper when multiple patterns match the same path. . * debuty plugin API: Important changes: - Detached paths are now less violatile. Notably, the `path` attribute will now always work for plugins. The `parent_dir` attribute should still be avoided however. Additionally, the `.lookup` method will now always trigger an exception for a detached path (previously, it would "sometimes" trigger the exception depending on the path being resolved). - Plugins can now choose whether a Packager Provided File (PPF) should have name segments or have architecture specific segments. Additionally, the plugin can request that `debian/foo` is considered a fallback for all packages for a given file. - The `BinaryPackagePath` type has been renamed to `VirtualPath`. . * Improve wording in documentation and fix typos various places. * Remove `> /dev/null` for `systemd-tmpfiles`. * Add support for systemd's sysusers file. * Provide standard excludes for commonly unwanted things * Support pruning changelog files. When pruning NEWS, keep only entries listed in the dch * Ensure man, info pages, changelog files and Debian.NEWS files are always compressed. Previously, these would only be compressed if they had a certain size. This change makes `debputy` match `dh_compress` better. * migration: Renames count as successful changes. Previously, the migration tool would say it could do renames and then claim nothing could be done followed by not doing anything at the end. * Fix bug where mode was used as mtime for symlinks. * manifest/parser: Recognise -dbgsym packages. The package names are now known and will not trigger an "unknown" package exception when used. However, currently no directives are allowed for dbgsym packages so the net result of specifying them is still an error. * Migrate to the python logging. Along with a dependency on colorlogs, this means that output will have some color support. This changes means more "info" level messages now have basic colors. * util.py: Fix double quote handling when doing shell escapes. * debputy.py: Improve error reporting a bit. Notably, previously some exceptions that should have been caught and rendered in a user-friendly way now are as intended. Additionally, the debputy frontend now catches a common cause of exceptions (`RuntimeError`) and classifies them as "Unexpected exceptions" along with a note recommending filing a bug for debputy. * debputy.py: Hide unstable/internal commands. Most of the frontend commands are now hidden behind an `internal-command` subcommand. this means that the default help output now only uses 1-2 lines on the internal or unstable subcommands. * debputy.py: Provide a `check-manifest` command to parse the manifest and check for obvious errors without having to build debs. * Do not mandate dpkg archs to be known. Previously, debputy would trigger an error if the manifest in the `arch-matches` condition listed an unknown dpkg arch. This error has been removed as it is common practice to list new architectures long before dpkg in stable/oldstable knows the architecture. * Tweak the auto-generated maintscripts. Notably, indentation is now two spaces and applied better to avoid weird hanging lines. Additionally, the first line of a snippet is no longer accidentially merged into the condition line, which could cause syntax errors if the fixed line did not have indentation. * Detect and register python byte compiliation for public dist-packages dirs and default "package private" dirs similar to `dh_python3`. This is done because `debptuy` cannot rely on `dh_python3` when it is self-hosting. Other `dh_python3` are not ported. * Move all of dh-debputy's files from `usr/share/debputy` to `usr/share/dh-debputy`. In tandem with the previous change, this causes debputy now to properly integrate with the python byte compilation system. * Correct the "inner" snippet order of generated maintscripts. All postrm and prerm snippets are supposed in reverse order and previously some snippets were not reordered correctly. * migrate-from-dh: Reduce the output to make warnings less likely to drown in other output. * migrate-from-dh: Better error reporting on failed executable dh config emulation. * migrate-from-dh: Require an explicit --apply-changes for migrations to performed. Checksums-Sha1: 37d0a3af4df9ee9bd798f3e71920cacb35f44cfc 1774 debputy_0.1.4.dsc fdfec765c11a92de011f8920a2087b1a85dca27e 139952 debputy_0.1.4.tar.xz 16282163c4aa473924bcca178ae2153098e8b11d 6531 debputy_0.1.4_source.buildinfo Checksums-Sha256: 0739fae0f57bfdc78bb33c137dde5f2a9c0d6b6cb832a1c59b726cf59ba5f4c4 1774 debputy_0.1.4.dsc 765139e26cacc36f1dea54c3e37cd70f1ef0718e7e8cdd8c101db81f96fc376a 139952 debputy_0.1.4.tar.xz bdb2d172ecf270a98f7e14be19320305b363c211a0e6def6863c4e1d6b20c6bc 6531 debputy_0.1.4_source.buildinfo Files: ebd31263fe859dcdbb29d18f20ccef3b 1774 devel optional debputy_0.1.4.dsc c95b32cd521c6f2fe449c9c451f55d2e 139952 devel optional debputy_0.1.4.tar.xz 661d604c2e0f0e571e0313f2ba0c9310 6531 devel optional debputy_0.1.4_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEsxMaRR2/33ygW0GXBUu7n32AZEIFAmTnnUEACgkQBUu7n32A ZEI0YA/9Hl2iNE6wuSoyOr7heHsLvFkTaAf45kVi+d/shBBOTQb0b3947KZHyeqp 3KL4zvyyaA70kwcSez00pTxQFsjjIeLY0g6zJ1O26msZVMYgXPIB2Boaqw/T1Ems JFz70x2w1pltoqJTf2M9ylHq3Jq/4NiPLycAVWSpUIZzlMWtfvlaMrnmuco24Dmy jlyyeratUB1dbjJVPTd2szl6V/b1YSq1g+LcQ+OnC+x/UAVwtxchk/FUC10jWJ77 +YtWsHyyEmVfUrn2bkaI9+jc6mIfQAwz9uizYaDDwI4uMUQmifQeKOsWS69x718P QeJZc3/2stNrC2XLvtJrJCD7XvcZ0s1+0sr1GGxXVrxSQ79MOBeNOBQpMeM7sDux rzvAm2QuIUxO9Fp6INXD/7WtuOxPYSjLDrl8ppfOSKLLcskbCxdXxRoAKFc4ERAF NdK14HWE0sFydRg/w1XXmaFidVeb3kFaAG1HivZn0WRAuFtS4ETEgnDfygxHA3Dk AXviy73gijwWl+Q5840GNenfzXsi9uJ0siQwRImv3Bm1q46925suQvJ+DhEKLxL5 +olvsFCFPEL2ZRM0n+pPmga5gEpVi3xgQSs1zEHpEpJXu/8FRjGQKZ8rJ8cLQwJo KlrizRa3vZcYu0WPjwGSF/OPk+mhl8kedUKZMC9JYp3u86NRGD4= =rHfA -----END PGP SIGNATURE-----