Bug 206593

Summary: lang/mono: fix kevent-based file system monitor on FreeBSD
Product: Ports & Packages Reporter: Daniel Becker <razzfazz>
Component: Individual Port(s)Assignee: freebsd-mono (Nobody) <mono>
Status: Closed DUPLICATE    
Severity: Affects Some People CC: dbn, driesm.michiels, joshruehlig, razzfazz, romain
Priority: --- Keywords: needs-qa, patch
Version: LatestFlags: bugzilla: maintainer-feedback? (mono)
koobs: merge-quarterly?
Hardware: Any   
OS: Any   
URL: https://github.com/mono/mono/compare/mono-
Description Flags
patch with fixes to make kevent-based file system monitor work on FreeBSD
updated patch for version
updated patch for version none

Description Daniel Becker 2016-01-25 03:21:06 UTC
Created attachment 166079 [details]
patch with fixes to make kevent-based file system monitor work on FreeBSD

Attached patch includes several fixes that are needed to make the kevent-based file system monitor work on FreeBSD (vs. Darwin). The patch should apply cleanly against the current version of the port.

Also available on Github: https://github.com/mono/mono/compare/mono-
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2016-01-25 05:59:10 UTC
Thanks Daniel!

Could you confirm this change passes QA (portlint, poudriere) please
Comment 2 Daniel Becker 2016-01-25 06:07:47 UTC
Sorry, I haven't tried (nor am I familiar with) either of these.
Comment 3 Daniel Becker 2016-01-26 03:22:04 UTC
These changes are probably redundant with the ones in bug #198727.
Comment 4 Romain Tartière freebsd_committer 2016-02-15 08:23:57 UTC
Hi Daniel,

kqueue has been fixed and broken again quite many times.  I would prefer an upstream fix rather than another local hack.

Can you please consider refactoring the code in order to extend mono's ability to work with FreeBSD's kevent instead of replacing MacOS's kevent support?  That way, both implementations would be able to exist side by side, and a new Factory would permit to choose the correct implementation at runtime?

A pull request could then be created on GitHub.
Feel free to notify me (@smortex) on GitHub in case I can help make this happen!

Many thanks!
Comment 5 Daniel Becker 2016-08-19 21:36:57 UTC
Created attachment 173875 [details]
updated patch for version

Adding updated patch for current port version; this is also available at <https://github.com/razzfazz/mono/tree/mono->.
Comment 7 joshruehlig 2016-09-27 16:15:13 UTC
Is this planned to be added to upstream mono?
Comment 8 Daniel Becker 2016-11-04 07:04:03 UTC
Created attachment 176608 [details]
updated patch for version

Attaching updated patch for current port version; this is also available at <https://github.com/mono/mono/compare/mono->.
Comment 9 David Naylor freebsd_committer 2016-11-06 08:07:37 UTC
I'm currently AFK, but I'll look at this on my return (21 November). In the interim would you please report the results of `make test`.
Comment 10 joshruehlig 2017-05-31 16:06:29 UTC
Did you have a PR for this with mono? That would be nice if this could get upstreamed so there would not need to be a patch maintained.

Also, is there an updated patch for mono v4.8.1?
Comment 11 Daniel Becker 2018-01-12 17:11:40 UTC
I did submit pull requests for these changes upstream; let me check whether all of them have been merged by now.
Comment 12 Daniel Becker 2018-01-20 08:09:41 UTC
Some parts of the patch are still not in upstream, and likely never will be (since they don't apply to and might break things on OSX); I didn't actually submit pull requests for those. That being said, it looks like the existing patch still applies cleanly to the mono version currently in the ports tree (
Comment 13 Conrad Meyer freebsd_committer 2019-05-24 01:51:22 UTC
Let's track this in the related issue, which has had some more recent activity.

*** This bug has been marked as a duplicate of bug 198727 ***