[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#657452: ITP: beagrep -- beagrep = beagle + grep. It use beagle to find the set of possible matching files, then runs grep on this set only.



Hi, Axel

Thanks for your information. Hopefully I can do some clarification, I
really hope beagrep can make it into Debian.

Axel Beckert <abe@debian.org> writes:

> Hi Bao,
>
> thanks for wanting to contribute to Debian.
>
> I though see one big issue with beagrep with regards to its inclusion
> in Debian:
>
> Bao Haojun wrote on Thu, 26 Jan 2012 12:05:34 UTC:
>> * Package name    : beagrep
>> * URL             : http://baohaojun.github.com/beagrep.html
>>   Programming Lang: C#, Perl, Bash
>>   Description     : beagrep = beagle + grep. 
>> 
>> beagrep use beagle first to decide the (relatively a lot smaller) set of
>> possible matching files, then run grep on this set only. Thus greatly
>> improve grep speed.
>
> The Beagle desktop search engine has been removed from Debian in 2010
> due to being unmaintained upstream and buggy. See
> http://bugs.debian.org/579567 for details.

Yes I am aware of this situation myself. I found out about beagle in
Ubuntu and couldn't find it in Debian around 2009 (it's when it has been
removed from Debian but not from Ubuntu yet).

I have been removing a lot of feature from beagle to make beagrep. For
e.g., all plugins (firefox, thunderbird etc.) are removed because they
are not at all useful for reading source code, which is beagrep's sole
purpose. Also removed inotify code, because there is no need to watch
the code files at realtime (as is desired by a desktop search
engine). None of the GUI/Daemon code is needed for beagrep, thus also
removed.

With so much code/feature removed, I hope there will be less bugs
remaining in beagrep than beagle. And the remaining bugs will cause less
risk. But these are only my wishful thinking:-)

Also another change I made to beagle is its tokenizer. As a desktop
search engine, beagle needs some fuzziness: HOPING and HOPE should be
treated as the same word; but this is very undesirable for soure code
reading.

>
> According to https://en.wikipedia.org/wiki/Beagle_(software) upstream
> development ceased already in 2009 and the former project website
> (http://www.beagle-project.org/) now belongs to a different project.

Yes I think this is sad.
>
> From the package description and website it seems that beagrep is
> quite tied to using Beagle as backend.
>
> Looking at commits like
> https://github.com/baohaojun/beagrep/commit/f0114da60 and the code it
> touched, it seems as if you include a (now renamed) copy of Beagle's
> source code.
>
> So I wonder if this is more or less an unmodified copy of Beagle of if
> you took over maintenance of the Beagle engine's source code yourself.
> Given that the only commit in
> https://github.com/baohaojun/beagrep/commits/master/BeagrepClient is a
> renaming from two years ago, the Beagle code looks quite original and
> still unmaintained.

It's because I did the renaming AFTER the above mentioned changes
(removing features). This way the git log won't show earlier changes I
made to BeagleClient if you run =git log --name-status BeagrepClient/=
because of the renaming. I admit that I have not planned it very
well. Given that beagle is not actively maintained anymore, and I am
making a lot of changes (mostly removing) to beagle, I should have done
the renaming at the beginning.

So I think beagrep is a fork from beagle, and there is no merging back.

(You can view some removal I made to BeagleClient at
https://github.com/baohaojun/beagrep/commit/e448971c1a1e0e7bca3a6193b8df7c5696f7eb70).

>
> Just embedding Beagle's source into your project doesn't make the
> issues mentioned in http://bugs.debian.org/579567 go away, they're
> just hidden, at least to some extent.
>
> Such issues are the reason why Debian strongly discourages the
> inclusion of embedded code copies. See
> http://www.debian.org/doc/debian-policy/ch-source.html#s-embeddedfiles
> for the reasoning.

Yes, and I have noticed that it is especially bad if the embedded code
is itself actively shipped with Debian. Which is not the case with
beagle.

>
> It seems to me that the only desktop search engine currently shipped
> with Debian is Doodle (http://www.gnunet.org/doodle/,
> http://packages.debian.org/stable/doodle) -- maybe you can use Doodle
> as backend instead, or perhaps as additional backend.

Thank you for this information. I only knew another search engine named
tracker which is also shipped with Debian. But it's unlikely I will find
enough time and motive to fine-tune another general search engine into
one for solely code reading. Sorry.

>
> 		Regards, Axel

-- 
All the best

 Bao Haojun


Reply to: