Created attachment 210295 [details]
Updated libgit2 and fixed all checksum mismatches
I still need to run tests on a 11.x poudriere build, but on 12.x monodevelop compiles, installs and starts without errors.
Note that I've also tried upgrading to the latest version, but that required upgrading mono (which was succesful), msbuild (still in progress) and fsharp (which I failed at).
This patch might still have issues. I just noticed that I needed to install
the msbuild port as well in order to be able to open and build a .csproj.
Ping? Note that this port expired yesterday, but is not removed yet.
I get a build_fs_violation when building this port in poudriere, meaning something before the stage phase writes outside WRKDIR :
rene@e17:~ % tail /usr/local/poudriere/data/logs/bulk/head-amd64-default/latest-per-pkg/monodevelop-18.104.22.168_2.log
gmake: Leaving directory '/wrkdirs/usr/ports/devel/monodevelop/work/monodevelop-monodevelop-22.214.171.124/main'
=>> Checking for filesystem violations... done
=>> Error: Filesystem touched during build:
[head-amd64-default] [2020-01-12_18h16m12s] [build_fs_violation:devel/monodevelop:monodevelop-126.96.36.199_2:251843:252477] Queued: 1 Built: 0 Failed: 0 Skipped: 0 Ignored: 0 Tobuild: 1 Time: 00:19:41
[00:19:45] Logs: /usr/local/poudriere/data/logs/bulk/head-amd64-default/2020-01-12_18h16m12s
build of devel/monodevelop | monodevelop-188.8.131.52_2 ended at Sun Jan 12 18:35:57 CET 2020
build time: 00:18:54
!!! build failure encountered !!!
grep'ing for "registry" through the tarballed work directory finds nothing suspicious as far as I can tell, the only thing is this directory:
rene@e17:~/monodevelop/work % ls -lR .mono/
drwxr-xr-x 3 rene rene 4 12 jan. 18:19 registry
drwxr-xr-x 2 rene rene 2 12 jan. 18:19 CurrentUser
-rw-r--r-- 1 rene rene 3 12 jan. 18:27 last-btime
I'm not sure, but I think this check has been added to poudriere testport
recently, or something alike. I reran the build and now I have the same issue,
even though I'm almost certain it used to go through.
I will see if I can fix this, no idea yet where it's coming from yet.
I am however pretty sure that the same issue must have existed in the broken
version since the only change is an update to libgit2.
I'm not familiar with Mono so it might be a dependency at fault, or mondevelop itself somehow. That filesystem check has been in poudriere for a long time though.
Ah, poudriere bulk does not check for filesystem changes outside of the build directory.
A commit references this bug:
Date: Mon Jan 20 12:20:58 UTC 2020
New revision: 523616
devel/monodevelop: unexpire by updating libgit2 and recalculating the checksums.
Submitted by: mavalon
Approved by: maintainer timeout (mono, 3 weeks)
Created attachment 210893 [details]
Updated libgit2 and fixed all checksum mismatches + fixing registry issue
Apparently that registry is the same registry as it is on Windows, but written
to a file in either /usr/local/etc/mono or to the user's homedir.
As far as I understand it's actually possible that ports require to modify
this file, but that doesn't hold true for monodevelop.
I fixed this one by simply referencing the work directory as registry dir.
As far as I see this is safe to do. If in doubt, it's best that someone with
actual mono/.Net experience takes a look at this.
As I'm typing this I'm running a build in a 11.x jail to see if everything still
Apparently we were looking at this at the same time.
The extra little patch to the Makefile will fix poudriere testport as well.