Summary: | app-portage/eix: EIX_LOCAL_SETS="*/sets" does not work | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | tokiclover <tokiclover> |
Component: | Current packages | Assignee: | Martin Väth <martin> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | axs, franz.trischberger, proxy-maint, xmw |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | strace eix media-sound/ladish |
Description
tokiclover
2015-06-25 22:55:45 UTC
Created attachment 405760 [details]
strace eix media-sound/ladish
Package available in bar-overlay.
Eix is actually a monster in syscall and disk seek! The whole strace is really huge, so I've pruned the long long fseek() calls.
Well, lets consider portage-utils which is lighting fast...
Basic information missing: * emerge --info eix * repos.conf * eixrc The seeks most likely come from sqlite, so don't worry. $ emerge --info Portage 2.2.20 (python 2.7.10-final-0, hardened/linux/amd64, gcc-4.9.2, glibc-2.20-r2, 3.18.9-git x86_64) ================================================================= System uname: Linux-3.18.9-git-x86_64-Intel-R-_Core-TM-_i7-4700HQ_CPU_@_2.40GHz-with-gentoo-2.2 KiB Mem: 16382964 total, 6691040 free KiB Swap: 524284 total, 524284 free Timestamp of repository gentoo: Tue, 23 Jun 2015 06:45:01 +0000 sh bash 4.3_p39 ld GNU ld (Gentoo 2.25 p1.0) 2.25 app-shells/bash: 4.3_p39::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.20.2-r1::gentoo dev-lang/python: 2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo dev-util/cmake: 3.0.2::gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.16.4::gentoo sys-apps/sandbox: 2.6-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25::gentoo sys-devel/gcc: 4.9.2::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers) sys-libs/glibc: 2.20-r2::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: git://github.com/gentoo/gentoo-portage-rsync-mirror.git priority: -1000 bar location: /var/db/repos/bar sync-type: git sync-uri: git://github.com/tokiclover/bar-overlay.git masters: gentoo mpd location: /var/db/repos/mpd sync-type: git sync-uri: git://git.musicpd.org/master/mpd-gentoo-overlay.git masters: gentoo multimedia location: /var/db/repos/multimedia sync-type: git sync-uri: git://github.org/gentoo/multimedia.git masters: gentoo proxy-maintainers location: /var/db/repos/proxy-maint sync-type: git sync-uri: git://github.com/gentoo/proxy-maintainers.git masters: gentoo x11 location: /var/db/repos/x11 sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/x11.git masters: gentoo Installed sets: @X, @archive, @daw, @fonts, @gtk, @multimedia, @openbox, @portage, @sys, @themes, @vim ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize -flto=8 -fuse-linker-plugin" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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="-O2 -march=native -pipe -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize -flto=8 -fuse-linker-plugin" DISTDIR="/var/src" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg cgroup config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://mirror.ovh.net/gentoo-distfiles/ http://gentoo.mneisen.org/ ftp://mirror.mdfnet.se/gentoo ftp://de-mirror.org/gentoo/" INSTALL_MASK="/etc/systemd /lib*/systemd /usr/lib*/systemd" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -flto=8 -fuse-linker-plugin" MAKEOPTS="-j8" PKGDIR="/var/pkg" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 atlas audiofile avi berkdb blas bzip2 cairo caps cdda cddb cdio cdr cjk clang cleartype cli cracklib crypt css cups curl cxx dbus device-mapper directfb djvu dri dv dvd dvdr egl exif expat fbcon ffmpeg fftw flac fltk fontconfig fontforge ftp gd gdbm gif git gles2 glut gpm graphite graphviz gtk gtk2 gzip hardened hddtemp iconv icu idn ieee1394 imagemagick imlib infinality ipv6 jack java javascript jbig jpeg jpeg2k justify kerberos ladspa lame lapack lash lcms libass libnotify libsamplerate lm_sensors lto lua luajit lz4 lzma lzo lzop mad matroska mbox mmx mmxext mng modplug modules mp3 mp4 mpeg multilib musepack ncurses nls nptl nsplugin ntp ogg opengl openldap openmp openssl oss pam pax_kernel pcre pdf perl pie png postscript python readline savedconfig session smp sndfile snmp sockets sqlite sse sse2 ssl ssp startup-notification svg symlink tcpd theora threads tiff truetype udev unicode urandom usb vaapi vdpau vim vim-syntax vorbis wavpack wayland wifi x264 xattr xft xinerama xinetd xml xorg xpm xtpax xv xvid xvmc xz zip zlib zsh-completion" ABI_X86="64" ALSA_CARDS="cmipci hda-intel usb-audio" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="avx avx2 mmx mmxext sse sse2 sse3 ssse3 sse4_1 sse4_2" 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 ublox ubx" GRUB_PLATFORMS="emu efi-32 efi-64 qemu pc" INPUT_DEVICES="evdev mouse keyboard synaptics vmmouse" KERNEL="linux" LCD_DEVICES="lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="scripting-javascript nlpsolver wiki-publisher" LINGUAS="en fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="aarch64 arm i386 ppc ppc64 sparc sparc64 s390x" QEMU_USER_TARGETS="aarch64 arm i386 ppc ppc64 sparc sparc64 s390x" RUBY_TARGETS="ruby21" SANE_BACKENDS="canon canon630 canon_dr" USERLAND="GNU" VIDEO_CARDS="intel i915 i965 nouveau vesa vmware" XTABLES_ADDONS="ipv4options ipset iface ipmark dhcpmac" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON $ cat /etc/portage/repos.conf [DEFAULT] main-repo = gentoo [... THE SAME AS ABOVE] $ cat /etc/eixrc/00-eixrc OVERLAY_CACHE_METHOD="assign" -- That's all, almost a blank eixrc and and addional default section to gentoo.conf or repos.conf when it's a single file. Last thing, notice the erronous handling of REPOS/sets directory... only gentoo/sets is right here. The other repos have a missing `/s' in the path causing an erronous handling! It is not at clear what the problem is; strace helps nothing to "guess" your problem (BTW: The seeks are one of the reasons why eix is fast: Instead of reading the whole package data, eix only reads category/name [since you look for that data] and then skips (by seek) for the next package in the database).
If you have a problem with indexing an overlay, the interesting information is the output of eix-update and, if you can do, a check whether the cache method given there for your overlay matches the data you have for that overlay (and if that data is readable by user/group "portage").
If the data printed by eix-update does not match your repos.conf, please post the full repos.conf (and also check whether repos.conf is readable by user/group "portage").
> The other repos have a missing `/s' in the path causing an erronous handling!
Thanks; it seems that there is a bug in the magic '*' of EIX_LOCAL_SETS.
Well then, let's post some additional info then in response to Martin (comment #5): -- $ ls -alh /var/db/repos lsl ../ «─┘ total 305K drwxr-xr-x 69 portage portage 4,0K Jun 29 12:34 bar -rw-r--r-- 1 root root 12 Jun 23 10:01 cache_74118b2bc67492d23787ebf4db127fe0.timestamp -rw-r--r-- 1 root root 617 Jun 23 10:01 cache_74118b2bc67492d23787ebf4db127fe0.xml -rw-r--r-- 1 root root 29 Jun 23 10:01 cache_930c3ed4a5f89f74fd810585751a06e3.timestamp -rw-r--r-- 1 root root 278K Jun 23 10:01 cache_930c3ed4a5f89f74fd810585751a06e3.xml drwxr-xr-x 280 portage portage 4,0K Jun 28 01:21 gentoo -rw-r--r-- 1 root root 516 Jun 23 10:02 installed.xml drwxr-xr-x 14 portage portage 4,0K Jun 28 01:21 mpd drwxr-xr-x 12 portage portage 4,0K Jun 28 01:21 multimedia drwxr-xr-x 16 root root 4,0K Jun 28 01:21 proxy-maint drwxr-xr-x 17 portage portage 4,0K Jun 28 01:21 x11 -- $ eix-update Reading Portage settings .. Building database (/var/cache/eix/portage.eix) .. [0] 'gentoo' /var/db/repos/gentoo/ (cache: metadata-md5-or-flat) Reading category 163|163 (100%) Finished [1] 'bar' /var/db/repos/bar (cache: assign) Reading category 163|163 (100%) Finished [2] 'mpd' /var/db/repos/mpd (cache: assign) Reading category 163|163 (100%) Finished [3] 'multimedia' /var/db/repos/multimedia (cache: assign) Reading category 163|163 (100%) Finished [4] 'proxy-maintainers' /var/db/repos/proxy-maint (cache: assign) Reading category 163|163 (100%) EMPTY! [5] 'x11' /var/db/repos/x11 (cache: assign) Reading category 163|163 (100%) Finished Applying masks .. Calculating hash tables .. Writing database file /var/cache/eix/portage.eix .. Database contains 18125 packages in 163 categories. -- $ ls -alh /etc/portage/repos.conf -rw-r--r-- 1 root root 122 Jun 23 09:57 bar.conf -rw-r--r-- 1 root root 171 Jun 23 09:19 gentoo.conf -rw-r--r-- 1 root root 0 Jun 26 00:20 layman.conf -rw-r--r-- 1 root root 130 Jun 23 09:58 mpd.conf -rw-r--r-- 1 root root 131 Jun 23 09:59 multimedia.conf -rw-r--r-- 1 root root 147 Jun 23 09:59 proxy-maintainers.conf -rw-r--r-- 1 root root 121 Jun 23 09:59 x11.conf -- Files/directories are world readable and repository directories are owned by portage:portage. That empty error is troubling because I had it previously on bar-overlay and then experimented a few thing,--trying to fix the issue.... single file/directory for repos.conf,--and it moved to another repos! Lastly: -- $ cat /etc/porage/repos.conf- [DEFAULT] main-repo = gentoo [gentoo] location = /var/db/repos/gentoo sync-type = git sync-uri = git://github.com/gentoo/gentoo-portage-rsync-mirror.git auto-sync = true [bar] location = /var/db/repos/bar sync-type = git sync-uri = git://github.com/tokiclover/bar-overlay.git auto-sync = yes [mpd] location = /var/db/repos/mpd sync-type = git sync-uri = git://git.musicpd.org/master/mpd-gentoo-overlay.git auto-sync = yes [multimedia] location = /var/db/repos/multimedia sync-type = git sync-uri = git://github.org/gentoo/multimedia.git auto-sync = yes [x11] location = /var/db/repos/x11 sync-type = git sync-uri = git://git.overlays.gentoo.org/proj/x11.git auto-sync = yes [proxy-maintainers] location = /var/db/repos/proxy-maint sync-type = git sync-uri = git://github.com/gentoo/proxy-maintainers.git auto-sync = yes -- This is the content of the combined REPOS.conf when it is a single file instead. Darn... sorry the trouble guys... I've just commented out `OVERLAY_CACHE_METHOD="assign"' from eixrc and got a postive indexing! -- $ eix-update Reading Portage settings .. Building database (/var/cache/eix/portage.eix) .. [0] 'gentoo' /var/db/repos/gentoo/ (cache: metadata-md5-or-flat) Reading category 163|163 (100%) Finished [1] 'bar' /var/db/repos/bar (cache: parse|ebuild*#metadata-md5#metadata-assign#assign) Reading category 163|163 (100%) Finished [2] 'mpd' /var/db/repos/mpd (cache: parse|ebuild*#metadata-md5#metadata-assign#assign) Reading category 163|163 (100%) Finished [3] 'multimedia' /var/db/repos/multimedia (cache: parse|ebuild*#metadata-md5#metadata-assign#assign) Reading category 163|163 (100%) Finished [4] 'proxy-maintainers' /var/db/repos/proxy-maint (cache: parse|ebuild*#metadata-md5#metadata-assign#assign) Reading category 163|163 (100%) Finished [5] 'x11' /var/db/repos/x11 (cache: parse|ebuild*#metadata-md5#metadata-assign#assign) Reading category 163|163 (100%) Finished Applying masks .. Calculating hash tables .. Writing database file /var/cache/eix/portage.eix .. Database contains 18209 packages in 163 categories. -- Issue solved then. Lets find out why I've used this... surly listened to advice to use this setting in the wiki or... the forums. I took the freedom to change the topic to the error from comment #4 That issue is already fixed in the eix master branch on github (>=eix-0.30.12). This bug will be closed once >=eix-0.30.12 is released and in the gentoo repository. Thanks for your help Martin! |