buildhistory: don't output ownership for the sysroot

Submitted by Ross Burton on July 8, 2019, 11:46 p.m. | Patch ID: 162890

Details

Message ID 20190708234643.15636-1-ross.burton@intel.com
State New
Headers show

Commit Message

Ross Burton July 8, 2019, 11:46 p.m.
As the sysroot isn't ran inside pseudo the ownership is whoever is running the
builds.  In a setup where multiple builders all contribute to a shared
buildhistory writing the ownership data isn't useful, so just replace it with "-
-".

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/buildhistory.bbclass | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index baa7c8e2799..5bf27268107 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -67,7 +67,7 @@  PATCH_GIT_USER_NAME ?= "OpenEmbedded"
 
 buildhistory_emit_sysroot() {
 	mkdir --parents ${BUILDHISTORY_DIR_PACKAGE}
-	buildhistory_list_files ${SYSROOT_DESTDIR} ${BUILDHISTORY_DIR_PACKAGE}/sysroot
+	buildhistory_list_files_no_owners ${SYSROOT_DESTDIR} ${BUILDHISTORY_DIR_PACKAGE}/sysroot
 }
 
 #
@@ -537,6 +537,20 @@  buildhistory_list_files() {
 	fi | sort -k5 | sed 's/ * -> $//' > $2 )
 }
 
+buildhistory_list_files_no_owners() {
+	# List the files in the specified directory, but exclude date/time etc.
+	# Also don't output the ownership data, but instead output just - - so
+	# that the same parsing code as for _list_files works.
+	# This is somewhat messy, but handles where the size is not printed for device files under pseudo
+	( cd $1
+	find_cmd='find . ! -path . -printf "%M -          -          %10s %p -> %l\n"'
+	if [ "$3" = "fakeroot" ] ; then
+		eval ${FAKEROOTENV} ${FAKEROOTCMD} "$find_cmd"
+	else
+		eval "$find_cmd"
+	fi | sort -k5 | sed 's/ * -> $//' > $2 )
+}
+
 buildhistory_list_pkg_files() {
 	# Create individual files-in-package for each recipe's package
 	for pkgdir in $(find ${PKGDEST}/* -maxdepth 0 -type d); do

Comments

Armin Kuster July 9, 2019, 1:11 a.m.
On 7/8/19 4:46 PM, Ross Burton wrote:
> As the sysroot isn't ran inside pseudo the ownership is whoever is running the
> builds.  In a setup where multiple builders all contribute to a shared
> buildhistory writing the ownership data isn't useful, so just replace it with "-
> -".

Should this be backported?

- armin
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>  meta/classes/buildhistory.bbclass | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
> index baa7c8e2799..5bf27268107 100644
> --- a/meta/classes/buildhistory.bbclass
> +++ b/meta/classes/buildhistory.bbclass
> @@ -67,7 +67,7 @@ PATCH_GIT_USER_NAME ?= "OpenEmbedded"
>  
>  buildhistory_emit_sysroot() {
>  	mkdir --parents ${BUILDHISTORY_DIR_PACKAGE}
> -	buildhistory_list_files ${SYSROOT_DESTDIR} ${BUILDHISTORY_DIR_PACKAGE}/sysroot
> +	buildhistory_list_files_no_owners ${SYSROOT_DESTDIR} ${BUILDHISTORY_DIR_PACKAGE}/sysroot
>  }
>  
>  #
> @@ -537,6 +537,20 @@ buildhistory_list_files() {
>  	fi | sort -k5 | sed 's/ * -> $//' > $2 )
>  }
>  
> +buildhistory_list_files_no_owners() {
> +	# List the files in the specified directory, but exclude date/time etc.
> +	# Also don't output the ownership data, but instead output just - - so
> +	# that the same parsing code as for _list_files works.
> +	# This is somewhat messy, but handles where the size is not printed for device files under pseudo
> +	( cd $1
> +	find_cmd='find . ! -path . -printf "%M -          -          %10s %p -> %l\n"'
> +	if [ "$3" = "fakeroot" ] ; then
> +		eval ${FAKEROOTENV} ${FAKEROOTCMD} "$find_cmd"
> +	else
> +		eval "$find_cmd"
> +	fi | sort -k5 | sed 's/ * -> $//' > $2 )
> +}
> +
>  buildhistory_list_pkg_files() {
>  	# Create individual files-in-package for each recipe's package
>  	for pkgdir in $(find ${PKGDEST}/* -maxdepth 0 -type d); do
Ross Burton July 9, 2019, 9:20 a.m.
On Tue, 9 Jul 2019 at 02:11, akuster808 <akuster808@gmail.com> wrote:
> On 7/8/19 4:46 PM, Ross Burton wrote:
> > As the sysroot isn't ran inside pseudo the ownership is whoever is running the
> > builds.  In a setup where multiple builders all contribute to a shared
> > buildhistory writing the ownership data isn't useful, so just replace it with "-
> > -".
>
> Should this be backported?

No, because the sysroot writing patches are not backported. :)

Ross