Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 408567 - app-portage/eix: cannot generate per-overlay cache
Summary: app-portage/eix: cannot generate per-overlay cache
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-17 10:42 UTC by cyberbat
Modified: 2012-03-20 05:32 UTC (History)
5 users (show)

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


Attachments
remote.tar.bz2 (remote.tar.bz2,46 bytes, text/plain)
2012-03-17 10:42 UTC, cyberbat
Details

Note You need to log in before you can comment on or make changes to this bug.
Description cyberbat 2012-03-17 10:42:59 UTC
Created attachment 305681 [details]
remote.tar.bz2

#eix-update && eix-remote update

Reading Portage settings ..
Building database (/var/cache/eix/portage.eix) ..
[0] "gentoo" /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 154|154 (100%) Finished             
[1] "" /var/lib/layman/gsom (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 154|154 (100%) Finished       
Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix/portage.eix ..
Database contains 15495 packages in 154 categories.
--2012-03-17 14:33:46--  http://dev.gentooexperimental.org/eix_cache/eix-caches.tbz2
Resolving dev.gentooexperimental.org (dev.gentooexperimental.org)... 91.191.147.225
Connecting to dev.gentooexperimental.org (dev.gentooexperimental.org)|91.191.147.225|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 46 [application/octet-stream]
Last-modified header missing -- time-stamps turned off.
--2012-03-17 14:33:46--  http://dev.gentooexperimental.org/eix_cache/eix-caches.tbz2
Reusing existing connection to dev.gentooexperimental.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 46 [application/octet-stream]
Saving to: `eix-caches.tbz2'

100%[============================================================================================================================>] 46          --.-K/s   in 0s      

2012-03-17 14:33:46 (8.38 MB/s) - `eix-caches.tbz2' saved [46/46]

 * Unpacking data
chmod: cannot access `*': No such file or directory
Can't open the database file /tmp/eix-remote.gxVPe3Kz/1/* for reading (mode = 'rb')
Did you forget to create it with 'eix-update'?
problems arose with cachefile *
 * Calling eix-update
Reading Portage settings ..
Adding virtual overlays from /var/cache/eix/portage.eix ..
Building database (/var/cache/eix/portage.eix) ..
[0] "gentoo" /usr/portage/ (cache: eix)
     Reading Packages .. Finished
[1] "" /var/lib/layman/gsom (cache: eix [/var/lib/layman/gsom])
     Reading Packages .. Finished
Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix/portage.eix ..
Database contains 15495 packages in 154 categories.
 * could not read all eix cachefiles of /var/cache/eix/remote.tar.bz2

Probably your eix cachefile was *not* updated successfully.
Unless the above messages suggest another cause or you specified a
wrong filename, the most likely cause of this is that the server uses
another eix version than you or produced broken data. Please check whether
EIX_REMOTEARCHIVE is a valid *.tar.bz2 archive containing eix cachefiles
(you can download it using fetch).
If this is not the case (but was freshly downloaded), please report a bug.
Note that the archive is *not* broken if only the cachefile format versions
differ: In that case only report a bug if the eix cachefile format versions
in the downloaded file are *older* than that of the most current ~x86 eix
version in the portage tree (but first retry after several days before
reporting such a bug to give the server maintainers a chance to upgrade
after a version bump of eix).
Conversely, if the downloaded versions are even newer than that supported by
your eix, you will have to upgrade to the most current ~x86 version of eix
to use eix-remote: This inconvenience cannot be avoided and is not a bug!

I've tested eix-0.23.10 eix-0.25.3.

emerge --info:
Portage 2.1.10.44 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2 x86_64)
=================================================================
System uname: Linux-3.2.1-gentoo-r2-x86_64-Intel-R-_Core-TM-_i7-3930K_CPU_@_3.20GHz-with-gentoo-2.0.3
Timestamp of tree: Sat, 17 Mar 2012 09:15:01 +0000
ccache version 3.1.6 [enabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3
dev-util/ccache:          3.1.6
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo x-gsom
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.3 Q3AEULA PUEL LOKI-EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
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.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/home/nothome/portage"
FEATURES="assume-digests binpkg-logs buildpkg ccache distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="ftp://gentoo.bloodhost.ru/ ftp://xeon.gentoo.ru/mirrors/Gentoo/"
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru en"
MAKEOPTS="-j13"
PKGDIR="/home/nothome/portage"
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/gsom"
SYNC="rsync://rsync.ru.gentoo.org/gentoo-portage"
USE="7zip X a52 aac acl acpi akonadi alsa amd64 amr audiofile bash-completion bluetooth branding bzip2 cairo cdda cddb cdio cdparanoia cdr cli consolekit cracklib crypt css cups cxx dbus dedicated djvu dri dts dv dvd dvdr emboss encode exif ffmpeg firefox flac fontconfig fortran gd gdu geoip gif gimp gmp gnutls gphoto2 gpm graphviz gsm gstreamer gtk handbook iconv icu id3tag idn ieee1394 imagemagick imap imlib inotify iphone ipod ipv6 jabber jbig jingle jpeg jpeg2k kde kipi kontact ladspa lame lcms libnotify libsamplerate libwww lm_sensors lzma lzo mad matroska mikmod mjpeg mmx mmxext mng modplug modules mp3 mp4 mpeg mplayer mudflap multilib musepack musicbrainz ncurses nls nptl nptlonly ntfs nuv ogg openal openexr opengl openmp pam pango pcre pdf phonon plasma pm-utils png policykit ppds pppd qt3support qt4 quicktime rar raw readline reiserfs rss rtmp sasl scanner sdl semantic-desktop session sharedext smp sndfile socks5 speex spell sql sqlite sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg symlink sysfs syslog taglib theora threads thumbnail tiff truetype tta udev unicode usb userlocales video vim-syntax vorbis wavpack webkit wma wmf x264 xcb xcomposite xface xml xmp xmpp xorg xpm xscreensaver xulrunner xv xvid zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 asis auth_basic auth_digest authn_alias authn_anon authn_dbd authn_default authn_file authz_default authz_groupfile authz_host authz_owner authz_user autoindex cgid cern_meta dbd deflate dir dumpio env expires ext_filter filter headers imagemap include info log_config log_forensic logio mime mime_magic negotiation proxy rewrite setenvif speling status substitute unique_id userdir version vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2 canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="fglrx radeon" 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

eix-remote fetch /var/cache/remote-cache.tbz2 && 
eix-remote add /var/cache/remote-cache.tbz2
give me the same error.

I attach remote.tar.bz2 being downloaded.

My /tmp is on tmpfs.
Comment 1 Nikoli 2012-03-17 11:00:36 UTC
Same problem
Comment 2 Mark Knecht 2012-03-17 17:57:06 UTC
Same problem here.

c2stable linux # eix-remote -q update
--2012-03-17 10:54:31--  http://dev.gentooexperimental.org/eix_cache/eix-caches.tbz2
Resolving dev.gentooexperimental.org... 91.191.147.225
Connecting to dev.gentooexperimental.org|91.191.147.225|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 46 [application/octet-stream]
Last-modified header missing -- time-stamps turned off.
--2012-03-17 10:54:32--  http://dev.gentooexperimental.org/eix_cache/eix-caches.tbz2
Reusing existing connection to dev.gentooexperimental.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 46 [application/octet-stream]
Saving to: `eix-caches.tbz2'

100%[===========================================================================>] 46          --.-K/s   in 0s      

2012-03-17 10:54:32 (12.1 MB/s) - `eix-caches.tbz2' saved [46/46]

 * Unpacking data...
chmod: cannot access `*': No such file or directory
Can't open the database file /tmp/eix-remote.qeqDxxp9/1/* for reading (mode = 'rb')
Did you forget to create it with 'eix-update'?
problems arose with cachefile *
 * Calling eix-update...
 * could not read all eix cachefiles of /var/cache/eix/remote.tar.bz2

Probably your eix cachefile was *not* updated successfully.
Unless the above messages suggest another cause or you specified a
wrong filename, the most likely cause of this is that the server uses
another eix version than you or produced broken data. Please check whether
EIX_REMOTEARCHIVE is a valid *.tar.bz2 archive containing eix cachefiles
(you can download it using fetch).
If this is not the case (but was freshly downloaded), please report a bug.
Note that the archive is *not* broken if only the cachefile format versions
differ: In that case only report a bug if the eix cachefile format versions
in the downloaded file are *older* than that of the most current ~x86 eix
version in the portage tree (but first retry after several days before
reporting such a bug to give the server maintainers a chance to upgrade
after a version bump of eix).
Conversely, if the downloaded versions are even newer than that supported by
your eix, you will have to upgrade to the most current ~x86 version of eix
to use eix-remote: This inconvenience cannot be avoided and is not a bug!
c2stable linux #



c2stable linux # emerge --info
Portage 2.2.0_alpha90 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2 x86_64)
=================================================================
System uname: Linux-3.2.1-gentoo-r2-x86_64-Intel-R-_Core-TM-_i7_CPU_X_980_@_3.33GHz-with-gentoo-2.0.3
Timestamp of tree: Sat, 17 Mar 2012 13:45:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo vmware foo-overlay
Installed sets: 
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL AdobeFlash-10.3 skype-eula google-chrome"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --jobs=5"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.mirrors.hoobly.com/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.llarian.net/"
LANG="en_US.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j13 -l8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/vmware /var/lib/layman/foo-overlay"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gdu gif gpm gstreamer gtk iconv ios ipad java jpeg jpeg2k kde kipi lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd qt3support qt4 readline sdl semantic-desktop session spell sse sse2 ssl ssse3 startup-notification svg sysfs tcpd tiff truetype udev unicode usb vdpau vorbis x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" 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 authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="mdraid" 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="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

c2stable linux #
Comment 3 Martin Väth 2012-03-17 19:39:39 UTC
Although the problem looks similar, it is rather different:

This time the problem is apparently on the machine which should generate
the tarball: This tarball is empty

I do not know what goes wrong on this machine (apparantly after the
upgrade of eix), and currently I have no time to look into the issue.
Comment 4 Patrick Lauer gentoo-dev 2012-03-19 08:35:07 UTC
# eix-update --exclude-overlay "/usr/portage" --add-overlay "sunrise" -o "sunrise.eix"
Reading Portage settings ..
Excluded PORTDIR: /usr/portage/
Building database (sunrise.eix) ..
[0] "" sunrise (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 154|154 (100%) EMPTY!
Applying masks ..
Calculating hash tables ..
Writing database file sunrise.eix ..
void update(const char*, CacheTable&, PortageSettings&, const std::vector<RepoName, std::allocator<RepoName> >&, const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, Statusline&): Can't open the database file 'sunrise.eix' for writing (mode = 'wb')

# eix --version
eix 0.25.3 (gcc-4.4.5, x86_64-pc-linux-gnu

That's the cause of the failure of the remote cache - it cannot generate the cache files in the local directory (eh whut?) even when permissions would allow it
Comment 5 Martin Väth 2012-03-19 13:58:55 UTC
(In reply to comment #4)
> That's the cause of the failure of the remote cache - it cannot generate the
> cache files in the local directory (eh whut?) even when permissions would
> allow it

eix-update attempts to drop its permissions to $EIX_USER:$EIX_GROUP
(defaults to portage:portage) if it has sufficient rights to do so.

So please set EIX_USER and EIX_GROUP (in the environment or in /etc/eixrc)
correspondingly to the user/group you need if you run eix-update as root
(if you need a different user/group than portage).

See bug 408509.
Comment 6 Patrick Lauer gentoo-dev 2012-03-20 03:06:34 UTC
Blergh. What an unexpected trap, changing behaviour like that is marginally rude. Changing the directory permissions fixes the problem, new cache should be baked in ~15 minutes.
Comment 7 Martin Väth 2012-03-20 05:32:59 UTC
(In reply to comment #6)
> Blergh. What an unexpected trap, changing behaviour like that is marginally
> rude.

Yes, I am sorry, but I think the security gain for most users
(most users just had to run eix-update as root, although it is a
golden rule to use the least possible permissions) outlaws the trouble.