From patchwork Thu Mar 20 14:45:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 4119 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 20 Mar 2025 15:45:33 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-pj1-f58.google.com (mail-pj1-f58.google.com [209.85.216.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52KEjWV0003133 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 20 Mar 2025 15:45:33 +0100 Received: by mail-pj1-f58.google.com with SMTP id 98e67ed59e1d1-300fefb8e25sf1425998a91.3 for ; Thu, 20 Mar 2025 07:45:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1742481926; cv=pass; d=google.com; s=arc-20240605; b=NrWpuTMDijQiIi2kyRfA+RcF0cJzehmzdbX+0Hd8iNSdCYRDVO9UURMEk2SjCcbGgZ 8bgs5i0zcsC2SEhGH5h3Zo+UyaVwib8kBSXA18A/paadCHk/VXBu0WeiYUmB0t/hmUwS 4usiiXX9mxKxNu74BJCYsQ4+TpC+wudgB4p5mtK5hMFhR7qogSlmEMRR1DGTKoaFuXUv 4BWJoHk89H3E9wwOJI4fEUufNEEVn9fpvjKCVaaDEAa67fLhswypW5UueRSyTJC7Hejn zgpmvUeS0gRZW99rWYG5Jawy+T2u/Z0AfnNtuZFzynlaWUygRJaqfvHnbVyb5DyEIlJS zDiA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=FYIrvtwXcchCiugV8yM/sVBQpoyQVR4dSUkuhpZaErw=; fh=TBm6/iayS5ZzE6sVXeTe88kjHgucQrUq47BjLCrWOjc=; b=GHT4i0hAZnpVCa+pz2x/Bn7wJRlX9+e/FX3/C1TX/AX7bjoOAAoYzGQI60x35xsQlE E/6mwqzrVP0iedrMzGE53EoeibjIuzQS7cks6k6Q8zFL5UVzCMvGwx+tKQs1KzNmKoIQ sZ655PVc3VgiOsxGt+fU0ONcYukH0Sju7Md7k8QBtZGMjgtUAiVfti0/Hlk/igQ7G344 Eh/i9Fc2m38Vaov6ZLqSVCYXdIkOEHXEp0r210JPT/6QtqShXpeMPCBgp3W9US5s9xjS e3enUu3IF3tvF3haFmHpSmRpchy4v814FoS/bcvRq5ri3zK+eaa1mGUpytohFqP9R4n2 q35A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1742481926; x=1743086726; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc:subject:date:message-id:reply-to; bh=FYIrvtwXcchCiugV8yM/sVBQpoyQVR4dSUkuhpZaErw=; b=syRs/MiTH6LHr/upKq879DWBQOVYvoEVMvOqo3ufsZLIOEBsn3mx+fiSJOMfe20NWw B3mlYxmdGcpEKGDarphGlgxFK8TtW84BowQ2aukDAVEmd7gqxnsafPTaOignwxzK8KeE 3dL45jGBPFzj9K4NaziEPw+7KucOlf2eRc8eynvPi0eScIhkB7isI0KeP5LmiOmQW4cM 6f6g3vOH+lg/Fl52BAS4r6LmyoAoryLMokcu3wjNmnzcJYJU818GkqlSewyhZPk+fpW1 PaGYlzfu8K1VU1oWoOxFTP0nsKfxSvr2l4b3FYGZ/9776SSXWDgpae8xokgGOIjfJEFB shdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742481926; x=1743086726; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :sender:from:to:cc:subject:date:message-id:reply-to; bh=FYIrvtwXcchCiugV8yM/sVBQpoyQVR4dSUkuhpZaErw=; b=G6z70UPFWruNmgsB+Hse/bXrO7Sx263W9QzoLxubKcpqNRqqMhhi6VcdNQdTF1Wm0Z TOFI8ZEe8DSVvfox3RNougrWCsHgoowvUAFQi9ipMagzEJi7kZG/KHxbjblpAbj3NiGR 5GOSKVdrq/Rd4yzOyTYM8EMjVwV7XjKrrdlB1c4W4gjhZMAAcnnSaVRMgglaBDwu+xo5 kOv9oKmEZ2zfa2/LD2SmBfrrYjFtwUEf+kXxhPDAyW++ZC7KnauwhVKtTn8PUss0rKUe dqrztD1tvqMAbARfDRgAH2GHd8WAuJO8FycE1kBRvN299+y6RPb5SASqYXjCKaWKRZlL 9MJQ== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXqL0b42rD32DTs0RNqa5iRBJWhjkwNWej3A4EK53hVlY1v9ldj8GSazx5xX5KNcZOzVEqz4i8=@isar-build.org X-Gm-Message-State: AOJu0YwMYV+/QplWXhXyqxMflrSuqyxzDrlPIGGIGN4UIbRsp7FHaSdl JbPCeMHYj+lYohlmvnYcWpd9buAMF1GJG+0qku71UdRSQvShZdU+ X-Google-Smtp-Source: AGHT+IEg7xq9odON+8nGHdmWNbZtzIC3EWYqvxqyZX2He6x1rlqjXhsLmhN920Oz//hzHGONSJBPqw== X-Received: by 2002:a17:90a:d407:b0:2ee:d63f:d73 with SMTP id 98e67ed59e1d1-301bde6e7b6mr11775549a91.11.1742481925872; Thu, 20 Mar 2025 07:45:25 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPAJbMed03tDyetAHwNLq0oa1wbekbifXvJngiju2l7R6Mw== Received: by 2002:a17:90b:1102:b0:2f9:b384:bcb8 with SMTP id 98e67ed59e1d1-301d4582038ls819663a91.0.-pod-prod-05-us; Thu, 20 Mar 2025 07:45:24 -0700 (PDT) X-Received: by 2002:a17:90b:3889:b0:2ff:62f3:5b19 with SMTP id 98e67ed59e1d1-301bde73a7amr10159171a91.13.1742481922485; Thu, 20 Mar 2025 07:45:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742481922; cv=none; d=google.com; s=arc-20240605; b=iGxz+LVDzq/pH9Tp0WPn5FdRimZivyTExbWRkg4OTVHdFGchbGUkQxu2Zs2Ix6YwGH xpT5ivkxUErAhWzTIWxUu6pUyim2qdCDdbL//kfhVZi3UiKJLeNbseAvQIAChzOZ77Mc nLaRnKTzaB7H5JwkTx7aYPqMUuQJxk7EReXJ87C6nVZC62W0QeIgWZwZjI+u9pTsHzzP L2hkdT/6nCORRJ15bBu5JQ8jZIt4kkHe/6ALZtyyIkNxrAQ6EWPwK7SshHsGmeol+hNN 6aFv0cibwWEzBUFQLekxqb4NoKz8IFfIUU42v7BhGXNfcjp6puOKV6ewW+cXbLBl5a7L 01rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=3n08XzG5H7p0qxyqAE/xZ4y5Lcjo3fXwaWjSaT0lzGg=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=DRydyzYFtDuiBDBlRyoQOSXx3SYunz/b7qvibZQj8x4elyuKrOv0PxDlQtFkgHh4JN XlVVi9QTIzAk3v3EpdjBfkhYR6ljyNFZjjNENhzHrxgYPoMZvi8HlbasrOdzjWeYQg9k HqfaefKrlI0J5ULpiL+5kEBJbvMKl562r3I0b3xh1mTPBxKiiai/9+3yy1jxy3M7NXTL SY8/2RIDjDCfHc9JnMWSp2kBHEdNOPPaCiK2H1a0bv8HJ33TD4LoJ2EJTiMt0wUjZC8G CDFf2LE3PJ6YDXgL1JhMu5ZxF9K3dkAqA213cfMxpaGnBnWsEWUNhnFWAxNZK5M2E6O6 2gJQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 98e67ed59e1d1-301a5e92b3esi506356a91.1.2025.03.20.07.45.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 20 Mar 2025 07:45:22 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from user-B660.promwad.corp ([159.148.83.123]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 52KEjIb3003127 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Mar 2025 15:45:19 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v3] debianize: Fix unexpected characters in package lists Date: Thu, 20 Mar 2025 16:45:12 +0200 Message-Id: <20250320144512.342515-1-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-Original-Sender: amikan@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Newer dpkg-deb versions got more pedantic to the control file format. Introduce debian package list format helper to cleanup empty items or unexpected commas in dependency options passing to the default control file. This prevents errors like: | dpkg-deb: error: unexpected end of file in archive magic version number in *.deb | Unexpected character ')' parsing formula 'Package (= ), Architecture (= ), $PackageType (= deb)'! | There have been errors! caused by empty DEBIAN_BUILD_DEPENDS value in the line: | Build-Depends: debhelper-compat (= ${DEBIAN_COMPAT}), ${DEBIAN_BUILD_DEPENDS} which results in: | Build-Depends: debhelper-compat (= 13), Signed-off-by: Anton Mikanovich --- Changes since v2: - Fix missing vardeps. Changes since v1: - Update also file headers. meta/classes/base.bbclass | 16 ++++++++++++++++ meta/classes/debianize.bbclass | 21 +++++++++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 7d4ab49f..c730eec9 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -1,4 +1,8 @@ +# This software is a part of ISAR. +# # Copyright (C) 2003 Chris Larson +# Copyright (C) 2015-2025 ilbers GmbH +# Copyright (C) 2017-2025 Siemens AG # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), @@ -334,3 +338,15 @@ do_unpack[postfuncs] += "create_source_date_epoch_stamp" def get_source_date_epoch_value(d): return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d) + +def deb_list_beautify(d, varname): + line = d.getVar(varname) + if not line: + return '' + + var_list = [] + for a in line.split(','): + stripped = a.strip() + if stripped: + var_list.append(stripped) + return ', '.join(var_list) diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass index 5e9d76f3..4989c601 100644 --- a/meta/classes/debianize.bbclass +++ b/meta/classes/debianize.bbclass @@ -1,6 +1,7 @@ # This software is a part of ISAR. # Copyright (C) 2017-2019 Siemens AG # Copyright (C) 2021 Siemens Mobility GmbH +# Copyright (C) 2025 ilbers GmbH # # SPDX-License-Identifier: MIT @@ -18,6 +19,8 @@ DEBIAN_CHANGELOG_TIMESTAMP ??= "3600" DESCRIPTION ??= "must not be empty" MAINTAINER ??= "Unknown maintainer " +DEBIANIZE_BUILD_DEPENDS ?= "debhelper-compat (= ${DEBIAN_COMPAT}), ${DEBIAN_BUILD_DEPENDS}" + deb_add_changelog() { changelog_v="${CHANGELOG_V}" timestamp="${DEBIAN_CHANGELOG_TIMESTAMP}" @@ -66,6 +69,12 @@ EOF } +deb_create_control[vardeps] += "DEBIANIZE_BUILD_DEPENDS \ + DEBIAN_DEPENDS \ + DEBIAN_PROVIDES \ + DEBIAN_REPLACES \ + DEBIAN_BREAKS \ + DEBIAN_CONFLICTS" deb_create_control() { cat << EOF > ${S}/debian/control Source: ${BPN} @@ -73,15 +82,15 @@ Section: misc Priority: optional Standards-Version: 3.9.6 Maintainer: ${MAINTAINER} -Build-Depends: debhelper-compat (= ${DEBIAN_COMPAT}), ${DEBIAN_BUILD_DEPENDS} +Build-Depends: ${@ deb_list_beautify(d, 'DEBIANIZE_BUILD_DEPENDS')} Package: ${BPN} Architecture: ${DPKG_ARCH} -Depends: ${DEBIAN_DEPENDS} -Provides: ${DEBIAN_PROVIDES} -Replaces: ${DEBIAN_REPLACES} -Breaks: ${DEBIAN_BREAKS} -Conflicts: ${DEBIAN_CONFLICTS} +Depends: ${@ deb_list_beautify(d, 'DEBIAN_DEPENDS')} +Provides: ${@ deb_list_beautify(d, 'DEBIAN_PROVIDES')} +Replaces: ${@ deb_list_beautify(d, 'DEBIAN_REPLACES')} +Breaks: ${@ deb_list_beautify(d, 'DEBIAN_BREAKS')} +Conflicts: ${@ deb_list_beautify(d, 'DEBIAN_CONFLICTS')} Multi-Arch: ${DEBIAN_MULTI_ARCH} Description: ${DESCRIPTION} EOF