This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[not GTG] Re: ITP: bogofilter -- Statistical Bayesian spam filter


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Jari Aalto on 9/12/2005 7:43 AM:
> 
> | sdesc: "bogofilter - Statistical Bayesian spam filter."
> | ldesc: "Bogofilter is a Bayesian spam filter that classifies mail as
> | spam or ham (non-spam) by a statistical analysis of the message's
> | header and content (body). The program is able to learn from the
> | user's classifications and corrections. It takes an email message or
> | other text on standard input, does a statistical check against lists
> | of "good" and "bad" words, and returns a status code indicating
> | whether or not the message is spam. It is designed with fast
> | algorithms (including Berkeley DB system), and tuned for speed, so it
> | can be used for production by sites that process a lot of mail"
> | category: Mail
> | requires: cygwin libgsl0 libgslcblas0

I'm finally getting time to do a review.  Once you fix these problems, it
will make a good addition since debian already carries the package.

Binary package:

etc/postinstall/bogofilter.sh:
- -typo s/CYGIN/CYGWIN/
- -Install() only creates /etc/bogofilter.cf once, but if the user does not
touch this file, then when they upgrade bogofilter, they should get the
latest and greated bogofilter.cf instead of being stuck with the one from
their first download.
- -Install() used a wildcard to find the file, which is not safe - spell out
the full directory name.

usr/share/doc/Cygwin/bogofilter-0.96.1.README:
- -readme mentions bogofilter-0.92.4-1 internally - make this consistent
- -file listing in the readme omits the scripts in /usr/bin
- -typo s/licence/license/.  However, I like the idea of adding License: and
Language: sections to the generic package template.
- -the generic template mentions that the upstream docs are available in
/usr/share/doc/<package>-<ver>/

binaries appear to work with my limited testing.

> 
> Small change. It appears that:
> 
>   $ cygcheck /usr/bin/bogofilter
> 
>   ...
>   D:\cygwin\bin\cyggsl-0.dll
>     D:\cygwin\lib\lapack\cygblas.dll
> 
> And the library comes from:
> 
>    gsl-1.4-2.tar.bz2:/usr/bin/cyggsl-0.dll
> 
> so 'requires:' header should probably read:
> 
>     requires: cygwin gsl

Correct.  However, setup.hint's sdesc: is redundant (don't list your
package name as the first word, or setup.exe will show "bogofilter:
bogofilter - Statistical Bayesian spam filter.")  Also, I think the common
practice is for sdesc to not end in '.'

Question for the list - is it traditional for setup.hint to list the
transitive closure of dependencies, or just the direct dependencies?  In
other words, bogofilter depends indirectly on lapack (provider of
cygblas.dll), but it is possible to use gsl without lapack by recompiling
an optimized alternative cygblas.dll.  I'm leaning towards listing only
direct dependencies in setup.hint, and letting setup.exe do the transitive
closure, but then I've realized that even my own bash setup.hint does a
transitive closure.

Source package:
- -why is the binary package included inside the source package?
- -'bogofilter*.sh all' failed with:
libbogofilter.a(lexer.o): In function `text_decode':
/tmp/bogofilter/bogofilter-0.96.1/.build/build/src/lexer.c:480: undefined
reference to `_iconv_close'
libbogofilter.a(iconvert.o): In function `convert':
/tmp/bogofilter/bogofilter-0.96.1/.build/build/src/iconvert.c:88:
undefined reference to `_iconv'
libbogofilter.a(convert_unicode.o): In function `bf_iconv_open':
/tmp/bogofilter/bogofilter-0.96.1/.build/build/src/convert_unicode.c:109:
undefined reference to `_iconv_open'
/tmp/bogofilter/bogofilter-0.96.1/.build/build/src/convert_unicode.c:117:
undefined reference to `_iconv_open'
libbogofilter.a(convert_unicode.o): In function `init_charset_table_iconv':
/tmp/bogofilter/bogofilter-0.96.1/.build/build/src/convert_unicode.c:129:
undefined reference to `_iconv_close'
Info: resolving _opterr by linking to __imp__opterr (auto-import)
Info: resolving _optind by linking to __imp__optind (auto-import)
Info: resolving _optarg by linking to __imp__optarg (auto-import)
collect2: ld returned 1 exit status
make[3]: *** [bogofilter.exe] Error 1
make[3]: Leaving directory
`/tmp/bogofilter/bogofilter-0.96.1/.build/build/src'

Did something go wrong in detecting -liconv?  Which also means your
setup.hint should probably depend on libiconv2.

- --
Life is short - so eat dessert first!

Eric Blake             ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDKsKi84KuGfSFAYARAsdmAKCFkiOFmTZkY8cw64IaIg6KuMYdfACfdDNE
M8u9Gg+AB0c0vY/2oywE0TI=
=kR6P
-----END PGP SIGNATURE-----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]