When trying to emerge -u diffutils to the new version 2.8.4, the following happened on my system: Making install in po make[1]: Entering directory `/var/tmp/portage/diffutils- 2.8.4/work/diffutils-2.8.4/po' /bin/sh `case "config/mkinstalldirs" in /*) echo "config/mkinstalldirs" ;; *) echo "../config/mkinstalldirs" ;; esac` /usr/share ACCESS DENIED open_wr: /usr/share/locale/cs/LC_MESSAGES/diffutils.mo /bin/install: cannot create regular file `/usr/share/locale/cs/LC_MESSAGES/diffutils.mo': Permission denied installing cs.gmo as /usr/share/locale/cs/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/da/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/da/LC_MESSAGES/diffutils.mo': Permission denied installing da.gmo as /usr/share/locale/da/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/de/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/de/LC_MESSAGES/diffutils.mo': Permission denied installing de.gmo as /usr/share/locale/de/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/en_GB/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/en_GB/LC_MESSAGES/diffutils.mo': Permission denied installing en_GB.gmo as /usr/share/locale/en_GB/LC_MESSAGES/diffutils.mo mkdir -p -- /usr/share/locale/en_US/LC_MESSAGES ACCESS DENIED mkdir: /usr/share/locale/en_US mkdir: cannot create directory `/usr/share/locale/en_US': Permission denied ACCESS DENIED open_wr: /usr/share/locale/en_US/LC_MESSAGES/diffutils.mo /bin/install: cannot create regular file `/usr/share/locale/en_US/LC_MESSAGES/diffutils.mo': Permission denied installing en_US.gmo as /usr/share/locale/en_US/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/eo/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/eo/LC_MESSAGES/diffutils.mo': Permission denied installing eo.gmo as /usr/share/locale/eo/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/es/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/es/LC_MESSAGES/diffutils.mo': Permission denied installing es.gmo as /usr/share/locale/es/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/fr/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/fr/LC_MESSAGES/diffutils.mo': Permission denied installing fr.gmo as /usr/share/locale/fr/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/gl/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/gl/LC_MESSAGES/diffutils.mo': Permission denied installing gl.gmo as /usr/share/locale/gl/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/he/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/he/LC_MESSAGES/diffutils.mo': Permission denied installing he.gmo as /usr/share/locale/he/LC_MESSAGES/diffutils.mo ACCESS DENIED open_wr: /usr/share/locale/hu/LC_MESSAGES/diffutils.mo /bin/install: cannot create regular file `/usr/share/locale/hu/LC_MESSAGES/diffutils.mo': Permission denied installing hu.gmo as /usr/share/locale/hu/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/id/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/id/LC_MESSAGES/diffutils.mo': Permission denied installing id.gmo as /usr/share/locale/id/LC_MESSAGES/diffutils.mo ACCESS DENIED open_wr: /usr/share/locale/ja/LC_MESSAGES/diffutils.mo /bin/install: cannot create regular file `/usr/share/locale/ja/LC_MESSAGES/diffutils.mo': Permission denied installing ja.gmo as /usr/share/locale/ja/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/pl/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/pl/LC_MESSAGES/diffutils.mo': Permission denied installing pl.gmo as /usr/share/locale/pl/LC_MESSAGES/diffutils.mo ACCESS DENIED open_wr: /usr/share/locale/pt_BR/LC_MESSAGES/diffutils.mo /bin/install: cannot create regular file `/usr/share/locale/pt_BR/LC_MESSAGES/diffutils.mo': Permission denied installing pt_BR.gmo as /usr/share/locale/pt_BR/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/ru/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/ru/LC_MESSAGES/diffutils.mo': Permission denied installing ru.gmo as /usr/share/locale/ru/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/sv/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/sv/LC_MESSAGES/diffutils.mo': Permission denied installing sv.gmo as /usr/share/locale/sv/LC_MESSAGES/diffutils.mo ACCESS DENIED unlink: /usr/share/locale/tr/LC_MESSAGES/diffutils.mo /bin/install: cannot remove `/usr/share/locale/tr/LC_MESSAGES/diffutils.mo': Permission denied installing tr.gmo as /usr/share/locale/tr/LC_MESSAGES/diffutils.mo ACCESS DENIED open_wr: /usr/share/locale/zh_TW/LC_MESSAGES/diffutils.mo /bin/install: cannot create regular file `/usr/share/locale/zh_TW/LC_MESSAGES/diffutils.mo': Permission denied installing zh_TW.gmo as /usr/share/locale/zh_TW/LC_MESSAGES/diffutils.mo if test "diffutils" = "gettext"; then \ /bin/sh `case "config/mkinstalldirs" in /*) echo "config/mkinstalldirs" ;; *) echo "../config/mkinstalldirs" ;; esac` /usr/share/gettext/po; \ for file in Makefile.in.in Makevars remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot ; do \ /bin/install -c -m 644 ./$file \ /usr/share/gettext/po/$file; \ done; \ else \ : ; \ fi make[1]: Leaving directory `/var/tmp/portage/diffutils-2.8.4/work/diffutils- 2.8.4/po' make[1]: Entering directory `/var/tmp/portage/diffutils- 2.8.4/work/diffutils-2.8.4' make[2]: Entering directory `/var/tmp/portage/diffutils- 2.8.4/work/diffutils-2.8.4' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/var/tmp/portage/diffutils-2.8.4/work/diffutils-2.8.4' make[1]: Leaving directory `/var/tmp/portage/diffutils-2.8.4/work/diffutils-2.8.4' gzipping man page: /var/tmp/portage/diffutils-2.8.4/image//usr/share/man/man1/cmp.1 gzipping man page: /var/tmp/portage/diffutils-2.8.4/image//usr/share/man/man1/diff.1 gzipping man page: /var/tmp/portage/diffutils-2.8.4/image//usr/share/man/man1/diff3.1 gzipping man page: /var/tmp/portage/diffutils- 2.8.4/image//usr/share/man/man1/sdiff.1 info: gzipping GNU info file diff.info strip: /var/tmp/portage/diffutils- 2.8.4/image/usr/bin/cmp /var/tmp/portage/diffutils- 2.8.4/image/usr/bin/diff /var/tmp/portage/diffutils- 2.8.4/image/usr/bin/diff3 /var/tmp/portage/diffutils- 2.8.4/image/usr/bin/sdiff >>> Completed installing into /var/tmp/portage/diffutils- 2.8.4/image/ --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/tmp/sandbox-diffutils-2.8.4- 20481.log" open_wr: /usr/share/locale/cs/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/da/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/de/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/en_GB/LC_MESSAGES/diffutils.mo mkdir: /usr/share/locale/en_US open_wr: /usr/share/locale/en_US/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/eo/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/es/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/fr/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/gl/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/he/LC_MESSAGES/diffutils.mo open_wr: /usr/share/locale/hu/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/id/LC_MESSAGES/diffutils.mo open_wr: /usr/share/locale/ja/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/pl/LC_MESSAGES/diffutils.mo open_wr: /usr/share/locale/pt_BR/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/ru/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/sv/LC_MESSAGES/diffutils.mo unlink: /usr/share/locale/tr/LC_MESSAGES/diffutils.mo open_wr: /usr/share/locale/zh_TW/LC_MESSAGES/diffutils.mo --------------------------------------------------------------------------------
Created attachment 4180 [details] diffutils-2.8.4-r1.ebuild Here's an updated ebuild that fixes the problem. Just needed to define "datadir" at configure-time, which is the only difference. I'll post a diff, too.
Created attachment 4181 [details, diff] diffutils-2.8.4-r1.patch Here's a patch to the original diffutils-2.8.4.ebuild which fixes the problem.
Yes, this fixed the problem for me. Thanks a lot. :-)
tested and did some `strings` to make sure it didnt hardcode any paths ... committed to cvs
*** Bug 8387 has been marked as a duplicate of this bug. ***
*** Bug 8426 has been marked as a duplicate of this bug. ***
This is totally the wrong way to fix it. What will happen now, is that it will look for its data in ${D}/usr/share ... which is not right. The correct way of handling this is to define datadir during 'make install' again as ${D}/usr/share.