Maintaining mono/.net
Carsten Larsen
cs at innolan.dk
Tue Jul 5 18:21:10 UTC 2016
ON 05-07-2016 kl. 17:06 Ivan Radovanovic wrote:
>
> I had some spare time during weekend so I was playing little bit with
> mono - I cloned mono repository, then branched "freebsd" from their 4.4
> branch (which is maybe also nice coincidence (freebsd and bsd4.4)), then
> I merged all our changes in that branch - I added Romain's patches to
> eglib, I added my implementation of FS watcher to System.dll, I also
> added test for FS watcher to test cases (so hopefully it will be easier
> to spot errors), I also fixed just couple of warning in C code they have
> in main mono source (there are many warnings there, some look serious to
> me - my plan is to keep reducing their number).
>
It sounds like a good start. 4.4.0 could be our head (read: master).
> Instead of changing their Kevent watcher implementation I added this one
> as completely new FS watcher (FreeBSD watcher), and I modified
> mono/metadata/filewatcher.c to always use this watcher when compiled on
> FreeBSD (I don't know about kevent implementation on other BSDs - maybe
> FreeBSD implementation should be used there as well).
>
> All mono tests pass (running gmake check), but those related to profiler
> (they segfault in native code - I am planning to investigate that further).
>
> Btw, I am configuring mono with:
>
> ./configure --disable-dtrace --with-checked-build=yes
>
> since if I leave dtrace enabled I get billion linking errors later (I
> will investigate that at certain point as well).
>
> Now, the question is how I push these changes to repository Russ created
> (is that repository we want to use for this project)? I am also not
> familiar enough with git to know if this setup now will work (we were
> talking to have our local repositories to talk to main mono repository
> for reading, and our (fbsd) repository for writing (to keep patches),
> now actual setup is that repository Russ created is forked from mono (I
> don't know if that changes anything)). Maybe somebody can clarify this?
>
> Kind regards,
> Ivan
The fork in github.com/FreeBSD-DotNet/mono made by Russ is forked
directly from master. Its not really a candidate for merging.
If you would like to push those changes to
github.com/FreeBSD-DotNet/mono you would first need to make your own
user of github. With this user you can fork mono again and then clone
you own mono repository to you local PC. Transfer your changes this this
local repository and commit at usual.
Or Russ could make a new fork on github equivalent to:
git clone -b mono-4.4.0-branch https://github.com/mono/mono.git
Then he could invite you (read: your github user) as a collaborate of
this new repository. You would then be able to push your changes
directly to github.com/FreeBSD-DotNet/mono-dev (or whatever name is chosen).
It could be a nice experiment but as Romain Tartière mentioned earlier
in the thread we are not suppose to break any existing mono ports. I
don’t know how to validate all the existing ports against a new release
(candidate) but I assume it would be done using poudriere.
Carsten
More information about the freebsd-mono
mailing list