Afterword

Posted on January 1, 2012

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:

  1. NetBSD – http://pkgsrc.se/devel/libinotify. Thanks to Thomas Klausner for packaging.
  2. 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!