summary refs log tree commit diff
path: root/ripple
AgeCommit message (Collapse)Author
2021-08-22ripple/fossil: prefer anonymous type parametersedef
This is mostly a stylistic distinction, but it helps with readability. Change-Id: Ia6b3dca53638f12bcfd498b5f36e7abf16fd061a
2021-08-14ripple/fossil: a basic content-addressable storeedef
Fossil stores content-addressed blobs of file contents and Protobuf-encoded directory listings, backed by Sled. Change-Id: I8b49de6342218ca00755cec980b1d0cfb18878a7
2021-08-14ripple/nix: build everything with naerskV
Yes, it really is that simple. Naersk is great! Change-Id: I183f5bd0d2547a368f32bbc42fddf03e7cb03331
2021-08-14ripple: create the project skeletonV
Change-Id: I4e50d2990fea76097ee61f8c98d65f2e4e44d765
2021-08-14ripple: add a basic development shell and .envrcV
Let's start with some basic build tooling, and some extra dependencies to let us use rust-analyzer with the pinned version of Rust. Change-Id: I1dd59277d29680ba89efdc7672668b3b095ef4a7
2021-08-14ripple/nix: add rustfmt `imports_granularity = "One"` patchV
This lets us use an unreleased formatting variant that merges all use statements into a single block. Change-Id: I0ff9fb960171c9af3dbd3a841e35e17a4965a246
2021-08-12ripple/nix: initialize nixpkgs pinV
We're using an unstable branch over releases, as biannual package updates are too infrequent for tools with short release cycles. We're specifically using nixos-unstable, as this has more thorough testing than nixpkgs-unstable does (at the cost of lagging behind, slightly). Change-Id: Iaa5101f40148d2d85e8258cf73576bf7f531d4c1
2021-07-10ripple: move tools to their own directoryV
Change-Id: I693b9b9c5b9aff8c96b1b81f1ff7b7f2b92eabcb
2021-05-29ripple/driver.pl: fix bpftrace argument passingedef
bpftrace takes a single argument to -c, and then simply does a naive split_string(cmd, ' ') on that. This unfortunately makes it impossible to pass arguments containing spaces to subprocesses. Change-Id: Ib18a19f858b5acd87e54e00927173ccd4fe6ee49
2021-05-28ripple/fakefakeroot: a fakeroot shimedef
Package managers and build systems love running install phases under fakeroot, which generates a lot of spurious syscalls for us. This shim takes care of that without patching build systems. The included Arch Linux PKGBUILD provides it as a replacement package for fakeroot itself. It does not attempt to fully comply with packaging guidelines, nor does it need to, since it isn't intended to be upstreamable anyway. Reviewed-by: V <v@unfathomable.blue> Change-Id: Ie9bf87d066f9bb2de7624d705b1e4527cca14d9a
2021-05-26ripple/driver.pl: a basic syscall tracing driveredef
This program spawns a child in a new cgroup (using systemd-run) under bpftrace and counts syscall invocations for each (syscall, comm) pair. It outputs a TSV of (syscall, comm, count) tuples to STDERR. This makes it easy to assess which system calls a build process uses, segmented by a useful approximation of the invoking programs. Change-Id: I9ab7a34fda82245d3fa22b47840de16d1decf719
2021-02-25ripple/website: initV
This contains the source to Ripple's website, as it was published on 2020-10-07. Change-Id: I4c871be79d8841b277d23ea741c8728ec5da8cc8