Current version of squirrelmail breaks if you use FEATURES="userpriv": # emerge squirrelmail Calculating dependencies ...done! >>> emerge (1 of 1) net-mail/squirrelmail-1.4.2-r1 to / >>> md5 src_uri ;-) squirrelmail-1.4.2.tar.bz2 * Installing into //home/httpd/htdocs. webapp-apache apache2 install: cannot change permissions of `/var/tmp/portage/squirrelmail-1.4.2-r1/image//home/httpd/htdocs': Operation not permitted touch: cannot touch `/var/tmp/portage/squirrelmail-1.4.2-r1/image///home/httpd/htdocs/.keep': Permission denied !!! ERROR: net-mail/squirrelmail-1.4.2-r1 failed. !!! Function keepdir, Line 252, Exitcode 1 !!! Failed to create .keep in /var/tmp/portage/squirrelmail-1.4.2-r1/image///home/httpd/htdocs If you disable userpriv it works: # FEATURES="-userpriv" emerge squirrelmail Calculating dependencies ...done! >>> emerge (1 of 1) net-mail/squirrelmail-1.4.2-r1 to / >>> md5 src_uri ;-) squirrelmail-1.4.2.tar.bz2 * Installing into //home/httpd/htdocs. >>> Unpacking source... >>> Unpacking squirrelmail-1.4.2.tar.bz2 to /var/tmp/portage/squirrelmail-1.4.2-r1/work The error seems to be the fowners call in the webapps-apache eclass. The ebuild and the eclass also uses the old chown syntax that isn't supported anymore in >=coreutils-5.0.91.
this is an error in webapp-apache
*** Bug 33460 has been marked as a duplicate of this bug. ***
This kind of thing also happens when using "emerge -pv" or "emerge -s" on packages which use webapp-apache.eclass (phpmyadmin, squirrel and many others). The function webapp-determine-htdocsdir() is called every time the ebuild is being parsed. It fails while running as normal user because it's trying to keepdir, chmod and chown. Why oh why? Is there really a point to change the permissions? And if there is, why not to do it in some other function.
*** Bug 26808 has been marked as a duplicate of this bug. ***
*** Bug 35316 has been marked as a duplicate of this bug. ***
*** Bug 35499 has been marked as a duplicate of this bug. ***
*** Bug 35820 has been marked as a duplicate of this bug. ***
Is someone working on this ?
i will be working on it after my last assignment is completed (due midnight pacific time tonight)
Okay, I couldn't think of a way to do this and keep backwards-compatibility ... Apps that use this eclass will have to call the new webapps-mkdirs at the beginning of their src_install() functions. I'm in the process of updating all affected eclasses. Stu
Here's the list of packages that I've touched as part of this fix: * app-misc/gallery * app-text/man2html * dev-db/phpmyadmin * dev-db/phppgadmin * dev-php/groupoffice * dev-php/egroupware * dev-php/phpgroupware * net-analyzer/cacti * net-mail/squirrelmail * net-p2p/zuul * net-www/ids * net-www/horde * net-www/htdig * net-www/phpBB * net-www/phpmp * net-www/horde-chora * net-www/horde-turba * net-www/moinmoin * net-www/phpwebsite * net-www/horde-imp * net-www/mythweb * net-www/horde-kronolith Here's a list of packages that I haven't touched - reason why in brackets. * dev-php/jpgraph (doesn't install into HTTPD_ROOT) * net-analyzer/aimsniff (doesn't use webapp-apache to make HTTPD_ROOT) * net-nds/phpldapadmin (repoman complained that the ebuilds weren't added - most strange) And here's the script I used to confirm that I've updated all the packages in Portage: cd /usr/portage && grep -Rl 'webapp-apache' * | xargs grep -L 'webapp-mkdirs' Hopefully, it's ready for testing. Stu
testing shows that it's fixed (for squirrelmail, which is atm the only app on the list I care about).
*** Bug 36069 has been marked as a duplicate of this bug. ***