Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 633424 - app-portage/eix-0.33.0 eix-sync: line 22: ReadFunctions: command not found
Summary: app-portage/eix-0.33.0 eix-sync: line 22: ReadFunctions: command not found
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Michael Weber (RETIRED)
URL:
Whiteboard:
Keywords:
: 633478 633520 635288 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-10-04 02:04 UTC by Anton Kochkov
Modified: 2017-10-24 12:36 UTC (History)
37 users (show)

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


Attachments
emerge --info eix (emergeInfoEix.txt,6.82 KB, text/plain)
2017-10-04 09:25 UTC, jms
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Kochkov 2017-10-04 02:04:50 UTC
xserver ~ # eix-sync                                       
/usr/bin/eix-sync: line 22: ReadFunctions: command not found
/usr/bin/eix-sync: line 24: ReadVar: command not found
/usr/bin/eix-sync: line 25: ReadVar: command not found
/usr/bin/eix-sync: line 26: ReadVar: command not found
/usr/bin/eix-sync: line 27: ReadVar: command not found
/usr/bin/eix-sync: line 28: local_portage_configroot: unbound variable
xserver ~ # 

emerge --info output:

Portage 2.3.11 (python 2.7.14-final-0, hardened/linux/amd64/no-multilib, gcc-5.4.0, glibc-2.25-r5, 3.3.2-hardened x86_64)
=================================================================
System uname: Linux-3.3.2-hardened-x86_64-Intel-R-_Core-TM-_i7_CPU_930_@_2.80GHz-with-gentoo-2.4.1
KiB Mem:     8167824 total,   1286636 free
KiB Swap:   16016792 total,  15846160 free
Timestamp of repository gentoo: Wed, 04 Oct 2017 00:45:01 +0000
Head commit of repository gentoo: be47754fae3f00b133c8c6a59c5163d758cb1c85
sh bash 4.4_p12
ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14::gentoo, 3.5.4::gentoo, 3.6.1-r1::gentoo
dev-util/cmake:           3.9.3::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.31.2::gentoo
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.15.1-r1::gentoo
sys-devel/binutils:       2.28.1::gentoo, 2.29::gentoo, 2.29.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo, 7.1.0-r1::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r5::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.us.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

gentoo-xvilka
    location: /var/lib/layman/gentoo-xvilka
    masters: gentoo
    priority: 1

godin
    location: /var/lib/layman/godin
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind /var/qmail/alias /var/qmail/control /var/spool/munin-async/.ssh /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/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=core2 -mtune=generic -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict 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="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cvs cxx dri gdbm git gnutls hardened iconv ipv6 justify lighttpd mercurial mmx modules ncurses nls nptl openmp pam pax_kernel pcre perl php pie postgresql python readline sbcl seccomp session sse sse2 sse4 ssl ssp ssse3 subversion tcpd unicode urandom xattr xml xmlrpc xsl xtpax zlib" ABI_X86="64" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" 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:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jouni Kosonen 2017-10-04 04:38:08 UTC
Same here.

It looks like the package was bumped without the required changes mentioned in bug 628512 – the dependencies >=app-shells/push-3.0 and >=app-shells/quoter-4.0 aren't even in the tree.
Comment 2 Neil 2017-10-04 07:21:04 UTC
Encountered this problem this morning too.
Comment 3 Fabio Coatti 2017-10-04 07:59:26 UTC
emerge =app-portage/eix-0.32.10

obviously fixes this, should the 0.33 be masked?
Comment 4 Erik Zeek 2017-10-04 08:37:23 UTC
Line 17 of eix-sync has an extraneous .sh.
Comment 5 jms 2017-10-04 09:24:11 UTC
error as well

 eix-sync 
/usr/bin/eix-sync: ligne 22: ReadFunctions : commande introuvable
/usr/bin/eix-sync: ligne 24: ReadVar : commande introuvable
/usr/bin/eix-sync: ligne 25: ReadVar : commande introuvable
/usr/bin/eix-sync: ligne 26: ReadVar : commande introuvable
/usr/bin/eix-sync: ligne 27: ReadVar : commande introuvable
/usr/bin/eix-sync: ligne 28: local_portage_configroot : variable sans liaison
Comment 6 jms 2017-10-04 09:25:22 UTC
Created attachment 497592 [details]
emerge --info eix

emerge --info eix
Comment 7 Brian Evans (RETIRED) gentoo-dev 2017-10-04 18:19:13 UTC
*** Bug 633478 has been marked as a duplicate of this bug. ***
Comment 8 Michael Cook 2017-10-04 22:12:33 UTC
still getting errors with updated packages.
Comment 9 Nikolaj Šujskij 2017-10-05 06:44:04 UTC
app-portage/eix-0.32.10 crashes with app-shells/push-3.0:

 % eix-sync
 * push.sh from https://github.com/vaeth/push/ is needed

See bug #633520
Could we please have a block?
Comment 10 Luigi 'Comio' Mantellini 2017-10-05 10:03:00 UTC
To fix:

Change /usr/bin/eix-sync removing ".sh" from eix-functions calling in order to have:

if eix_funcs=`cat "/usr/share/eix/eix-functions" 2>/dev/null`
then    eval "$eix_funcs"
else    echo "${0##*/}: cannot find eix-functions" >&2
        exit 1
fi
ReadFunctions

ciao

luigi
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-10-05 15:45:05 UTC
*** Bug 633520 has been marked as a duplicate of this bug. ***
Comment 12 Larry the Git Cow gentoo-dev 2017-10-05 15:48:23 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2779f460765f27160e87773414767287db95b65d

commit 2779f460765f27160e87773414767287db95b65d
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2017-10-05 15:46:28 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2017-10-05 15:47:04 +0000

    package.mask: Mask broken app-shells/{push,quoter} bumps
    
    Closes: https://bugs.gentoo.org/633424

 profiles/package.mask | 9 +++++++++
 1 file changed, 9 insertions(+)
Comment 13 Martin Gysel (bearsh) 2017-10-06 18:27:50 UTC
just synced and re-emerged quoter/push/eix but the issue is still there:

$ eix -c app-shells/quoter
[I] app-shells/quoter (3.0_p2-r1@06.10.2017)

$ eix -c app-shells/push
[I] app-shells/push (2.0-r1@06.10.2017)

$ eix -c app-portage/eix
[I] app-portage/eix (0.33.0@06.10.2017)

$ sudo LC_ALL=C eix-sync 
/usr/bin/eix-sync: line 22: ReadFunctions: command not found
/usr/bin/eix-sync: line 24: ReadVar: command not found
/usr/bin/eix-sync: line 25: ReadVar: command not found
/usr/bin/eix-sync: line 26: ReadVar: command not found
/usr/bin/eix-sync: line 27: ReadVar: command not found
/usr/bin/eix-sync: line 28: local_portage_configroot: unbound variable
Comment 14 Mike Auty (RETIRED) gentoo-dev 2017-10-08 10:22:45 UTC
commit 2779f460765f27160e87773414767287db95b65d does not resolve this issue.  This issue is not specific to push or quoter, it can be recreated in zsh.

In the line:

eix_funcs=`cat "/usr/share/eix/eix-functions.sh" 2>/dev/null`

$eix_funcs is not populated with the contents of /usr/share/eix/eix-functions, it is instead populated with:

#!/bin/cat /usr/share/eix/eix-functions

This is due to the following line in the ebuild:

sed -e "s:'\$(bindir)/eix-functions.sh':cat \\\\\"${EROOT}usr/share/eix/eix-functions.sh\\\\\":"

which replaces execution of the script with catting of the script.  This can be resolved by either removing the initial cat or, as mentioned in comment 4 and comment 10, by removing the .sh at the end of eix-functions.sh.  Since this is a gentoo packaging issue [1] I have reassigned this to the gentoo package maintainer.

[1] https://github.com/vaeth/eix/issues/44
Comment 15 Navid Zamani 2017-10-13 19:40:42 UTC
(In reply to Mike Auty from comment #14)
> This can be resolved by either removing the initial cat or, as mentioned in 
> comment 4 and comment 10, by removing the .sh at the end of eix-functions.sh.  

Removing cat does not work for eix-sync.
Thankully, removing the .sh does. :)
Comment 16 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-10-14 21:17:15 UTC
I'm going to claim a maintainer timeout on this one and attempt to fix it. Well, or at least make it run. Because the only real fix for such a horrible code is to punt it altogether.
Comment 17 Larry the Git Cow gentoo-dev 2017-10-14 21:43:11 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=393761e7afeb26705f164c30a20818f1f951c733

commit 393761e7afeb26705f164c30a20818f1f951c733
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2017-10-14 21:18:27 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2017-10-14 21:42:32 +0000

    app-portage/eix: Fix path to eix-functions
    
    Closes: https://bugs.gentoo.org/633424

 app-portage/eix/{eix-0.33.0.ebuild => eix-0.33.0-r1.ebuild} | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
Comment 18 Martin Väth 2017-10-15 14:24:19 UTC
The proper fix is trivial: Simply do not break the EAPI of 3 packages.
Comment 19 Ben Kohler gentoo-dev 2017-10-24 11:52:13 UTC
*** Bug 635288 has been marked as a duplicate of this bug. ***
Comment 20 cryptopsy 2017-10-24 12:35:14 UTC
shouldn't 33 have been masked?
Comment 21 Ben Kohler gentoo-dev 2017-10-24 12:36:45 UTC
Whether it was masked for fixed, either way you need to sync to get the change.  Which you haven't done since October 3 (3 weeks ago)