DebDiff

# DebDiff task

A task to compute the differences between two source or binary Debian packages using the `debdiff` utility.

The `task_data` associated to this task can contain the following keys:

- `input` (required): a dictionary describing the input data

  - `source_artifacts` (optional): a list with two elements (original, new). Each element is a Single lookup pointing to a debian:source-package artifact.

  - `binary_artifacts` (optional): a list with two elements (original, new). Each element is a Multiple lookup pointing to debian:upload or debian:binary-package artifacts. If the lookup returns multiple artifacts, they must be of category debian:binary-package.

The task computes dynamic metadata as:

- subject: `source:NAME_OF_PACKAGE` if `input.source_artifacts` is set, otherwise `binary:NAME_OF_PACKAGE` if all binary artifacts in `input.binary_artifacts` originate from the same source package

- parameter_summary: subject: original_version → new_version (arch)

Note

Note that exactly one of `source_artifacts` or `binary_artifacts` is required.

- `extra_flags` (optional): a list of flags to be passed to the debdiff command, such as `--nocontrol` or `--diffstat`. If an unsupported flag is passed then the request will fail.

- `backend` (optional, defaults to `unshare`). If `auto`, the task uses the default. Supported backends: `incus-lxc`, `incus-vm`, and `unshare`.

- `environment` (Single lookup with default category debian:environments, required): artifact that will be used to run `debdiff` (it will be installed if necessary).

- `build_architecture` (required): the architecture that we want to run `debdiff`.

The `debdiff` output will be provided as a new debian:debdiff artifact.

The task returns success if `debdiff` returns an exit code of 0 or 1, and failure otherwise.