[3/3] RECIPE-API-CHANGELOG.md: clarify scope of recent multiarch/dpkg-arch changes

Message ID 20241004131124.163444-3-cedric.hombourger@siemens.com
State Superseded, archived
Headers show
Series [1/3] dpkg-raw: use weak assignments for DPKG_ARCH and DEBIAN_MULTI_ARCH | expand

Commit Message

cedric.hombourger@siemens.com Oct. 4, 2024, 1:11 p.m. UTC
Signed-off-by: Cedric Hombourger <cedric.hombourger@siemens.com>
---
 RECIPE-API-CHANGELOG.md | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

Comments

Jan Kiszka Oct. 4, 2024, 1:37 p.m. UTC | #1
On 04.10.24 15:11, 'Cedric Hombourger' via isar-users wrote:
> Signed-off-by: Cedric Hombourger <cedric.hombourger@siemens.com>
> ---
>  RECIPE-API-CHANGELOG.md | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> index 57b2205a..8c1e8fc8 100644
> --- a/RECIPE-API-CHANGELOG.md
> +++ b/RECIPE-API-CHANGELOG.md
> @@ -649,10 +649,14 @@ HEADERS_INSTALL_EXTRA += "nvidia"
>  
>  ### Architecture for dpkg-raw packages
>  
> -The intent of the dpkg-raw class is to easily package configuration and data
> -files into a Debian package. Packages to be compiled should really use other
> -dpkg classes where support for cross-compilation and multiarch is provided
> -and tested. `DPKG_ARCH` is now set to `all` for `dpkg-raw` recipes.
> +The primary use-case of the dpkg-raw class is to easily package configuration
> +and data files into a Debian package: the target architecture will now default
> +to "all". It may also be used to package binaries that were built outside of
> +Isar: such recipes may still override `DPKG_ARCH` to `"any"`.
>  

...to 'any' or whatever reflects the package content accurately.

>  This change fixes an issue where a `dpkg` package is built for `-compat` or
> -`-native` and `DEPENDS` on a `dpkg-raw` package.
> +`-native` and `DEPENDS` on a `dpkg-raw` package with `DPKG_ARCH` set to `"all"`.
> +Some issues remain with `dpkg-raw` packages: Isar will advertise -native and
> +-compat variants even though such recipes can only produce packages for
> +`${DISTRO_ARCH}` or `"all"`. That corner case needs to be further discussed
> +and will require further changes.

The fact that -native/-compat stub targets are provided for 'all'
packages is not the issue. The issue is limited to DPKG_ARCH != all.

Jan
Uladzimir Bely Oct. 8, 2024, 5:24 a.m. UTC | #2
On Fri, 2024-10-04 at 16:17 +0200, 'Cedric Hombourger' via isar-users
wrote:
> Changes in v2:
>   Attempt to address feedback [1] from Jan in the RECIPE-API-
> CHANGELOG
>   First two patches (code changes) are the same.
> 
> [1]
> https://lists.isar-build.org/isar-users/62b2d7bb-25cf-4c42-9bee-fa95d18db6c8@siemens.com/T/#u
> 
> Cedric Hombourger (3):
>   dpkg-raw: use weak assignments for DPKG_ARCH and DEBIAN_MULTI_ARCH
>   multiarch: use "if not" vs "if cond is False" for consistency
>   RECIPE-API-CHANGELOG.md: clarify scope of recent multiarch/dpkg-
> arch
>     changes
> 
>  RECIPE-API-CHANGELOG.md        | 19 ++++++++++++++-----
>  meta/classes/dpkg-raw.bbclass  |  6 +++---
>  meta/classes/multiarch.bbclass |  2 +-
>  3 files changed, 18 insertions(+), 9 deletions(-)
> 
> -- 
> 2.39.5
> 

Hello all.

The patchset is tested and ready to be merged. Since it's technically a
set of fixes for already merged things, we'd like to apply it to next
as soon as possible, if there are no objections.
Uladzimir Bely Oct. 10, 2024, 11:25 a.m. UTC | #3
On Fri, 2024-10-04 at 16:17 +0200, 'Cedric Hombourger' via isar-users
wrote:
> Changes in v2:
>   Attempt to address feedback [1] from Jan in the RECIPE-API-
> CHANGELOG
>   First two patches (code changes) are the same.
> 
> [1]
> https://lists.isar-build.org/isar-users/62b2d7bb-25cf-4c42-9bee-fa95d18db6c8@siemens.com/T/#u
> 
> Cedric Hombourger (3):
>   dpkg-raw: use weak assignments for DPKG_ARCH and DEBIAN_MULTI_ARCH
>   multiarch: use "if not" vs "if cond is False" for consistency
>   RECIPE-API-CHANGELOG.md: clarify scope of recent multiarch/dpkg-
> arch
>     changes
> 
>  RECIPE-API-CHANGELOG.md        | 19 ++++++++++++++-----
>  meta/classes/dpkg-raw.bbclass  |  6 +++---
>  meta/classes/multiarch.bbclass |  2 +-
>  3 files changed, 18 insertions(+), 9 deletions(-)
> 
> -- 
> 2.39.5
> 

Applied to next, thanks.

Patch

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 57b2205a..8c1e8fc8 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -649,10 +649,14 @@  HEADERS_INSTALL_EXTRA += "nvidia"
 
 ### Architecture for dpkg-raw packages
 
-The intent of the dpkg-raw class is to easily package configuration and data
-files into a Debian package. Packages to be compiled should really use other
-dpkg classes where support for cross-compilation and multiarch is provided
-and tested. `DPKG_ARCH` is now set to `all` for `dpkg-raw` recipes.
+The primary use-case of the dpkg-raw class is to easily package configuration
+and data files into a Debian package: the target architecture will now default
+to "all". It may also be used to package binaries that were built outside of
+Isar: such recipes may still override `DPKG_ARCH` to `"any"`.
 
 This change fixes an issue where a `dpkg` package is built for `-compat` or
-`-native` and `DEPENDS` on a `dpkg-raw` package.
+`-native` and `DEPENDS` on a `dpkg-raw` package with `DPKG_ARCH` set to `"all"`.
+Some issues remain with `dpkg-raw` packages: Isar will advertise -native and
+-compat variants even though such recipes can only produce packages for
+`${DISTRO_ARCH}` or `"all"`. That corner case needs to be further discussed
+and will require further changes.