From 9e39e30f21dab1116dd2bf108cbda84b6adef14a Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Mon, 24 Nov 2014 15:26:35 +0100 Subject: [PATCH] meta-tizen: manifests: fix and document MANIFESTFILES support The %manifest line really must look for .manifest files in the directory where tizen_copy_manifest() copied them (as in Richard Purdie's original version of commit 95c48e25). Change-Id: Iaabb985bd8f20cf4cbcba05f70f193b71cd4b99b (From meta-tizen rev: 6c1088e8bc184a1fe0f2b8a513b5f68a1599d430) Signed-off-by: Patrick Ohly --- .../meta-tizen-common-base/classes/metatizen.bbclass | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/meta-tizen/meta-tizen-common-base/classes/metatizen.bbclass b/meta-tizen/meta-tizen-common-base/classes/metatizen.bbclass index ed1cbba..ce6c5ea 100644 --- a/meta-tizen/meta-tizen-common-base/classes/metatizen.bbclass +++ b/meta-tizen/meta-tizen-common-base/classes/metatizen.bbclass @@ -13,19 +13,26 @@ python () { } DIRFILES = "1" -RPM_EXTRA_PKGDATA = "1" +# MANIFESTFILES_ is the Tizen Smack .manifest file to be used for a binary .rpm. +# It must be part of the source tree (either at the root or in a sub-directory) +# or get created there during configure. Out-of-tree compilation is not supported. + +# Enable extra code for the binary .rpm spec files which injects the %manifest +# lines for each package. +RPM_EXTRA_PKGDATA = "1" def package_rpm_extra_pkgdata(splitname, spec_file, d): if d.getVar('MANIFESTFILES', True): - spec_file.append('%%manifest %s' % (d.getVar('MANIFESTFILES', True))) + # Must use .manifest files at the location where tizen_copy_manifest() put it. + spec_file.append('%%manifest ../packages-split/%s' % (d.getVar('MANIFESTFILES', True))) +# Copies manifest files from source to packages-split. Necessary because +# source is not always available during packaging (for example, when +# using sstate), only $PKGDEST is. python tizen_copy_manifest () { dest = d.getVar('S', True) dvar = d.getVar('PKGDEST', True) - # Start by package population by taking a copy of the installed - # files to operate on - # Preserve sparse files and hard links packages = d.getVar('PACKAGES', True) for pkg in packages.split(): manifest_path=d.getVar('MANIFESTFILES_%s' % pkg, True) -- 2.7.4