I just attempted a new install of gentoo macos, and the last step of "emerge system", which was to install "sed" failed. Here's the output of the merge: >>> Completed installing into /var/tmp/portage/sed-4.0.9/image/ * checking 16 files for package collisions * spend 0.0283830165863 seconds checking for file collisions >>> Merging sys-apps/sed-4.0.9 to / --- /bin/ >>> /bin/gsed --- /usr/ --- /usr/bin/ >>> /usr/bin/gsed -> ../../bin/gsed --- /usr/share/ --- /usr/share/doc/ >>> /usr/share/doc/gsed-4.0.9/ >>> /usr/share/doc/gsed-4.0.9/AUTHORS.gz >>> /usr/share/doc/gsed-4.0.9/BUGS.gz >>> /usr/share/doc/gsed-4.0.9/ChangeLog.gz >>> /usr/share/doc/gsed-4.0.9/COPYING.gz >>> /usr/share/doc/gsed-4.0.9/examples/ >>> /usr/share/doc/gsed-4.0.9/examples/dos2unix.gz >>> /usr/share/doc/gsed-4.0.9/examples/unix2dos.gz >>> /usr/share/doc/gsed-4.0.9/NEWS.gz >>> /usr/share/doc/gsed-4.0.9/README.boot.gz >>> /usr/share/doc/gsed-4.0.9/README.gz >>> /usr/share/doc/gsed-4.0.9/THANKS.gz --- /usr/share/info/ >>> /usr/share/info/gsed.info-1.gz >>> /usr/share/info/gsed.info-2.gz >>> /usr/share/info/gsed.info.gz --- /usr/share/man/ --- /usr/share/man/man1/ >>> /usr/share/man/man1/gsed.1.gz !!! failed to properly create symlink: !!! /usr/bin/sed -> ../../bin/sed !!! [Errno 2] No such file or directory: '/usr/bin/sed' !!! Failed to move file. !!! /usr/bin/sed -> ../../bin/sed This resulted in an "INCOMPLETE MERGE" and no working sed on my system. I had to manually unmerge all the files, then copy sed.ORIG back to sed. (Which I had created a copy months ago out of paranoia. :) So, I think it actually wiped out the system sed, even though collision protection is on. I'm running Mac OS X 10.3.5.
Thanks
Thanks for the bug report. Fixed in CVS. --- sed-4.0.9.ebuild.orig Thu Sep 16 11:37:19 2004 +++ sed-4.0.9.ebuild Thu Sep 16 22:39:51 2004 @@ -45,8 +45,6 @@ fi rm -f ${D}/usr/bin/sed - use macos && cd ${D} && for x in `find . -name 'sed*' -print`; do mv "$x" "${x//sed/gsed}"; done && cd ${WORKDIR}/${P} - use macos && dosym ../../bin/gsed /usr/bin/gsed || dosym ../../bin/sed /usr/bin/sed - use ppc-macos && cd ${D} && for x in `find . -name 'sed*' -print`; do mv "$x" "${x//sed/gsed}"; done && cd ${WORKDIR}/${P} - use ppc-macos && dosym ../../bin/gsed /usr/bin/gsed || dosym ../../bin/sed /usr/bin/sed + ( use macos || use ppc-macos ) && cd ${D} && for x in `find . -name 'sed*' -print`; do mv "$x" "${x//sed/gsed}"; done && cd ${WORKDIR}/${P} + ( use macos || use ppc-macos ) && dosym ../../bin/gsed /usr/bin/gsed || dosym ../../bin/sed /usr/bin/sed } pvdabeel, I think you might do similar things to other ebuilds. Could you (or other guys if he's busy) check it?
Thanks a lot. When I try it now I get: >>> Completed installing into /var/tmp/portage/sed-4.0.9/image/ Traceback (most recent call last): File "/usr/lib/portage/bin/emerge", line 2755, in ? mydepgraph.merge(mydepgraph.altlist()) File "/usr/lib/portage/bin/emerge", line 1678, in merge retval=portage.doebuild(y,"merge",myroot,self.pkgsettings,edebug) File "/usr/lib/portage/pym/portage.py", line 2779, in doebuild return merge(mysettings["CATEGORY"],mysettings["PF"],mysettings["D"],mysettings["BUILDDIR"]+"/build-info",myroot,mysettings,myebuild=mysettings["EBUILD"]) File "/usr/lib/portage/pym/portage.py", line 2901, in merge return mylink.merge(pkgloc,infloc,myroot,myebuild) File "/usr/lib/portage/pym/portage.py", line 6694, in merge return self.treewalk(mergeroot,myroot,inforoot,myebuild,cleanup=cleanup) File "/usr/lib/portage/pym/portage.py", line 6221, in treewalk if catpkgsplit(p)[0] == self.cat and catpkgsplit(p)[1] == pkgsplit(self.pkg)[0]: TypeError: unsubscriptable object Is there something I need to do to get my system back into a sane state? Thanks.
Do you have something in /var/db/pkg/sys-apps? If you are not running emerge, remove -MERGING-blah and foo.lockfile if you find any. (Just FYI, you can delete files starting with - by "rm ./-MERGING-blah" or "rm -- -MERGING-blah")
Thanks for the hints, sed is now merging properly.
Closing out bugs that've been resolved for a while now...