[oe-commits] Paul Eggleton : classes/buildhistory: fix permissions in package file listing

git at git.openembedded.org git at git.openembedded.org
Sun Aug 30 11:49:40 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: 1380aa333ed90559f4a24d52aefc52cadb60646c
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1380aa333ed90559f4a24d52aefc52cadb60646c

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Wed Aug 26 14:21:40 2015 +0100

classes/buildhistory: fix permissions in package file listing

If we want the correct file permissions to show up here as they would on
the target, we need to run the command under pseudo. Normally we'd set
the fakeroot varflag on the function and that would be enough, but it
turns out that setting fakeroot on a non-task function that you execute
using bb.build.exec_func() isn't working at the moment. Work around this
by simply using FAKEROOTENV and FAKEROOTCMD. Unfortunately that means we
have to duplicate the command for the two cases but I couldn't find a
better means of doing that that actually works.

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 meta/classes/buildhistory.bbclass | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 3d459c7..190c38e 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -435,7 +435,11 @@ buildhistory_get_sdk_installed_target() {
 buildhistory_list_files() {
 	# List the files in the specified directory, but exclude date/time etc.
 	# This awk script is somewhat messy, but handles where the size is not printed for device files under pseudo
-	( cd $1 && find . ! -path . -printf "%M %-10u %-10g %10s %p -> %l\n" | sort -k5 | sed 's/ * -> $//' > $2 )
+	if [ "$3" = "fakeroot" ] ; then
+		( cd $1 && ${FAKEROOTENV} ${FAKEROOTCMD} find . ! -path . -printf "%M %-10u %-10g %10s %p -> %l\n" | sort -k5 | sed 's/ * -> $//' > $2 )
+	else
+		( cd $1 && find . ! -path . -printf "%M %-10u %-10g %10s %p -> %l\n" | sort -k5 | sed 's/ * -> $//' > $2 )
+	fi
 }
 
 buildhistory_list_pkg_files() {
@@ -449,7 +453,7 @@ buildhistory_list_pkg_files() {
 			bbdebug 2 "Folder $outfolder does not exist, file $outfile not created"
 			continue
 		fi
-		buildhistory_list_files ${pkgdir} ${outfile}
+		buildhistory_list_files $pkgdir $outfile fakeroot
 	done
 }
 



More information about the Openembedded-commits mailing list