it should install to /usr/share/bash-completion/completions, preferably using our eclass.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79354e8855d6fcfac01f34d21708fb57c5b48c4a commit 79354e8855d6fcfac01f34d21708fb57c5b48c4a Author: Gerion Entrup <gerion.entrup@flump.de> AuthorDate: 2019-12-05 14:42:14 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2019-12-12 00:36:42 +0000 dev-lang/rust: fix bash completion location Bug: https://bugs.gentoo.org/689562 Bug: https://bugs.gentoo.org/689160 Package-Manager: Portage-2.3.79, Repoman-2.3.16 Signed-off-by: Gerion Entrup <gerion.entrup@flump.de> Closes: https://github.com/gentoo/gentoo/pull/13884 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/rust-1.39.0.ebuild | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
I'm pretty sure this fix is causing Rust to fail at the end of compilation. rmdir throws an error that the image/etc folder is not empty and the only thing left in there is the bash-completion.d folder.
I have the same issue as Nick in comment #2
This line in the new ebuild is wrong: rmdir -p "${D}/etc" || die The -p option to rmdir attempts to remove parents (hence "-p"), not children. Assuming the intent is to remove the "etc" directory without using -r to blindly remove unknown files, the correct command would be: (cd "${D}" && rmdir -p etc/bash_completion.d) || die
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04b60e2a0821f5fff13d05d8b6fc05ea7cc697d1 commit 04b60e2a0821f5fff13d05d8b6fc05ea7cc697d1 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2019-12-13 19:56:47 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2019-12-13 23:05:45 +0000 dev-lang/rust: fix completion file removal Bug: https://bugs.gentoo.org/689562 Package-Manager: Portage-2.3.79, Repoman-2.3.17 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/rust-1.39.0.ebuild | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
A simpler one-line way to remove these directories would be: rmdir "${D}"/etc{/bash_completion.d,} || die
indeed. I'll update it later with simpler version. Thanks!
*** Bug 702818 has been marked as a duplicate of this bug. ***
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a7ff6155c5dce32c19e448e2e473b0f0d791f64 commit 6a7ff6155c5dce32c19e448e2e473b0f0d791f64 Author: Benda Xu <heroxbd@gentoo.org> AuthorDate: 2020-12-21 12:21:35 +0000 Commit: Benda Xu <heroxbd@gentoo.org> CommitDate: 2020-12-21 12:22:26 +0000 dev-lang/rust: use ED in removal operations. This does not affect non-prefix systems and the prefix systems fail to install before this commit. Therefore, no revision is is required. Bug: https://bugs.gentoo.org/689562 Bug: https://bugs.gentoo.org/689160 Package-Manager: Portage-3.0.12, Repoman-3.0.1 Signed-off-by: Benda Xu <heroxbd@gentoo.org> dev-lang/rust/rust-1.48.0.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)