Repair release archives and document current Sized distribution
This commit is contained in:
@@ -1,11 +1,20 @@
|
||||
# Sized
|
||||
|
||||
A fast, concurrent, and feature-rich command-line tool for visualizing disk usage, written in Rust.
|
||||
**Know what’s taking up space. Without leaving your terminal.**
|
||||
|
||||
Sized is a Rust command-line disk usage tool for macOS and Linux. Inspect large
|
||||
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.
|
||||
|
||||
## Features
|
||||
|
||||
- **Allocation by Default**: Prioritizes filesystem-reported allocated blocks; sparse files retain their separate apparent size, and hard-link allocation is counted once per scan. Reported allocation is not a promise of bytes freed by deletion on filesystems with shared extents or snapshots.
|
||||
- **Fast & Concurrent**: Uses `rayon` to process directories in parallel, making it extremely fast on modern multi-core systems.
|
||||
- **Fast & Concurrent**: Processes directories in parallel with `rayon`; scan time depends on the filesystem and workload.
|
||||
- **Rich Output**: Beautifully formatted tables with colors, distinguishing files and directories.
|
||||
- **Apparent Size**: Toggle logical file length with `-a` or `--apparent`.
|
||||
- **Unit Selection**: Switch between Binary (IEC) and Decimal (SI) unit systems via `--units`.
|
||||
@@ -18,56 +27,40 @@ A fast, concurrent, and feature-rich command-line tool for visualizing disk usag
|
||||
|
||||
## Installation
|
||||
|
||||
### 🚀 Direct Download (macOS & Linux)
|
||||
Download the latest archive for your architecture from the [Releases](https://gitlab.speelman.ca/gamertan/sized/releases) page.
|
||||
### Build the current review branch
|
||||
|
||||
1. **Extract the archive**:
|
||||
```bash
|
||||
tar -xzf sized-v1.0.0-Darwin-arm64.tar.gz
|
||||
```
|
||||
With a Rust toolchain and Git installed:
|
||||
|
||||
2. **Install Binary & Man Page**:
|
||||
```bash
|
||||
# Move binary to path
|
||||
sudo mv sized /usr/local/bin/
|
||||
|
||||
# Install man page
|
||||
sudo mkdir -p /usr/local/share/man/man1
|
||||
sudo cp sized.1 /usr/local/share/man/man1/
|
||||
```
|
||||
|
||||
3. **macOS Security (Gatekeeper)**:
|
||||
Since the binary isn't code-signed for the App Store, macOS may block it. To allow it:
|
||||
```bash
|
||||
sudo xattr -d com.apple.quarantine /usr/local/bin/sized
|
||||
```
|
||||
*Alternatively, run `sized` once, let it fail, then go to **System Settings > Privacy & Security** and click **"Allow Anyway"**.*
|
||||
|
||||
### 🍺 Homebrew (macOS & Linux)
|
||||
If you have a homebrew tap:
|
||||
```bash
|
||||
brew install gamertan/tap/sized
|
||||
```
|
||||
|
||||
### 📦 Debian / Ubuntu (.deb)
|
||||
1. Download the `.deb` package from the [Releases](https://gitlab.speelman.ca/gamertan/sized/releases) page.
|
||||
2. Install using `dpkg`:
|
||||
```bash
|
||||
sudo dpkg -i sized_1.0.0_amd64.deb
|
||||
```
|
||||
|
||||
### 🦀 From Source (Rust toolchain required)
|
||||
```bash
|
||||
git clone https://gitlab.speelman.ca/gamertan/sized.git
|
||||
git clone --branch sizequeen-scan-hardening https://gitea.speelman.ca/gamertan/sized.git
|
||||
cd sized
|
||||
make install # Installs binary and man page
|
||||
cargo install --locked --path .
|
||||
sized --help
|
||||
```
|
||||
|
||||
Alternatively, via Cargo:
|
||||
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
|
||||
cargo install --path .
|
||||
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.
|
||||
|
||||
## Documentation
|
||||
- **[Manual](MANUAL.md)**: Detailed explanations of all flags and features.
|
||||
- **[Man Page](sized.1)**: Standard unix man pages (installed via `make install`).
|
||||
@@ -177,19 +170,25 @@ Docker access inside the job. Fork contributions can run the local script;
|
||||
maintainers can bring reviewed changes onto a repository branch for CI.
|
||||
See SHIPMENT for runner-image setup. Documentation-only pushes skip builds.
|
||||
|
||||
Run `./scripts/check-release.sh` to verify the actual archive, checksum and
|
||||
extracted executable on the host. Linux CI also runs this packaging check.
|
||||
|
||||
See [source review and release process](SHIPMENT.md) and the [live queue](TODO.md).
|
||||
|
||||
## Sized, SizeQueen and the shared scanner
|
||||
|
||||
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.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the **GNU General Public License v3.0 (GPL-3.0)**.
|
||||
|
||||
### Why GPL-3.0? (The "Insulin" Philosophy)
|
||||
We believe that core diagnostic tools like `sized` should remain a public good. Inspired by the philosophy behind open-access medicine like insulin, this license ensures that:
|
||||
- The tool remains **free and open** for everyone to use.
|
||||
- Any improvements or forks made by others **must also be shared** with the community.
|
||||
- It prevents proprietary "vampire" versions from taking private credit for public efforts.
|
||||
|
||||
For more details, see the [LICENSE](LICENSE) file.
|
||||
**GPL-3.0-only.** See [LICENSE](LICENSE) for the complete terms. All Sized features
|
||||
are free; optional [support for Gamertan](https://gamertan.com/store/) does not
|
||||
unlock features.
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user