Adding verbosity to staging conflicts

Hi,

I’m having a staging conflict as noted by this error message:

:: Parts 'qemu' and 'mypart' list the following files, but with different contents or permissions:
::     usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
::     usr/lib/x86_64-linux-gnu/libpython3.12.so.1.0

This is interesting information, but it doesn’t guide me to choose which file to stage.

I think adding a hash of the file as well as the permission octal notation would save myself and others valuable time.

Imagining:

:: Parts 'qemu' and 'mypart' list the following files, but with different contents or permissions:
::     usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0 (qemu: sha1:abc123, perms: 755, mypart: sha1:abc123, perms: 777)
::     usr/lib/x86_64-linux-gnu/libpython3.12.so.1.0 (qemu: sha1:def456, perms: 755, mypart: sha1:xyz999, perms: 755)

This log would help me take a decision on which file to stage depending on the permissions and whether the files are identical.

What are your thoughts? Would it be an improvement to the logs or just added noise?

Thanks

It might occasionally be helpful, but you can also just use the --debug flag to drop into a shell in the build environment when you need to look at the file permissions or contents. I expect that path conflicts like this can usually be resolved based on part name alone.