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

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: