Tracker/Beagle integration in Nautilus

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Tracker/Beagle integration in Nautilus

Niv Sardi-Altivanik (xaiki)

As discussed today on #[hidden email][attaching full log]
it is possible to add Tracker and Beagle indexing support in the
nautilus source we are shipping in Debian.

Adding a build-dep on libtrackerclient-dev and libbeagle-dev and
passing --enable-tracker --enable-beagle to the configure will enable
support for both those technologies:

Choosing tracker per default if it is running when nautilus inits.
Choosing beagle (if it is running) if tracker is not running when
nautilus inits.
Rolling back to the default search engine if neither those modules are
usable.

The only drawback there is adding some extra deps to nautilus, but I
guess that as beagle and tracker packages are quite well thought, that
will just bring back a tiny lib, and so making it runtime loadable
(through binaries found in nautilus-{tracker,beagle} packages) doesn't
seem worth the effort.

The nautilus package should then be linked to one of the indexer, as
disscussed on the channel, those technologies can still be quite
annoying now a days, they might hog your CPU, or produce loads of IO,
So here comes the 'way we should link' issue (Recommends, Suggests).
 
Michael Biebl, tracker maintainer, is confident that lots of the
current 'problems' will be fixed in the future of tracker, and hence
is ok to have a Suggest until we can approve one indexing technologie
for all our users.

Upstream's position seems to be (I haven't properly checked on that,
but that what sjoerd seemed to be feeling too on gnome-devel) to
promote tracker as a default over beagle. As discussed on IRC it
seems to make sense, to have tracker | beagle.

What do you think about it ? could it be possible to have
libtrackerclient-dev and libbeagle-dev added to nautilus' build-deps,
and nautilus added a Suggests tracker | beagle ?

Regards,
--
Niv Sardi

> Random Fortune (To make your day better if not wiser) <
If they were so inclined, they could impeach him because they don't like
his necktie.
                -- Attorney General William Saxbe

14:48 < xaiki> ok, mostly, the tracker/beagle choice is made with #ifdefs in
               the code, tracker seems to be prefered, if we want to ship both,
               there are (at least) 2 solutions:
14:50 < xaiki> the easy one: add a gconf key, and then change the ifdef into
               if(), but then we should be sure to ship all the code always,
               and have a way to be sure that the selected method is useable,
               plus I think that might make us pull the 2 indexers, and we'll
               need a way to NOT have them both running at the same time.
14:50 < sjoerd> We could also just decide to go for tracker
 is to had some logic to check for a running
               method, and then a key to chose the prefered one, we could then
               fall back to the one we want.
14:51 < xaiki> sjoerd: there is also a non-indexing searh.
14:51 < xaiki> *search
14:51 < xaiki> and tracker can get crazy sometimes.
14:51 < xaiki> and it's obviously *add, i'm tiered.
14:53 < xaiki> oh, and tracker also (still) doesn't support all the indexing
               methods beagle does.
find it a bit harsh on beagle to drop it entirely in favor of
              tracker
14:55 <@lool> It's a bit like gamin / fam, advantages and inconvenients in both
              software; except they are compatible :-/
14:55 < xaiki> anyway I'll try to get the second solution, as it's purely
               nautilus-based, ready for fosdem, and we'll be able to properly
               discuss it there.
14:55 <@lool> libgnome-search! :)
14:56 < sjoerd> I guess gnome will drop beagle in favor of tracker at one point
                anyway
14:56 <@lool> sjoerd: Why?
14:56 <@lool> Is beagle too slugish?
14:57 < xaiki> it looks like lots of love has been given to beagle so that it
               eventually doesn't eat all the available memory arround.
14:57 < sjoerd> Just the feeling i get by following the gnome desktop devel list
14:57 <@lool> Hmmm
15:00 < cortana> people keep saying that, but beagle still keeps falling over
                 and/or exploding for me
15:00 <@lool> Erf
15:00 <@lool>             basefile=`echo $file | sed -e  's,^.*/,,'`; \
15:00 < sjoerd> Having standard gnome framework stuff not drag in mono is a
                major plus for me btw :)
15:00 < cortana> also it does this weird thing with its log files that makes it
                 a complete PITA to debug
15:01 <@lool> sjoerd: Isn't tomboy included nowadays?
15:01 < seb128> imho neither beagle or tracker are ready for the desktop
15:01 < seb128> they just eat too much ressources
15:01 < seb128> you don't want that on a laptop for example
15:01 < sjoerd> I don't think tomboy can be called framework :)
15:02 < cortana> it's sad to say it but the best thing might be to wait and see
                 how MS' system performs, then clone it
15:02 <@lool> sjoerd: Hmm ok, I misread your point as "not having Mono in the
              standard desktop"
15:03 < sjoerd> Maybe i'm old-fashioned.. But i still prefer all low-level
                things to be C and glib :)
15:03 <@lool> sjoerd: I agree it's a very good thing
15:04 < xaiki> it is clearly overkill for a laptop, but really handy on a
               desktop computer, and having beagle beeing able to search in
               your mails and IM IS addictive.
15:04 < sonne> definitely less memory hungry - yes
15:05 <@lool> sjoerd: Still, if people have the power to run beagle, and if it
              had time to mature, it's a bit hard to support only tracker, no?
15:06 <@lool> The argument is good for the choice of the _default_ engine we
              want to promote though
15:07 < sjoerd> It's more of a question if we want to support beagle too i guess
15:07 < xaiki> well following seb128 remark, I'm not sure that having an engine
               enabled by default is wise (for now at least)
15:08 < xaiki> and the modification into nautilus is also need to support
               choice between no-indexing and any of the others.
15:08 <@lool> sjoerd: What I fear is that it effectively kills beagle if
              distros can only build for tracker OR beagle
15:08 < sjoerd> survival of the fittest
15:08 <@lool> sjoerd: "But who are we distro guys to take the decision of life
              or death of a project"
15:09 < seb128> lool: no real reason to fear for beagle, Novell is not likely
                to stop using it
15:09 < seb128> and fedora uses it
15:10  * sonne is tries tracker on his notebook now
15:14 < sonne> how about this:
               http://www.gnome.org/projects/tracker/faq.html#point7
15:14 < sonne> looks like it is not either or ...
15:17 < sonne> tracker feels much much faster and the memory footprint seems
               also much improved over beagle...


19:41 < mbiebl> xaiki: hi
19:42 < mbiebl> I read your email about enabling tracker support in nautilus
19:49 < mbiebl> I just wanted to say, that the beagle/tracker issue is not
                either or.
19:50 < mbiebl> Just build-depend on libtrackerclient-dev and libbeagle-dev,
                and support for both search engines will be enabled.
19:50 < mbiebl> Then add a Recommends: tracker | beagle.
19:51 < mbiebl> This way we promote a default but leave it open to the user to
                choose.
19:52 < mbiebl> There is also a interesting project going on, called Wasabi
19:52 < mbiebl> Which tries to unify the desktop search and provide a
                consistend dbus search api
19:52 < mbiebl> http://wiki.freedesktop.org/wiki/WasabiAbout
23:04 < xaiki> mbiebl: recommends will make aptitude pull one of those by
               default, as discussed here before, these technologies are still
               a performance hog, and can get really annoying, e.g (seb128) for
               laptop users.
23:06 < mbiebl> xaiki: tracker is actually quite light weight
23:06 < mbiebl> I have it running all the time on my laptop (3 years old)
23:06 < mbiebl> Without noticeable performance penalties.
23:08 < xaiki> mbiebl: I had it running for 2 hours on my laptop before I
               killalled it because it wouldn't let my disk to sleep.
23:08 < sjoerd> xaiki: that was while you were on AC or ?
23:08 < mbiebl> Which version? Have you checked the log
23:09 < mbiebl> The initial run takes some time
23:09 < mbiebl> after that it uses inotify to monitor changes.
23:09 < xaiki> sjoerd: it was same on battery.
23:09 < giskard> mbiebl, next version will handle mails, dunno if it will be
                 *schnell* (fast)
23:09 < xaiki> mbiebl: it was current from a month ago or so.
23:10 < mbiebl> xaiki: Do you still have the log file ~/.Tracker/tracker.log?
23:10 < xaiki> mbiebl: and having it try to index a ~/src with a linux tree
               beeing built was ANNOYING.
23:10 < mbiebl> If so, pls send it to me via email and I'll take a look
23:10 < mbiebl> xaiki: Do you still have the log file ~/.Tracker/tracker.log?
23:10 < xaiki> mbiebl: and having it try to index a ~/src with a linux tree
               beeing built was ANNOYING.
23:10 < mbiebl> If so, pls send it to me via email and I'll take a look
23:11 < _feedback> giskard :*
23:11 < mbiebl> xaiki: that is true. But that problem is the same for all
                indexers.
23:11 < xaiki> mbiebl: I do, but I don't see the relevant data on it.
23:11 < xaiki> I might have removed it while doing tests.
23:11 < xaiki> mbiebl: I'm not especially criticizing tracker, just general
               indexing tools.
23:12 < mbiebl> In tracker you can exclude certain directories from beeing
                indexed though.
23:13 < xaiki> and saying, that having tracker installed on ALL debian-desktop
               isn't really ideal (now)
23:13 < xaiki> but at least laptop-mode (i.e. battery runs) detection, is a
               must-fix for general installation, imho.
23:14 < mbiebl> Why not, if it is easily removable
23:14 < mbiebl> The next version features email indexing which adds real benefit
23:15 < xaiki> mbiebl: maybe we should move this discution to gtk-gnome
23:15 < xaiki> as it's mostly about point of views.
23:15 < xaiki> mbiebl: are you going to FOSDEM ?
23:15 < mbiebl> xaiki: Unfortunately, no
23:17 < xaiki> mbiebl: I'm moving the discution to the ML, are you subscribed ?
23:17 < mbiebl> xaiki: tracker is evolving rapidly atm, so I'm sure most of the
                points you raised in the email you sent me, will be dealt with
                in the coming weeks and monts
23:18 < mbiebl> Btw, if there are still concerns, which I take very seriously,
                I'm fine if the Recommends are degraded to suggests first.
23:19 < mbiebl> And give tracker some wider testing first.
23:19 < mbiebl> I would actually prefer that myself.
23:25 < xaiki> mbiebl: I think that's the best solution, anyway I'm in no
               position to decide for this =)















Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Marco Cabizza-2
Il giorno lun, 19/02/2007 alle 23.39 +0100, Niv Sardi-Altivanik ha
scritto:
> What do you think about it ? could it be possible to have
> libtrackerclient-dev and libbeagle-dev added to nautilus' build-deps,
> and nautilus added a Suggests tracker | beagle ?

        I really like the whole idea, tracker sounds promising - and
it's about time we had something like that ! - but the | thing looks
like the same old story, I'd rather see a long and boring discussion
where we all sit around a table and see which one is the best
alternative and just depend on that one, while ( maybe ) leaving the
other one as an option or ( maybe ) just throwing it away, so that "I
( user ) don't have to choose myself".

        Of course this won't lead to an end to this discussion in a
couple minutes, but maybe it makes sense.

Ciao
~marco


signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Josselin Mouette
In reply to this post by Niv Sardi-Altivanik (xaiki)
Le lundi 19 février 2007 à 23:39 +0100, Niv Sardi-Altivanik a écrit :
> What do you think about it ? could it be possible to have
> libtrackerclient-dev and libbeagle-dev added to nautilus' build-deps,
> and nautilus added a Suggests tracker | beagle ?

I was waiting for tracker to get out of NEW to add support for it in
nautilus, and am going to do it soon.

I don't think it's wiseful to add another runtime dependency just to
support another search engine, especially when each new tracker release
shows it is improving over beagle.

--
 .''`.
: :' :      We are debian.org. Lower your prices, surrender your code.
`. `'       We will add your hardware and software distinctiveness to
  `-        our own. Resistance is futile.

Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Niv Sardi-Altivanik (xaiki)
Josselin Mouette <[hidden email]> writes:
> I don't think it's wiseful to add another runtime dependency just to
> support another search engine, especially when each new tracker release
> shows it is improving over beagle.

I really don't feel confortable to make the choice of witch indexer
project to use, especially at a stage where beagle is offering more
features than tracker, and that at least RedHat/Fedora and Novell/Suse
are pushing it.

Is the extra runtime dep really so heavy ?

regards,
--
Niv Sardi

> Random Fortune (To make your day better if not wiser) <
Creer que un enemigo debil no puede dañarnos, es creer que una chispa no
puede incendiar el bosque.
                -- Saadi.

Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Alex Malinovich-2
On Wed, 2007-02-21 at 00:54 +0100, Niv Sardi-Altivanik wrote:

> Josselin Mouette <[hidden email]> writes:
> > I don't think it's wiseful to add another runtime dependency just to
> > support another search engine, especially when each new tracker release
> > shows it is improving over beagle.
>
> I really don't feel confortable to make the choice of witch indexer
> project to use, especially at a stage where beagle is offering more
> features than tracker, and that at least RedHat/Fedora and Novell/Suse
> are pushing it.
>
> Is the extra runtime dep really so heavy ?
Strictly from an end-user perspective, I think it's much better to have
both alternatives easily available. I think that given the memory
footprint of both tracker and beagle, the overhead in getting Nautilus
to support either or both would be minimal by comparison. And the
ability to choose which one you wanted to use would be a big plus in my
book. Either a "Depends: [ beagle | tracker ]" scenario or a "Provides:
desktop-search" + "Depends: desktop-search" (or something similar) would
be ideal in my book.

--
Alex Malinovich
Support Free Software, delete your Windows partition TODAY!
Encrypted mail preferred. You can get my public key from any of the
pgp.net keyservers. Key ID: A6D24837


signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Xavier Bestel
On mar, 2007-02-20 at 17:16 -0800, Alex Malinovich wrote:
> > Is the extra runtime dep really so heavy ?
> Strictly from an end-user perspective, I think it's much better to have
> both alternatives easily available.

As long as it doesn't pull the mono interpreter, it's fine.

        Xav



--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Jose Carlos Garcia Sogo
El jue, 22-02-2007 a las 00:09 +0100, Xavier Bestel escribió:
> On mar, 2007-02-20 at 17:16 -0800, Alex Malinovich wrote:
> > > Is the extra runtime dep really so heavy ?
> > Strictly from an end-user perspective, I think it's much better to have
> > both alternatives easily available.
>
> As long as it doesn't pull the mono interpreter, it's fine.

   Depends if it will only use libbeagle0 or not. With that nautilus
will be able to access beagle data, but it has to be gathered somehow.
And beagled does need Mono.

--
Jose Carlos Garcia Sogo
   [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Niv Sardi-Altivanik (xaiki)
Jose Carlos Garcia Sogo <[hidden email]> writes:

> El jue, 22-02-2007 a las 00:09 +0100, Xavier Bestel escribió:
>> On mar, 2007-02-20 at 17:16 -0800, Alex Malinovich wrote:
>> > > Is the extra runtime dep really so heavy ?
>> > Strictly from an end-user perspective, I think it's much better to have
>> > both alternatives easily available.
>>
>> As long as it doesn't pull the mono interpreter, it's fine.
>
>    Depends if it will only use libbeagle0 or not. With that nautilus
> will be able to access beagle data, but it has to be gathered somehow.
> And beagled does need Mono.

You only do need libbeagle0, it shouldn't link to anything more.

You witch only means that you'll pull in mono if you actually want to
use beagle.

$ apt-cache show libbeagle0 | egrep 'Depends'
Depends: libc6 (>= 2.3.6-6), libglib2.0-0 (>= 2.12.0), libxml2 (>= 2.6.27)

Regards
--
Niv Sardi

> Random Fortune (To make your day better if not wiser) <
* boren tosses matlab across the room and hopes it breaks into a number
  aproaching infinite peices

Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Michael Biebl-3
In reply to this post by Jose Carlos Garcia Sogo
Jose Carlos Garcia Sogo schrieb:

> El jue, 22-02-2007 a las 00:09 +0100, Xavier Bestel escribió:
>> On mar, 2007-02-20 at 17:16 -0800, Alex Malinovich wrote:
>>>> Is the extra runtime dep really so heavy ?
>>> Strictly from an end-user perspective, I think it's much better to have
>>> both alternatives easily available.
>> As long as it doesn't pull the mono interpreter, it's fine.
>
>    Depends if it will only use libbeagle0 or not. With that nautilus
> will be able to access beagle data, but it has to be gathered somehow.
> And beagled does need Mono.
Enabling tracker resp. beagle support in nautilus will lead to a
dependency on libtrackerclient0 (111k) [1] resp. libbeagle0 (319k) [2],
generated by dh_shlibdeps. So the dependencies are rather leight weight,
and I think we could enable both.

A Depends/Recommends/Suggests (whatever Joss seems fit best) on tracker
or beagle would have to be added to nautilus manually.
Without the tracker or beagle package installed, nautilus will fall back
to plain search.
Installing the beagle package will pull in the whole mono machinery,
which (I haven't counted) is I'd guess something around 30-50 Mb.

Cheers,
Michael


[1] which depends on libdbus-1-3, libdbus-glib-1-2 and libglib2.0-0
[2] which depends on libglib2.0-0 and libxml2
--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?


signature.asc (260 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Tshepang Lekhonkhobe
In reply to this post by Josselin Mouette
On 2/20/07, Josselin Mouette <[hidden email]> wrote:
> Le lundi 19 février 2007 à 23:39 +0100, Niv Sardi-Altivanik a écrit :
> > What do you think about it ? could it be possible to have
> > libtrackerclient-dev and libbeagle-dev added to nautilus' build-deps,
> > and nautilus added a Suggests tracker | beagle ?
>
> I was waiting for tracker to get out of NEW to add support for it in
> nautilus, and am going to do it soon.

What are the updated plans on this?
In any case, Tracker 0.6 is promised for this weekend.

--
my place on the web:
floss-and-misc.blogspot.com

Reply | Threaded
Open this post in threaded view
|

Re: Tracker/Beagle integration in Nautilus

Josselin Mouette
Le jeudi 19 juillet 2007 à 18:53 +0200, Tshepang Lekhonkhobe a écrit :
> What are the updated plans on this?

Sorry, this slept out of my mind.

I'm uploading a new nautilus version with supposedly tracker support
enabled, but I can't test it right now because my home is on NFS. I'm
interested in any kind of feedback.

--
 .''`.
: :' :      We are debian.org. Lower your prices, surrender your code.
`. `'       We will add your hardware and software distinctiveness to
  `-        our own. Resistance is futile.

signature.asc (196 bytes) Download Attachment