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, 4, 5 ... 17, 18, 19  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
hensan
l33t
l33t


Joined: 26 Jun 2003
Posts: 868
Location: Sweden

PostPosted: Fri Feb 25, 2005 3:08 pm    Post subject: Reply with quote

I did some benchmarks with eix 0.2.1, and I must say I'm impressed.

eupdatedb: 3m23.800s
eix -u: 0m19.210s

emerge -s eix: 0m4.807s
esearch eix: 0m0.347s
eix eix: 0m0.039s

emerge -S indexing: 0m41.569s
esearch -S indexing: 0m0.242s
eix -S indexing: 0m0.074s
Back to top
View user's profile Send private message
tecknojunky
Veteran
Veteran


Joined: 19 Oct 2002
Posts: 1937
Location: Montréal

PostPosted: Sat Feb 26, 2005 1:44 am    Post subject: Reply with quote

Well, this time it seem to have went a little bit further.
Code:
# eix -u
Reading Portage settings
Updating eix database in /var/cache/eix
Using portage cache: /usr/portage/metadata/cache/
Reading metadata cache
[app] [dev] [games] [gnome] [gnustep] [kde] [mail] [media] [net] [rox] [sci] [sec] [sys] [www] [x11] [xfce]
Reading portage overlays
[/usr/local/portage/]
Database updated successfully. 9090 packages.
Segmentation fault
Code:
# eix -s eix
Search results: 1
* app-portage/eix
     Available versions:  ~0.1.2 ~0.1.3 ~0.1.4 ~0.2.0_alpha ~0.2.0_beta [1]  ~0.2.0 ~0.2.0 [1]  ~0.2.0-r1 ~0.2.1 [1]
     Installed:           0.2.1
     Homepage:            http://sourceforge.net/projects/eix
     Description:         Small utility for searching ebuilds with indexing for fast results

Portage overlays:
[1] /usr/local/portage/


At least I can now search it :D
_________________
(7 of 9) Installing star-trek/species-8.4.7.2::talax.
Back to top
View user's profile Send private message
appro
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jul 2003
Posts: 144
Location: Germany/Rosenheim

PostPosted: Sat Feb 26, 2005 9:17 am    Post subject: Reply with quote

hensan wrote:
I did some benchmarks with eix 0.2.1, and I must say I'm impressed.

eupdatedb: 3m23.800s
eix -u: 0m19.210s

Try eupdatedb --nofilesize

hensan wrote:

emerge -S indexing: 0m41.569s
esearch -S indexing: 0m0.242s
eix -S indexing: 0m0.074s

eix -sS indexing is the counterpart to esearch -S indexing
_________________
If a packet hits a pocket on a socket on a port, and the bus is interrupted and the interrupt's not caught, then the socket packet pocket has an error to report.
Back to top
View user's profile Send private message
hensan
l33t
l33t


Joined: 26 Jun 2003
Posts: 868
Location: Sweden

PostPosted: Sat Feb 26, 2005 11:14 am    Post subject: Reply with quote

appro wrote:
hensan wrote:
I did some benchmarks with eix 0.2.1, and I must say I'm impressed.

eupdatedb: 3m23.800s
eix -u: 0m19.210s

Try eupdatedb --nofilesize


My eupdatedb (esearch 0.7) doesn't have a --nofilesize option.

appro wrote:
hensan wrote:

emerge -S indexing: 0m41.569s
esearch -S indexing: 0m0.242s
eix -S indexing: 0m0.074s

eix -sS indexing is the counterpart to esearch -S indexing


Check. -sS added about 0.01 seconds to the search. Still fast enough for me :)
Back to top
View user's profile Send private message
bju
n00b
n00b


Joined: 09 Oct 2004
Posts: 17
Location: Germany

PostPosted: Sun Feb 27, 2005 12:02 am    Post subject: Metadata cache location Reply with quote

Hi,

first thanks for this great tool :-)

I ran into a problem with the metadata cache. I'm doing "emerge sync" with the following entry in /etc/make.conf:

SYNC="rsync://rsync16.de.gentoo.org/gentoo-merged"

This host mirrors the gentoo portage tree and inserts VDR specific ebuilds. Today I've searched using eix for some packages containing vdr in the name and missed some packages. The cause for this is the way my sync host inserts his packages. He inserts the ebuilds but not extends the metadata cache.

For testing I've changed eix to use /var/cache/edb/dep/usr/portage and not /usr/portage/metadata/cache and all the missing packages are found.

Now I've two questions:

1. Is it correct to use the above directory?
2. Why we have two very similary caching systems? Is /usr/portage/metadata obsolete?

Greetings,
Bernd
Back to top
View user's profile Send private message
appro
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jul 2003
Posts: 144
Location: Germany/Rosenheim

PostPosted: Sun Feb 27, 2005 2:29 pm    Post subject: Reply with quote

Hi bju,

I think that
1. it's correct to use /var/cache/edb/dep/ (it's even better because /usr/portage/metadata/cache apparently contains obsolete versions) ..
2. /usr/portage/metadata/cache is the server-cache for the official portage-tree and /var/cache/edb/dep is the cache for your local portage-tree and the overlays

It would be nice if you could supply a patch with your changes and/or stop by in #eix on irc.freenode.net :)
_________________
If a packet hits a pocket on a socket on a port, and the bus is interrupted and the interrupt's not caught, then the socket packet pocket has an error to report.
Back to top
View user's profile Send private message
bju
n00b
n00b


Joined: 09 Oct 2004
Posts: 17
Location: Germany

PostPosted: Sun Feb 27, 2005 3:28 pm    Post subject: Reply with quote

Hi,

Before playing with /var/cache/edp/dep this directory was containing not only usr/portage subdir but also usr/local/portage. After renaming /var/cache/edp/dep and running "emerge --metadata" only the usr/portage subdir exists in the new created dep directory.

Now my new questions:

- Why the portage overlay no longer exists in /var/cache/edp/dep? I don't know what I've done before? Is this caused by a change in portage code?

- If the portage overlays would exists in the cache, would it possible for eix to retrieve the package infos also from there and not by scanning the overlay directories? I've not completly understand the eix code ...

- A bit offtopic: Is the old metadata/cache needed for portage or is this only for compatibility with older portage versions? If so, it would be nice not to rsync the unneeded cache files ...

Greetings,
Bernd

Now my patch:
Code:

--- eix-0.2.1-old/src/portagesettings.cc        2005-02-24 22:24:03.000000000 +0100
+++ eix-0.2.1/src/portagesettings.cc    2005-02-27 16:10:33.205861785 +0100
@@ -118,7 +118,7 @@
                /* dont need to do this because "/usr/" is the same as "/usr//"
                 * else if( portdir[portdir.size() - 1] != '/' ) */
                portdir.append("/");
-       metacache_path = portdir+"metadata/cache/";
+       metacache_path = "/var/cache/edb/dep"+portdir;

        // get portdir_overlays
        string pdoverlays = vr["PORTDIR_OVERLAY"];
Back to top
View user's profile Send private message
appro
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jul 2003
Posts: 144
Location: Germany/Rosenheim

PostPosted: Thu Mar 03, 2005 9:41 pm    Post subject: Reply with quote

tecknojunky,
could you please install gdb, compile eix with -g -ggdb3, run gdb --args eix -u, type run .. wait for the segfault and type bt?
Would be very helpful :)
_________________
If a packet hits a pocket on a socket on a port, and the bus is interrupted and the interrupt's not caught, then the socket packet pocket has an error to report.
Back to top
View user's profile Send private message
tecknojunky
Veteran
Veteran


Joined: 19 Oct 2002
Posts: 1937
Location: Montréal

PostPosted: Thu Mar 03, 2005 10:40 pm    Post subject: Reply with quote

appro wrote:
tecknojunky,
could you please install gdb, compile eix with -g -ggdb3, run gdb --args eix -u, type run .. wait for the segfault and type bt?
Would be very helpful :)
Code:
# USE=debug emerge eix
.
.
.
>>> app-portage/eix-0.2.1 merged.

>>> clean: No packages selected for removal.

>>> Auto-cleaning packages ...

>>> No outdated packages were found on your system.


 * GNU info directory index is up-to-date.
 * IMPORTANT: 1 config files in /etc need updating.
 * Type emerge --help config to learn how to update config files.

# gdb --args eix -u
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/eix -u
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: shared library handler failed to enable breakpoint
Reading Portage settings
Updating eix database in /var/cache/eix
Using portage cache: /usr/portage/metadata/cache/
Reading metadata cache
[app] [dev] [games] [gnome] [gnustep] [kde] [mail] [media] [net] [rox] [sci] [sec] [sys] [www] [x11] [xfce]
Reading portage overlays
[/usr/local/portage/]

Program received signal SIGSEGV, Segmentation fault.
0x441b0834 in ?? ()
(gdb) bt
#0  0x441b0834 in ?? ()
#1  0x446f417c in ?? ()
(gdb)
What else dayawanna know? :wink:
_________________
(7 of 9) Installing star-trek/species-8.4.7.2::talax.
Back to top
View user's profile Send private message
appro
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jul 2003
Posts: 144
Location: Germany/Rosenheim

PostPosted: Thu Mar 03, 2005 11:11 pm    Post subject: Reply with quote

Not USE="debug" :)
CFLAGS="-g -ggdb3" CXXFLAGS="$CFLAGS" emerge eix
_________________
If a packet hits a pocket on a socket on a port, and the bus is interrupted and the interrupt's not caught, then the socket packet pocket has an error to report.
Back to top
View user's profile Send private message
tecknojunky
Veteran
Veteran


Joined: 19 Oct 2002
Posts: 1937
Location: Montréal

PostPosted: Thu Mar 03, 2005 11:40 pm    Post subject: Reply with quote

appro wrote:
Not USE="debug" :)
CFLAGS="-g -ggdb3" CXXFLAGS="$CFLAGS" emerge eix
:roll: Somehow I thought so that my shortcut would'nt be good. That's why I inlcuded it in the trace :wink:

Compiled in the way you showed me, eix does not seem to run:
Code:
# gdb --args eix -u
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/eix -u
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: shared library handler failed to enable breakpoint
Reading Portage settings

Program received signal SIGSEGV, Segmentation fault.
0x446bc4b1 in ?? ()
(gdb) bt
#0  0x446bc4b1 in ?? ()
#1  0x080d475c in ?? ()
#2  0x446f1a34 in ?? ()
#3  0xbfffe968 in ?? ()
#4  0x446c0262 in ?? ()
#5  0x080d475c in ?? ()
#6  0x080c21d4 in ?? ()
(gdb)

_________________
(7 of 9) Installing star-trek/species-8.4.7.2::talax.
Back to top
View user's profile Send private message
appro
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jul 2003
Posts: 144
Location: Germany/Rosenheim

PostPosted: Fri Mar 04, 2005 12:04 am    Post subject: Reply with quote

Does eix segfault if you exclude your overlay in /etc/make.conf?
Code:
# PORTDIR_OVERLAY="something"

_________________
If a packet hits a pocket on a socket on a port, and the bus is interrupted and the interrupt's not caught, then the socket packet pocket has an error to report.
Back to top
View user's profile Send private message
tecknojunky
Veteran
Veteran


Joined: 19 Oct 2002
Posts: 1937
Location: Montréal

PostPosted: Fri Mar 04, 2005 1:38 pm    Post subject: Reply with quote

Code:
# eix -u
Reading Portage settings
Segmentation fault
# cat /etc/make.conf | grep OVERLAY=
#PORTDIR_OVERLAY=/usr/local/portage
Right now, since I emerge it with CFLAGS=gdbstuffs, it segfaults as soon as started. But it is more than probable, I think, that (if compiled normally) it would not segfault if the overlay is not scanned.

I'm sorry, I don't have the time right now to include debug statments in your code, otherwise I'd do so and find where it is borking. But one thing we could do that would probably help you the most is that I could tar up my overlay folder and send it to you (it's quite massive*). You could then try first hand eix on it and identifies the bug (or bugs). :wink:

* in terms of number, not necessarally size
_________________
(7 of 9) Installing star-trek/species-8.4.7.2::talax.
Back to top
View user's profile Send private message
bju
n00b
n00b


Joined: 09 Oct 2004
Posts: 17
Location: Germany

PostPosted: Fri Mar 04, 2005 6:34 pm    Post subject: New patch Reply with quote

Hi,

this new patch contains two modifications:

- Use of /var/cache/edb/dep and no more /usr/portage/metadata/cache (see above in this thread)
- Check for package release number changed. This was required because of a new package gentoo-dev-sources-2.6.11-r0 throwing an exception.

Have fun,
Bernd

And now the patch:
Code:
--- eix-0.2.1-old/src/portagesettings.cc        2005-02-24 22:24:03.000000000 +0100
+++ eix-0.2.1/src/portagesettings.cc    2005-03-04 19:18:55.000000000 +0100
@@ -41,6 +41,9 @@
 #define PROFILE_PATH_DIRECTORY "/etc/"
 #define PROFILE_ARCH_IN "make.defaults"

+/* Path to portage cache */
+#define PORTAGE_CACHE_PATH "/var/cache/edb/dep"
+
 /* Buffer size for the readlink-call */
 #define READLINK_BUFFER 128

@@ -118,7 +121,7 @@
                /* dont need to do this because "/usr/" is the same as "/usr//"
                 * else if( portdir[portdir.size() - 1] != '/' ) */
                portdir.append("/");
-       metacache_path = portdir+"metadata/cache/";
+       metacache_path = PORTAGE_CACHE_PATH + portdir;

        // get portdir_overlays
        string pdoverlays = vr["PORTDIR_OVERLAY"];
--- eix-0.2.1-old/src/version.cc        2005-02-24 16:07:57.000000000 +0100
+++ eix-0.2.1/src/version.cc    2005-03-04 19:12:30.000000000 +0100
@@ -91,7 +91,7 @@
                *(gr) = (char)0;
                gr+=2;
                gentoorelease=strtol(gr,NULL,10);
-               if( gentoorelease == 0 ) {
+               if( gentoorelease < 0 ) {
                        throw(ExBasic("Invalid gentoo release number in \"%s\"", full.c_str()));
                }
        }
Back to top
View user's profile Send private message
xororand
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jul 2004
Posts: 119

PostPosted: Sat Mar 05, 2005 4:01 am    Post subject: Reply with quote

tecknojunky wrote:
I'm sorry, I don't have the time right now to include debug statments in your code, otherwise I'd do so and find where it is borking. But one thing we could do that would probably help you the most is that I could tar up my overlay folder and send it to you (it's quite massive*). You could then try first hand eix on it and identifies the bug (or bugs). :wink:

* in terms of number, not necessarally size

If you find the time to tar-bz2 it, you can send it to my mail account: xororand (at) unfoog (dot) de. In case it's larger than a few megabytes I can provide a temporary ftp storage.
Back to top
View user's profile Send private message
xororand
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jul 2004
Posts: 119

PostPosted: Sat Mar 05, 2005 4:07 am    Post subject: Re: New patch Reply with quote

bju wrote:
Hi,

this new patch contains two modifications:

- Use of /var/cache/edb/dep and no more /usr/portage/metadata/cache (see above in this thread)
- Check for package release number changed. This was required because of a new package gentoo-dev-sources-2.6.11-r0 throwing an exception.

Have fun,
Bernd

And now the patch: (...)


Thanks for your work, though the second patch has to be changed as strtol only returns a value <0 for negative gentoo-releases which don't exist. 0 is return either for a "0" gentoo release or invalid ones. Anyway, thanks for your hint - I'll change the check to respect **tailptr which gives a more accurate success report, see man strtol
Back to top
View user's profile Send private message
ryker
Guru
Guru


Joined: 28 May 2003
Posts: 412
Location: Portage, IN

PostPosted: Thu Mar 10, 2005 2:02 am    Post subject: Reply with quote

I'm having a problem with eix all of a sudden. When I run 'eix -u' it shows the following error message:
Code:
Reading Portage settings
varsreader.cc:310 Can't open file /etc/../usr/portage/profiles/default-linux/x86/2005.0/make.defaults: No such file or directory

I have tried to emerge eix and portage again, and no change.
_________________
Athlon 64 3200+, 80G WD sata hd + 200G IDE, 1G Geil DDR400, MSI K8T Neo
IntelCore2Duo 2.0Ghz MSI laptop,100G SATA hd, 2G RAM
Back to top
View user's profile Send private message
transient
l33t
l33t


Joined: 13 Jan 2005
Posts: 759

PostPosted: Thu Mar 10, 2005 2:11 am    Post subject: Reply with quote

Ive noticed this too.
It doesnt seem to like looking recursivly through the parent directories of cascading profiles for make.defaults and so on.
If my c++ skillz were better/existant, Id look at the code and see where this is, but unfortunately, theyre not that great yet.
Back to top
View user's profile Send private message
appro
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jul 2003
Posts: 144
Location: Germany/Rosenheim

PostPosted: Thu Mar 10, 2005 2:15 am    Post subject: Reply with quote

Known and fixed in cvs and the new release (0.2.2_alpha)

Bugreports: http://sourceforge.net/tracker/index.php?func=detail&aid=1158073&group_id=128101&atid=710608
https://bugs.gentoo.org/show_bug.cgi?id=84466

And the tarball for the new release: http://eix.sourceforge.net/ebuilds/eix-0.2.2_alpha.ebuild.tar.bz2
_________________
If a packet hits a pocket on a socket on a port, and the bus is interrupted and the interrupt's not caught, then the socket packet pocket has an error to report.
Back to top
View user's profile Send private message
transient
l33t
l33t


Joined: 13 Jan 2005
Posts: 759

PostPosted: Thu Mar 10, 2005 2:57 am    Post subject: Reply with quote

appro wrote:
Known and fixed in cvs and the new release (0.2.2_alpha)

Bugreports: http://sourceforge.net/tracker/index.php?func=detail&aid=1158073&group_id=128101&atid=710608
https://bugs.gentoo.org/show_bug.cgi?id=84466

And the tarball for the new release: http://eix.sourceforge.net/ebuilds/eix-0.2.2_alpha.ebuild.tar.bz2

Awesome, thanks :)
Back to top
View user's profile Send private message
ryker
Guru
Guru


Joined: 28 May 2003
Posts: 412
Location: Portage, IN

PostPosted: Thu Mar 10, 2005 2:07 pm    Post subject: Reply with quote

Thanks appro.
_________________
Athlon 64 3200+, 80G WD sata hd + 200G IDE, 1G Geil DDR400, MSI K8T Neo
IntelCore2Duo 2.0Ghz MSI laptop,100G SATA hd, 2G RAM
Back to top
View user's profile Send private message
Tucker
n00b
n00b


Joined: 01 Oct 2003
Posts: 28
Location: Cottbus (Germany)

PostPosted: Thu Mar 10, 2005 2:54 pm    Post subject: Reply with quote

Cool! Worked for me, too.

Thanks a lot!
Back to top
View user's profile Send private message
bju
n00b
n00b


Joined: 09 Oct 2004
Posts: 17
Location: Germany

PostPosted: Fri Mar 11, 2005 12:25 am    Post subject: Wanted feature: List of new and updated packages Reply with quote

Hi,

it would be nice to have one more option(s) to "eix -u" for showing all new and updated packages like eubdatedb does. This way I already have found some nice programs. :-)

I've done some source digging but I've not found an easy AND efficient way to achive this ...

Greetings,
Bernd
_________________
The advertisement is the most truthful part of a newspaper.
-- Thomas Jefferson
Back to top
View user's profile Send private message
Cintra
Advocate
Advocate


Joined: 03 Apr 2004
Posts: 2111
Location: Norway

PostPosted: Fri Mar 11, 2005 8:33 am    Post subject: Reply with quote

I updated development-sources to 2.6.11.2 this morning, everything looks OK, nvidia and a couple of other apps emerged ok, but I get the following... (I did an emerge sync before running eix -u)
Quote:
app-portage/eix
Installed versions:
Slot 0: 0.2.2_alpha

Code:
# eix -u
Reading Portage settings
Updating eix database in /var/cache/eix
Using portage cache: /var/cache/edb/dep/mnt/hdb9/portage/
Reading metadata cache: 100%
Reading portage overlays
[/usr/local/portage/]
Applying masks
Database updated successfully. It contains 4 packages.

Code:
p4pe linux-2.6.11.2 # eix eix
You missed :)


/var/cache/eix would appear not to be updating.. its size is 913b vs 1.9MB on my other system!
should it be owned by portage? the 1.9MB one is owned by root...
mvh

Edit I went back to 0.2.1 and all was well again.
_________________
"I am not bound to please thee with my answers" W.S.
Back to top
View user's profile Send private message
Beholders_Eye
Tux's lil' helper
Tux's lil' helper


Joined: 17 Nov 2003
Posts: 116
Location: Brazil

PostPosted: Fri Mar 11, 2005 6:21 pm    Post subject: eix 0.2.2_alpha won't compile Reply with quote

Updating my eix to 0.2.2_alpha, I got some compile errors, due to some "cross initialization" of "int count" :). Well, I patched it:
Code:

258,259c258
<                               int count = portage_db.dbSave();
<                               printf("Database updated successfully. It contains %i packages.\n", count);
---
>                               printf("Database updated successfully. It contains %i packages.\n", portage_db.dbSave());


The right one is the new one :D heheh.
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, 4, 5 ... 17, 18, 19  Next
Page 4 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