Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
eix - Ebuild IndeX (search utility) - 0.2.2
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... , 17, 18, 19  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sat Nov 29, 2008 9:12 pm    Post subject: Reply with quote

mv wrote:
If my diagnosis is correct, cache method "ebuild" will fail on all ebuilds with your portage version.

what exactly does that mean? i get this error on just that one ebuild.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Nov 30, 2008 7:44 am    Post subject: Reply with quote

alex.blackbit wrote:
what exactly does that mean? i get this error on just that one ebuild.

You said that you used "OVERLAY_CACHE_METHOD=parse|ebuild" which means that the cache method ebuild is only used as a fallback if parse fails. I conjecture that this ebuild is the only case for which this fallback is used, i.e. if you would use "OVERLAY_CACHE_METHOD=ebuild" you would get the error for every ebuild.

More precisely, I conjecture that the command
Code:
ebuild [path_to_ebuild] depend
fails for every ebuild.
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Nov 30, 2008 10:24 am    Post subject: Reply with quote

Code:
# update-eix
Reading Portage settings ..
Building database (/var/cache/eix) ..
[0] "gentoo" /usr/portage/ (cache: metadata-flat)
     Reading 100%
[1] "mozilla" /usr/portage/local/layman/mozilla (cache: ebuild)
     Reading  61%/usr/lib64/portage/bin/ebuild.sh: line 2061: 9: Bad file descriptor

Ebuild failed with status 1
     Reading  61%
Tempfile /var/cache/edb/dep/aux_db_key_temp is not a file
     Reading  61%
Could not properly execute /usr/portage/local/layman/mozilla/net-libs/xulrunner/xulrunner-1.9.1_beta1-r1.ebuild
     Reading 100%
[2] "sunrise" /usr/portage/local/layman/sunrise (cache: ebuild)
     Reading 100%
[3] "blackbit's portage overlay" /usr/portage/local/blackbit (cache: ebuild)
     Reading  94%/usr/lib64/portage/bin/ebuild.sh: line 2061: 9: Bad file descriptor

Ebuild failed with status 1
     Reading  94%
Tempfile /var/cache/edb/dep/aux_db_key_temp is not a file
     Reading  94%
Could not properly execute /usr/portage/local/blackbit/x11-libs/libview/libview-0.5.6-r1.ebuild
     Reading 100%
Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix ..
Database contains 13657 packages in 151 categories.
#
Code:
# ebuild /usr/portage/app-portage/eix/eix-0.15.2.ebuild depend
#
it seems like it works for most ebuilds.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Nov 30, 2008 5:47 pm    Post subject: Reply with quote

Very strange. Now I am running out of ideas. Maybe it is again an incompatibility between portage and some bash version or some specific bashism used in that ebuild. Is portage able to emerge this ebuild?
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Nov 30, 2008 6:38 pm    Post subject: Reply with quote

yes, i have it installed since 10/26/08.
currently re-emerging for verification.
done. emerge was flawless.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Nov 30, 2008 9:15 pm    Post subject: Reply with quote

This is all very confusing: portage is apparently able to read the metadata (because this is necessary to install it) although the external command to do this (i.e. ebuild ... depend) fails. Of course, "emerge" and "ebuild" are different scripts, but they use the same library, so the error is really very subtle. I guess it would be necessary to output many variables and analyze open file descriptor in front of line 2054 of /usr/lib64/portage/bin/ebuild.sh to find the difference between this ebuild and some others. However, I cannot do this, because the error does not occur here (which is the strangest thing IMHO - there must be a very subtle difference on your system which is the actual cause). Maybe you ask in a different thread why ebuild ... depends fails on your ebuild (but not on others and not on other systems): Perhaps a portage guru reads it and has an idea. Just for the records: I am using bash-3.2_p48, sandbox-1.2.18.1-r2, and portage-2.2_rc16 (perhaps other versions behave differently in keeping filedescriptors open; on the other hand, I guess this would be a problem for every ebuild).
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Dec 07, 2008 7:30 pm    Post subject: Reply with quote

mv,

could you please tell me how i use eix to list packages that are in overlay "foo" and are not installed?
i didn't find out the correct syntax.
thanks in advance, alex.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Dec 07, 2008 8:20 pm    Post subject: Reply with quote

alex.blackbit wrote:
that are in overlay "foo" and are not installed?

Code:
eix --in-overlay foo --and --not --installed
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Dec 07, 2008 9:10 pm    Post subject: Reply with quote

thanks. sometimes i forget to use "--and".
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Mon Dec 15, 2008 12:59 am    Post subject: Reply with quote

according to the man page, i believe eix currently does not know accept keywords, or does it?
it would be actually very useful to know for which architectures a package is available.
e.g.
Code:
$ eix --arch-alpha --and --installed
to find out which packages are not available on a different architecture.
since i am going to move my firewall from x86 to alpha, this is a real world scenario.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Mon Dec 15, 2008 4:44 pm    Post subject: Reply with quote

alex.blackbit wrote:
according to the man page, i believe eix currently does not know accept keywords, or does it?

It does, but using several different values for ACCEPT_KEYWORDS during one request for stability calculations is not possible (e.g. to ask what is stable on x86 but unstable on amd64) - this would completely interfere with the handling of /etc/portage/package.keywords. However, what you want is probably just something like
Code:
ARCH=alpha ACCEPT_KEYWORDS='~alpha' eix -uc

Note that ARCH must be modified explicitly since ARCH is always implicitly part of the accepted keywords (i.e. if your profile sets ARCH=x86, all x86 packages would still be accepted if you would omit ARCH='alpha' above).
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Apr 19, 2009 3:00 pm    Post subject: Reply with quote

i want to use an alternative cache method for one of my overlays, but it seems like i cannot read the man page correctly.
i created a metadata cache for that overlay with
Code:
egencache --update --repo=foo

and added the following to /etc/eixrc
Code:
CACHE_METHOD="foo metadata-flat"

but that has no effect. when running "update-eix" the default cache method "parse|ebuild*" is used.
what is my mistake?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Apr 19, 2009 3:12 pm    Post subject: Reply with quote

alex.blackbit wrote:
Code:
CACHE_METHOD="foo metadata-flat"

This should be
Code:
CACHE_METHOD='/path/to/overlay/foo metadata-flat %{ADD_CACHE_METHOD}'
or
Code:
CACHE_METHOD='*/foo metadata-flat %{ADD_CACHE_METHOD}'
(provided you have no other overlay ending with */foo).
The appended %{ADD_CACHE_METHOD} is only to honour the $ADD_CACHE_METHOD variable for scripts or local settings.
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Apr 19, 2009 3:26 pm    Post subject: Reply with quote

thanks. that did it. from reading the man page i did not get that i have to use a path, i thought it should be a repo_name.
the next questions follows: is there some kind of hook i can use to execute a command when eix-sync finishes? or do i just have to define an alias
Code:
alias my-eix-sync "eix-sync; command"
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Apr 19, 2009 4:28 pm    Post subject: Reply with quote

alex.blackbit wrote:
is there some kind of hook i can use to execute a command when eix-sync finishes?

For after the finishing there is no hook. There is a hook for execution after update-eix (@@command in /etc/eix-sync.conf) but this will be executed before diff-eix is called.
However, I suppose you want to call egencache for the corresponding repository? Then the correct hook for this would be
/etc/eix-sync.conf wrote:
@egencache --repo=foo --update
if it is only a local repository or, if you want to fetch the repository from somewhere else:
/etc/eix-sync.conf wrote:
!command to update foo (or just "foo" without "!" if the command is layman)
!egencache --repo=foo --update


Edit: Corrected "@" and "@@".


Last edited by mv on Sun Apr 19, 2009 5:48 pm; edited 1 time in total
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Sun Apr 19, 2009 5:27 pm    Post subject: Reply with quote

Quote:
However, I suppose you want to call egencache for the corresponding repository?
not in this case, but thank's anyway. the info was very useful.
what i wanted to run at the end of eix-sync is the long-discussed
Code:
TAG_FOR_EX_UNSTABLE="" UPGRADE_TO_HIGHEST_SLOT=false eix --pure-packages --format "<=fullbestslotupgrade>"
to give me a quick idea of what is upgradeable.
that should be called after diff-eix, i could even surrender diff-eix. but if that's not possible, no problem. i'll use an alias. or would you like to add another hook to the next release?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Apr 19, 2009 6:15 pm    Post subject: Reply with quote

alex.blackbit wrote:
or would you like to add another hook to the next release?
The whole hook-concept in eix-sync is rather broken anyway (it is just a nightmare to remember which option avoids which hook to be omitted; however, I do not see a better concept). Adding even more hooks would probably not be a sane thing unless there really is a need for it. You can hack it up for yourself e.g. by
/etc/eix-sync.conf wrote:
@@trap 'ExitAll; command' EXIT

However, if you do not want to use diff-eix at all then I see no reason for you to use eix-sync: There is no reason to manage a copy of the old datebase etc. You could just use a script instead which calls emerge --sync and then gives the output you want. Alternatively, if you just want to replace diff-eix with command, you can do something like
/etc/eix-sync.conf wrote:
@@TAG_FOR_EX_UNSTABLE="" ... eix ...
@@exit 0
The "exit 0" skips the diff-eix but still executes the original exit trap (ExitAll) showing the time statistics afterwards.
Back to top
View user's profile Send private message
Dont Panic
Guru
Guru


Joined: 20 Jun 2007
Posts: 322
Location: SouthEast U.S.A.

PostPosted: Wed Jul 15, 2009 10:44 pm    Post subject: Reply with quote

I'm trying to figure out how to change the default colors for eix, specifically for the display of the USE flags for installed packages.

My terminals usually have a black background, and I'm having trouble discerning the unimplemented USE flags. They seem to be in a color of very dark grey that is only slighly lighter than my background.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Thu Jul 16, 2009 6:51 am    Post subject: Reply with quote

Dont Panic wrote:
unimplemented USE flags. They seem to be in a color of very dark grey

Code:
$ eix --dump|grep black
COLOR_UNSET_USE='black,1'
$ eix --dump|grep "blue" 
COLOR_INST_VERSION='blue,1;%{MARK_INSTALLED}'
COLOR_INST_TITLE='blue'
FORMAT_BEFORE_IUSE=' [(blue)'
FORMAT_BEFORE_COLL_IUSE=' \{(blue)'
FORMAT_BEFORE_SLOT_IUSE='\n\t\{(blue)'
Back to top
View user's profile Send private message
Dont Panic
Guru
Guru


Joined: 20 Jun 2007
Posts: 322
Location: SouthEast U.S.A.

PostPosted: Thu Jul 16, 2009 7:37 pm    Post subject: Reply with quote

OK, thanks! :)

I guess the answer was in front of me in the man page, but it just wasn't clicking.

I see now: Run 'eix --dump' to get a list of configuration variables that can be individually customized in either /etc/eixrc or ~/.eixrc.

I entered:
Code:
COLOR_UNSET_USE='yellow,0'

into /etc/eixrc, and now I can see the output great on a black console.
Back to top
View user's profile Send private message
ikshaar
Veteran
Veteran


Joined: 23 Jul 2002
Posts: 1339
Location: Baltimore, MD

PostPosted: Mon Jul 20, 2009 2:39 pm    Post subject: Reply with quote

What does !t means after a package version number ?

Quote:
eix libisofs
[I] dev-libs/libisofs
Available versions: 0.6.12!t ~0.6.20!t ~0.6.20-r1!t {acl xattr zlib}
Installed versions: 0.6.12
Homepage: http://libburnia-project.org/
Description: libisofs is an open-source library for reading, mastering and writing optical discs.


is there a wiki or something where those "flags" are explained ?
_________________
"May God stands between you and harm in all the empty places where you must walk" - Babylon 5
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Mon Jul 20, 2009 3:42 pm    Post subject: Reply with quote

ikshaar wrote:
What does !t means after a package version number?

man eix wrote:
1.0+i+l+v+s!f!m!p!b!s!t!u!i!d
This is version 1.0 which is subject to PROPERTIES="interactive
live virtual set" as well as RESTRICT="fetch mirror primaryuri
binchecks strip test userpriv installsources bindist"

So it means RESTRICT=test
Back to top
View user's profile Send private message
ikshaar
Veteran
Veteran


Joined: 23 Jul 2002
Posts: 1339
Location: Baltimore, MD

PostPosted: Mon Jul 20, 2009 7:08 pm    Post subject: Reply with quote

Thanks I missed it in the man page
_________________
"May God stands between you and harm in all the empty places where you must walk" - Babylon 5
Back to top
View user's profile Send private message
alex.blackbit
Advocate
Advocate


Joined: 26 Jul 2005
Posts: 2397

PostPosted: Wed Aug 12, 2009 3:08 pm    Post subject: Reply with quote

mv, can eix give me a list of packages that exist in portage and in an overlay, and have a higher version in the overlay than in portage?
e.g.
Code:
# eix -e evolution-data-server
[I] gnome-extra/evolution-data-server
     Available versions:  2.24.5-r2 2.24.5-r3 (~)2.26.2 (~)2.26.3 (~)2.26.3[1] (~)2.27.5[1] {debug doc gnome-keyring ipv6 kerberos krb4 ldap lib32 ssl}
     Installed versions:  2.27.5[1](12:49:58 08/07/09)(ipv6 lib32 ssl -debug -doc -gnome-keyring -kerberos -krb4 -ldap)
     Homepage:            http://www.gnome.org/projects/evolution/
     Description:         Evolution groupware backend

[1] "asdf" /usr/portage/local/asdf
#

this packages should be listed.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Wed Aug 12, 2009 7:01 pm    Post subject: Reply with quote

alex.blackbit wrote:
can eix give me a list of packages that exist in portage and in an overlay, and have a higher version in the overlay than in portage.

Not directly. In order to get a list of all packages which for some slot has a "highest" version which could be installed from some overlay you could print for each package the list of best available versions (for each slot) and check with a separate program whether this contains a package of an overlay, e.g.
Code:
eix --pure-packages --overlay --format '<category>/<name>@<bestversionslots>' |sed -ne '/@.*\[/{s/@.*//p}' | eix --pipe

If you use "bestversions" instead of "bestversionslots", only the versionnumber (not caring about slots) will be considered. And if you preceed the command with
Code:
ACCEPT_KEYWORDS='**'
all versions (even those without keywords) will be considered, except masked ones.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3 ... , 17, 18, 19  Next
Page 18 of 19

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum