[2/2] dpkg: use BPN instead of PN when defining PP

Message ID 20240912082741.354985-3-cedric.hombourger@siemens.com
State Under Review
Headers show
Series use BPN instead of PN for PP | expand

Commit Message

Cedric Hombourger Sept. 12, 2024, 8:27 a.m. UTC
With 2ca3a7e5, sources are built only once and re-used when building
-native and -compat binary packages. The dpkg-raw class generates
a debian/rules file with ${PP}/image expanded: this causes build
of the -compat or -native variants to fail since /home/builder/${PN}
does not exist in the sbuild environment of -compat/-native.

Change the definition of PP to be /home/builder/${BPN} so that the
expanded value remains the same for all variants.

Having absolute paths in generated debian/rules files is obviously
questionable.

Signed-off-by: Cedric Hombourger <cedric.hombourger@siemens.com>
---
 meta/classes/dpkg-base.bbclass | 2 +-
 meta/classes/sbuild.bbclass    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass
index 95cc830d..c97ee651 100644
--- a/meta/classes/dpkg-base.bbclass
+++ b/meta/classes/dpkg-base.bbclass
@@ -189,7 +189,7 @@  def get_package_srcdir(d):
 
 # Each package should have its own unique build folder, so use
 # recipe name as identifier
-PP = "/home/builder/${PN}"
+PP = "/home/builder/${BPN}"
 PPS ?= "${@get_package_srcdir(d)}"
 
 # Empty do_prepare_build() implementation, to be overwritten if needed
diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass
index 9c268281..f68e8735 100644
--- a/meta/classes/sbuild.bbclass
+++ b/meta/classes/sbuild.bbclass
@@ -43,7 +43,7 @@  EOF
         fstab_baseapt="${REPO_BASE_DIR} /base-apt none rw,bind,private 0 0"
         grep -qxF "${fstab_baseapt}" ${sbuild_fstab} || echo "${fstab_baseapt}" >> ${sbuild_fstab}
 
-        fstab_pkgdir="${WORKDIR} /home/builder/${PN} none rw,bind,private 0 0"
+        fstab_pkgdir="${WORKDIR} /home/builder/${BPN} none rw,bind,private 0 0"
         grep -qxF "${fstab_pkgdir}" ${sbuild_fstab} || echo "${fstab_pkgdir}" >> ${sbuild_fstab}
 
         if [ -d ${DL_DIR} ]; then