Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NOTE: This is not intended to be merged into master as-is. It's a starting point to indicate what's necessary to make Countly run on FreeBSD.
REMAINING TASKS:
IN THIS COMMIT:
BUG FIXED: uninitialized local structs lead to EAI_BADHINTS when connecting to APNs.
BUG FIXED: missing select() after connect() lead to write() before complete handshake when connecting to APNs.
Replace assumption of 127.0.0.1 as host address with configured address where possible.
Call bash using /usr/bin/env which is in a reliable location cross-platform - bash is not always in /bin.
Remove sudo and --unsafe-perms from local npm install; running these as root is unnecessary.
FreeBSD rc start-up scripts.
Patched version of node-time that works on FreeBSD & updates some deprecated node API.
Remove package-lock.json from the repository - these are local files.
Update apn nan to bring it in-line with core & improved node version support.
Fixes to build apn on FreeBSD.
Build against repository-local libnghttp2.
NOTE:
puppeteer cannot download & install Chromium on FreeBSD so you'll need to install it locally (pkg install chromium) and run npm install as:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true PUPPETEER_EXECUTABLE_PATH=/usr/local/bin/chrome npm install