The wildcards in the following lines from src_unpack() are inside double quotes: rm "${S}/lt*" || die "clean-up ltmain.sh failed" rm "${S}/m4/lt*" || die "clean-up lt scripts failed" rm "${S}/m4/libtool*" || die "clean-up libtool script failed" Reproducible: Always Steps to Reproduce: 1. emerge -1 =media-libs/libcanberra-0.14 Actual Results: * Applying libcanberra-0.14-backward-compatibility-libtool.patch ... [ ok ] rm: cannot remove `/var/tmp/portage/media-libs/libcanberra-0.14/work/libcanberra-0.14/lt*': No such file or directory * * ERROR: media-libs/libcanberra-0.14 failed. * Call stack: * ebuild.sh, line 49: Called src_unpack * environment, line 2808: Called die * The specific snippet of code: * rm "${S}/lt*" || die "clean-up ltmain.sh failed"; * The die message: * clean-up ltmain.sh failed diff -u /usr/portage/media-libs/libcanberra/libcanberra-0.14.ebuild /usr/portage/local/media-libs/libcanberra/libcanberra-0.14.ebuild --- /usr/portage/media-libs/libcanberra/libcanberra-0.14.ebuild 2009-07-17 04:07:37.000000000 -0700 +++ /usr/portage/local/media-libs/libcanberra/libcanberra-0.14.ebuild 2009-07-18 08:39:31.000000000 -0700 @@ -33,9 +33,9 @@ epatch "${FILESDIR}/${P}-backward-compatibility-libtool.patch" - rm "${S}/lt*" || die "clean-up ltmain.sh failed" - rm "${S}/m4/lt*" || die "clean-up lt scripts failed" - rm "${S}/m4/libtool*" || die "clean-up libtool script failed" + rm "${S}/lt"* || die "clean-up ltmain.sh failed" + rm "${S}/m4/lt"* || die "clean-up lt scripts failed" + rm "${S}/m4/libtool"* || die "clean-up libtool script failed" eautoreconf }
I had the same issue. What's odd is the ltmain.sh is there, and of course I'm emerging as root, so I don't know why the "rm" fails. But any who, adding "-f" fixed it for me: root:/usr/portage/media-libs/libcanberra:# diff -u libcanberra-0.14.ebuild libcanberra-0.14.ebuild.orig --- libcanberra-0.14.ebuild 2009-07-18 18:08:29.000000000 -0400 +++ libcanberra-0.14.ebuild.orig 2009-07-18 18:07:40.000000000 -0400 @@ -33,9 +33,9 @@ epatch "${FILESDIR}/${P}-backward-compatibility-libtool.patch" - rm -f "${S}/lt*" || die "clean-up ltmain.sh failed" - rm -f "${S}/m4/lt*" || die "clean-up lt scripts failed" - rm -f "${S}/m4/libtool*" || die "clean-up libtool script failed" + rm "${S}/lt*" || die "clean-up ltmain.sh failed" + rm "${S}/m4/lt*" || die "clean-up lt scripts failed" + rm "${S}/m4/libtool*" || die "clean-up libtool script failed" eautoreconf } @@ -63,7 +63,7 @@ #unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL - rm -f "${D}/usr/share/doc/${PN}/README" + rm "${D}/usr/share/doc/${PN}/README" # If the rmdir errors, you probably need to add a file to dodoc # and remove the package installed above rmdir "${D}/usr/share/doc/${PN}" In case there is anyone doing this for the first time, to patch the ebuild you'll have to update the Manifest. I replaced the line with this: EBUILD libcanberra-0.14.ebuild 2139 SHA1 a3a2c7dbb7a11105ae42dc2572ff59a99efd17d7 Hope this helps someone.
Fix bug #278269, src_unpack() failed due to unnecessary quotes around rm commands, * was not matched (Portage version: 2.1.6.13/cvs/Linux x86_64) It was a stupid typo, I'm so sorry Fixed into the main tree without a bump, thanks for reporting ;)