[MacPorts] #42129: [NEW] lsyncd
MacPorts
noreply at macports.org
Mon Feb 17 17:55:36 PST 2014
#42129: [NEW] lsyncd
-------------------------+--------------------------------
Reporter: jul_bsd@… | Owner: macports-tickets@…
Type: submission | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Resolution: | Keywords:
Port: lsyncd |
-------------------------+--------------------------------
Comment (by mfeiri@…):
Well, the xnu project does not include the relevant file in the regular
installation of header files. As a mere packager I am very hesitant to
deviate from the intention of the upstream project. Presumably this
interface is intentionally kept private because improper use might cause
events to get lost. The warnings in lsyncd seem to indicate that this is a
known issue, e.g. causing interferences with Spotlight and Time Machine.
I think there are several alternative ways to achieve what lsyncd needs on
Mac OS X. I see that the developer of lsycnd already dismissed FSEvents
(did he consider kFSEventStreamCreateFlagFileEvents?) and kqueue, so let
me suggest two other options:
* Use scoped Spotlight queries through the MDQuery API (requires a
CoreFoundation runloop, e.g. in a thread)
* Use dtrace to monitor I/O syscalls for operations in target paths, for
example as seen in opensnoop.
Frankly, if the developer of lsyncd still insists to use private APIs,
then IMHO he has to take the burden of including and maintaining the
definitions of these interfaces in his application. If upstream doesn't
agree then you could manually fetch the missing header file from
http://www.opensource.apple.com/source/xnu/xnu-2422.1.72/bsd/sys/fsevents.h
as an additional distfile, see
http://guide.macports.org/#reference.phases.fetch for examples. Or we
patch xnu-headers just for lsyncd.
--
Ticket URL: <https://trac.macports.org/ticket/42129#comment:8>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list