From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7044234567900725248 X-Received: by 2002:a17:907:1692:: with SMTP id hc18mr58262894ejc.558.1641801612071; Mon, 10 Jan 2022 00:00:12 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:9619:: with SMTP id gb25ls655035ejc.6.gmail; Mon, 10 Jan 2022 00:00:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJxRcPTbmlskXlZPMOJXhufKLknTrnNfJmRKZ6u7QVQTtKO5HWDKS8Rt5MKyTS0YrUQIuvj6 X-Received: by 2002:a17:907:1751:: with SMTP id lf17mr3790919ejc.215.1641801610973; Mon, 10 Jan 2022 00:00:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1641801610; cv=none; d=google.com; s=arc-20160816; b=QTw50HyAzo7y+lS9uVpjrahHWuEDq+P3Vg0Qnd/bucfC80dXb1fq7WkSFjT+ax72CJ 0he84neO+plnaA9s0gYwic4/PADPDkoM5p1a8zCzgiCrAMFjjqzq2DNQuaei1TzPB9Hm IZDVylUw6H0LcQe3LkiNVHUORoxum+rvrCceux8nLwOIuWKr/Ydi4Xua9vYWKFRtathI 2c2fkWCfhLHpmB+URb5KG5JrcOqCHke2awEtr33a0ihw47TKBSZluD4rjHoh1Zj4jPhe OFzh9Ax6q4Q6hMkUVFD5Efi6jmFuu7Ec3c0nfnaYI8phRESRnk5JNLrXluHPSetNeR39 BXrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=kWDFgqhEUInZn4TA0g/2kgjvoTS+6DvOtiEo0smxZNs=; b=Vf1oj5WtBRnefhueUvBHAk4lD6hT3YEDv0g05yVAov2H+r1UvmTJTOcY4Z6/ALqN48 OQGCBOuxwLL2S8LzZYc5Z/s3w374qx610dPx3SJvhl0MYoAxZnZqoahCwKNaMN3u9Cq+ ZoAEVd3cWosNlyv7t0lPqxI/Uec7QuM3SPes+cu0G7P0sWmSTfxT04ce6PTq+LUqjAbH FpQtvIF9pN3rFEExd6/ICcAe/WoinyGxheCBPyYQO7RqkpU6knu5ewIswMk2oct9xrbA Cj2OLUoWAcVmwx5zB5rZmlyRsL/adslNx9La1ul8AQ8yVl9DKaN+GUp5w4Unr0bngwr0 7YCA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="R43+/pbd"; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::329 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com. [2a00:1450:4864:20::329]) by gmr-mx.google.com with ESMTPS id v8si347151edr.1.2022.01.10.00.00.10 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Jan 2022 00:00:10 -0800 (PST) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::329 as permitted sender) client-ip=2a00:1450:4864:20::329; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="R43+/pbd"; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::329 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-wm1-x329.google.com with SMTP id o203-20020a1ca5d4000000b003477d032384so5106238wme.2 for ; Mon, 10 Jan 2022 00:00:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kWDFgqhEUInZn4TA0g/2kgjvoTS+6DvOtiEo0smxZNs=; b=R43+/pbdh0ZR3S6rvCjuYnXxmPA8QszR2h+pQOIpYGiOdIXxayra3d6LhsOms60jXF /PbBgnXlqhaMaRlktcbdZcuVc32Yrs88i2MSGIm7JduBZFvxa8lVNSrpfgV3p0HzHIMA 6CYAAT3IQI24zO4TX6XWUvZJI4JxJ7RD/q09k6i+AtaUlZrcx4hAXhhN8B1rHkrwO/iZ WsOLc1MxOFgJQkzV0JSnRmSue3d8RHbeL/0KBy0r33JQsm14NDnNzr8dUM0quucxn1B0 04Fprus2thoSGezVtz/512cJhr5/n1mXkPzD6ayPPt1DwGqNnPMfm097TZWBpx8niswt aIaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=kWDFgqhEUInZn4TA0g/2kgjvoTS+6DvOtiEo0smxZNs=; b=PooahMYg+ZHvqOxYpsx6ezXeOEzTd3ybNmaxkFjCKndfcyQ/hIGEDYroWw13vBTcDt Ml1tlenQldBWf1NBIG+eYwXW+ziwS9ItPiCbN+1LAduR6lWpMij1PxMCdbz6Yyf9/1/E 2nFdDj6AqHWV16f4sAQcZWA7YAMAIA4lQqTrQf1wKGiUx/fX/D59cvoD+yudsOT0c7Tr TBoaRueDi64fVFAh4kfHViAowJzWKtoUrH1qa64U7yC6xSW1njwCzluO/XdCXMUFDzAd p5YQzmOeCg4GomYEiPdrYxkHMzRoBt3edEohWO+FMe7iwpY44V+1vWxLfH8EnwNYa3Gk GiZg== X-Gm-Message-State: AOAM532x3TnEntXnsmOF2x/FHwQ2sxB3zHRBnZA6Ej0nYadBPDUL9IBP g/HmzrJNEDsfGQzsX16nlhrBU6pWbdTC8xkQ+SA= X-Received: by 2002:a1c:6a08:: with SMTP id f8mr6089239wmc.52.1641801610567; Mon, 10 Jan 2022 00:00:10 -0800 (PST) MIME-Version: 1.0 References: <20220104130130.777924-1-felix.moessbauer@siemens.com> <20220104130130.777924-2-felix.moessbauer@siemens.com> In-Reply-To: <20220104130130.777924-2-felix.moessbauer@siemens.com> From: vijai kumar Date: Mon, 10 Jan 2022 13:29:59 +0530 Message-ID: Subject: Re: [PATCH v3 1/3] add support for debian build profiles and options To: Felix Moessbauer Cc: isar-users , Jan Kiszka Content-Type: text/plain; charset="UTF-8" X-TUID: unvfcbb39Usm On Tue, Jan 4, 2022 at 6:31 PM Felix Moessbauer wrote: > > This patch adds the bitbake variables DEB_BUILD_PROFILES and DEB_BUILD_OPTIONS. > These are used to define the respective environment variables. > > When cross-compiling, "cross" is added to the DEB_BUILD_PROFILES environment variable. > > Signed-off-by: Felix Moessbauer > --- > RECIPE-API-CHANGELOG.md | 9 +++++++++ > meta/classes/dpkg-base.bbclass | 16 ++++++++++++++++ > meta/classes/dpkg.bbclass | 4 +++- > 3 files changed, 28 insertions(+), 1 deletion(-) > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > index 3bbb42a9..65a1d9e4 100644 > --- a/RECIPE-API-CHANGELOG.md > +++ b/RECIPE-API-CHANGELOG.md > @@ -314,3 +314,12 @@ The "NAME" used to be rather static and the TAG was always "latest", now the val > ### Renamed variable CONTAINER_FORMATS to CONTAINER_IMAGE_FORMATS > > The meaning remains the same, just the name changed. > +### Introduce debian build profiles > + > +All recipes that inherit from dpkg and dpkg-base can utilize the variables DEB_BUILD_PROFILES and DEB_BUILD_OPTIONS. > +The bitbake variable defines the respective environment variable which is available in `do_install_builddeps` and `do_dpkg_build`. > +When cross compiling, `cross` is added to the DEB_BUILD_PROFILES environment variable. > + > +For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. > + > + > diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass > index cb5ce4a9..ebf67ebc 100644 > --- a/meta/classes/dpkg-base.bbclass > +++ b/meta/classes/dpkg-base.bbclass > @@ -13,6 +13,8 @@ inherit deb-dl-dir > DEPENDS ?= "" > > DEPENDS_append_riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_CROSS_COMPILE', True) == '1' and d.getVar('PN') != 'crossbuild-essential-riscv64' else ''}" > +DEB_BUILD_PROFILES ?= "" > +DEB_BUILD_OPTIONS ?= "" > > python do_adjust_git() { > import subprocess > @@ -201,7 +203,20 @@ dpkg_runbuild() { > die "This should never be called, overwrite it in your derived class" > } > > +def isar_export_build_settings(d): > + import os > + deb_build_profiles = os.environ['DEB_BUILD_PROFILES'] if 'DEB_BUILD_PROFILES' in os.environ else '' Like said in the previous thread. If this is eventually going to be dropped, a warning to the user would be needed so that he could notice and migrate to the DEB_BUILD_PROFILES/OPTIONS variable instead of a manual export. Thanks, Vijai Kumar K > + deb_build_profiles += ' ' + d.getVar('DEB_BUILD_PROFILES', True) > + if d.getVar("ISAR_CROSS_COMPILE") == "1": > + deb_build_profiles += ' cross' > + os.environ['DEB_BUILD_PROFILES'] = deb_build_profiles.strip() > + > + deb_build_options = os.environ['DEB_BUILD_OPTIONS'] if 'DEB_BUILD_OPTIONS' in os.environ else '' > + deb_build_options += ' ' + d.getVar('DEB_BUILD_OPTIONS', True) > + os.environ['DEB_BUILD_OPTIONS'] = deb_build_options.strip() > + > python do_dpkg_build() { > + isar_export_build_settings(d) > lock = bb.utils.lockfile(d.getVar("REPO_ISAR_DIR") + "/isar.lock", > shared=True) > bb.build.exec_func("dpkg_do_mounts", d) > @@ -279,6 +294,7 @@ python do_devshell() { > > isar_export_proxies(d) > isar_export_ccache(d) > + isar_export_build_settings(d) > > buildchroot = d.getVar('BUILDCHROOT_DIR') > pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS')) > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass > index 27fe84f4..67d63813 100644 > --- a/meta/classes/dpkg.bbclass > +++ b/meta/classes/dpkg.bbclass > @@ -9,10 +9,12 @@ PACKAGE_ARCH ?= "${DISTRO_ARCH}" > do_install_builddeps() { > dpkg_do_mounts > E="${@ isar_export_proxies(d)}" > + E="${@ isar_export_build_settings(d)}" > distro="${DISTRO}" > if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then > - distro="${HOST_DISTRO}" > + distro="${HOST_DISTRO}" > fi > + > deb_dl_dir_import "${BUILDCHROOT_DIR}" "${distro}" > sudo -E chroot ${BUILDCHROOT_DIR} /isar/deps.sh \ > ${PP}/${PPS} ${PACKAGE_ARCH} --download-only > -- > 2.30.2 >