[PATCH] debianize: set appropriate Standards-Version for each debian suite

16 views
Skip to first unread message

srinuv...@siemens.com

unread,
Oct 27, 2025, 7:50:26 AM (4 days ago) Oct 27
to isar-...@googlegroups.com, srinuvasan
From: srinuvasan <srinuv...@siemens.com>

The Standards-Version field in debian/control declares the Debian Policy
version that the package complies with. Currently, the custom source packages
use a hard-coded Standards-Version: 3.9.6, which is obsolete and does not align
with the policies of newer Debian releases

Update the packaging to set the correct Standards-Version dynamically based on
the target Debian suite, ensuring compliance with the appropriate Debian Policy
version for each release.

Signed-off-by: srinuvasan <srinuv...@siemens.com>
---
meta/classes/debianize.bbclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
index 1f54e8f9..0d7b804b 100644
--- a/meta/classes/debianize.bbclass
+++ b/meta/classes/debianize.bbclass
@@ -83,11 +83,18 @@ deb_create_control[vardeps] += "DEBIANIZE_BUILD_DEPENDS \
DEBIAN_RULES_REQUIRES_ROOT"
deb_create_control() {
# Add Source section
+ case "${BASE_DISTRO_CODENAME}" in
+ buster) STANDARDS_VERSION="4.3.0" ;;
+ bullseye) STANDARDS_VERSION="4.5.1" ;;
+ bookworm) STANDARDS_VERSION="4.6.2" ;;
+ trixie|sid|*) STANDARDS_VERSION="4.7.2" ;;
+ esac
+
cat << EOF > ${S}/debian/control
Source: ${BPN}
Section: ${@ deb_list_beautify(d, 'DEBIAN_SECTION')}
Priority: optional
-Standards-Version: 3.9.6
+Standards-Version: ${STANDARDS_VERSION}
Maintainer: ${MAINTAINER}
Build-Depends: ${@ deb_list_beautify(d, 'DEBIANIZE_BUILD_DEPENDS')}
EOF
--
2.39.5

Florian Bezdeka

unread,
Oct 28, 2025, 7:56:27 AM (3 days ago) Oct 28
to srinuv...@siemens.com, isar-...@googlegroups.com
Hm... But that means that downstream users might end up with a
different standard version for their package after updating isar the
next time.

I'm expecting build failures here and there. Quite sure that not all
packages / recipes out there will fulfill the newer standards.

Maybe add a short note to the API changelog? An available quick fix
would be to overwrite STANDARDS_VERSION in the affected recipes.

srinuv...@siemens.com

unread,
Oct 29, 2025, 7:59:19 AM (yesterday) Oct 29
to isar-...@googlegroups.com, srinuvasan
From: srinuvasan <srinuv...@siemens.com>

The Standards-Version field in debian/control declares the Debian Policy
version that the package complies with. Currently, the custom source packages
use a hard-coded Standards-Version: 3.9.6, which is obsolete and does not align
with the policies of newer Debian releases

Update the packaging to set the correct Standards-Version dynamically based on
the target Debian suite, ensuring compliance with the appropriate Debian Policy
version for each release.

Signed-off-by: srinuvasan <srinuv...@siemens.com>
---
RECIPE-API-CHANGELOG.md | 7 +++++++
meta/classes/debianize.bbclass | 14 ++++++++++++--
2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index cf04fa5c..bb5f9b9c 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -242,6 +242,13 @@ consumption by imaging classes.
Additional build dependencies of auto-debianized packages can now be defined
by setting DEBIAN_BUILD_DEPENDS.

+### Add STANDARDS_VERSION as a deb_debianize parameter
+
+By default, the Standards-Version field in the debian/control file is automatically
+set based on the corresponding Debian suite.
+If you need to override this default value, you can do so by defining
+the STANDARDS_VERSION variable in your recipe.
+
### Separation of ${S} and ${D} in dpkg-raw

${S} can now be used for checking out sources without being linked implicitly
diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
index 1f54e8f9..2fad991a 100644
--- a/meta/classes/debianize.bbclass
+++ b/meta/classes/debianize.bbclass
@@ -80,14 +80,24 @@ deb_create_control[vardeps] += "DEBIANIZE_BUILD_DEPENDS \
DEBIAN_BREAKS \
DEBIAN_BUILT_USING \
DEBIAN_CONFLICTS \
- DEBIAN_RULES_REQUIRES_ROOT"
+ DEBIAN_RULES_REQUIRES_ROOT \
+ STANDARDS_VERSION"
deb_create_control() {
# Add Source section
+ if [ -z "${STANDARDS_VERSION}" ]; then
+ case "${BASE_DISTRO_CODENAME}" in
+ buster) STANDARDS_VERSION="4.3.0" ;;
+ bullseye) STANDARDS_VERSION="4.5.1" ;;
+ bookworm) STANDARDS_VERSION="4.6.2" ;;
+ trixie|sid|*) STANDARDS_VERSION="4.7.2" ;;
+ esac
+ fi
+
cat << EOF > ${S}/debian/control
Source: ${BPN}
Section: ${@ deb_list_beautify(d, 'DEBIAN_SECTION')}
Priority: optional
-Standards-Version: 3.9.6
+Standards-Version: ${STANDARDS_VERSION}
Maintainer: ${MAINTAINER}
Build-Depends: ${@ deb_list_beautify(d, 'DEBIANIZE_BUILD_DEPENDS')}
EOF
--
2.39.5

Jan Kiszka

unread,
Oct 29, 2025, 11:25:24 AM (yesterday) Oct 29
to srinuv...@siemens.com, isar-...@googlegroups.com
On 29.10.25 13:02, srinuvasan.a via isar-users wrote:
> From: srinuvasan <srinuv...@siemens.com>
>
> The Standards-Version field in debian/control declares the Debian Policy
> version that the package complies with. Currently, the custom source packages
> use a hard-coded Standards-Version: 3.9.6, which is obsolete and does not align
> with the policies of newer Debian releases
>

We have a lot of hand-written control files with that version in isar
and isar-cip-core in addition. Any plans for addressing those as well?

BTW, what is the concrete impact of not having a recent version? Missing
that from this description.

Jan
Siemens AG, Foundational Technologies
Linux Expert Center
Reply all
Reply to author
Forward
0 new messages