Packages

591 packages, searchable and sortable. Every one of these already exists as a real, built LinuxDoors package.

PackageVersionCategorySizeDownloads
libxml2
BLFS.
BLFS. Needed by at-spi2-core -- a real dependency that surfaced as a build failure. -D icu=disabled (book's icu=enabled needs the ICU library, which we haven't built and don't otherwise need). Skips the optional docs and test suite.
2.15.3 Libraries 801.4 KB 20 Download
libxmlb
BLFS general/libxmlb.html (binary XML cache format).
BLFS general/libxmlb.html (binary XML cache format). Real, needed AppStream dependency (packages/appstream) -- see that package's notes for why AppStream turned out to be a genuine GIMP 3.2.4 hard requirement after all (a second, separate meson.build check beyond the appdata-test validation flag). Skips gtk-doc and the test suite.
0.3.29 Libraries 287.1 KB 19 Download
libxslt
BLFS general-libraries.
BLFS general-libraries. Provides xsltproc, hard-required by xfce4-dev-tools' configure (surfaced as a real build failure). without-python (no python bindings needed). Skips the optional test suite and the docbook-xml/docbook-xsl-nons runtime recommendations (not built).
1.1.45 Libraries 740.6 KB 20 Download
libyaml
Not in BLFS -- upstream YAML C library (yaml.org / github.com/yaml/libyaml), plain autotools build.
Not in BLFS -- upstream YAML C library (yaml.org / github.com/yaml/libyaml), plain autotools build. Added specifically because xfdesktop's own configure.ac (checked directly in this exact source tree, packages/xfdesktop) gates its 'file-icons' feature (ENABLE_FILE_ICONS, which XFCE_DESKTOP_ICON_STYLE_FILES needs at runtime) behind 'yaml-0.1 >= 0.2.5' via pkg-config -- a dependency this project had never built, so xfdesktop silently compiled WITHOUT desktop file-icon support (no build error, config.log just logged 'dependencies missing: yaml-0.1 >= 0.2.5'). Discovered live via the Phase 1.5 installer boot test, when setting /desktop-icons/style=2 produced 'CRITICAL: Unusable XfceDesktopIconStyle: 2' -- traced to xfdesktop-application.c's ENABLE_FILE_ICONS-gated switch case simply not existing in the compiled binary. 0.2.5 is both the exact minimum version xfdesktop's configure.ac requires and the current latest stable upstream release. xfdesktop must be rebuilt after this package so its configure re-detects yaml-0.1.pc.
0.2.5 Libraries 174.6 KB 19 Download
lightdm
BLFS.
BLFS. sbindir=/usr/bin (book's own choice, not a typo -- the lightdm binary really lands at /usr/bin/lightdm). Creates the lightdm system user/group live (idempotent guard, uid/gid 65) before the destdir install so the packaged /var/lib/lightdm* and /var/log/lightdm directories can be chowned to a real uid inside $PKG_DESTDIR. Writes /etc/pam.d/lightdm (auth/account/session/password all `include system-*`, same pattern as su/login) and a lightdm.service systemd unit + the display-manager.service/default.target symlinks that `systemctl enable lightdm && systemctl set-default graphical.target` would produce -- done at package-build time instead of a live systemctl call since there's no running PID 1 mid-build. KNOWN GAP: doesn't run `make install-lightdm` from the external 'blfs-systemd-units' package BLFS references -- that unit's content isn't verified from a live book fetch, so a standard lightdm.service was hand-written instead (Description/After/Before/ExecStart=/usr/bin/lightdm/Restart=always/BusName, Alias=display-manager.service), matching the well-established cross-distro convention. Skips --with-libxklavier for lightdm-gtk-greeter (not built). REAL BUG found on first graphical-login test: /etc/pam.d/lightdm originally had no `pam_systemd.so` anywhere in its session stack (system-session is just pam_unix.so, per BLFS's own generic Linux-PAM page) -- without it, systemd-logind never registers the desktop user's session, so XDG_RUNTIME_DIR/DBUS_SESSION_BUS_ADDRESS aren't set up correctly and D-Bus-session-dependent things (xfconfd, hence XFCE's 'could not contact settings server') fail. Fixed by adding `session optional pam_systemd.so` (standard practice for any systemd-based display manager's PAM stack -- see `man pam_systemd`).
1.32.0 Desktop 869.0 KB 20 Download
lightdm-gtk-greeter
BLFS.
BLFS. The actual GTK login screen lightdm.conf's [Seat:*] greeter-session points at. Uses --with-libxklavier since it turned out lightdm itself hard-requires libxklavier anyway (see lightdm's notes), so it's available here too.
2.0.9 Desktop 247.4 KB 20 Download
linux
LFS ch10 kernel -- never built until ISO assembly needed a real vmlinuz (linux-headers only extracted sanitized headers, no compilation).
LFS ch10 kernel -- never built until ISO assembly needed a real vmlinuz (linux-headers only extracted sanitized headers, no compilation). Non-interactive config: `make defconfig` + scripts/config fragment edits (verified against the real Kconfig symbol names in this exact source tree, not guessed) + `make olddefconfig`, since `make menuconfig` needs a real TTY we don't have over this automation. Config choices: LFS book's own standard recommendations (cgroups/memcg for systemd, devtmpfs, EFI support) plus live-boot/QEMU-specific additions -- squashfs/overlayfs/iso9660/loop/ahci/ata_piix/virtio-blk built in (=y) so the hand-written initramfs can mount root without needing modprobe; video/USB/extra virtio drivers left as modules (=m), loaded normally post-switch_root by the already-working udev/kmod stack. depends on xfce4-notifyd purely for chain-of-convenience ordering (same pattern as other late additions), not a real dependency. Skips the book's Documentation/ copy (multi-GB, not needed for boot). SQUASHFS_ZSTD + SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU added later, per explicit user request to speed up app launch off the live (compressed, read-only) root -- the original config only had CONFIG_SQUASHFS_ZLIB (gzip), the slowest-to-decompress option, and single-threaded decompression (CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE); build_iso.sh was switched from `-comp gzip` to `-comp zstd` to match. SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU/SINGLE/MULTI is a real Kconfig `choice` block (exactly one selectable) -- confirmed by reading the actual fs/squashfs/Kconfig in this source tree before editing, not guessed. BPF_SYSCALL/BPF_JIT/DEBUG_INFO_BTF/SCHED_CLASS_EXT added later for sched_ext (BPF-pluggable CPU schedulers, e.g. scx_bpfland/scx_lavd), per explicit user request. Confirmed the real dependency chain by reading kernel/Kconfig.preempt and lib/Kconfig.debug directly in this source tree: `config SCHED_CLASS_EXT` depends on `BPF_SYSCALL && BPF_JIT && DEBUG_INFO_BTF`; `DEBUG_INFO_BTF` itself depends on `PAHOLE_VERSION >= 122` (needs the `pahole` tool from the `dwarves` project on PATH during the build to convert DWARF into BTF) and on `DEBUG_INFO` being enabled, which is NOT the default here (`DEBUG_INFO_NONE=y` originally) -- `DEBUG_INFO_NONE` disabled and `DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT` enabled instead (a real Kconfig `choice` block under `lib/Kconfig.debug`, same pattern as the squashfs one) to actually produce DWARF for pahole to convert. This kernel rebuild is sequenced AFTER a new `dwarves` package (see packages/dwarves) so pahole is on PATH when this Makefile invokes it. FUNCTION_TRACER added after scx_bpfland/scx_lavd built+installed but failed to actually attach at runtime (`Error: Failed to attach non-struct_ops BPF programs / Caused by: Device or resource busy (os error 16)`) -- diagnosed by running both binaries directly in a foreground shell instead of via systemd, which surfaced scx_lavd's own `Ftrace is not enabled in the kernel` log line and confirmed against the real built .config that CONFIG_FUNCTION_TRACER was unset. scx's shared common-lib code (the `scx_lib_init_probe` compat probe, used regardless of which scheduler is chosen) attaches BPF fentry/fexit trampoline programs via the kernel's ftrace direct-call infrastructure on x86_64, which requires CONFIG_FUNCTION_TRACER. Confirmed via the real kernel/trace/Kconfig in this source tree that DYNAMIC_FTRACE/DYNAMIC_FTRACE_WITH_REGS/DYNAMIC_FTRACE_WITH_DIRECT_CALLS are all `def_bool y` once FUNCTION_TRACER + the arch's HAVE_* symbols are satisfied, so only FUNCTION_TRACER itself needs to be added here; `make olddefconfig` resolves the rest. CPU_FREQ_DEFAULT_GOV_USERSPACE flipped to CPU_FREQ_DEFAULT_GOV_PERFORMANCE per explicit user request to speed up app launch/desktop responsiveness. Real finding: this x86_64 defconfig had baked in 'userspace' as the default cpufreq governor -- confirmed by reading the actual choice block in drivers/cpufreq/Kconfig, whose own smart c
7.2.3 System 102.6 MB 20 Download
linux-headers
LFS ch5 sanitized kernel headers for $LFS/usr/include.
LFS ch5 sanitized kernel headers for $LFS/usr/include. No compilation, just header extraction -- gcc-pass1 needs this before glibc can be configured.
7.1.7 Core System 2.0 MB 21 Download
linux-pam
BLFS postlfs/linux-pam -- added because lightdm hard-requires PAM for authentication (the system was built without PAM since chapter 7, using plain glibc crypt via su/chroot).
BLFS postlfs/linux-pam -- added because lightdm hard-requires PAM for authentication (the system was built without PAM since chapter 7, using plain glibc crypt via su/chroot). Writes the base /etc/pam.d/{system-account,system-auth,system-session,system-password,other} files BLFS documents. shadow and systemd both need to be rebuilt afterward to pick up PAM support -- see their own updated notes. Skips ninja test (needs a live PAM-aware login to exercise).
1.7.2 System 450.1 KB 19 Download
linuxpropaintshopNot in ISO
LinuxProPaintShop -- a layered raster image editor, by Stan Switaj (creator of LinuxDoors).
LinuxProPaintShop -- a layered raster image editor, by Stan Switaj (creator of LinuxDoors). Free. Hand-authored (not upstream anywhere); LinuxProPaintShop.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). All of the imaging -- layers, blend modes, the brush engine, the filters -- is the program's own code over Qt's QImage/QPainter plus Python's zlib, so no imaging library is needed. build.sh installs LinuxProPaintShop.py to /usr/lib/linuxpropaintshop/, a /usr/bin/linuxpropaintshop wrapper, a linuxpropaintshop.desktop in Categories=Graphics, and the 256px icon. ship_in_iso=false.
1.0 Graphics 502.1 KB 4 Download
linuxultraoffice
LinuxUltraOffice -- a deep-rebranded LibreOffice-derived productivity suite for LinuxDoors OS (Writer/Calc/Impress launcher entries now, Draw/Base/Math added to the menu later; all six are already part of this one bui...
LinuxUltraOffice -- a deep-rebranded LibreOffice-derived productivity suite for LinuxDoors OS (Writer/Calc/Impress launcher entries now, Draw/Base/Math added to the menu later; all six are already part of this one build, since LibreOffice ships as a single monolithic suite -- there is no way to build 'just Writer'). Real source verified directly from download.documentfoundation.org (not guessed); sha256 computed for real, not a placeholder. Deep rebrand via LibreOffice's own documented, real configure flags: --with-branding=<dir containing intro.png/intro-highres.png/logo.svg/logo_inverted.svg/logo-sc.svg/logo-sc_inverted.svg/about.svg -- confirmed exact filenames directly from configure.ac's brand_files list, not guessed>, --with-vendor, --with-product-name (confirmed real: 'Define the product name. Default is LibreOffice.'). No Java anywhere in this project -- built with --without-java --without-junit (LibreOffice's own README confirms JDK 17+ is normally required for 'many parts', but it's a real, supported, documented off switch). GTK3-only (matches this project's own XFCE stack); GTK4/Qt5/Qt6/KF5/avahi/evolution2/gstreamer/breakpad/online-update/beanshell+javascript-scripting/ODK/epm all explicitly disabled -- none of those are built anywhere else in this project and none are needed for Writer/Calc/Impress. --enable-python=internal (matches TDF's own real Linux release config -- LO's Python (Pyuno) integration is version/ABI-sensitive; building its own bundled interpreter avoids a real compatibility risk against this project's own separately-built python3.14, at the cost of extra build time). DESTDIR handling verified for real by reading solenv/bin/ooinstall directly -- it does honor $ENV{DESTDIR} (unlike a naive assumption that LibreOffice's own INSTALLDIR-based install target wouldn't cooperate with this project's usual 'make DESTDIR=$PKG_DESTDIR install' convention). Installs under /usr/lib/libreoffice (--with-install-dirname does not actually exist as a real configure flag -- a dead code reference in configure.ac was mistaken for one on the first attempt, a real fixed bug; INSTALLDIRNAME is hardcoded to the lowercased package name and can't be overridden -- harmless, since this internal directory name is invisible to end users), the common real-world distro convention for a self-contained LibreOffice tree, with our own hand-written rebranded wrapper scripts (/usr/bin/linuxultraoffice-writer etc.) and .desktop launchers layered on top in this build.sh (not relying on LO's own generated menu entries, which would still say LibreOffice). Real printing support via --enable-cups once packages/cups existed (added specifically for this, see that package's own notes) with --with-tls=openssl (avoids a new GnuTLS/nettle dependency chain by reusing this project's already-built openssl). --disable-postgresql-sdbc since Base's PostgreSQL connector needs Kerberos 5 (krb5_sendauth), never built here, and Base itself isn't menu-exposed yet anyway. || 26.2.5.2 -> 26.2.6.1 bump (latest bugfix on the 26.2 branch). Two new build fixes, both .101-toolchain-specific, neither present at 26.2.5.2 time: (1) Skia (LibreOffice compiles its bundled Skia with clang, hardcoded) died with "'cstddef' file not found" -- clang's Debian-multiarch heuristic now selects the stub GCC dir /usr/lib/gcc/x86_64-linux-gnu/14 (libgcc/CRT only, no libstdc++ headers), left there by the Chromium-152 toolchain fix, over the real /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.0. Fixed with a tiny clang wrapper forcing --gcc-install-dir at the real GCC tree, wired in as LO_CLANG_CC/CXX (build.sh, guarded on the stub dir existing). (2) bundled curl 8.21.0 failed: its configure link-detects memset_explicit (glibc >=2.39 has the symbol) and #defines HAVE_MEMSET_EXPLICIT, but glibc only DECLARES it under _ISOC23 and curl compiles as gnu11 -> implicit-declaration, a hard error under GCC 14. build.sh now passes --with-system-curl (.101's own curl is 8.21.0, same toolchain, libcurl.p
26.2.6.1 Office 292.0 MB 39 Download
linuxultraoffice-addons
LinuxUltraOffice Addons -- adds Draw, Base, and Math to your Applications menu; it's only a few KB because Draw/Base/Math are already fully built into the same soffice binary the main linuxultraoffice package installs...
LinuxUltraOffice Addons -- adds Draw, Base, and Math to your Applications menu; it's only a few KB because Draw/Base/Math are already fully built into the same soffice binary the main linuxultraoffice package installs, so this package is just the launcher scripts, icons, and menu entries, not a second copy of the suite. Requested explicitly after the core Writer/Calc/Impress package shipped. No source download, no recompile: Draw/Base/Math are already fully compiled and present inside the same soffice binary the main linuxultraoffice package installs (LibreOffice ships as one monolithic suite -- see packages/linuxultraoffice/metadata.json's own notes). This package is purely wrapper scripts (/usr/bin/linuxultraoffice-draw/-base/-math, each just 'exec .../soffice --draw' etc., identical pattern to the main package's own writer/calc/impress wrappers), matching .desktop launcher entries, and three new app icons (same visual construction/palette as the website's own app_icon_svg() for these three apps, for brand consistency between linuxultraoffice.com and the OS). Real runtime dependency, not build-time only: the linuxultraoffice package must actually be installed first for these wrappers to have anything to exec -- not enforced by the client-side package manager (its 'depends' field is a build-time-only concept for this project's own engine, the OS-side installer doesn't check it), same as any real Linux package manager without a strict dependency solver would behave if a user skipped a listed dependency.
26.2.6.1 Office 2.3 KB 27 Download
llvm
BLFS general/llvm.html.
BLFS general/llvm.html. Foundational piece for the Rust+Firefox chain (user's explicit 'reopen the Rust question for real Firefox' direction). Only clang is enabled under LLVM_ENABLE_PROJECTS (no clang-tools-extra/lld/etc -- not needed by Rust or Firefox). LLVM_TARGETS_TO_BUILD trimmed to 'host;BPF' (book says host;AMDGPU, but this is a QEMU-only x86_64 system -- no AMD GPU target needed; BPF added later, real build failure -- the sched_ext/scx package's BPF-side compilation (`clang -target bpf ...`) failed with "unable to create target: 'No available targets are compatible with triple bpf'" against the original host-only build, since the BPF backend wasn't compiled into clang at all). Tests skipped (23GB/19 SBU extra, never exercised elsewhere in this project either).
22.1.8 Development 241.5 MB 21 Download
lm-sensors
lm_sensors -- libsensors for hardware monitoring.
lm_sensors -- libsensors for hardware monitoring. libksysguard / ksystemstats sensor plugin needs it. ship_in_iso=true: libsensors.so.5 is a transitive dependency of the shipped Qt6 stack (libQt6Core -> ... -> libsensors), so the bundled FlashPhoto/FlashScp Qt apps and PySide6 fail to import without it.
3.6.0 Libraries 135.4 KB 20 Download
luaNot in ISO
Lua 5.1.5 -- last of the 5.1 series.
Lua 5.1.5 -- last of the 5.1 series. EFL 1.28 requires a system Lua 5.1 (or 5.2, or luajit) interpreter; 5.4 is not accepted. Plain Makefile build (BLFS lua-5.1 recipe): installs the shared lib + headers + a hand-written lua.pc so pkg-config finds it (upstream ships none). ship_in_iso=false -- only pulled in by EFL/Enlightenment.
5.1.5 Libraries 289.3 KB 4 Download
lxde-icon-theme
BLFS (older release page -- still current upstream, no newer version exists).
BLFS (older release page -- still current upstream, no newer version exists). The nuoveXT2 icon set. xfce4-settings and general XFCE UI list a real icon theme (gnome-icon-theme or lxde-icon-theme) as a Required Runtime dependency -- we already declined adwaita-icon-theme because librsvg needs Rust; lxde-icon-theme ships pre-rendered PNGs and has no such dependency, so it's the real icon set for this build instead of the empty hicolor fallback. Just ./configure --prefix=/usr && make install, no test suite.
0.5.1 Libraries 4.6 MB 20 Download
lxml
Not in BLFS's own package list -- pulled in because itstool (needed by lightdm) requires the Python lxml module.
Not in BLFS's own package list -- pulled in because itstool (needed by lightdm) requires the Python lxml module. Builds as a C extension against our already-built libxml2/libxslt headers; the sdist ships pre-generated Cython .c files so no Cython build-time dependency is needed. Same pip-wheel pattern as mako/pyyaml.
6.1.1 Libraries 10.4 MB 18 Download
lxqt-build-toolsNot in ISO
LXQt shared CMake modules + a couple helper scripts.
LXQt shared CMake modules + a couple helper scripts. Build-time dep of every other LXQt package. LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout.
2.4.0 Libraries 22.9 KB 4 Download
lxqt-configNot in ISO
LXQt Configuration Center (appearance, monitor, keyboard/mouse, locale, autostart).
LXQt Configuration Center (appearance, monitor, keyboard/mouse, locale, autostart). LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout.
2.4.0 Libraries 914.5 KB 3 Download
lxqt-desktopNot in ISO
One-statement installer for the full LXQt 2.4 desktop -- 'pkg install lxqt-desktop' resolves the whole component set (session/panel/config/runner/notificationd/globalkeys/policykit/powermanagement/qtplugin/themes/menu...
One-statement installer for the full LXQt 2.4 desktop -- 'pkg install lxqt-desktop' resolves the whole component set (session/panel/config/runner/notificationd/globalkeys/policykit/powermanagement/qtplugin/themes/menu-data/openssh-askpass/lxqt-sudo/pcmanfm-qt/qterminal/obconf-qt/openbox) plus their transitive deps (liblxqt, libfm-qt, qtermwidget, qt6-full, kwindowsystem, layer-shell-qt, ...). Ships no binaries -- just /usr/share/doc/lxqt-desktop/README as a marker so the zip/manifest are non-empty and uninstall works. Same 'local hand-authored asset as a pinned source' pattern as packages/sudo (source.url is a label; resolve_source never contacts it -- the tarball is pre-placed in download/ with a matching sha256). LXQt's other DEs (KDE Plasma, GNOME, Cinnamon, Budgie, Enlightenment) install via a single leaf package already; this gives LXQt parity. Listed on linuxdoors.com/desktops.
2.4 Libraries 1.7 KB 2 Download
lxqt-globalkeysNot in ISO
Global keyboard-shortcut daemon + config UI.
Global keyboard-shortcut daemon + config UI. LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout.
2.4.0 Libraries 402.5 KB 3 Download
lxqt-menu-dataNot in ISO
XDG .menu / .directory files for the LXQt application menu.
XDG .menu / .directory files for the LXQt application menu. LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout.
2.4.0 Libraries 56.5 KB 3 Download
lxqt-notificationdNot in ISO
org.freedesktop.Notifications daemon for LXQt.
org.freedesktop.Notifications daemon for LXQt. LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout.
2.4.0 Libraries 149.4 KB 4 Download
lxqt-openssh-askpassNot in ISO
GUI SSH_ASKPASS passphrase prompt.
GUI SSH_ASKPASS passphrase prompt. LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout.
2.4.0 Libraries 19.6 KB 3 Download