Bug#981515: kcoreaddons: please replace fam with gamin
On Wed, Mar 03, 2021 at 02:54:58PM -0500, Nicholas D Steeves wrote:
> I don't think the removal of FAM is as clear-cut as it has been
> presented to be.
>
> AFAIK the following is still current: Gamin provides "No NFS support
> based on specific RPC and server, instead gamin monitors only the state
> as reported locally by the kernel, not that locally done changes on NFS
> or AFS filesystems are reported on Linux which is the main criteria when
> having user home directories on such filesystems."
>
> https://people.gnome.org/~veillard/gamin/differences.html
>
> thus FAM covers a use case that gamin does not, and this case is: users
> who want to receive inotify style events for files that have been
> remotely created or modified on NFS mounts.
>
> I can't speak to how widespread the need for this feature is, but if it
> is non-zero then it seems to me that FAM should not be removed this late
> in the Bullseye cycle.
FAM attempts to get notifications for NFS by requiring that a remote FAM
server is running on the NFS server. No encryption is used. I hope
this is not widely used. FAM code was last modified circa 2003 in the
tar ball I downloaded from debian and predates inotify().
However, using FAM or gamin in kcoreaddons is not necessary.
Quoting from kcoreaddons src/lib/io/kdirwatch.h:
https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/src/lib/io/kdirwatch.h#L44
* The implementation uses the INOTIFY functionality on LINUX.
* Otherwise the FAM service is used, when available.
* As a last resort, a regular polling for change of modification times
* is done; the polling interval is a global config option:
* DirWatch/PollInterval and DirWatch/NFSPollInterval for NFS mounted
* directories.
Please consider removing kcoreaddons dependency on FAM and on gamin in
the Debian package. kcoreaddons has its own fallbacks. Also,
kcoreaddons is not using FAM or gamin on Linux.
> FreeBSD doesn't have inotify, so there is a need for FAM, and maybe
> someone from their community has become the defacto upstream (via their
> "ports" packaging system)? Or maybe someone from their community would
> be willing to officially become FAM's new upstream?
FYI: *BSD has kqueue() with EVFILT_VNODE.
Please consider removing FAM and gamin from the Debian package for
kcoreaddons by removing libfam-dev and libgamin-dev from debian/control,
or at least changing it to libgamin-dev.
https://salsa.debian.org/qt-kde-team/kde/kcoreaddons/-/merge_requests/3
Cheers, Glenn
Reply to: