DeLi(cate) Forum

Full Version: fakeroot & tar -> strange problems
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Our current versions of fakeroot and tar do not work well together ...

Affected package builds : uclibc, ffmpeg, ...

fakeroot-1.14.5-1 & tar-1.15.1-1 :
- symlinks may appear as broken regular files
- few messages "file changed as we read it" may appear
- wrong permissions may appear

fakeroot-1.14.5-1 & tar-1.24-1 :
- mentioned broken symlinks were not produced at all for the same package -> "Cannot open: Too many levels of symbolic links"
- many messages "file changed as we read it" appeared for the testing packages
- wrong permissions appeared for the testing packages

fakeroot-1.14.5-1 & tar-1.26-1 :
- totally broken in fakeroot -> displaying "Cannot utime: Invalid argument" for each file

fakeroot-1.18.4 & tar-whatever :
- didn't help

I found some possibly related threads:
It's definitely a bug in the fakeroot. I tried to delete the symlinks in ffmpeg and recreate them. That helped, but triggered a new issue with permissions of ... so ... probably some memory error.
Is this just affecting ffmpeg and uclibc?
(02-15-2013 09:28 AM)snacsnoc Wrote: [ -> ]Is this just affecting ffmpeg and uclibc?

Unfortunately not only these two ... I remember I had a similar issue with 2 more packages. I need to create a validity checking script.
After digging in the makepkg script I found several things ... the permission problem is caused by the strip command. It's very probably related to the static linking. It seems we have to rebuild binutils so that the package provides a dynamically linked strip binary.

One more funny thing .... the removal of the libtool files is already supported by the makepkg script .... it just doesn't use the option flags ... it uses NOLIBTOOL variable .... I'll write more later
New releases of binutils and pacman fix the issue with wrong permissions. Broken symlinks in ffmpeg do not appear anymore, but they're replaced with the target binary clone. So ... once we fix the symlink issue, we can build in fakeroot without worries.
The ffmpeg symlink issue was caused by strip too :] It's called as a part of the make process and even if it can be disabled, the maintainer needs to be aware of that and that could be a problem. It seems we need to link the default strip dynamically ... That shouldn't affect the speed much.
The following releases should solve all currently known fakeroot issues in DeLi(cate):
Reference URL's