The Google Summer Of Code has ended for four month ago. Since then, the both projects have got some improvements, tiny and significant.
Glib kqueue backend
The patch is available in the NetBSD’s pkgsrc, thanks to Julio Merino for packaging. You will need to rebuild the glib2
package as follows:
$ cd /usr/pkgsrc/devel/glib2
$ PKG_DEFAULT_OPTIONS=kqueue make
Please report about any issues to my personal mail (see the About
page).
Recently I have been contacted by Antoine Jacoutot . Antoine is an OpenBSD and GNOME contributor. He has integrated the gio patch into OpenBSD’s package collection, so now the functionality is available in OpenBSD too. Antoine also mentioned that he can help with pushing the patch to upstream, and I will work on in in Jan/Feb.
libinotify
As far as I know, today libinotify is packaged in two systems:
- NetBSD – http://pkgsrc.se/devel/libinotify. Thanks to Thomas Klausner for packaging.
- FreeBSD – http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/libinotify/. Thanks to Stanislav Sedov for FreeBSD patches and packaging.
Some problems were found on OpenBSD – there is no pthread_barrier(3)
, so I will have to write my own synchronization primitive instead of using this convenient one.
libinotify has helped to run incrond
on NetBSD and FreeBSD. Soon I will prepare a package for it. Also, porting is planned.
If you want to build and intall the latest libinotify on your BSD system:
$ git clone git://github.com/dmatveev/libinotify-kqueue.git
$ cd libinotify-kqueue
$ autoreconf -fvi
$ ./configure
$ make
$ make test
# make install
Some tests (IN_OPEN, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE) will fail and it is expected – these events just are not implemented.
So, the work is in progress, Happy Holidays to everyone!