Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 127637 - Permission denied / Incorrect multiline literals
Summary: Permission denied / Incorrect multiline literals
Status: RESOLVED CANTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Other
: High minor (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-26 06:51 UTC by Wernfried Haas (RETIRED)
Modified: 2006-05-05 04:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wernfried Haas (RETIRED) gentoo-dev 2006-03-26 06:51:45 UTC
# emerge xmms
Calculating dependencies... done!
>>> Emerging (1 of 7) media-sound/xmms-1.2.10-r15 to /
>>> checksums files   ;-) xmms-1.2.10-r14.ebuild
[..]
>>> Unpacking source...
!!! [Errno 13] Permission denied: '/etc/make.conf.elog' in //etc/make.conf
!!! Incorrect multiline literals can cause this. Do not use them.
 * Sorry, you seem to have USE=-nls with an old version of gettext
 * on your system.  Unfortunately, that will cause xmms to fail emerging.
 * Please either remove gettext or upgrade to version 0.14.1.
>>> Unpacking xmms-1.2.10.tar.bz2 to /var/tmp/portage/xmms-1.2.10-r15/work

Happens with portage-2.1_pre6-r5 and portage-2.1_pre7-r1, but appearently only with emerge xmms, not other programs. I assume that could be related to the warning about USE=-nls? I can fix the -nls issue, but then the portage problem may be gone, so i can wait with doing if you want to track it down.

Here's my make.conf:
---
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

USE="-arts -svga -gnome \
aalib dvd encode oggvorbis tcpd X emacs alsa oss flac offensive xvid atm mmx \
nptl fbcon cdparanoia divx4linux samba java real sse esd cups foomaticdb ppds \
sse2 imagemagick ethereal icq xinetd imap smtp win32codecs dvdr mp3 -xmms \ 
-motif -eds fam -mad"

SYNC="rsync://192.168.0.75/gentoo-portage"

RESUMECOMMAND="http_proxy= ftp_proxy= /usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
PORTAGE_NICENESS=19

FEATURES="sandbox userpriv usersandbox"
CLEAN_DELAY=0
PORTDIR_OVERLAY=/usr/local/portage

source /etc/make.conf.elog
---
Here's /etc/make.conf.elog (which is mode 600, owned by root:root)
---
PORTAGE_ELOG_CLASSES="warn error log"

PORTAGE_ELOG_SYSTEM="save mail"

PORTAGE_ELOG_MAILURI="amne@gentoo.org USER:SEKRIT@mailrelay.tugraz.at:100025"
---
Comment 1 Wernfried Haas (RETIRED) gentoo-dev 2006-03-27 03:27:41 UTC
No error (neither nls nor the permission denied/multiline) occurs with
a) FEATURES="-userpriv" emerge xmms
b) chmodding /etc/make.conf.elog to 644
c) commenting out "source /etc/make.conf.elog"

In any case (a-c) the output is:
# FEATURES="-userpriv" emerge xmms
Calculating dependencies... done!
>>> Emerging (1 of 7) media-sound/xmms-1.2.10-r15 to /
>>> checksums files   ;-) xmms-1.2.10-r14.ebuild
[..]
>>> checksums src_uri ;-) gnomexmms.xpm
>>> Unpacking source...
>>> Unpacking xmms-1.2.10.tar.bz2 to /var/tmp/portage/xmms-1.2.10-r15/work
...
Comment 2 Marius Mauch (RETIRED) gentoo-dev 2006-03-27 03:43:40 UTC
OUCH, this is a nasty problem:
the observed behavior is caused by the has_version call, which in turn calls portageq. As the call is in src_unpack, which runs as portage user (if userpriv is enabled) portageq also runs in that context. portageq in turn calls 'import portage' which triggers the sourcing of make.conf, which fails due the portage user not being able to source make.conf.elog, and that causes the has_version check to fail.
Not sure how to fix that (ignoring the issue that the ebuild-check in the example in this bug is broken in a few ways) other than requiring all config files to be reabale by the portage user (or backporting the portageq pipe system from ebd), anyone has suggestions?
Comment 3 Wernfried Haas (RETIRED) gentoo-dev 2006-03-27 04:16:33 UTC
l /etc/make.conf.elog
-rw-r-----  1 root portage 151 Feb 24 14:02 /etc/make.conf.elog

Maybe not a perfect solution as it gives anyone within the portage group read access to the sekrit password in this file, but otoh you shouldn't add everyone and their mother to that group - I can live with it.
Comment 4 Marius Mauch (RETIRED) gentoo-dev 2006-05-05 04:32:32 UTC
No real solution available for this one.