e0bc4785e9
Flashes the diskOS custom UI onto the FiiO Snowsky Disc over Ingenic mask-ROM USB, building the image from your own stock firmware. Runs from source via install.sh.
54 lines
3.1 KiB
Markdown
54 lines
3.1 KiB
Markdown
# Dependency inventory - generated from a self-built onefile artifact
|
|
|
|
> **Scope note:** this inventory describes a **self-built PyInstaller onefile**. The **published
|
|
> diskOS release does NOT ship that onefile** - it distributes source and runs from your own Python
|
|
> (see [`NOTICE.md`](NOTICE.md) / [`licenses/THIRD_PARTY_BUNDLED.md`](licenses/THIRD_PARTY_BUNDLED.md)),
|
|
> so these bundled libraries are not redistributed by this project. This file is retained for anyone
|
|
> who chooses to build and redistribute the onefile themselves (they take on these obligations).
|
|
|
|
|
|
This is an artifact-derived list from a PyInstaller onefile build: ~93 distinct native `.so` entries
|
|
were bundled. Below are the license-bearing shared libraries PyInstaller pulled in transitively
|
|
(CPython + Tkinter GUI + pycryptodome + pyusb chains), grouped by license obligation. They matter
|
|
**only if you build and redistribute the onefile yourself**; the published source release does not
|
|
bundle them.
|
|
|
|
## Copyleft - obligations to satisfy (priority)
|
|
| Library | Bundled as | License | Obligation |
|
|
|---|---|---|---|
|
|
| **libudev** (systemd) | `libudev.so.1` | **LGPL-2.1** | ship license text + §6 relink materials (or drop it) |
|
|
| **FreeType** | `libfreetype.so.6` | **FTL or GPLv2 (dual)** | ship FTL text (permissive path) + attribution |
|
|
| **libcap** | `libcap.so.2` | BSD-3 / GPLv2 (dual) | permissive path: BSD text |
|
|
|
|
> NOTE: `libudev` (LGPL) is bundled only because of the **Tkinter GUI**'s X/font chain. Consider a
|
|
> `--nowindow`/CLI-only build, or explicitly excluding `libudev`, to remove the LGPL relink burden.
|
|
|
|
## Permissive - attribution/notice only (ship license texts)
|
|
| Library | Bundled as | License |
|
|
|---|---|---|
|
|
| OpenSSL 3 | `libssl.so.3`, `libcrypto.so.3` | Apache-2.0 |
|
|
| Tcl / Tk 8.6 | `libtcl8.6.so`, `libtk8.6.so` | TCL/Tk (BSD-style) |
|
|
| libpng | `libpng16.so.16` | PNG Reference License |
|
|
| zlib | `libz.so.1` | zlib |
|
|
| xz / liblzma | `liblzma.so.5` | 0BSD / public-domain |
|
|
| bzip2 | `libbz2.so.1.0` | bzip2 (BSD-style) |
|
|
| libffi | `libffi.so.8` | MIT |
|
|
| fontconfig | `libfontconfig.so.1` | MIT-style |
|
|
| expat | `libexpat.so.1` | MIT |
|
|
| brotli | `libbrotlicommon/dec` | MIT |
|
|
| X11 client libs | `libX11/Xext/Xrender/Xft/Xau/Xdmcp/Xss` | MIT (X11) |
|
|
| BLT | `libBLT*` | BSD-style |
|
|
|
|
## Already in NOTICE.md (direct deps)
|
|
CPython (PSF), pyusb (BSD-3), pycryptodome (BSD-2 + public-domain), PyInstaller bootloader
|
|
(GPL-2.0 + bootloader exception). The pycryptodome `_raw_*`/`_ghash_*` etc. modules are part of it.
|
|
|
|
## If you build and redistribute the onefile yourself
|
|
|
|
The published release does **not** ship the onefile, so none of the above is an obligation for it. If
|
|
you choose to build one (`build/build.sh`) and hand it to others, **you** become the redistributor of
|
|
everything it embeds and must satisfy those licenses - in particular the LGPL `libudev` and the
|
|
dual-licensed FreeType pulled in by the Tkinter GUI. The simplest way to avoid that burden is a
|
|
CLI-only build that excludes `tkinter`. To enumerate exactly what a given onefile bundles, walk the
|
|
extracted binary's shared objects and map each back to its distribution package.
|