Update to neo4j v3.2.1.
ClosedPublic

Authored by jonathan on Jul 2 2017, 10:57 AM.

Details

Summary

This version requires more patching than 3.0.4, as there is no more
neo4j-shared.sh file with shared (and patch-requiring) configuration.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
jonathan created this revision.Jul 2 2017, 10:57 AM

Actually, we can simplify a lot of this patching if we follow the Neo4j convention of putting config stuff in somewhere like /usr/local/neo4j/conf instead of /usr/local/etc... thoughts?

crees requested changes to this revision.Jul 2 2017, 2:24 PM

Actually, we can simplify a lot of this patching if we follow the Neo4j convention of putting config stuff in somewhere like /usr/local/neo4j/conf instead of /usr/local/etc... thoughts?

My thoughts on that are of disapproval, only because we go to a lot of work on the ports tree to install in the 'correct' location, and part of the appeal of FreeBSD is that things are in predictable locations. In my opinion, if it works in the FreeBSD locations then that's how we should install it!

Thanks hugely for the update though. Do you have it without the movement?

This revision now requires changes to proceed.Jul 2 2017, 2:24 PM

Ok, that's fair enough: I'll check to make sure that this will work with config files in ${PREFIX}/etc. What is your view on the weird ${PREFIX}/libexec/bin/neo4j-* path with symlinks to /usr/local/bin? My patch (or at least my local version that I've since hacked up some more!) puts cypher-shell, neo4j-admin, etc., into ${PREFIX}/bin and avoids the symlinks entirely. I think this sounds compatible with your view?

Also, are you happy for jar files to go in ${PREFIX}/neo4j/lib instead of ${PREFIX}/lib/neo4j? This was more important when there were lots of things under neo4j (bin, conf, lib and libexec), but now there's just lib and libexec (which still contains the tools directory and, potentially, plugins).

Finally, if we're making Neo4j's paths conform better to FreeBSD's expectations, is /var/db/neo4j a reasonable place to make the default database path?

jonathan updated this revision to Diff 30389.Jul 4 2017, 2:35 AM
  • Update to use ${PREFIX}/etc as requested.
jonathan updated this revision to Diff 30434.Jul 5 2017, 12:05 PM
  • Align neo4j.conf patch with previous patch.
  • Put databases in /var/db instead of $PREFIX/share.
crees accepted this revision.Jul 5 2017, 1:38 PM
  • Align neo4j.conf patch with previous patch.
  • Put databases in /var/db instead of $PREFIX/share.

This is great, and I don't know why I put databases in share... Might be worth a pkg-message to warn on update.

I personally don't like having directories not in hier under /usr/local at all, but perhaps that's just me being too fussy. If it doesn't create issues with runtime I'd prefer to leave it in /usr/local/lib{,exec}... but equally you've done a load of work here and if you think this is better you can do so!

Thanks,

Chris

This revision is now accepted and ready to land.Jul 5 2017, 1:38 PM
This revision was automatically updated to reflect the committed changes.

Thanks very much: I've committed the patch as approved/accepted, but would certainly be happy to discuss the relative merits of moving things around (perhaps as a separate action?). I think there will be a tension between the "FreeBSD way" and the "Neo4j way", but... well, perhaps that's a conversation for another day/diff/review. :)