# [HOWTO] Installation de Beagle 0.0.5

## Prodigy44

Beagle est un outil d'indexation et de recherche de fichiers. Il propose un utilitaire en ligne de commande ou graphique, il est développé en mono. Il gère différents type de fichiers :

Les logs IRC/Messagerie Instantannée

Documents (tableur/traitement de texte)

Musiques/Vidéos

Mails

Recherche internet...

I. Liens 

http://nat.org/demos/ demos en format flash

http://www.planetbeagle.org/ site du logiciel

http://beaglewiki.org/ wiki/aide

II. Paquets nécéssaires

gnome >= 2.8.1

cvs >= 1.12.11 

subversion >= 1.1.3

USE="mono"

gmime >= 2.1.10

mono >= 1.0.5-r3

gecko-sharp >= 0.6

sqlite =2.8.15 <= ATTENTION ne pas installer la version 3.x

gnome-sharp >= 1.0.4

gconf-sharp >= 1.0.4

dbus >= 0.23 (verifier qu'il est bien compilé avec la variable mono)

gtk-sharp >= 1.0.4-r1

Librairies facultatives

evolution-sharp (CVS)

gsf-sharp (subversion)

gst-sharp (subversion)

III. Configuration du noyau

Il vous faudra utiliser un noyau assez récent (>= 2.6.10) et activer la fonction inotify dans le noyau :

```
Device Drivers > Character Devices > [*] Inotify file change notification support.
```

Une fois le noyau compilé et utilisé. Vous creez le device inotify :

```
rm /dev/inotify

mknod /dev/inotify c 10 63

chmod 644 /dev/inotify
```

Il vous faudra également mettre l'extension des attributs pour votre système de fichiers :

Pour ext2 :

```
File systems > 

<*> Second extended fs support

[*]   Ext2 extended attributes
```

Pour ext3 :

```
File systems > 

<*> Ext3 journalling file system support

[*]   Ext3 extended attributes
```

Pour reiserfs (version 3.6 uniquement):

```
File systems >

<*> Reiserfs support

[ ]   Enable reiserfs debug mode

[ ]   Stats in /proc/fs/reiserfs

[*]   ReiserFS extended attributes
```

Il est conseillé d'utiliser une partition séparée pour les répertoires personnels.

Maintenant vous activez les attributs au chargement du système via le fichier /etc/fstab selon votre système de fichiers j'utilise reiserfs :

```
/dev/hda10              /home           reiserfs        noatime,defaults,user_xattr 0 0

```

puis remonter votre partition /home à l'aide de la commande :

```
mount -o remount /home
```

Une fois la partition remontée vous pouvez verifier que les changements ont été pris en compte par la commande :

```
mount | grep /home
```

et vous devez obtenir :

```
/dev/hda10 on /home type reiserfs (rw,noatime,user_xattr)
```

IV. Installation de Beagle 

```
wget http://ftp.gnome.org/pub/GNOME/sources/beagle/0.0/beagle-0.0.5.tar.gz

tar xvzf beagle-0.0.5.tar.gz

cd beagle-0.0.5

./configure --prefix=/usr/local

vous devez obtenir :

        Prefix:                 /usr/local

        Evolution-Sharp?        no

        gsf-sharp?              no

        gst-sharp?              no

        Epiphany Extension?     no (missing dependencies)

        Mozilla Extension?      yes

        wv1?                    yes

        Enable Network          no

        Enable Mozilla Backend  no
```

Nous reviendront plutard sur l'installation des librairies facultatives.

Puis apres :

```
make && make install
```

Si tout se passe bien, beagle est maintenant installé.

V. Configuration de DBUS

Nous allons lancer une session dbus pour cela :

```
dbus-launch --auto-syntax
```

vous obtenez comme résultat:

```
DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-s8vuES65LU'

export DBUS_SESSION_BUS_ADDRESS

DBUS_SESSION_BUS_PID=31728
```

il vous faut donc exporter la variable DBUS_SESSION_BUS_ADDRESS pour 

```
cela reprenez la ligne plus haut.

export DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-s8vuES65LU'
```

verifez que la variable est bien exportée :

echo $DBUS_SESSION_BUS_ADDRESS vous retourne ;

```
unix:abstract=/tmp/dbus-s8vuES65LU
```

VI. Lancement de beagle

Vous lancez ensuite le démon beagled en mode debug par la commande :

```
beagled --fg --debug
```

VII. Prise en main 

Pour faire des requêtes en ligne de commande, utiliser la commande beagle-query <recherche>

En mode graphique lancez best (veillez a ce qu'il voit la variable DBUS_SESSION_BUS_ADDRESS) 

Puis appuyez sur F12 pour afficher/cacher la fenêtre de recherche.

VIII. Librairies facultatives

Support d'evolution 

```
$ cvs -z3 -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login

$ cvs -z3 -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co evolution-sharp

$ cd evolution-sharp

$ ./autogen.sh

$ make

$ su -c "make install"
```

Support de Microsoft Office

```
$ svn co svn://svn.myrealbox.com/source/trunk/gsf-sharp

$ cd gsf-sharp

$ ./autogen.sh

$ make

$ su -c "make install"
```

Support deGstreamer

```
$ svn co svn://svn.myrealbox.com/source/trunk/gst-sharp

$ cd gst-sharp

$ ./autogen.sh

$ make

$ su -c "make install"
```

Pour toutes les librairies j'ai le même problème, il faut dire à pkg-config ou les trouver.

J'ai pas trop chercher comment faire encore. Je mettrai a jour le tutorial si je trouve. Biensur si vous voulez utilisez ces librairies il vous faudra recompiler beagle.

IX. Erreurs courantes 

```
INFO: Starting Beagle Daemon (version 0.0.5)

DEBUG: Command Line: /usr/local/lib/beagle/BeagleDaemon.exe --fg --debug

FATAL: Could not set extended attributes on a file in your home directory.  See http://www.beaglewiki.org/index.php/Enable%20Extended%20Attributes for more info rmation.
```

=> Verifiez que les attributs pour le système de fichiers sont activés

```
The query failed with error:

DBus.DBusException: Unable to determine the address of the message bus

in [0x0003e] (at /var/tmp/portage/dbus-0.23-r1/work/dbus-0.23/mono/Bus.cs:43) DBus.Bus:GetBus (DBus.Bus/BusType)

in [0x00001] (at /var/tmp/portage/dbus-0.23-r1/work/dbus-0.23/mono/Bus.cs:20) DBus.Bus:GetSessionBus ()

in [0x0000f] (at /home/pro/beagle/beagle-0.0.5/BeagleClient/DBusisms.cs:56) Beagle.DBusisms:get_Connection ()

in [0x0000a] (at /home/pro/beagle/beagle-0.0.5/BeagleClient/DBusisms.cs:75) Beagle.DBusisms:get_Driver ()

in [0x0000a] (at /home/pro/beagle/beagle-0.0.5/BeagleClient/DBusisms.cs:65) Beagle.DBusisms:get_Service ()

in [0x00016] (at /home/pro/beagle/beagle-0.0.5/BeagleClient/Factory.cs:40) Beagle.Factory:get_TheFactory ()

in [0x00000] (at /home/pro/beagle/beagle-0.0.5/BeagleClient/Factory.cs:49) Beagle.Factory:NewQuery ()

in [0x00005] (at /home/pro/beagle/beagle-0.0.5/tools/Query.cs:160) QueryTool:Main (string[])
```

=> La variable DBUS_SESSION_BUS_ADDRESS n'est sans doute pas bien exportée, vérifiez par la commande ; echo $DBUS_SESSION_BUS_ADDRESS[list=][/list]

TODO

- Lancement automatique dbus & beagled

- Activer les librairies facultatives

- intégrer les ebuilds existants

----------

## zdra

Merci beaucoup ! J'avais déjà vu les démo et ça m'avait vraiment impressionné. 

J'ajoute peut-etre ce lien: https://bugs.gentoo.org/show_bug.cgi?id=67768

----------

## UB|K

 *Prodigy44 wrote:*   

> Il vous faudra également mettre l'extension des attributs pour votre système de fichiers

 

ah bien voila ce qui me manquait... donc c'est mort pour le reiser4 (ou j'ai pas vu l'option).

Pour ceux que ça interesse y a un ebuild (beagle-cvs) dans l'overlay de latexer (un dev gentoo). ça ce passe ici

----------

## Prodigy44

En fait mon noyau gentoo-dev-sources-2.6.10-r6 y a que reiserfs 3.6 donc j'ai  pas pu essayer pour la version 4.0.

Hesite pas à nous dire si ca marche.

----------

## UB|K

bah je le dis: ça marche pas!!

```
ben@Kqlqsh ~ $ beagled --fg

INFO: Starting Beagle Daemon (version 0.0.5)

FATAL: Could not set extended attributes on a file in your home directory.  See http://www.beaglewiki.org/index.php/Enable%20Extended%20Attributes for more information.
```

et moi qui était tout content de ma config "tout reiser4".

C'est chiant d'entre une fashion victim!!

----------

## DaiKo

merci d'avoir prevenus sa m'evitera d'essayer pour rien  :Sad:  sinon les demo laisse sur le cul !! (pardonnez l'expression  :Wink:  )

----------

## tecknojunky

@moderator: enlèves.

----------

## omné

Moi, mon problème, comme pour d'autres si j'en crois ce que j'ai lu sur le forum c'est que je suis bloqué à mono 0.28. Tous les ebuild au dessus réclament une autre version de gcc (la 3.4) qui n'est pas encore stable.

Quelle versions avez vous  ? J'ai crus comprendre qu'il y avait un moyen d'avoir deux gcc d'installé puisqu'ils n'ont pas le même « slot » comment fait-on et surtout comment gérer l'utilisation des différents gcc en fonction des compiles.

En gros je n'ai pas trop envie de planter tout mon système avec un gcc qui fâcherai tout le monde mais je ne peux rien compiler qui utilise mono et ça m'énerve.

Un petit howto pour ce foutu gcc serait vraiment le bien venu. Merci.

Olivier.

PS : peut-être même serait-il intéressant de le faire dans un fil séparé avec un lien ici.

[EDIT] Pour ajouter un grand merci que j'avais oublié, emporté que j'étais par le plaisir de voir la réactivité de ce forum me proposant un howto sur un truc que je lorgne depuis longtemps et que j'enrage de ne pouvoir essayer...

----------

## erwan

Je n'ai pas eu de problemes pour compiler Mono 1.0.5-r3 avec gcc 3.3.5. Ca marche tout seul.

gcc (GCC) 3.3.5  (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1)

----------

## omné

Ha, il y a un truc qui cloche, je cite  :

 *Quote:*   

> emerge -a mono                                                  [13:30]
> 
> These are the packages that I would merge, in order:
> 
> Calculating dependencies -
> ...

 

Comment est-ce possible  ?

N'aurais tu pas _aussi_ gcc 3.4 d'installé.

Omné, je suis dubitatif, le doute m'habite.

----------

## zdra

 *tecknojunky wrote:*   

> Un ebuild siouplaît 
> 
>  *zdra wrote:*   Merci beaucoup ! J'avais déjà vu les démo et ça m'avait vraiment impressionné. 
> 
> J'ajoute peut-etre ce lien: https://bugs.gentoo.org/show_bug.cgi?id=67768 Ça c'est un autre Beagle. 

 

ah ? un autre paquet qui est aussi en version 0.0.5 ? J'ai pas regardé mais je m'étais dit que la probabilité que 2 programmes différents en sont à la meme version est nulle  :Sad: 

----------

## erwan

Omne: non, je n'ai pas gcc 3.4 d'installe.

En regardant dans l'ebuild, gcc 3.4 devient necessaire si tu veut compiler Mono avec le support NPTL (que je n'utilise pas).

Tu devrais mettre cette ligne la dans ton /etc/portage/package.use :

```

dev-dotnet/mono     -nptl

```

----------

## omné

C'était bien ça.

Merci beaucoup.

Je vais pouvior faire mumuse avec Muine, Tomboy, beagle...

Ca sent la grosse productivité  :Smile: 

----------

## zdra

Souriez, la Gentoo Weekly Newsletter a un lien vers se poste  :Wink: 

----------

## dgrant

Heuresement, j'ai pris l'Immersion Francais a l'ecole! Je peux comprendre ces instructions. Mes lessons francais n'etait pas pour rien. Merci beaucoup. J'essayerai l'ebuild...apres de recompiler (sic?) mon kernel.

----------

## omné

Chez moi, je n'ai pu compiler beagle car il ne trouvait pas gmime-sharp.

J'ai installé gmime à partir de l'ebuid le plus récent (2.10) sans effet.

Le site de beagle précise qu'il faut le 2.11, je renome l'ebuild, le met dans mon PORTDIR_OVERLAY, compilation, toujours ce qu'il faut pour beagel.

Je vais donce predre gmime sur le site, le compile , et là, c'est bon.

En éditant  l'ebuild, ce qui est étrange c'est qu'il précise bien qu'il utiles la variable USE=mono, pourtant un emerge -av gmime ne montre pas mono dans les variables USE... Un bug ?

Je suis en train de tester beagle mais ne me trouve rien, il faut que je vérifie le noyau, j'ai du aller un peu vite.

Bonne compile.

----------

## dgrant

Moi, non plus, je ne voix pas the +mono variable can je fais "emerge -vp gmime" C'est etrange...

----------

## TGL

Le USE flag "mono" est apparu avec la version dev-libs/gmime-2.1.10, qui est encore en ~arch.

----------

## Zentoo

Génial, quand j'ai lu l'existence de ce thread dans la newsweek letter, je me suis précipité car j'était tombé sur la démo quelque jours auparavent et évidemment je voulais essayer.

  Ben PAF ! non ! encore une fashion victime ! 

   hé oui je suis aussi tout en reiser4  :Sad: 

  *snif* *snif*

Quelques lecture sur le net à propos d'une intégration semble assez négative pour le moment. Il y aurai un developper qui aurait fait un patch mais le gars de ReiserFs ne veut pas en entendre parler pour quelques obscures raisons...

----------

## yesi

faut passer à la version supérieure, que de bonnes choses... :Smile: 

app-misc/beagle-0.2.1 https://bugs.gentoo.org/show_bug.cgi?id=116654

dev-libs/gmime-2.1.19https://bugs.gentoo.org/show_bug.cgi?id=121286

plus besoin de compiler www-client/mozilla...

----------

## kernelsensei

uhuu, un Howto mort-vivant, aller, on move  :Wink: 

----------

## kwenspc

Rien qu'à voir "mono" ça donne pas envie d'essayer. 

slocate et find (et même seulement find tiens) suffisent bien largement. De toute manière j'attends le jour où ça sera intégré au FS, un système performant d'indexation/recherche de fichier pour l'utilisation end-user. Un truc genre méta-base (méta-données, brique basqiue de SGBDR), y a eu ça dans BeOS. D'ailleurs, au fait, si ce type de fonctionnalité était intégré aujourd'hui dans un fs performant comme peut nous le fournir la communauté open-source (ext, reiser, jfs, xfs, ...) ça mettrait une bonne claque aux produits proprio (appeul et kro$soft) qui cherchent justement à intégrer ce genre fonctionnalités.

----------

## F!nTcH

 *kwenspc wrote:*   

> Rien qu'à voir "mono" ça donne pas envie d'essayer. 
> 
> slocate et find (et même seulement find tiens) suffisent bien largement. De toute manière j'attends le jour où ça sera intégré au FS, un système performant d'indexation/recherche de fichier pour l'utilisation end-user. Un truc genre méta-base (méta-données, brique basqiue de SGBDR), y a eu ça dans BeOS. D'ailleurs, au fait, si ce type de fonctionnalité était intégré aujourd'hui dans un fs performant comme peut nous le fournir la communauté open-source (ext, reiser, jfs, xfs, ...) ça mettrait une bonne claque aux produits proprio (appeul et kro$soft) qui cherchent justement à intégrer ce genre fonctionnalités.

 

Je lance une idée : peut-on coupler le fonctionnement de slocate directement au coeur du FS ? Genre avec ext4 ou reiser4 pourquoi pas ? (si toutefois c'est possible ...)

On garderait "find" qui était, est, et sera incontournable, mais on proposerait un outil next-gen pour taper directement dans la BD que propose kwen ... Si un dev du kernel passe par là ... moi je sais pas faire  :Sad: 

----------

