diff options
-rw-r--r-- | GETTING-STARTED-WITH-dh-debputy.md | 5 | ||||
-rw-r--r-- | debputy.pod | 4 | ||||
-rw-r--r-- | lib/Debian/Debhelper/Sequence/zz_debputy_rrr.pm | 1 | ||||
-rw-r--r-- | src/debputy/deb_packaging_support.py | 12 | ||||
-rw-r--r-- | src/debputy/dh_migration/migrators_impl.py | 1 |
5 files changed, 22 insertions, 1 deletions
diff --git a/GETTING-STARTED-WITH-dh-debputy.md b/GETTING-STARTED-WITH-dh-debputy.md index d14e6e4..227f6d7 100644 --- a/GETTING-STARTED-WITH-dh-debputy.md +++ b/GETTING-STARTED-WITH-dh-debputy.md @@ -134,13 +134,16 @@ The following `debhelper` commands are replaced in the `dh-sequence-zz-debputy-r `debputy migrate-from-dh` will warn you if there is anything to worry about in relation to these commands. * `dh_fixperms` + * `dh_shlibdeps` * `dh_gencontrol` * `dh_md5sums` * `dh_builddeb` In case something is flagged, it is most likely a hook target, which either have to be converted to `debputy`'s features or moved earlier. The most common cases are hook targets for `dh_fixperms` and `dh_gencontrol`, which -have sections below advising how to approach those. +have sections below advising how to approach those. The only potential problematic command would be `dh_shlibdeps`. +The `debputy` toolchain replaces `dh_shlibdeps` with a similar behavior to that of debhelper compat 14. If +you need selective promotion or demotion of parts of a substvar, then that is currently not supported. ### Affected debhelper command list for `dh-sequence-zz-debputy` integration mode diff --git a/debputy.pod b/debputy.pod index e01f5a5..a88a4f0 100644 --- a/debputy.pod +++ b/debputy.pod @@ -614,6 +614,10 @@ dh_fixperms =item - +dh_shlibdeps + +=item - + dh_gencontrol =item - diff --git a/lib/Debian/Debhelper/Sequence/zz_debputy_rrr.pm b/lib/Debian/Debhelper/Sequence/zz_debputy_rrr.pm index 53971e8..22d61e3 100644 --- a/lib/Debian/Debhelper/Sequence/zz_debputy_rrr.pm +++ b/lib/Debian/Debhelper/Sequence/zz_debputy_rrr.pm @@ -7,6 +7,7 @@ if (exists($INC{"Debian/Debhelper/Sequence/debputy.pm"})) { add_command_options('dh_debputy', '--integration-mode=rrr'); remove_command('dh_fixperms'); +remove_command('dh_shlibdeps'); remove_command('dh_gencontrol'); remove_command('dh_md5sums'); remove_command('dh_builddeb'); diff --git a/src/debputy/deb_packaging_support.py b/src/debputy/deb_packaging_support.py index 79f5a38..bb5979a 100644 --- a/src/debputy/deb_packaging_support.py +++ b/src/debputy/deb_packaging_support.py @@ -1010,6 +1010,18 @@ def setup_control_files( f" the manifest or file a bug if it is caused by a built-in rule." ) + shlibdeps_definition = [ + d + for d in metadata_maintscript_detectors["debputy"] + if d.detector_id == "dpkg-shlibdeps" + ][0] + + ctrl = binary_package_data.ctrl_creator.for_plugin( + shlibdeps_definition.plugin_metadata, + shlibdeps_definition.detector_id, + ) + shlibdeps_definition.run_detector(fs_root, ctrl, package_metadata_context) + dh_staging_dir = os.path.join("debian", binary_package.name, "DEBIAN") try: with os.scandir(dh_staging_dir) as it: diff --git a/src/debputy/dh_migration/migrators_impl.py b/src/debputy/dh_migration/migrators_impl.py index 7856d27..cb05e50 100644 --- a/src/debputy/dh_migration/migrators_impl.py +++ b/src/debputy/dh_migration/migrators_impl.py @@ -64,6 +64,7 @@ DH_COMMANDS_REPLACED = { MIGRATION_TARGET_DH_DEBPUTY_RRR: frozenset( { "dh_fixperms", + "dh_shlibdeps", "dh_gencontrol", "dh_md5sums", "dh_builddeb", |