esearch - deutsch
1. Beschreibung
esearch ist ein kleines Script für die Linux-Distribution Gentoo. Es funktioniert genauso wie
emerge -s bzw. emerge -S, durchsucht also die Paketdatenbank. Der Vorteil von esearch
gegenüber emerge ist, dass es einen Suchindex verwendet. Dadurch ist es beim Suchen viel schneller:
shark (~) $ time emerge -s mozilla > /dev/null
real 0m11.740s
user 0m1.400s
sys 0m0.140s
shark (~) $ time esearch mozilla > /dev/null
real 0m0.108s
user 0m0.095s
sys 0m0.010s
Der Nachteil ist, dass man den Suchindex natürlich erstellen muss (eupdatedb) und das dauert eine
Weile.
2. Aktuelles
-
26 Sep 2004
Version 0.7 mit einer Menge neuen Features!
-
Eine
-v/--verbose Option für esearch, die
noch mehr Informationen über ein Paket ausgibt. Vielen Dank
an Carlos Silva,
von dessen emerge-patch (#11739)
ich einigen Code verwendet habe, Danke!
-
Ein Patch von
Thomas Buntrock,
der eine
-s/--nospinner Option für esync bereitstellt.
(#57030).
-
Sandro Bonazzola
hat die Manpages ins italienische übersetzt, vielen Dank.
-
Bug #58399 gefixed.
Python compiliert manchmal den eupdatedb index nicht.
-
Ein Patch von Fernando Altomare Serboncini,
ändert das Verhalten von
esearch -c: Es zeigt jetzt auch die Kategorie.
-
Ein Patch von Steve Acheson, der
eine
-I/--instonly Option für esearch bereitstellt.
Wenn sie aktiviert ist, werden nur noch installierte Pakete gefunden.
Vielen Dank an all die Leute, die geholfen haben esearch besser zu machen!
-
Version 0.6.3:
25. Juli 2004
- Manpages für
esync und eupdatedb.
- Das
License Feld wird in Zukunft auch indiziert und angezeit.
-
Mit Hilfe einiger Leute aus dem italienischen Gentoo Forum konnte ein Fehler
gelöst werden, der esearch veranlasste "bad digest" Fehler anzuzeigen.
-
Die Ebuilds in der
esearch -e Ausgabe werden ab sofort nicht mehr alphabetisch,
sondern nach Versionen sortiert.
-
2. Juli 2004
Version 0.6.2:
-
Patch von Tavis Ormandy der einen Security Bug
im Temp-File Handling fixed.
-
Patch von Roman Kreisel, der
esync eine
-v/--verbose Option hinzufügt. Mit -v
zeigt esync die Ausgabe von emerge sync an.
-
10. Mai 2004
Version 0.6.1:
-
Unterstützung für
emerge-webrsync!
-
esync benutzt XTerm Titel um anzuzeigen, was es gerade macht.
-
Die
-n/--nocolor Option für esync, um Farbcodes zu unterdrücken.
-
Jede Menge Bugfixes, danke an all die Personen, die mir Bugreports und Mails mit
Feature Requests geschickt haben!
-
06. Feb. 2004
Version 0.6:
-
Beim benutzen von
esearch -e ^package$` zeigt esearch
jetzt die aktuelle Version des Pakets als Standard an, so dass man
nur noch Enter drücken muss.
-
Neue Option
--directory/-d für esearch und eupdatedb,
um den Index in einem anderen Verzeichnis als /var/cache/edb/ abzuspeichern.
-
Eine Menge Updates und Fixes, siehe ChangeLog
-
11. Jan. 2004
Version 0.5.3:
-
Patch von Lars Gustäbel, der
die Ausgabe extrem beschleunigt, wenn viele Pakete gefunden wurden (z.B.
esearch ^)
-
Ein neues Script namens
esync, das zuerst emerge sync
und dann eupdatedb ausführt, und dann die Updates anzeigt.
-
Kleinere Fixes, siehe ChangeLog.
-
20. Okt. 2003
Version 0.5.2, neue Funktionen:
-
Die neue Option (
--own=pattern, -o pattern) erlaubt es die Ausgabe nach einem
benutzerdefiniertem Schema auszugeben. Für Details siehe manpage.
-
Mehrere Suchausdrücke sind möglich, z.B.
esearch ^xmms$ ^mozilla$
-
Eine neue Option für eupdatedb
--quiet/-q um nur die Zusammenfassung anzuzeigen, fixed Bug
#32853.
-
23. Okt. 2003
Version 0.5.1, 2 Bugs wurden gefixed und es gibt absofort eine manpage, esearch(1).
-
19. Okt. 2003
Version 0.5, getopt-Support für eupdatedb (--help/--verbose/--nocolor),
--ebuild Option für esearch um die Ebuilds der gefundenen Pakete anzuschauen, Bugfixes.
-
02. Okt. 2003
Version 0.4.2, Bugfixes. Prozentanzeige wegen Fehlern durch Countdown ersetzt.
-
30. Sept. 2003
Version 0.4.1, näheres im ChangeLog.
-
19. Sept. 2003
Ab sofort ist esearch offiziell in portage aufgenommen. Es ist unter dem Paketnamen app-portage/esearch
erreichbar und somit auch per emerge esearch installierbar.
-
18. Sept. 2003
Version 0.4 ist erschienen, ab sofort wird die esearch-datenbank nicht mehr in den Arbeitsspeicher geschrieben, sondern
direkt in die Datei. Das beschleunigt den Indexing-Prozess.
-
17. Sept. 2003
Version 0.3.1, näheres im ChangeLog.
3. Beispiel
Die Ausgabe sieht exakt gleich aus wie bei emerge -s/-S:
root (~) # eupdatedb
* indexing: 0 ebuilds to go
* esearch-index generated in 3 minutes and 25 seconds
* indexed 5515 ebuilds
* size of esearch-index: 843 kB
shark (~) $ esearch vim$
[ Results for search key : vim$ ]
[ Applications found : 3 ]
* app-editors/vim
Latest version available: 6.3-r1
Latest version installed: 6.3-r1
Size of downloaded files: 4,680 kB
Homepage: http://www.vim.org/
Description: Vim, an improved vi-style text editor
License: vim
* app-editors/gvim
Latest version available: 6.3-r1
Latest version installed: [ Not Installed ]
Size of downloaded files: 4,680 kB
Homepage: http://www.vim.org/
Description: GUI version of the Vim text editor
License: vim
* app-editors/kvim [ Masked ]
Latest version available: 6.2.14
Latest version installed: 6.2.14
Size of downloaded files: 4,896 kB
Homepage: http://www.freehackers.org/kvim
Description: KDE editor based on vim
License: GPL-2
esearch hat auch noch eine extra Option, --compact oder kurz -c, mit ihr kann man die Ausgabe auf
wenige Zeilen beschränken.
shark (~) $ esearch -c vim$
[ I] app-editors/vim (6.3-r1): Vim, an improved vi-style text editor
[ N] app-editors/gvim (6.3-r1): GUI version of the Vim text editor
[MI] app-editors/kvim (6.2.14): KDE editor based on vim
4. Installation / Aufruf
Um esearch zu installieren muss es nur "emerged" werden: emerge esearch
Nach der Installation muss man ab- und zu eupdatedb ausführen, danach kann man esearch benutzen.
esearch (0.7) - Replacement for 'emerge search' with search-index
Usage: esearch [ options ] pattern
Options:
--searchdesc, -S
Search package descriptions as well
--fullname, -F
Search packages full name (includes category)
--instonly, -I
Find only packages which are installed
--compact, -c
More compact output format
--verbose, -v
Give a lot of additional information (slow!)
--ebuild, -e
View ebuilds of found packages
--own=format, -o format
Use your own output format, see manpage for details of format
--directory=dir, -d dir
Use dir as directory to load esearch index from
--nocolor, -n
Don't use ANSI codes for colored output
5. ChangeLog
*esearch-0.7 (26 Sep 2004)
26 Sep 2004; David Peter esearch.py:
Added patch from Steve Acheson , which
adds an -I/--instonly option to esearch. If it is enabled,
only packages which are installed will be found.
26 Sep 2004; David Peter esearch.py:
Added patch from Fernando Altomare Serboncini ,
which changes the behaviour of 'esearch -c': Now it
prints the category also.
15 Sep 2004; David Peter eupdatedb.py:
Fixed bug #58399. Sometimes python doesn't compile the eupdatedb
index for any reasons.
15 Sep 2004; David Peter it/esearch.1,
it/eupdatedb.1, it/esync.1:
Added the italian manpages created by Sandro Bonazzola
, thanks a lot.
15 Sep 2004; David Peter esync.py:
Added a patch from Thomas Buntrock
, which adds
a -s/--nospinner option to esync. (Fixes #57030)
17 Aug 2004; David Peter esearch.py:
Added a -v/--verbose option to esearch, which shows some
additional information about a package. Used some code
from Carlos Silva , who wrote
a patch for emerge (#11739). Thanks!
17 Aug 2004; David Peter esearch.py,
eupdatedb.py, esync.py:
Various small code cleanups.
*esearch-0.6.3 (25 Jul 2004)
08 Jul 2004; David Peter esync.py:
Sort the ebuilds by version (using portage.pkgcmp).
08 Jul 2004; David Peter esearch.1,
eupdatedb.1, esync.1:
Added manpages for eupdatedb and esync and updated the one
for esearch.
08 Jul 2004; David Peter eupdatedb.py,
esearch.py, esync.py:
Added a 'dbversion' to the esearch index, to be sure it is
not outdated.
06 Jul 2004; David Peter eupdatedb.py,
esearch.py:
Added the "License" field to the index and the output of
esearch.
06 Jul 2004; David Peter eupdatedb.py:
Updated file handling, so there are no "bad digests"
anymore. Thanks to Danilo, and the other guys from
the italian forums.
*esearch-0.6.2 (30 Jun 2004)
30 Jun 2004; David Peter eupdatedb.py:
Patch from Tavis Ormandy which fixes
a security hole in the temp file handling.
16 May 2004; David Peter esync.py:
Patch from Roman Kreisel , which
adds a -v/--verbose option to esync. With -v enabled
esync shows the output from 'emerge sync'.
*esearch-0.6.1 (10 May 2004)
10 May 2004; David Peter esync.py:
Showing current action in xterm title.
02 May 2004; David Peter esync.py:
Added message, in case there are no updates.
03 Apr 2004; David Peter esync.py:
Sort updated packages in output.
28 Mar 2004; David Peter esync.py:
Support for emerge-webrsync (--webrsync/-w).
28 Mar 2004; David Peter esync.py:
Added getopt including --help/-h, --nocolor/-n. Now also checking
if eupdatedb was successful.
15 Feb 2004; David Peter esync.py:
use `/usr/sbin/eupdatedb` instead of `eupdatedb`, this
fixes #41554.
08 Feb 2004; David Peter esearch.py:
corrected typo (fixes #40832).
*esearch-0.6 (06 Feb 2004)
04 Feb 2004; David Peter esync.py:
Small bugfix in esync: test if esearchdb exists.
25 Jan 2004; David Peter esearch.py,
eupdatedb.py, esync.py:
Added descriptions on the beginning to all three files.
25 Jan 2004; David Peter eupdatedb.py:
Added a warning, if ACCEPT_KEYWORDS is set in environment,
because this will result in a modified index file.
25 Jan 2004; David Peter eupdatedb.py:
Test on startup, if there is already another eupdatedb process
running, thanks to Marius Mauch .
25 Jan 2004; David Peter esync.py:
Fixed traceback in esync, in case /tmp/esync(old|new)tree.pyc
already existed. (Fixes #39629)
22 Jan 2004; David Peter esearch.py, eupdatedb.py:
New -d/--directory option for both, esearch and eupdatedb, to store the
esearch index in an other directory than /var/cache/edb/.
22 Jan 2004; David Peter esearch.py:
When using `esearch -e ^package$`, esearch now shows the
available version as default ebuild, so you just have to
press enter.
22 Jan 2004; David Peter esearch.py:
KeyboardInterrupt handling for `esearch -e`.
*esearch-0.5.3 (11 Jan 2004)
11 Jan 2004; David Peter eupdatedb.py:
Added KeyboardInterrupt handling.
11 Jan 2004; David Peter esearch.py, eupdatedb.py:
sys.path work-around for portage python modules.
11 Jan 2004; David Peter esync.py:
Added esync, a script which does `emerge sync` followed by
a `eupdatedb` and then shows the updates during the sync.
13 Dec 2003; David Peter esearch.py:
Added a patch from Lars Gustäbel which speeds
up the esearch output method for large datasets a lot.
11 Dec 2003; David Peter esearch.py:
Changed colors in compact mode a bit to fit the behaviour
of emerge: update [U] and version are now in turquoise.
*esearch-0.5.2 (20 Oct 2003)
14 Nov 2003; David Peter esearch.py:
Added --own=format/-o format to use a user-defined output
format. See manpage for details and examples.
13 Nov 2003; David Peter eupdatedb.py:
Added --quiet/-q mode to show only the summary of the eupdatedb
output. fixes bug #32853 (http://bugs.gentoo.org/show_bug.cgi?id=32853).
13 Nov 2003; David Peter esearch.py:
Added support for multiple search patterns.
*esearch-0.5.1 (23 Oct 2003)
21 Oct 2003; David Peter esearch.1:
Added manpage esearch.1 to esearch.
21 Oct 2003; David Peter eupdatedb.py:
Fixed small countdown bug, eupdatedb wasn't counting to zero
because of invalid ebuilds.
20 Oct 2003; David Peter esearch.py:
Fixed bug, ebuilds are now sorted properly.
*esearch-0.5 (19 Oct 2003)
19 Oct 2003; David Peter eupdatedb.py:
Added getopt support. --nocolor/-n and --verbose/-v to show categories
while updating index.
18 Oct 2003; David Peter esearch.py:
Added --ebuild/-e option to view ebuilds of found packages. Inspired
by http://forums.gentoo.org/viewtopic.php?t=93334.
18 Oct 2003; David Peter esearch.py, eupdatedb.py:
Changed header, so it should work with every python version.
*esearch-0.4.2 (02 Oct 2003)
02 Oct 2003; David Peter eupdatedb.py:
replaced the counter (0 to 100 percent) by an ebuild-countdown,
because the display was often wrong.
02 Oct 2003; David Peter eupdatedb.py:
fixed bug #30171 (http://bugs.gentoo.org/show_bug.cgi?id=30171)
*esearch-0.4.1 (30 Sep 2003)
29 Sep 2003; David Peter eupdatedb.py:
write data into tempfile first, so esearch can be used while updating
esearchdb
29 Sep 2003; David Peter esearch.py:
Added getopt support
29 Sep 2003; David Peter eupdatedb.py:
Fixed small bug, eupdatedb sometimes showed 101% while indexing ebuilds
28 Sep 2003; David Peter esearch.py:
Added patch from Eldad Zack to allow searching for
full names (e.g. app-portage/esearch)
*esearch-0.4 (18 Sep 2003)
18 Sep 2003; David Peter eupdatedb.py:
no longer writing into memory, but directly into file => speedup
18 Sep 2003; David Peter esearch.py:
added colored help-message
*esearch-0.3.1 (17 Sep 2003)
17 Sep 2003; David Peter esearch.py:
added feature which fixes wrong regexps (e.g. mysql++ -> mysql)
6. Download
Mehr aus "historischem" Interesse gibt es hier die Versionen zum Download:
Download esearch-0.7.tar.bz2 (9.99 kB)
Download esearch-0.6.3.tar.bz2 (7.95 kB)
Download esearch-0.6.2.tar.bz2 (7.27 kB)
Download esearch-0.6.1.tar.bz2 (7.02 kB)
Download esearch-0.6.tar.bz2 (6.58 kB)
Download esearch-0.5.3.tar.bz2 (5.72 kB)
Download esearch-0.5.2.tar.bz2 (4.96 kB)
Download esearch-0.5.1.tar.bz2 (4.13 kB)
Download esearch-0.5.tar.bz2 (3.71 kB)
Download esearch-0.4.2.tar.bz2 (3.32 kB)
Download esearch-0.4.1.tar.bz2 (2.8 kB)
Download esearch-0.4.tar.bz2 (2.46 kB)
Download esearch-0.3.1.tar.bz2 (2.1 kB)
Download esearch-0.3.0.tar.bz2 (2.04 kB)
Download esearch-0.2.2.tar.bz2 (1.75 kB)
Download esearch-0.2.1.tar.bz2 (1.61 kB)
7. Bugreports
Bugs können jederzeit per bugs.gentoo.org gemeldet oder
direkt per Mail an mich gesendet werden.
© 2004 by David Peter
|