From be23d887cb081edec60431bdba531a41742118fb Mon Sep 17 00:00:00 2001 From: Russell Date: Mon, 28 Jul 2025 17:07:07 +0000 Subject: [PATCH] Fixed up the readme --- readme.md | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/readme.md b/readme.md index d3c712a..ef0f296 100644 --- a/readme.md +++ b/readme.md @@ -27,6 +27,9 @@ Display all files installed by a specific package in a hierarchical tree structu # Show files installed by bash package cargo run -- tree --package bash +# Show files for Flatpak application +cargo run -- tree --package "Signal Desktop (org.signal.Signal)" + # Show trees for first 5 packages (demo mode) cargo run -- tree ``` @@ -48,11 +51,17 @@ cargo run -- file /usr/bin/bash ``` ### List All Packages -Display all installed packages: +Display all installed packages from all managers: ```bash -# List all packages +# List all packages from all managers cargo run -- packages + +# List only DNF packages +cargo run -- packages --source dnf + +# List only Flatpak packages +cargo run -- packages --source flatpak ``` ### Find Files @@ -61,6 +70,9 @@ Search for files within packages: ```bash # Find all files in bash package cargo run -- find --package bash + +# Find all files in Flatpak application +cargo run -- find --package "Signal Desktop (org.signal.Signal)" ``` ## Example Output @@ -83,27 +95,48 @@ bash 5.2.15-6.fc41 └── etc/ └── skel/ └── .bashrc + +Signal Desktop (org.signal.Signal) 7.63.0 +├── /var/lib/flatpak/app/org.signal.Signal/ +├── /var/lib/flatpak/exports/share/applications/org.signal.Signal.desktop +└── ~/.var/app/org.signal.Signal/ ``` ### File Ownership ``` /usr/bin/bash is owned by package: bash +~/.var/app/org.signal.Signal is owned by package: org.signal.Signal +``` + +### Package Listing +``` +DNF packages (1,847 total): + bash 5.2.15-6.fc41 + glibc 2.37-4.fc38 + kernel 6.8.5-301.fc40 + +Flatpak packages (7 total): + Zen (app.zen_browser.zen) 1.14.9b + Signal Desktop (org.signal.Signal) 7.63.0 + GIMP (org.gimp.GIMP) 3.0.4 ``` ## Architecture The tool is designed with a modular architecture supporting multiple package managers: -- **Package Manager Abstraction** - Common interface for all package managers -- **Binary Database Format** - High-performance storage for file metadata +- **Package Manager Abstraction** - Common interface for DNF, Flatpak, and future managers +- **Universal File Tracking** - Track files across traditional packages and sandboxed applications +- **Source-Aware Filtering** - Filter by package manager type (DNF, Flatpak, etc.) +- **Binary Database Format** - High-performance storage for file metadata (planned) - **CLI Interface** - Clean command-line interface built with Clap - **Tree Visualization** - Hierarchical display of package contents ## Supported Package Managers -- ✅ **DNF/RPM** (Fedora, RHEL, CentOS) +- ✅ **DNF/RPM** (Fedora, RHEL, CentOS) - Full support +- ✅ **Flatpak** (Universal) - Full support - 🚧 **APT** (Debian, Ubuntu) - Coming Soon -- 🚧 **Flatpak** - Coming Soon - 🚧 **Snap** - Coming Soon - 🚧 **Pacman** (Arch Linux) - Coming Soon @@ -124,7 +157,12 @@ Built with Rust 2021 edition. Key dependencies: ## Roadmap -- [ ] Complete support for all major package managers +- [x] DNF/RPM support with file ownership tracking +- [x] Flatpak support with sandboxed application tracking +- [x] Universal package listing with source filtering +- [x] Package file tree visualization +- [ ] Snap support +- [ ] APT support for Debian/Ubuntu systems - [ ] Real-time filesystem monitoring - [ ] Binary database format for fast queries - [ ] GUI interface