Hi Uladzimir,

Can you please merge this changes if no objection.

Thanks,
Srinu

On Wednesday, February 28, 2024 at 3:11:58 PM UTC+5:30 srinuv...@siemens.com wrote:
From: Srinuvasan A <srinuv...@siemens.com>

Allow setting the Provides and Replaces field for auto generated control files,
with this changes now user can configure the provides and replaces in the debian/control file.

Recipes can simply setting the Provides and Replaces field now by defining the
DEBIAN_PROVIDES and DEBIAN_REPLACES variable.

Signed-off-by: Srinuvasan A <srinuv...@siemens.com>
---
doc/user_manual.md | 4 ++++
meta/classes/debianize.bbclass | 4 ++++
2 files changed, 8 insertions(+)

diff --git a/doc/user_manual.md b/doc/user_manual.md
index 747b5ffe..bc730243 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -936,6 +936,10 @@ For the variables please have a look at the previous example, the following new
Have a look at the `example-raw` recipe to get an idea how the `dpkg-raw` class can be used to customize your image.
Note that the package will be build using the whole debian package workflow, so your package will be checked by many debhelper scripts. If those helpers point out quality issues it might be a good idea to fix them. But `example-raw` also shows how rules can still be violated.

+Other (optional) customization variables include:
+ - `DEBIAN_PROVIDES` - declare a virtual package to satisfy dependencies
+ - `DEBIAN_REPLACES` - to replace a package with another
+
### Prebuilt .deb packages from somewhere

In some cases you might find yourself having a `.deb` that someone else built,
diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
index 7de98673..adbb5da4 100644
--- a/meta/classes/debianize.bbclass
+++ b/meta/classes/debianize.bbclass
@@ -8,6 +8,8 @@ CHANGELOG_V ??= "${PV}"
DPKG_ARCH ??= "any"
DEBIAN_BUILD_DEPENDS ??= ""
DEBIAN_DEPENDS ??= ""
+DEBIAN_PROVIDES ??= ""
+DEBIAN_REPLACES ??= ""
DEBIAN_CONFLICTS ??= ""
DEBIAN_MULTI_ARCH ??= "no"
DEBIAN_COMPAT ??= "10"
@@ -74,6 +76,8 @@ Build-Depends: debhelper-compat (= ${DEBIAN_COMPAT}), ${DEBIAN_BUILD_DEPENDS}
Package: ${BPN}
Architecture: ${DPKG_ARCH}
Depends: ${DEBIAN_DEPENDS}
+Provides: ${DEBIAN_PROVIDES}
+Replaces: ${DEBIAN_REPLACES}
Conflicts: ${DEBIAN_CONFLICTS}
Multi-Arch: ${DEBIAN_MULTI_ARCH}
Description: ${DESCRIPTION}
--
2.34.1