Packages
624 packages, searchable and sortable. Every one of these already exists as a real, built LinuxDoors package.
| Package | Version | Category | Size | Downloads | |
|---|---|---|---|---|---|
expect LFS ch8. LFS ch8. Skips the optional make test. |
5.45.4 | Core System | 205.1 KB | 41 | Download PackageSource Download .tar.gz |
extra-cmake-modulesNot in ISO KDE Frameworks 6 (6.29.0) / Kdenlive dependency. KDE Frameworks 6 (6.29.0) / Kdenlive dependency. Not in BLFS as its own page. ship_in_iso=false -- the whole Kdenlive stack is packages-only, kept out of linuxdoors.iso. ECM+CMake+Ninja, Qt6 from the deployed /opt/qt6-full, --libdir=lib for LinuxDoors' non-multiarch layout. |
6.31.0 | Libraries | 191.5 KB | 46 | Download PackageSource Download .tar.gz |
fast_float Same story as simdutf/fmt -- VTE's meson tries to git-clone fast_float as a wrap subproject otherwise. Same story as simdutf/fmt -- VTE's meson tries to git-clone fast_float as a wrap subproject otherwise. Header-only C++ library, no test suite run (needs git/network for its own test data). |
8.2.10 | Libraries | 52.2 KB | 34 | Download PackageSource Download .tar.gz |
ffmpegNot in ISO BLFS multimedia/ffmpeg.html -- the media engine under MLT, and thus under both Shotcut and Kdenlive. BLFS multimedia/ffmpeg.html -- the media engine under MLT, and thus under both Shotcut and Kdenlive. ship_in_iso=false: the whole video-editing feature is packages-only, kept out of linuxdoors.iso per user direction. Built --enable-gpl --enable-shared with the codec libraries this project now has: libx264/libx265 (H.264/H.265), libvpx (VP8/VP9), libdav1d + libaom (AV1 dec/enc), libmp3lame (MP3), libopus, libvorbis, libass (subtitles). Deliberately NO --enable-nonfree (no fdk-aac). --enable-libxcb pulled from the existing X stack for x11grab. --disable-debug to keep the .so sizes down. Docs/htmlpages off. 2026-10-10: rebuilt as 9.0.2-1 against x265 4.3 (libx265.so.215 -> .so.217). |
9.0.2-1 | Multimedia | 14.6 MB | 40 | Download PackageSource Download .tar.gz |
fftwNot in ISO BLFS general/fftw.html -- FFTW3. BLFS general/fftw.html -- FFTW3. Hard-required by Shotcut 26.8.1 (audio scopes/spectrum) and used by MLT's Plus module. ship_in_iso=false (video-editing feature = packages only). BLFS's three-pass build: double, then --enable-float (fftw3f), then --enable-long-double (fftw3l), all --enable-shared --enable-threads. |
3.3.11 | Libraries | 1.8 MB | 25 | Download PackageSource Download .tar.gz |
file LFS ch8, final native build (no more host-native FILE_COMPILE bootstrap trick needed like file-tmp in ch6/ch7). LFS ch8, final native build (no more host-native FILE_COMPILE bootstrap trick needed like file-tmp in ch6/ch7). Skips the optional make check. |
5.48 | Core System | 911.4 KB | 38 | Download PackageSource Download .tar.gz |
file-tmp LFS ch6 temporary tools stage. LFS ch6 temporary tools stage. Builds a host-native `file` helper first (in build/), since the cross-compiled build needs a same-version file command to generate its magic signature file. |
5.48 | Toolchain | — | 0 | not yet builtSource Download .tar.gz |
findutils LFS ch8, final native build. LFS ch8, final native build. Skips the optional test suite. |
4.11.0 | Core System | 1.4 MB | 36 | Download PackageSource Download .tar.gz |
findutils-tmp LFS ch6 temporary tools stage. |
4.11.0 | Toolchain | — | 0 | not yet builtSource Download .tar.gz |
firefox BLFS xsoft/firefox.html. BLFS xsoft/firefox.html. Real (not vendored) Firefox, per the user's explicit 'reopen the Rust question for real Firefox' direction -- the culmination of the whole LLVM/Rust/NSS/codec-library chain. Needs $PATH to include /opt/rustc/bin and /usr/bin (cbindgen, node, llvm-config). --enable-official-branding requires accepting Mozilla's official branding/trademark terms (used as-is, matching the book). Uses the shared Google Location Service placeholder key from the book itself (a long-published fake key, not a real credential) since geolocation isn't a concern for this project. libevent isn't otherwise built elsewhere in this project -- added as a direct dependency here. --disable-tests / --disable-crashreporter / --disable-updater trim scope (no auto-update infrastructure makes sense for an ISO-based live/installed system anyway). This is by a wide margin the largest single build in the project (BLFS estimates 8.9GB disk / 15 SBU) -- expect a long build time on the VM. `--enable-audio-backends=alsa` added after a real first-attempt failure: the book's own mozconfig template has that line commented out by default, so configure fell through to auto-detecting PulseAudio (not built in this project, alsa-lib was chosen instead) and hard-failed with 'Package libpulse was not found'. Bumped 153.0esr -> 153.1.0esr -> 153.2.0esr (latest ESR-Next point release, 2026-08-31; sha256 verified against Mozilla's SHA256SUMS): sha256 computed directly from a real downloaded tarball (matches the book's published MD5), and the ffmpeg-9.0 compat patch this package needed at 153.0esr is gone -- confirmed directly against the live BLFS book page (zero 'patch' references anywhere in the current firefox.html), so the old `extra_sources` entry and its `patch -Np1` step in build.sh were dropped rather than carried forward blind. Security/update pass 2026-10-14. 153.5.0esr, sha256 matches Mozilla SHA256SUMS. |
153.5.0esr | Browser | 98.6 MB | 154 | Download PackageSource Download .tar.gz |
flashphoto FlashPhoto -- a photograph viewer and editor, from Stan Switaj (programmer/creator of LinuxDoors). FlashPhoto -- a photograph viewer and editor, from Stan Switaj (programmer/creator of LinuxDoors). Free. Hand-authored (not upstream anywhere); FlashPhoto.py is tarred as a pinned local source the same way packages/flashscp and packages/sudo are. This is the installable-package build: it uses the system Python + PySide6 + Qt6 (depends: pyside6 -> which pulls qt6-full and, transitively, qtwebengine) and the system libjpeg-turbo for jpegtran (lossless JPEG crop/rotate -- the app disables that path with a clear message if jpegtran is missing rather than failing). Pillow is an optional fallback for a few formats Qt cannot read; there is no Pillow package in LinuxDoors so those formats are simply unavailable in the package build (they work in the self-contained AppImage, which carries Pillow). The lightweight alternative is FlashPhoto.AppImage on the LinuxDoors AppImage Store. build.sh installs FlashPhoto.py to /usr/lib/flashphoto/, a /usr/bin/flashphoto wrapper, a flashphoto.desktop in Categories=Graphics, and the 256px icon into hicolor + pixmaps. ship_in_iso=false. |
1.0 | Graphics | 195.3 KB | 103 | Download PackageSource Download .tar.gz |
flashscp FlashScp -- a two-pane scp-over-SSH file-transfer GUI, from Stan Switaj (programmer/creator of LinuxDoors), created 2026-08-30. FlashScp -- a two-pane scp-over-SSH file-transfer GUI, from Stan Switaj (programmer/creator of LinuxDoors), created 2026-08-30. Free. Not upstream anywhere -- FlashScp.py (a ~4,840-line PySide6/Qt6 app) is a hand-authored asset, tarred as a pinned local source (flashscp-2026.08.30.tar.gz in download/, sha pinned) the same way packages/sudo and LinuxUltraOffice's branding assets are. This is the installable-package build: it uses the system Python + PySide6 + Qt6 (depends: pyside6 -> which itself pulls qt6-full and, transitively, qtwebengine -- ~290MB total, since there is no pyside6-base split) and the system ssh/scp/sshpass. The lightweight alternative is the self-contained FlashScp.AppImage on the LinuxDoors AppImage Store (linuxdoors.com/appimages), which carries its own Python + Qt + sshpass in one ~50MB file. build.sh installs FlashScp.py to /usr/lib/flashscp/, a /usr/bin/flashscp wrapper (python3 that script), a /usr/share/applications/flashscp.desktop in Categories=Network (Applications > Internet), and the 256px FlashScp.png as the hicolor + pixmaps icon. The app draws its own window icon programmatically (draw_bolt()) so it needs no icon file to run. FlashScp deliberately drives the real ssh/scp/sshpass as child processes -- no bundled SSH library -- so keys, ~/.ssh/config, the agent, known_hosts, ProxyJump and key+password hosts all behave as in a terminal. ship_in_iso=false. Verified on the .101 fast computer via Xvfb. || 2026.08.30 -> 2026.09.24 (2026-09-24): the folder-copy "already there, skip it" check now verifies by SHA-256 at both ends once file sizes match, instead of trusting size alone -- an edit that happens to leave a file's length unchanged (the ordinary case while someone is actively working on a file) used to be silently skipped as "already copied"; now only a genuine content match skips it, and a size match that turns out to differ is sent. Only same-size files are hashed (a normal transfer with no naming collisions costs nothing extra), and the far end is asked for its hashes once for the whole batch via whichever of sha256sum/shasum/openssl it has, not once per file. Text and description also picked up: a real text_description_flashscp.txt now ships (previously referenced by appimages.json but never actually present, so the site's "Read full description" toggle never rendered for this app). || 2026.09.24 -> 2026.09.30 (2026-09-30): two real bugs fixed, both around key-based auth. (1) A private key locked with a passphrase never worked -- with no password ticked, the connection used BatchMode, which suppresses every prompt ssh can make including the key's own passphrase prompt, so ssh refused the key unread ('Permission denied (publickey)', reading as a wrong key rather than a locked one); with a password ticked, sshpass answered the passphrase prompt with the machine's password instead, so the key still failed and the password was spent for nothing. Fixed with a new Key passphrase field (a genuinely separate secret from the machine's password -- a machine can want both) and a small helper program handed to ssh via SSH_ASKPASS that inspects the actual prompt text to decide which of the two secrets to answer with -- the one thing sshpass structurally cannot do, since it answers every prompt with the same single secret. Also fixed in the same area: a password typed into the field was previously ignored unless its own tick was on (backwards -- the tick now only means 'ask me for one if I have not given you one'), and a secret you decline to save no longer gets silently written back into its own on-screen field (where Show would reveal it and the next Save would persist it) -- it is now held aside for the session instead, surviving every form repaint without ever reappearing on screen unless typed again. (2) Browse-for-a-key showed an empty file picker on any machine running xdg-desktop-portal, since the OS portal chooser (a separate process) was the one coming up empty, not FlashScp's own listing -- fi |
2026.10.04 | Networking | 241.4 KB | 130 | Download PackageSource Download .tar.gz |
flashzip FlashZip -- an archive manager, from Stan Switaj (programmer/creator of LinuxDoors). FlashZip -- an archive manager, from Stan Switaj (programmer/creator of LinuxDoors). Free. Hand-authored (not upstream anywhere); FlashZip.py is tarred as a pinned local source the same way packages/flashscp and packages/sudo are. This is the installable-package build: it uses the system Python + PySide6 + Qt6 (depends: pyside6 -> qt6-full -> qtwebengine). The zip and tar families are handled by Python's own zipfile/tarfile with no extra dependency; 7z support is opportunistic -- it uses the optional py7zr module or an external 7z/7za binary if either is present, and there is no such package in LinuxDoors, so out of the box the package build reads/writes zip and tar.* only (the self-contained AppImage carries a 7z tool). build.sh installs FlashZip.py to /usr/lib/flashzip/, a /usr/bin/flashzip wrapper, a flashzip.desktop in Categories=Utility;Archiving, and the 256px icon. ship_in_iso=false. |
1.0 | Utilities | 276.2 KB | 85 | Download PackageSource Download .tar.gz |
flex LFS ch8. LFS ch8. Skips the optional make check. |
2.6.4 | Core System | 542.6 KB | 39 | Download PackageSource Download .tar.gz |
flit-core LFS ch8. LFS ch8. Python package built as a wheel and pip-installed offline (--no-index), needed as a build backend for other Python packages further down the real order (setuptools, etc). |
4.1.0 | Core System | 735 B | 41 | Download PackageSource Download .tar.gz |
fmt Same story as simdutf -- VTE's meson.build hard-requires fmt and tries to git-clone it as a wrap subproject, which fails without git. Same story as simdutf -- VTE's meson.build hard-requires fmt and tries to git-clone it as a wrap subproject, which fails without git. Built directly instead. FMT_TEST=OFF. |
12.2.0 | Libraries | 244.2 KB | 40 | Download PackageSource Download .tar.gz |
fontconfig BLFS. BLFS. Skips the optional test suite (needs network + kernel userns support). |
2.18.3 | Libraries | 1.2 MB | 36 | Download PackageSource Download .tar.gz |
fpcNot in ISO Free Pascal Compiler 3.2.2 -- the Pascal toolchain LinuxDoors needs to build Lazarus, and through Lazarus, LazPaint. Free Pascal Compiler 3.2.2 -- the Pascal toolchain LinuxDoors needs to build Lazarus, and through Lazarus, LazPaint. Not in LFS/BLFS. ship_in_iso=false: a real installable/downloadable package (dependency of lazarus -> lazpaint), deliberately kept OUT of linuxdoors.iso -- same treatment as gimp. Built from source (fpc-3.2.2.source.tar.gz), bootstrapped with FPC's own official prebuilt 'starting compiler' ppcx64 (extra_sources: fpc-3.2.2.x86_64-linux.tar, from which build.sh unpacks only base.x86_64-linux.tar.gz far enough to get a working ppcx64) -- exactly the way GCC needs an existing C compiler to bootstrap; you cannot compile a Pascal compiler without a Pascal compiler. build.sh: unpack starting compiler -> 'make all PP=<bootstrap ppcx64>' (compiler + rtl + fcl/packages + utils) -> 'make install INSTALL_PREFIX=$PKG_DESTDIR/usr' -> add /usr/bin/ppcx64 symlink -> generate /etc/fpc.cfg via fpcmkcfg with basepath=/usr/lib/fpc/$fpcversion so unit search paths resolve to the real post-rsync /usr locations. Built on the .101 fast computer (config/vm.json host), which has no prior Pascal toolchain. MAKEFLAGS is unset in build.sh and the FPC build run at -j1 -- FPC's own recursive make has known -j races in the packages stage and it compiles fast enough single-threaded that determinism is worth more here. |
3.2.2 | Development | 75.6 MB | 27 | Download PackageSource Download .tar.gz |
frameworkintegrationNot in ISO KDE Frameworks 6 (6.29.0) module for the KDE Plasma chain. KDE Frameworks 6 (6.29.0) module for the KDE Plasma chain. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work. |
6.31.0 | Libraries | 92.3 KB | 30 | Download PackageSource Download .tar.gz |
freedomfox FreedomFox -- a hardened, deep-rebranded Firefox for LinuxDoors, based on LibreWolf. FreedomFox -- a hardened, deep-rebranded Firefox for LinuxDoors, based on LibreWolf. LibreWolf is an MPL-2.0 community fork of Firefox focused on privacy/security; this package applies LibreWolf's privacy layer to a current Firefox ESR and rebrands the identity to FreedomFox (LinuxDoors). NOT a mirror of LibreWolf and NOT official LibreWolf -- LibreWolf's own branding-removal and branding patches are deliberately skipped and replaced with original FreedomFox (LinuxDoors-family) art, exactly as LibreWolf itself does to Firefox and as this project already does for LinuxUltraOffice<-LibreOffice and ungoogled-chromium<-Chromium. || BASE: firefox-153.2.0esr.source.tar.xz (the same source packages/firefox builds; carries the current Firefox-ESR security fixes -- 'latest security updates from firefox'). LibreWolf's patch set on gitlab.com/librewolf-community/browser/source targets Firefox 149, so this is a real rebase: build.sh applies the privacy/behaviour/build patches best-effort (patch --forward --fuzz=3), logs any that don't apply to $SRC_DIR/freedomfox-patch-report.txt, and continues -- the version-INDEPENDENT settings/ layer (settings/librewolf.cfg -> renamed freedomfox.cfg, an ~786-line autoconfig locking RFP/telemetry-off/strict-cookies/no-Pocket/no-sponsored/etc, plus local-settings.js and distribution/policies.json) carries the bulk of the hardening regardless of which source patches fuzz. LibreWolf's branding + non-Linux patches (moz-official, vendor-name, mozilla_dirs, firefox-in-ua, xdg-dir, dbus_name, arm/macos/windows/musl/tumbleweed/flatpak) are SKIPPED. || OVERLAY: extra_sources freedomfox-overlay-153.2.0esr.tar.gz is assembled locally from LibreWolf source repo @135b0253 (patches/, patches.txt, mozconfig.new -- MPL-2.0) + codeberg.org/librewolf/settings @b4891cbb (librewolf.cfg/local-settings.js/policies.json -- MPL-2.0, LICENSE.txt included) -- see PROVENANCE.txt inside it. || BUILD: mozconfig = packages/firefox's proven system-lib set (system av1/icu/libevent/libvpx/nspr/nss/webp/jpeg/png/zlib, ALSA, --host/--target=x86_64-unknown-linux-gnu for .101's clang triple, RUST_MIN_STACK=256MiB for the gkrust fat-LTO stack crash) + LibreWolf hardening flags from mozconfig.new (--enable-hardening --enable-stl-hardening --disable-default-browser-agent --allow-addon-sideload --with-unsigned-addon-scopes=app,system, MOZ_REQUIRE_SIGNING= , CFLAGS/CXXFLAGS -ftrivial-auto-var-init=zero -fwrapv) + --with-branding=browser/branding/freedomfox --with-app-name=freedomfox, MOZ_APP_DISPLAYNAME=FreedomFox MOZ_APP_VENDOR=LinuxDoors MOZ_APP_REMOTINGNAME=freedomfox. Drops LibreWolf's --enable-bootstrap / --with-l10n-base (system toolchain + en-US only, same as packages/firefox). Branding art is generated in build.sh with pycairo on .101 (flat, crisp, door/gold/violet palette -- the LinuxDoors family mark, consistent with the site/installer/GRUB/LinuxUltraOffice; no fox motif, no Firefox/LibreWolf logo). distribution/policies.json is LibreWolf's merged with a locked general.useragent.override adding 'LinuxDoors/<ver>' (the browser-Install-detection tag on linuxdoors.com, same mechanism packages/firefox uses) and FreedomFox support URLs. || ship_in_iso: true -- user asked for it bundled in linuxdoors.iso alongside Firefox and ungoogled-chromium, once built + GUI-verified on .101. || Expect this to be a multi-hour, multi-iteration build (Firefox-scale + a patch-rebase phase), same discipline as packages/firefox and packages/linuxultraoffice. || 153.2.0esr-lw1 -> 155.0.1-lw1 (2026-09-14): rebased onto Firefox's REGULAR/rapid-release channel (155.0.1, real sha256 verified against Mozilla's own published SHA256SUMS) rather than another ESR point release, per explicit user direction to track what a real desktop Firefox install actually runs -- packages/firefox itself deliberately stays on 153.2.0esr, unaffected. Real risk going in, confirmed rather than assumed: LibreWolf's own patches are only ever tested against ESR, never the rapid channel, s |
158.0-lw1 | Browser | 103.2 MB | 83 | Download PackageSource Download .tar.gz |
freetype2 BLFS, first package of the X11/XFCE desktop stack. BLFS, first package of the X11/XFCE desktop stack. --with-harfbuzz=dynamic avoids the classic freetype/harfbuzz circular dependency (dlopen-based, no two-pass build needed). Skips optional docs and the optional APNG patch. |
2.15.0 | Libraries | 2.2 MB | 38 | Download PackageSource Download .tar.gz |
frei0rNot in ISO BLFS multimedia/frei0r.html -- frei0r video effect plugin collection, used by MLT (-DMOD_FREI0R=ON) so Shotcut/Kdenlive get their filter/transition library. BLFS multimedia/frei0r.html -- frei0r video effect plugin collection, used by MLT (-DMOD_FREI0R=ON) so Shotcut/Kdenlive get their filter/transition library. ship_in_iso=false (video-editing feature = packages only). CMake; optional OpenCV/cairo facedetect/cairo plugins left off (not built here). --libdir=lib for LinuxDoors' non-multiarch layout. |
3.6.0 | Multimedia | 1.2 MB | 37 | Download PackageSource Download .tar.gz |
fribidi BLFS. BLFS. Bidirectional text algorithm, needed by pango -- a real dependency that surfaced as a build failure (pango's meson.build requires it) rather than being pre-planned. Skips the optional test suite. |
1.0.17 | Libraries | 65.7 KB | 40 | Download PackageSource Download .tar.gz |
fuse3 Real libfuse3, added specifically so an AppImage (type2, squashfs-embedded) can run directly -- ./X.AppImage, or a plain double-click with the executable bit set -- exactly the way it does on every other real Linux di... Real libfuse3, added specifically so an AppImage (type2, squashfs-embedded) can run directly -- ./X.AppImage, or a plain double-click with the executable bit set -- exactly the way it does on every other real Linux distro, with no LinuxDoors-specific wrapper needed at all. Before this, LinuxDoors shipped no FUSE support whatsoever (CONFIG_FUSE_FS was never set in packages/linux's kernel config, confirmed via the real built config), so any AppImage's own internal FUSE-mount attempt failed immediately with 'Cannot mount AppImage, please check your FUSE setup' and the process exited before the application ever started -- the only way to run one at all was the extract-and-run fallback via the linuxdoors-run-appimage wrapper. Real upstream source (github.com/libfuse/libfuse, tag fuse-3.18.3, the current stable release, real sha256 computed from the actual downloaded tarball). Plain meson build, minimal real dependencies (only pthread -- liburing/libnuma for the optional io_uring path are both 'required: false' in the real meson.build and simply skipped since neither is built in this project). 'useroot=true' (the real, documented meson option, on by default) makes libfuse's own install step set the owner/setuid bits on fusermount3/mount.fuse3 automatically when 'ninja install' runs as actual root -- exactly the exec_context here (chroot_root) -- so no separate manual chmod/chown step is needed; setuid fusermount3 is the same traditional, universally-compatible mechanism every mainstream distro ships, letting an unprivileged user mount their own FUSE filesystem (fusermount3 itself does the actual privilege/safety validation internally, the same way this project's own hand-authored packages/sudo delegates its real security decisions to PAM rather than reinventing them). Also installs the real upstream udev rule (util/udev.rules: 'KERNEL=="fuse", MODE="0666"', to /usr/lib/udev/rules.d/ so /dev/fuse is usable by a regular user the moment the kernel module/built-in driver creates it) and the real upstream /etc/fuse.conf template (util/fuse.conf, documenting user_allow_other/mount_max -- shipped commented-out/inert, matching upstream's own default). Companion to a packages/linux kernel-config change enabling CONFIG_FUSE_FS -- the real root-cause fix for 'AppImages must load directly, no wrapper, on every desktop environment LinuxDoors provides' (explicit user requirement) rather than only ever relying on the extract-and-run wrapper. linuxdoors-run-appimage is NOT removed or deprecated by this -- it stays as the recommended path for keeping a *persistent* extraction cache across reboots (since /tmp is tmpfs) for anyone who prefers that, but a bare +x'd AppImage now also just works on its own, matching every other real Linux distribution. |
3.18.3 | Core System | 196.4 KB | 18 | Download PackageSource Download .tar.gz |