If I start elogviewer as ordinary user rose, it fails with: rose@lynx:/home/rose(2)$ elogviewer You need to enable the elog feature by setting at least one of PORTAGE_ELOG_CLASSES="info warn error log qa" and PORTAGE_ELOG_SYSTEM="save" in /etc/make.conf You need to add yourself to the portage group to use elogviewer without privileges. Read /etc/make.conf.example for more information But elog features are enabled in /etc/make.conf: rose@lynx:/home/rose(6)$ grep "ELOG" /etc/make.conf PORTAGE_ELOG_SYSTEM="save" #PORTAGE_ELOG_CLASSES="warn error info log qa" PORTAGE_ELOG_CLASSES="warn error log qa" As user root I can start elogviewer without problems: root@lynx:/root(25)# elogviewer root@lynx:/root(26)# Reproducible: Always root@lynx:/root(54)# emerge --info Portage 2.1.10.9 (default/linux/amd64/10.0/desktop, gcc-4.5.2, glibc-2.13-r4, 3.0.0-gentoo x86_64) ================================================================= System uname: Linux-3.0.0-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8300_@_2.40GHz-with-gentoo-2.0.3 Timestamp of tree: Sun, 31 Jul 2011 14:30:01 +0000 app-shells/bash: 4.2_p10 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r2, 3.2-r2 dev-util/cmake: 2.8.5-r2 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.8.3-r1 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1-r1 sys-devel/binutils: 2.21.1 sys-devel/gcc: 4.5.2 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.38 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo lordvan x11 java-overlay sunrise arcon qting-edge ibormuth bicatali proaudio science wtk-scientific local x-cpan g-octave ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula googleearth AdobeFlash-10.1 cadsoft" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/openvpn/easy-rsa /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.2/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.2/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.2/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-march=native -O2 -pipe" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo ftp://ftp.easynet.nl/mirror/gentoo/ " LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="de fr" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/lordvan /var/lib/layman/x11 /var/lib/layman/java-overlay /var/lib/layman/sunrise /var/lib/layman/arcon /var/lib/layman/qting-edge /var/lib/layman/ibormuth /var/lib/layman/bicatali /var/lib/layman/pro-audio /var/lib/layman/science /var/lib/layman/wtk-scientific /usr/local/portage /var/lib/cpan /var/lib/g-octave" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="64bit R X Xaw3d a52 aac abiword acl acpi admin afs alsa amd64 ao apache2 applet archive arpack asf aspell assistant audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 cairo cardbus cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli consolekit corba cracklib crypt css cuda cups curl cxx daap db dbase dbi dbm dbus declarative designer devhelp device-mapper dga dia djvu doc dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpx fts3 fuse galago garmin gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp ginac git glade glib gml gmp gmtsuppl gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk gudev guile harness hddtemp hdf hdf5 hdri http httpd hvm hwdb iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java6 jbig john jpeg jpeg2k kdrive kerberos kpathsea kqemu kvm ladspa lame lapack laptop latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lua lzo mad mail maildir mapnik math matroska mkl mmx mmxext mng modules mono moonlight motif mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numpy obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp overview pae pam pango pcre pda pdf perl plotutils plugins png podcast policykit portaudio posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime readline reiserfs reports rle romio rpc rrdcgi rrdtool samba sasl science sdk sdl secure-delete semantic-desktop server session sip slang slp smbclient smp sms sndfile snmp soup sox speex spell sql sqlite sse sse2 sse4 ssl ssse3 startup-notification stlport subtitles subversion suexec svg svm swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs tgif theora thinkpad threads thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 video virtualbox vorbis wav webdav webdav-serf webkit wifi wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc yaml zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="usb-wt220u" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv nouveau vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
You must add your user to portage group
But I am as ordinary user rose also in the portage group: rose@lynx:/home/rose(6)$ id uid=1203(rose) gid=1000(rose) Gruppen=1000(rose),4(adm),6(disk),7(lp),10(wheel),14(uucp),18(audio),19(cdrom),27(video),35(games),60(mysql),100(users),250(portage),1004(plugdev),1010(vboxusers),1013(wireshark),1016(qemu),1020(kvm),1212(nwaccess),1217(tuntap) rose@lynx:/home/rose(7)$ elogviewer You need to enable the elog feature by setting at least one of PORTAGE_ELOG_CLASSES="info warn error log qa" and PORTAGE_ELOG_SYSTEM="save" in /etc/make.conf You need to add yourself to the portage group to use elogviewer without privileges. Read /etc/make.conf.example for more information
I'm currently unable to reproduce this which indicates to me that it is actually a permissions problem somewhere. I'll keep looking at this to see what I can find.
Can you cd to $PORT_LOGDIR/elog (normally it will be /var/log/portage/elog) as your normal user? Looking at the code you are going to get the usage message if it is unable to change to that directory. If you can't you need to update the permissions on the log directories to allow your normal user to see the directory and files.
I found that I can access /var/log/portage/elog as ordinary user rose being in the portage group only at old linux (2.6.38): rose@dolphin:/home/rose(2)$ id uid=1203(rose) gid=100(users) Gruppen=100(users),7(lp),10(wheel),16(cron),18(audio),19(cdrom),85(usb),250(portage),445(scanner) rose@dolphin:/home/rose(3)$ ll /var/log/portage/ insgesamt 112 drwxrws--- 2 portage portage 110592 9. Aug 07:51 elog/ rose@dolphin:/home/rose(4)$ uname -a Linux dolphin 2.6.38-hardened-r6 #1 PREEMPT Thu Aug 4 16:37:13 CEST 2011 i686 Pentium II (Deschutes) GenuineIntel GNU/Linux rose@dolphin:/home/rose(5)$ ll /var/log/portage/ insgesamt 112 drwxrws--- 2 portage portage 110592 9. Aug 07:51 elog/ rose@dolphin:/home/rose(6)$ ll /var/log/portage/elog/ | wc 1941 17462 184082 rose@dolphin:/home/rose(7)$ id uid=1203(rose) gid=100(users) Gruppen=100(users),7(lp),10(wheel),16(cron),18(audio),19(cdrom),85(usb),250(portage),445(scanner) At current linux I can't: rose@lynx:/home/rose(1)$ ll /var/log/portage/ insgesamt 6640 -rw-r--r-- 1 root root 1279578 27. Jul 2010 cross-avr-avr-libc.log -rw-r--r-- 1 root root 391759 27. Jul 2010 cross-avr-binutils.log -rw-r--r-- 1 root root 2226696 27. Jul 2010 cross-avr-gcc-stage1.log -rw-r--r-- 1 root root 2165442 27. Jul 2010 cross-avr-gcc-stage2.log -rw-r--r-- 1 root root 19504 27. Jul 2010 cross-avr-info.log drwxrws--- 2 portage root 688128 9. Aug 16:01 elog/ rose@lynx:/home/rose(2)$ cd /var/log/portage/elog -bash: cd: /var/log/portage/elog: Keine Berechtigung rose@lynx:/home/rose(3)$ uname -a Linux lynx 3.0.1-gentoo #1 SMP Tue Aug 9 09:25:43 CEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux rose@lynx:/home/rose(4)$ id uid=1203(rose) gid=1000(rose) Gruppen=1000(rose),4(adm),6(disk),7(lp),10(wheel),14(uucp),18(audio),19(cdrom),27(video),35(games),60(mysql),100(users),250(portage),1004(plugdev),1010(vboxusers),1013(wireshark),1016(qemu),1020(kvm),1212(nwaccess),1217(tuntap) rose@cheetah:/home/rose(1)$ uname -a Linux cheetah 3.0.0-gentoo #1 PREEMPT Wed Aug 3 16:00:10 CEST 2011 i686 AMD Athlon(tm) XP 1800+ AuthenticAMD GNU/Linux rose@cheetah:/home/rose(2)$ id uid=1203(rose) gid=100(users) Gruppen=100(users),4(adm),6(disk),7(lp),10(wheel),18(audio),19(cdrom),27(video),35(games),250(portage),441(plugdev),1000(vboxusers),1006(nwaccess) rose@cheetah:/home/rose(3)$ ll /var/log/portage/ insgesamt 8565 -rw-r--r-- 1 root root 1146388 2. Aug 2010 cross-avr-avr-libc.log -rw-r--r-- 1 root root 388353 2. Aug 2010 cross-avr-binutils.log -rw-r--r-- 1 root root 3296057 2. Aug 2010 cross-avr-gcc-stage1.log -rw-r--r-- 1 root root 3415836 2. Aug 2010 cross-avr-gcc-stage2.log -rw-r--r-- 1 root root 18452 2. Aug 2010 cross-avr-info.log drwxrws--- 2 portage root 493400 11. Aug 05:26 elog/ rose@cheetah:/home/rose(4)$ ll /var/log/portage/elog/ /bin/ls: Öffnen von Verzeichnis /var/log/portage/elog/ nicht möglich: Keine Berechtigung rose@tiger:/home/rose(6)$ uname -a Linux tiger 3.0.0 #1 SMP Sun Jul 24 12:06:11 CEST 2011 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz GenuineIntel GNU/Linux rose@tiger:/home/rose(7)$ id uid=1203(rose) gid=500(bioinf) Gruppen=500(bioinf),6(disk),10(wheel),14(uucp),19(cdrom),250(portage),409(plugdev),1003(vboxusers),1004(qemu),1225(tuntap) rose@tiger:/home/rose(8)$ ll /var/log/portage/ insgesamt 572 drwxrws--- 2 portage root 585240 11. Aug 08:12 elog/ rose@tiger:/home/rose(9)$ ll /var/log/portage/elog/ /bin/ls: Öffnen von Verzeichnis /var/log/portage/elog/ nicht möglich: Keine Berechtigung rose@moose:/home/rose(4)$ uname -a Linux moose 3.0.0-gentoo #1 SMP Fri Jul 22 18:57:17 CEST 2011 x86_64 Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz GenuineIntel GNU/Linux rose@moose:/home/rose(5)$ id uid=1203(rose) gid=1005(rose) Gruppen=1005(rose),4(adm),6(disk),7(lp),10(wheel),18(audio),19(cdrom),27(video),35(games),100(users),106(lpadmin),250(portage),1007(plugdev),1010(vboxusers),1011(kvm),1012(qemu),1014(wireshark),1217(tuntap),1221(nwaccess) rose@moose:/home/rose(6)$ ll /var/log/portage/ insgesamt 6484 -rw-r--r-- 1 root root 1280036 30. Jul 2010 cross-avr-avr-libc.log -rw-r--r-- 1 root root 391290 30. Jul 2010 cross-avr-binutils.log -rw-r--r-- 1 root root 2127553 30. Jul 2010 cross-avr-gcc-stage1.log -rw-r--r-- 1 root root 2164644 30. Jul 2010 cross-avr-gcc-stage2.log -rw-r--r-- 1 root root 19078 30. Jul 2010 cross-avr-info.log drwxrws--- 2 portage root 626688 11. Aug 09:57 elog/ rose@moose:/home/rose(7)$ ll /var/log/portage/elog/ /bin/ls: Öffnen von Verzeichnis /var/log/portage/elog/ nicht möglich: Keine Berechtigung
(In reply to comment #5) > drwxrws--- 2 portage root 626688 11. Aug 09:57 elog/ The directory gid is root, but you want portage. This should fix it: chown -R portage:portage /var/log/portage
I was also hit by this after upgrading portage from 2.1.10.3 to 2.1.10.11 today. Before the upgrade I have run elogviewer as a normal user in the portage group without problems. After upgrade I get the same error as the OP. # ls -l /var/log/portage total 0 drwxrws--- 2 portage root 352 aug 27 11:14 elog Somehow the portage upgrade must have changed the group of the elog directory. The command in comment #6 makes elogviewer work again as my normal user.
(In reply to comment #7) > I was also hit by this after upgrading portage from 2.1.10.3 to 2.1.10.11 > today. > > Before the upgrade I have run elogviewer as a normal user in the portage group > without problems. After upgrade I get the same error as the OP. > > # ls -l /var/log/portage > total 0 > drwxrws--- 2 portage root 352 aug 27 11:14 elog > > Somehow the portage upgrade must have changed the group of the elog directory. New portage copies the group bits from /var/log/portage to the elog subdirectory. Normally /var/log/portage should have group "portage", and users don't have to make any changes. In your case, /var/log/portage had group "root", which triggered your problem. > The command in comment #6 makes elogviewer work again as my normal user. It should continue to work fine after that.
(In reply to comment #8) > In your case, /var/log/portage had group "root", which triggered your problem. This will be a common problem for people like you, and also for logrotate as described in bug 378451, so I've updated the ebuild to initialize /var/log/portage permissions in pkg_preinst: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/portage/portage-2.1.10.11.ebuild?view=log#rev1.4
Bug should be closed as it concerns an obsolete version anyway.