Slack 4.4.2 failed to merge, portage spit the this message. >>> Install net-im/slack-4.4.2 into /var/tmp/portage/net-im/slack-4.4.2/image * Relative path passed to 'fperms': opt/slack/chrome-sandbox * This is unsupported. Please use 'chmod' when you need to work on files * outside the installation image (${ED}). chmod: cannot access 'opt/slack/chrome-sandbox': No such file or directory * ERROR: net-im/slack-4.4.2::gentoo failed (install phase): * fperms failed * * If you need support, post the output of `emerge --info '=net-im/slack-4.4.2::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-im/slack-4.4.2::gentoo'`. * The complete build log is located at '/var/tmp/portage/net-im/slack-4.4.2/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-im/slack-4.4.2/temp/environment'. * Working directory: '/var/tmp/portage/net-im/slack-4.4.2/work' * S: '/var/tmp/portage/net-im/slack-4.4.2/work' ------------- Checking the ebuild file /usr/portage/net-im/slack/slack-4.4.2.ebuild line# 51 51 QA_PREBUILT="opt/slack/chrome-sandbox 52 opt/slack/libEGL.so 53 opt/slack/libffmpeg.so 54 opt/slack/libGLESv2.so 55 opt/slack/resources/app.asar.unpacked/node_modules/*/*/build/Release/*.node 56 opt/slack/resources/app.asar.unpacked/node_modules/*/build/Release/*.node 57 opt/slack/slack 58 opt/slack/swiftshader/libEGL.so 59 opt/slack/swiftshader/libGLESv2.so 60 opt/slack/swiftshader/libvk_swiftshader.so" I think there is a missing slash in the path assigned to QA_PREBUILT
Confirmed that adding '/' in front of the paths fixed the issue.
just came across this as well. looks to be related to the code added for bug 713094 by spiderx@spiderx.dp.ua
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f376d2f829f7ba93d33a0ef50aeb80b1236a7951 commit f376d2f829f7ba93d33a0ef50aeb80b1236a7951 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-30 21:10:13 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-30 21:10:26 +0000 net-im/slack: fix installation Bug: https://bugs.gentoo.org/720134 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> net-im/slack/slack-4.4.2.ebuild | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
I've committed a temporary fix. To spiderx@spiderx.dp.ua , please don't use variables like QA_PREBUILT as a list of files to process. QA_PREBUILT is not a file list by nature, it's a regular expression, that looks like file list. Also it's strange how the ebuild was tested and committed, it clearly fails if you try installation.
gyakovlev@gentoo.org Thank you. > Also it's strange how the ebuild was tested and committed, it clearly fails if you try installation. There was a gap between testing and committing. Change that consists of exactly what you fixed didn't appear in commit. Will be more watchful next time. Sorry for this. > QA_PREBUILT is not a file list by nature, it's a regular expression, that looks like file list. Is it fine reassign QA_PREBUILT to local variable and work with it? Like, MY_LIST="$(echo ${QA_PREBUILT} | sed 's/^/\//')" Or maintaining separate file list is the only preferred way?
This seems at least related to this bug, but I cannot install net-im/slcak-4.4.2; I get an `fperms failed` error associated with a `chmod`: # emerge net-im/slack Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) net-im/slack-4.4.2::gentoo >>> Failed to emerge net-im/slack-4.4.2, Log file: >>> '/var/tmp/portage/net-im/slack-4.4.2/temp/build.log' >>> Jobs: 0 of 1 complete, 1 failed Load avg: 0.72, 0.43, 0.69 * Package: net-im/slack-4.4.2 * Repository: gentoo * Maintainer: spiderx@spiderx.dp.ua proxy-maint@gentoo.org * USE: abi_x86_64 amd64 appindicator elibc_glibc kernel_linux userland_GNU * FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking slack-desktop-4.4.2-amd64.deb to /var/tmp/portage/net-im/slack-4.4.2/work >>> Unpacking data.tar.xz to /var/tmp/portage/net-im/slack-4.4.2/work >>> Source unpacked in /var/tmp/portage/net-im/slack-4.4.2/work >>> Preparing source in /var/tmp/portage/net-im/slack-4.4.2/work ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/net-im/slack-4.4.2/work ... >>> Source configured. >>> Compiling source in /var/tmp/portage/net-im/slack-4.4.2/work ... >>> Source compiled. >>> Test phase [not enabled]: net-im/slack-4.4.2 >>> Install net-im/slack-4.4.2 into /var/tmp/portage/net-im/slack-4.4.2/image chmod: cannot access '/var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/*/*/build/Release/*.node': No such file or directory * ERROR: net-im/slack-4.4.2::gentoo failed (install phase): * fperms failed * * If you need support, post the output of `emerge --info '=net-im/slack-4.4.2::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-im/slack-4.4.2::gentoo'`. * The complete build log is located at '/var/tmp/portage/net-im/slack-4.4.2/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-im/slack-4.4.2/temp/environment'. * Working directory: '/var/tmp/portage/net-im/slack-4.4.2/work' * S: '/var/tmp/portage/net-im/slack-4.4.2/work' I do, however, see the files it seems to be trying to chmod: # ls /var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/*/*/build/Release/*.node /var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/@nodert-win10-au/windows.applicationmodel/build/Release/binding.node /var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/@nodert-win10-au/windows.data.xml.dom/build/Release/binding.node /var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/@nodert-win10-au/windows.foundation/build/Release/binding.node /var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/@nodert-win10-au/windows.ui.notifications/build/Release/binding.node /var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/@nodert-win10-au/windows.ui.startscreen/build/Release/binding.node
new installations can't install it now. because echo part tries to expand paths on real system. but if the paths are not present, * is not expanded and wildcards fed to fperms. >>> Install net-im/slack-4.4.2 into /var/tmp/portage/net-im/slack-4.4.2/image chmod: cannot access '/var/tmp/portage/net-im/slack-4.4.2/image/opt/slack/resources/app.asar.unpacked/node_modules/*/*/build/Release/*.node': No such file or directory * ERROR: net-im/slack-4.4.2::gentoo failed (install phase): * fperms failed another point of not using it. if you need to keep permissions it's acceptable to just use cp. (I do it in java bin ebuilds). it's not very welcome but acceptable if the file list you need to chmod/chown/whatever is quite large.
Created attachment 636582 [details, diff] Fix the fperms calls so they work with new installations
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f11fab16f7061f4537677e90f2148a596bfb8006 commit f11fab16f7061f4537677e90f2148a596bfb8006 Author: Patrick McLean <chutzpah@gentoo.org> AuthorDate: 2020-05-07 04:18:27 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-05-07 04:19:45 +0000 net-im/slack: fix installation on new systems this is just a hack, should be done properly Bug: https://bugs.gentoo.org/720134 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Patrick McLean <chutzpah@gentoo.org> Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> net-im/slack/slack-4.4.2.ebuild | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
just clarifications: don't use QA_PREBUILT at all. It's consumed by QA checks, leave it be. It's tempting to re-use, I agree, but as you can see it caused quite a downfall =) If you ok to maintain the duplicate list that's easily consumed by fperms - feel free to. or just use cp -pPR look at openjdk-bin for examples.
Created attachment 640608 [details, diff] slack-4.4.2-keep-perms.patch Here is a possible fix for this issue. It is completely legal if you need to keep permissions to use cp. Please apply this patch and test. Thanks, William
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c30d7118c7bc5c0040e3f60d5b04cfc7f215ee2 commit 4c30d7118c7bc5c0040e3f60d5b04cfc7f215ee2 Author: Vladimir Pavljuchenkov (SpiderX) <spiderx@spiderx.dp.ua> AuthorDate: 2020-05-24 12:32:52 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2020-06-15 10:57:15 +0000 net-im/slack: version bump to 4.4.3, wrt 720134 Closes: https://bugs.gentoo.org/720134 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Vladimir Pavljuchenkov <spiderx@spiderx.dp.ua> Closes: https://github.com/gentoo/gentoo/pull/15948 Signed-off-by: Joonas Niilola <juippis@gentoo.org> net-im/slack/Manifest | 1 + net-im/slack/slack-4.4.3.ebuild | 109 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+)
Thanks everyone for explanations, patches and time.