Skip to content

Instantly share code, notes, and snippets.

View ralphtheninja's full-sized avatar
🏠
Working from home

ralphtheninja

🏠
Working from home
View GitHub Profile
@ralphtheninja
ralphtheninja / cabal-storage.md
Last active October 26, 2018 18:06
Short description of the cabal storage stack

18/10/26 20:00 < ralphtheninja> let me ask a newb question, which kind of storage is cabal using? I know it's "dat" somehow but not the technicalities

18/10/26 20:00 < ralphtheninja> hyperdb at the bottom?

18/10/26 20:02 < noffle> hypercore at the bottom

18/10/26 20:02 < noffle> multifeed on top of that

18/10/26 20:02 < noffle> multifeed-index on top of that

I spent some time investigating what's causing this size. Below are my findings:

Prepare

Skip generating .deb file to increase speed of test. Also it's not relevant to the test.

I did a quick check on the folders and they are fairly small:

$ du -sh src/ es5/ build/ bin/ images/ _locales/ static/
lms@x240 ~/src/deltachat/deltachat-node (split-linux-mac-conditions)
$ npm i --verbose
npm info it worked if it ends with ok
npm verb cli [ '/home/lms/.nvm/versions/node/v10.9.0/bin/node',
npm verb cli '/home/lms/.nvm/versions/node/v10.9.0/bin/npm',
npm verb cli 'i',
npm verb cli '--verbose' ]
npm info using npm@6.2.0
npm info using node@v10.9.0
npm verb npm-session c9ab21f71acfcbfc
2018-10-01
*last* node bindings: building against openssl and sasl2 on the system (again), desktop: reduced size of installables (nixed emoji png data), bug fixes and swedish translations
*current* desktop fixes and maybe later try implementing features
*blockers* tried to update core in bindings, but builds fail on mac due to IDEA not enabled (have no idea what it is), so new desktop releases on mac are blocked
2018-09-24
*last* fixed builds on mac (node bindings + desktop), fixed autoconfig for node bindings (`DC_EVENT_HTTP_GET`), rebuild script in js (needed for windows), tweaks to documentation, remove noisy compile and build in Release mode by default
*current* compile warnings should produce errors (to avoid warnings in PRs with potential bugs), implementing `dc_lookup_contact_id_by_addr()` and `dc_may_be_valid_addr()`
>> Recreating deltachat-core/builddir/
>> Moving into deltachat-core/builddir
~/src/deltachat/deltachat-node/deltachat-core/builddir ~/src/deltachat/deltachat-node
>> meson
The Meson build system
Version: 0.47.2
Source dir: /home/lms/src/deltachat/deltachat-node/deltachat-core
Build dir: /home/lms/src/deltachat/deltachat-node/deltachat-core/builddir
Build type: native build
Project name: deltachat-core
const level = require('level-browserify')
const db = level('./foo')
db.put('key', 'value', err => {
db.get('key', (err, value) => {
console.log('value=', value)
})
})
Compiling serde_json v1.0.13
error: failed to run custom build command for `openssl-sys v0.9.28`
process didn't exit successfully: `/home/lms/src/DATRS/hypercore/target/debug/build/openssl-sys-f9857b73d48368b4/build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
cargo:rerun-if-env-changed=OPENSSL_DIR