Cambiar de propiedad no está permitido en BitBake

Cambiar de propiedad no está permitido en BitBake

Estoy compilando un proyecto Yocto con BitBake.

Una receta de BitBake intenta cambiar el permiso de algunos directorios y archivos usando chownun comando. El problema es que el comando falla debido aoperación de cambio de propiedad no permitida.

El comando BitBake lo inicia el usuario luca, que también es sudoers. Si escribo ls -llo que veo en la carpeta problemática es:

-rw-r--r--  1 luca luca 1875 May 13 17:10 arm-thumb-mutex_db5.patch
-rw-r--r--  1 luca luca   33 May 13 17:10 configure.sstate
drwxr-xr-x 16 luca luca 4096 May 13 17:10 db-6.0.30
-rw-r--r--  1 luca luca  665 May 13 17:10 fix-parallel-build.patch
drwxr-xr-x  3 luca luca 4096 May 13 19:11 image
drwxr-xr-x  2 luca luca 4096 May 13 19:11 temp

Obviamente si escribo manualmente, por ejemplo, sudo chowwn 777 imagefunciona, pero no puedo cambiar el script de BitBake que causa el error.

¿Qué pasa con mis permisos y usuario?

Respuesta1

Al final hice chmod 777 de toda la carpeta de fuentes y todo empezó a funcionar. Probablemente permisos sobre scripts o archivos ejecutivos. Gracias a todos por el apoyo.

Respuesta2

Recibí errores similares en bitbake. En mi caso, esto se debió a una falla de la pseudoutilidad, pero Yocto no mostró claramente los errores y se detuvo. En cambio, continuó hasta que no pudo funcionar chmod -R dircomo un usuario normal. La utilidad 'Pseudo' se utiliza para interceptar chownllamadas chmody rastrearlas en una base de datos sqlite. Actúan como si estuvieran cambiando los permisos de su archivo RFS, pero en realidad no requieren root. En mi caso, si buscó el error en el paquete que falló:

build/tmp/work/aarch64-fsl-linux/gcc-runtime/linaro-4.9-r2015.03/temp> grep pseudo *
log.do_install:ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

log.do_install.17098:ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Esto se debió a que alguien había configurado previamente capacidades de seguridad para actividades de desarrollo anteriores con:

setcap cap_net_admin,cap_net_raw+eip /bin/bash or to /usr/bin/python. To fix: setcap -r /bin/bash

Esta publicación difícil de encontrar me dio una pista sobre esto:http://lists.openembedded.org/pipermail/openembedded-core/2012-February/056779.html

información relacionada