|
|
|
@ -27,24 +27,25 @@ firmware versions, WWN identifiers, and native sector geometry configs. |
|
|
|
## Repository Structure |
|
|
|
|
|
|
|
```text |
|
|
|
bsdiskinfo/ |
|
|
|
├── include/ |
|
|
|
│ └── bsdiskinfo.h # Public standalone C API header |
|
|
|
├── src/ |
|
|
|
│ ├── libbsdiskinfo.c # Core library implementation layers |
|
|
|
│ ├── cli.c # POSIX-compliant administrative CLI testbed |
|
|
|
│ └── smart.h # Shared structural S.M.A.R.T. hardware definitions |
|
|
|
├── modules/ |
|
|
|
│ └── lua/ |
|
|
|
│ ├── Makefile # Dynamic Lua module build configurations |
|
|
|
│ └── lua_bsdiskinfo.c # High-performance C-to-Lua binding translator |
|
|
|
│ └── perl/ |
|
|
|
│ ├── Makefile.PL # Perl ExtUtils::MakeMaker build script |
|
|
|
│ ├── bsdiskinfo.xs # Core C-to-Perl XS translator bridge |
|
|
|
│ └── lib/ |
|
|
|
│ └── bsdiskinfo.pm # Public Perl module interface and POD docs |
|
|
|
├── examples/ |
|
|
|
│ └── tree_view.lua # Complex hardware tree mapping layout example |
|
|
|
bsdiskinfo |
|
|
|
├── examples |
|
|
|
│ ├── tree_view.lua # Complex hardware tree mapping layout example |
|
|
|
│ └── tree_view.pl |
|
|
|
├── include |
|
|
|
│ └── bsdiskinfo.h # Public standalone C API header |
|
|
|
├── modules |
|
|
|
│ ├── lua |
|
|
|
│ │ ├── lua_bsdiskinfo.c # High-performance C-to-Lua binding translator |
|
|
|
│ │ └── Makefile # Dynamic Lua module build configurations |
|
|
|
│ └── perl |
|
|
|
│ ├── lib |
|
|
|
│ │ └── bsdiskinfo.pm # Public Perl module interface and POD docs |
|
|
|
│ ├── bsdiskinfo.xs # Core C-to-Perl XS translator bridge |
|
|
|
│ └── Makefile.PL # Perl ExtUtils::MakeMaker build script |
|
|
|
├── src |
|
|
|
│ ├── cli.c # POSIX-compliant administrative CLI testbed |
|
|
|
│ ├── libbsdiskinfo.c # Core library implementation layers |
|
|
|
│ └── smart.h # Shared structural S.M.A.R.T. hardware definitions |
|
|
|
├── LICENSE # BSD 2-Clause Simplified License |
|
|
|
└── Makefile # Native FreeBSD root pmake script |
|
|
|
``` |
|
|
|
@ -86,6 +87,26 @@ sudo make install |
|
|
|
*Installs components under `/usr/local/` paths (`lib/`, `include/`, `sbin/`, |
|
|
|
and corresponding Lua runtime folders).* |
|
|
|
|
|
|
|
## Installation via FreeBSD Ports (Custom Overlay) |
|
|
|
|
|
|
|
The project is packaged for FreeBSD through a dedicated, standalone ports |
|
|
|
repository overlay. If you manage a local ports overlay or want to build a |
|
|
|
clean native package via `poudriere`/`bmake`, add the port definition from |
|
|
|
the tracking tree repository: |
|
|
|
|
|
|
|
* **Ports Overlay Repository**: [https://git.dc365.ru/digital-freak/ports](https://git.dc365.ru/digital-freak/ports) |
|
|
|
|
|
|
|
To build and install the toolkit from the overlay manually: |
|
|
|
|
|
|
|
```bash |
|
|
|
# Navigate to the port directory inside your overlay tree |
|
|
|
cd /usr/ports/devel/bsdiskinfo |
|
|
|
|
|
|
|
# Configure, build, and install with selected bindings (Lua/Perl) |
|
|
|
sudo make config |
|
|
|
sudo make install clean |
|
|
|
``` |
|
|
|
|
|
|
|
## Usage Profiles |
|
|
|
|
|
|
|
### Binary CLI Diagnostic Tool |
|
|
|
|