Created attachment 395022 [details] build.log I see this whenever I try to update crossover-bin from 13.2.0-r2 to 14.0.3 on a (mostly) stable amd64 box: ===>>> Emerging (1 of 1) app-emulation/crossover-bin-14.0.3::gentoo * install-crossover-14.0.3.bin SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking install-crossover-14.0.3.bin to /var/tmp/portage/app-emulation/crossover-bin-14.0.3/work warning [/var/tmp/portage/app-emulation/crossover-bin-14.0.3/distdir/install-crossover-14.0.3.bin]: 786952 extra bytes at beginning or within zipfile (attempting to process anyway) >>> Source unpacked in /var/tmp/portage/app-emulation/crossover-bin-14.0.3/work >>> Preparing source in /var/tmp/portage/app-emulation/crossover-bin-14.0.3/work ... * Fixing shebang in ./bin/cxmessage. * Fixing shebang in ./bin/cxwait. * Fixing shebang in ./bin/cxtie. * Fixing shebang in ./bin/cxregister. * Fixing shebang in ./bin/cxreset. * Fixing shebang in ./bin/cxinstaller. * Fixing shebang in ./bin/cxprefs. * Fixing shebang in ./bin/cximportbottles. * Fixing shebang in ./bin/cxrun. * Fixing shebang in ./bin/cxsetup. * Fixing shebang in ./bin/cxupdatecheck. * Fixing shebang in ./bin/crossover. >>> Source prepared. >>> Configuring source in /var/tmp/portage/app-emulation/crossover-bin-14.0.3/work ... >>> Source configured. >>> Compiling source in /var/tmp/portage/app-emulation/crossover-bin-14.0.3/work ... >>> Source compiled. * Skipping make test/check due to ebuild restriction. >>> Test phase [disabled because of RESTRICT=test]: app-emulation/crossover-bin-14.0.3 >>> Install crossover-bin-14.0.3 into /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/ category app-emulation * ACCESS DENIED: mkdir: /usr/local/share/icons cxmenu:error: unable to create '/usr/local/share/icons/hicolor/128x128/apps': mkdir /usr/local/share/icons: Permission denied at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXUtils.pm line 670. * ACCESS DENIED: mkdir: /usr/local/share/icons cxmenu:error: unable to create '/usr/local/share/icons/hicolor/32x32/apps': mkdir /usr/local/share/icons: Permission denied at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXUtils.pm line 670. * ACCESS DENIED: mkdir: /usr/local/share/icons cxmenu:error: unable to create '/usr/local/share/icons/hicolor/256x256/apps': mkdir /usr/local/share/icons: Permission denied at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXUtils.pm line 670. * ACCESS DENIED: mkdir: /usr/local/share/icons cxmenu:error: unable to create '/usr/local/share/icons/hicolor/16x16/apps': mkdir /usr/local/share/icons: Permission denied at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXUtils.pm line 670. * ACCESS DENIED: mkdir: /usr/local/share/icons cxmenu:error: unable to create '/usr/local/share/icons/hicolor/64x64/apps': mkdir /usr/local/share/icons: Permission denied at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXUtils.pm line 670. Use of uninitialized value in pattern match (m//) at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXMenu.pm line 260. * ACCESS DENIED: mkdir: /usr/local/share/desktop-directories cxmenu:error: unable to create the '/usr/local/share/desktop-directories' directory: mkdir /usr/local/share/desktop-directories: Permission denied at /var/tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXUtils.pm line 670. ... ===
I have the same problem. Looks like cxmenu ignores parameter destdir, or rather that some submodules it installs ignore the passed parameter. On my box I can see this command failing: XDG_CONFIG_HOME="/etc/xdg" /tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/bin/cxmenu --destdir=/tmp/portage/app-emulation/crossover-bin-14.0.3/image/ --crossover --install While the perl script cxmenu passed the destdir variable to the the modules it install like CXMenuWindows or CXMenuXDG ( in /tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXMenuWindows.pm and /tmp/portage/app-emulation/crossover-bin-14.0.3/image/opt/cxoffice/lib/perl/CXAssocXDG.pm on my box), CXMenuWindows for example doesn't do anything with it and just install to /usr/local straight away instead of .../image/usr/local. We probably could compare the "*pm* files with previous versions of Crossover, but I just used FEATURES="-usersandbox" once I checked this is just few menu files to let it emerge with security warnings.
It has to do with XDG_DATA_DIRS=${ED}"/usr/share" var being unset... but for some reason $ED is not expanded when I try to set it :S Anyway changing its value makes the violation to change and, then, I guess the problem is at: lib/python/BaseDirectory.py: (os.environ.get('XDG_DATA_DIRS') or '/usr/local/share:/usr/share').split(':')
Michał Górny did a version bump without testing and unfortunately, I did not have time to dedicate to this until recently. It has been fixed via sed manipulation. I have also bumped the ebuild to 14.1.4. I have informed Codeweavers of the problem so that they can fix it officially. Future updates should also be smoother because Codeweavers has agreed to a licensing change that will allow us to fetch the distfile automatically, which makes maintenance require less of my time and therefore should ensure that it is done in a more timely manner. Bug #556338 tracks the licensing change.