Adopt pinned public core snapshot and prepare Sized 2.0.0
This commit is contained in:
@@ -7,9 +7,9 @@ folders, filter the noise, and export reports for your own scripts.
|
||||
[Project page](https://gamertan.com/projects/sized/) ·
|
||||
[Prefer a visual map? Meet SizeQueen](https://gamertan.com/projects/sizequeen/).
|
||||
|
||||
This branch contains scanner hardening under review. The published **v1.0.0**
|
||||
release predates the hard-link, partial-scan and filesystem-boundary changes
|
||||
below. No new release is implied by a branch build.
|
||||
**Version 2.0.0** shares the pinned Sized core used by SizeQueen. Hard links,
|
||||
partial scans and filesystem boundaries have explicit accounting and status.
|
||||
See [upgrading from 1.0](docs/UPGRADING-2.md) for CLI and Rust API changes.
|
||||
|
||||
## Features
|
||||
|
||||
@@ -27,39 +27,48 @@ below. No new release is implied by a branch build.
|
||||
|
||||
## Installation
|
||||
|
||||
### Build the current review branch
|
||||
### Official downloads
|
||||
|
||||
With a Rust toolchain and Git installed:
|
||||
Use the [Sized project page](https://gamertan.com/projects/sized/) or
|
||||
[v2.0.0 release](https://gitea.speelman.ca/gamertan/sized/releases/tag/v2.0.0).
|
||||
Choose the archive for your CPU and OS. The Apple silicon download is a signed,
|
||||
notarized DMG; Linux archives target glibc 2.36 or newer. Matching offline source,
|
||||
full dependency notices and SHA-256 checksums accompany the downloads.
|
||||
|
||||
```bash
|
||||
git clone --branch sizequeen-scan-hardening https://gitea.speelman.ca/gamertan/sized.git
|
||||
Open the Mac disk image, or extract the Linux archive. From its directory, install
|
||||
without administrator privileges:
|
||||
|
||||
```sh
|
||||
mkdir -p "$HOME/.local/bin" "$HOME/.local/share/man/man1"
|
||||
install -m 755 sized "$HOME/.local/bin/sized"
|
||||
install -m 644 sized.1 "$HOME/.local/share/man/man1/sized.1"
|
||||
"$HOME/.local/bin/sized" --version
|
||||
```
|
||||
|
||||
Include `~/.local/bin` in your `PATH`. On a Mac, the mounted directory is
|
||||
`/Volumes/Sized 2.0.0`; this is a Terminal tool rather than an application icon.
|
||||
The archive also includes Bash, Zsh and Fish completions. No Homebrew tap or
|
||||
Debian package is currently published. Intel Mac and Windows binaries are not
|
||||
part of this release.
|
||||
|
||||
### Build from source
|
||||
|
||||
With Rust 1.88 or newer and a C linker/toolchain installed:
|
||||
|
||||
```sh
|
||||
git clone --branch v2.0.0 https://gitea.speelman.ca/gamertan/sized.git
|
||||
cd sized
|
||||
cargo install --locked --path .
|
||||
sized --help
|
||||
```
|
||||
|
||||
Cargo installs into `~/.cargo/bin`; include it in your `PATH`. For the published
|
||||
source instead, check out `v1.0.0` before the install command. Source builds run
|
||||
locally; they are separate from SizeQueen's signed and notarized Mac app.
|
||||
|
||||
To install the binary and man page together without administrator privileges:
|
||||
|
||||
```bash
|
||||
make install PREFIX="$HOME/.local"
|
||||
```
|
||||
|
||||
This uses `~/.local/bin` and `~/.local/share/man/man1`; configure `PATH` and your
|
||||
manual-page search path as needed.
|
||||
|
||||
### Existing release downloads
|
||||
|
||||
The [v1.0.0 release](https://gitea.speelman.ca/gamertan/sized/releases/tag/v1.0.0)
|
||||
contains source, one legacy executable named `sized`, a man page and shell
|
||||
completions. The executable was inspected as macOS arm64 (Apple silicon); it is not a Linux download.
|
||||
There are currently no attached architecture-labelled archives or `.deb`
|
||||
packages, and no verified Homebrew tap. Build from source for the current
|
||||
review changes. Platform-labelled archives will be advertised after a new
|
||||
release is reviewed and published.
|
||||
The public checkout includes the exact core snapshot; no private credentials are
|
||||
needed. The matching source archive additionally includes registry dependencies:
|
||||
from its root, `cargo build --locked --offline --release` works without Cargo
|
||||
network access. Source builds are unsigned unless you sign them yourself.
|
||||
`make install PREFIX="$HOME/.local"` installs the binary and man page together.
|
||||
Historical [v1.0.0 files](https://gitea.speelman.ca/gamertan/sized/releases/tag/v1.0.0)
|
||||
remain available unchanged.
|
||||
|
||||
## Documentation
|
||||
- **[Manual](MANUAL.md)**: Detailed explanations of all flags and features.
|
||||
@@ -144,7 +153,7 @@ a convenience helper, while `scan_tree` retains structured diagnostics.
|
||||
|
||||
## Development checks
|
||||
|
||||
Run `cargo test --locked` locally as an unprivileged user. For Linux build,
|
||||
Run `cargo test --locked --workspace` locally as an unprivileged user. For Linux build,
|
||||
permission, filesystem-boundary and release smoke checks with Docker:
|
||||
|
||||
```bash
|
||||
@@ -180,9 +189,10 @@ See [source review and release process](SHIPMENT.md) and the [live queue](TODO.m
|
||||
Sized began as terminal tooling. Its filesystem scanner was extracted into
|
||||
`sized-core`, which SizeQueen now uses directly beneath its native Mac interface.
|
||||
SizeQueen adds the treemap and desktop interactions; it does not run the CLI.
|
||||
Sized currently retains its own scanner copy while shared-core adoption is
|
||||
reviewed. A public checkout of Sized does not need access to the private core
|
||||
repository. SizeQueen's matching source download includes its pinned core.
|
||||
Sized 2.0 uses the same pinned core revision through the exact public snapshot
|
||||
in `crates/sized-core`. `CORE-SNAPSHOT.json` records its provenance and hashes.
|
||||
The upstream core repository remains private; public Sized and both products'
|
||||
matching source downloads build without access to it.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
Reference in New Issue
Block a user