Packages
624 packages, searchable and sortable. Every one of these already exists as a real, built LinuxDoors package.
| Package | Version | Category | Size | Downloads | |
|---|---|---|---|---|---|
linuxampNot in ISO LinuxAmp -- a Winamp-style music player from LinuxDoors.com, created 2026-09-12. LinuxAmp -- a Winamp-style music player from LinuxDoors.com, created 2026-09-12. Free ($0.00). Not upstream anywhere -- LinuxAmp.py (a large PySide6/Qt6 app using QtMultimedia for audio output) is a hand-authored asset, tarred as a pinned local source (linuxamp-1.0.tar.gz in download/, sha pinned) the same way packages/flashscp and packages/sudo are. This is the installable-package build: it uses the system Python + PySide6 + Qt6 (QtMultimedia included) and the system ffmpeg/ffprobe (packages/ffmpeg) for decoding, tag reading, and cover-frame extraction -- LinuxAmp.py's own find_tool() checks for an AppImage's bundled copy via $APPDIR first and falls back to shutil.which() otherwise, so it resolves the system ffmpeg/ffprobe correctly here with no code changes needed. The lightweight, fully self-contained alternative is LinuxAmp.AppImage on the LinuxDoors AppImage Store (linuxdoors.com/appimages_store), which bundles its own Python, Qt, and a static ffmpeg/ffprobe 7.0.2 in one ~104MB file. build.sh installs LinuxAmp.py to /usr/lib/linuxamp/, a /usr/bin/linuxamp wrapper (python3 that script), a /usr/share/applications/linuxamp.desktop in Categories=AudioVideo;Audio;Player; (Applications > Multimedia), and the app's own real icon set (32/48/64/128/256/512px PNGs, already produced for the AppImage build by make_icon.py) into hicolor + pixmaps, rather than generating a placeholder. numpy is optional at runtime (LinuxAmp.py catches ImportError and falls back to a pure-Python equaliser/spectrum path when it's absent) -- no numpy package exists in this project yet, so a native install runs the fallback path unless numpy is added later; the AppImage bundles its own numpy and always gets the exact path. ship_in_iso=false, matching every other creative/multimedia app in this project (GIMP, Kdenlive, OpenShot, ...). Verified on the .101 fast computer: python3 -m py_compile passes, and PySide6.QtMultimedia + the system ffmpeg/ffprobe are both confirmed present there. |
1.0 | Audio | 303.6 KB | 122 | Download PackageSource Download .tar.gz |
linuxdoors-kernel-config LinuxDoors Kernel Config -- a PySide6 GUI for toggling optional kernel features (WiFi/network drivers, filesystems, virtualization, security hardening) and triggering a real from-source kernel rebuild to apply them, s... LinuxDoors Kernel Config -- a PySide6 GUI for toggling optional kernel features (WiFi/network drivers, filesystems, virtualization, security hardening) and triggering a real from-source kernel rebuild to apply them, same intent as a Windows device-manager/driver-toggle panel but for the kernel's own Kconfig options. User-requested, scoped via explicit discussion: real rebuild (not read-only, not a config-only generator), targets end users on any installed system, ships in the base ISO (accepting the real ~275MB qt6-full size cost -- confirmed explicitly rather than assumed). Reuses the EXACT same real infrastructure the package manager's own 'Build from source' path already has, rather than inventing a second one: downloads the real kernel source via POST /api/build-token + GET /api/build-source (the same plain-HTTPS, single-use-token flow), sandbox-compiles as the unprivileged linuxdoors-build user (same sandboxing linuxdoors_pkg_backend.install_from_source already does), and feeds the user's chosen toggles through a new, deliberate extension point in packages/linux/build.sh itself (EXTRA_KERNEL_CONFIG env var, applied via scripts/config right before the existing make olddefconfig call) -- so the baseline config this app builds from is always identical to, and never drifts from, what this project's own official linux package produces. Empty/unset by default, so the engine's own normal build and every ISO build are completely unaffected. Safety property, the single most important design decision: every build this app produces gets a distinct LOCALVERSION suffix (-custom, -custom1, -custom2, ...) picked by checking what already exists in /boot, so the new kernel+modules tree is always installed ALONGSIDE the original, never overwriting it, and a new GRUB menuentry is simply appended (the existing default entry and its index are left untouched). A bad combination of user-selected toggles can therefore never brick the machine's already-working boot -- worst case, the new menu entry itself doesn't boot and the original, unmodified default entry is still right there. Deliberately scoped to installed systems only -- refuses to run on a live-ISO session (checked via /proc/cmdline) since a rebuild there can't persist across reboot anyway, and the live boot path's hand-rolled initramfs is a completely different mechanism this app doesn't attempt to replicate. Deliberately NOT a full menuconfig clone -- a curated, individually-verified list of real, plain in-tree Kconfig symbols only (common WiFi/USB-Ethernet/Bluetooth chipsets, NTFS3/exFAT/Btrfs/XFS/F2FS, KVM+vhost-net, a handful of hardening toggles, SELinux kernel-support-only with an explicit note that LinuxDoors has no policy/userspace tooling for it yet) -- out-of-tree/DKMS things like ZFS or VirtualBox's own vboxdrv are explicitly out of scope, since those need a separate source tree entirely, not a kernel config toggle. Root-elevated via the same su -c + explicit DISPLAY/XAUTHORITY pattern as every other LinuxDoors admin tool (a dedicated -launcher binary, matching Network Settings/Secure SSH/Manage SSH's own established convention) -- a desktop-icon double-click doesn't carry XAUTHORITY and su -c resets HOME to /root, which silently breaks a root GUI's access to the X display without this fix (the same real bug already found and corrected for every other root-elevated launcher this session). |
1.0 | Libraries | 22.6 KB | 8 | Download PackageSource Download .tar.gz |
linuxdoors-powertoys LinuxDoors PowerToys -- a programmer-authored GTK3 hub of small desktop utilities, modeled on the classic PowerToys-style utility suite (one central hub window listing independent modules). LinuxDoors PowerToys -- a programmer-authored GTK3 hub of small desktop utilities, modeled on the classic PowerToys-style utility suite (one central hub window listing independent modules). Programmer-authored asset treated as a source tarball, same pattern as packages/sudo and packages/flashscp. Modules in v1: Awake (systemd-inhibit toggle), Always on Top (via the new wmctrl package -- real EWMH _NET_WM_STATE_ABOVE, not a hand-rolled ctypes/Xlib ClientMessage), Color Picker, Screen Ruler, Hosts File Editor (root-elevated via the same su -c + XAUTHORITY pattern already used by every other LinuxDoors admin tool), PowerRename (regex batch rename with a live preview), and Peek (quick image/text/PDF-via-Poppler preview). Deliberately scoped to the modules that port cleanly to X11/GTK3 without needing a registry equivalent, OCR, cross-machine input sharing, or WM-specific keybinding introspection -- all flagged as real, harder v2 candidates, not oversights. ship_in_iso:false -- a Packages-page/pkg install item, not part of the base image. Real bug caught by an actual rendered screenshot before shipping (not guessed): the module-row title labels used the app's blanket dark-background `label { color: #fbeed2 }` CSS rule, but GtkListBoxRow defaults to its own plain white/light background independent of the window's own dark gradient -- cream-on-white was nearly unreadable. Fixed with explicit `.row-title`/`.row-desc` classes and an explicit light row background, matching this project's own established pattern for this exact class of contrast bug (already documented for the pkg-manager/installer's white-entry and button-label issues). Cross-desktop Always-on-Top verified for real, not assumed: rather than cycle all 7 supported window managers through a full lightdm-autologin visual test (very costly), each real WM (xfwm4, marco, mutter, muffin, kwin_x11, openbox, enlightenment_start -- Budgie shares mutter, so it's covered by the GNOME case) was started on its own fresh Xvfb display, a plain GTK test window opened, and the app's exact `wmctrl -r :ACTIVE: -b add,above` call run against it -- verified via a real `xprop -id <win> _NET_WM_STATE` read before and after, confirming `_NET_WM_STATE_ABOVE` genuinely gets set in every case. A real, unrelated wmctrl quirk was found and ruled out along the way: `wmctrl -l` (window *listing*) silently prints nothing under this exact Xvfb harness despite `_NET_CLIENT_LIST` being correctly populated (confirmed via direct xprop reads) -- but the app never uses `-l`, only `-r :ACTIVE:` (reads `_NET_ACTIVE_WINDOW` directly, a separate code path in wmctrl's own source), which was separately confirmed to work correctly in every case. |
1.0 | Libraries | 21.9 KB | 75 | Download PackageSource Download .tar.gz |
linuxdoors-system-statusNot in ISO LinuxDoors System Status -- a PySide6 system monitor (CPU per-core, memory/swap, file systems, network throughput + a real live connection table, and process control) built in this project's own PySide6/QSS house styl... LinuxDoors System Status -- a PySide6 system monitor (CPU per-core, memory/swap, file systems, network throughput + a real live connection table, and process control) built in this project's own PySide6/QSS house style, reusing FlashScp's already WCAG-verified light/dark palette architecture (DARK_PALETTE/LIGHT_PALETTE dicts, the same WCAG 2.1 relative-luminance contrast-ratio formula, a --check-contrast self-test flag) rather than deriving a new one. Programmer-authored asset treated as a source tarball, same pattern as packages/sudo, packages/flashscp, and packages/linuxdoors-powertoys. Features: a +/- zoom that scales the whole window's base font size (not per-panel); each section (CPU/Memory/File Systems/Network/Processes) has its own (+)/(-) fold toggle in its header, and keeps updating on the timer underneath whether folded or not, so re-opening one never shows a stale reading; full process control (End Process via SIGTERM, Change Priority via os.setpriority), retrying as root through the same su -c + password-dialog pattern every other LinuxDoors admin tool uses if the plain attempt is refused; a real network connections table (proto/local/remote/state/owning process) via `ss -tulpn`, not just an aggregate throughput graph -- chosen over hand-parsing /proc/net/tcp's hex address format + inode-to-pid mapping, the same 'use a well-tested existing tool' reasoning already applied choosing wmctrl over a hand-rolled X11 client for LinuxDoors PowerToys. Real bugs found and fixed before shipping, each confirmed against an actual screenshot or a real failure, not guessed: (1) `ps`'s nice-value column reports a literal '-' instead of a number for kernel threads and real-time-scheduled processes -- a bare `int(nice)` crashed the whole app on first launch; fixed to fall back to None/'-' display. (2) A genuine QtCharts axis-label bug, found and fixed in three real steps: the Y-axis showed '...' instead of real percentage/throughput numbers on every chart. First suspected (and fixed as a real but insufficient issue) a printf-format escaping bug -- y_label='%' fed into '%d'+y_label produces the invalid trailing-bare-percent format '%d%', which needs '%d%%' to safely emit a literal percent sign. That fix alone didn't resolve it; isolated the real cause by reproducing the identical axis configuration in a bare, minimally-nested test window, where it rendered correctly, proving the bug was about layout/sizing, not the axis setup itself. Root cause: the chart's only height constraint was setMinimumHeight(110), with the default width policy left unconstrained inside a several-levels-deep Section/QVBoxLayout/QScrollArea hierarchy -- with 5 axis tick labels needing real vertical room and no explicit sizePolicy telling Qt to actually claim horizontal space during the scroll area's first layout pass, QtCharts computed its label elision against that undersized initial layout and never revisited it. Fixed with an explicit QSizePolicy.Expanding/Fixed policy and a taller 180px minimum height -- confirmed via a real screenshot showing genuine '0%/25%/50%/75%/100%' labels afterward. (3) A `wmctrl -r NAME` test call (used only during this app's own screenshot-verification tooling, to maximize the test window) silently failed for the same reason already documented for LinuxDoors PowerToys: name-based window lookup shares wmctrl's broken window-listing code path under this exact Xvfb test harness; switched to the already-proven-working `wmctrl -r :ACTIVE:` (reads _NET_ACTIVE_WINDOW directly, a separate code path) instead. Cross-desktop-environment tested for real: launched cleanly (no crash, confirmed via captured stdout/stderr, not just process exit code) under all seven LinuxDoors-supported window managers -- xfwm4 (XFCE), marco (MATE), mutter --x11 (GNOME/Budgie), muffin --x11 (Cinnamon), kwin_x11 (KDE Plasma), openbox (LXQt), and enlightenment_start. Unlike LinuxDoors PowerToys, this app has no window-manager-specific feature (no EWMH tricks of its |
1.0 | Libraries | 29.3 KB | 74 | Download PackageSource Download .tar.gz |
linuxdoors-update-grub LinuxDoors tool (2026-10-14, v1.45): makes the newest stock LinuxDoors kernel the GRUB default on installed systems, keeping older kernels as fallback entries, Kernel Config custom kernels as their own entries and any... LinuxDoors tool (2026-10-14, v1.45): makes the newest stock LinuxDoors kernel the GRUB default on installed systems, keeping older kernels as fallback entries, Kernel Config custom kernels as their own entries and any non-LinuxDoors entries unchanged. Only lists kernels whose /lib/modules dir exists; keeps the running kernel as default if it has out-of-tree modules (NVIDIA etc.) the newer one lacks; does nothing on the live ISO or when /etc/linuxdoors/no-auto-kernel exists. Run by the installer, by the package manager after a kernel install, and by linuxdoors-update-grub.service at every boot (vendor-enabled). The linux package depends on it so pkg upgrade pulls it onto older installs. |
1.0 | Core System | 4.3 KB | 3 | Download PackageSource Download .tar.gz |
linuxdoors-vncviewerNot in ISO linuxdoors-vncviewer -- a small, real, interactive Qt6 VNC client (a hand-authored asset tarred as a source, same pattern as packages/sudo/packages/flashscp), built on top of packages/libvncserver's libvncclient. linuxdoors-vncviewer -- a small, real, interactive Qt6 VNC client (a hand-authored asset tarred as a source, same pattern as packages/sudo/packages/flashscp), built on top of packages/libvncserver's libvncclient. Written specifically for the GNOME 51 (VNC) x2goclient integration: x2goclient's own patched 'GNOME 51 (VNC)' session type tunnels a local port to the remote host's 127.0.0.1:5900 (gnome-remote-desktop's VNC server, started via linuxdoors-gnome51-vnc -- see packages/gnome-session's own notes) over its existing SSH connection, then spawns this against that local port instead of embedding nxagent's X11 window the way every other x2go session type does. Real, interactive, not just a screenshot tool: a background QThread pumps WaitForMessage/HandleRFBServerMessage and repaints via a queued signal, mouse motion/clicks/wheel are forwarded via SendPointerEvent, and keyboard input via SendKeyEvent using a pragmatic (not fully exhaustive, but covers real everyday desktop use -- arrows/backspace/enter/escape/tab/delete/home/end/pgup/pgdn/F1-F12/modifiers plus all printable text via the Qt-key-event's own Latin-1/Unicode codepoint, which is numerically identical to the corresponding X11 keysym in that range) Qt-key-to-X11-keysym map. Isolated to /opt/gnome51 is NOT needed here -- this is a plain client tool linked against the SHARED qt6-full and libvncserver, no soname/path collision risk with anything. Built + connect-verified for real against a live gnome-remote-desktop VNC server on .101 before being wired into x2goclient. || Real bug found and fixed here (2026-09-19), reported live by a user once mouse/keyboard input actually worked: the visible pointer had a 'shadow with a delay' -- their own real, instant local cursor, plus a second one GNOME Shell was baking directly into the video frames (since nothing had ever asked for real VNC cursor handling), lagging by a full network+frame round-trip. Fixed with the real, standard VNC cursor pseudo-encoding: appData.useRemoteCursor=TRUE plus GotCursorShape/HandleCursorPos callbacks -- libvncclient then requests it automatically during the handshake, a compliant server (gnome-remote-desktop is) stops drawing its own cursor into frame updates, and this client draws the server's cursor shape itself at the LOCALLY-tracked mouse position (repainting on every local mouseMoveEvent, not just on server frame updates), so the pointer is instant with no double image. || LIVE RESIZE FEATURE (2026-09-19), built after a user asked why the resolution couldn't be changed from inside the running GNOME 51 Settings app -- real answer: a headless Mutter virtual monitor (--virtual-monitor=WxH) has exactly one fixed mode for its whole lifetime, confirmed against Mutter's own meta-context-main.c, so there is genuinely nothing else for Settings to list, and no live in-place resize is possible either. The only real fix is to restart the remote gnome-shell/gnome-remote-desktop at a new size (x2goclient's own new 'GNOME 51 (VNC): Change Resolution...' Session-menu action does this, re-running linuxdoors-gnome51-vnc over the same already-open SSH connection) and have THIS viewer reconnect on its own once the new server is ready. Added: VncWidget now retries a dropped connection automatically (VncThread::finishedWithReason -> onThreadFinished -> scheduleReconnect/attemptReconnect, every 1.5s for up to 40 attempts/~60s before finally giving up and showing the old 'Disconnected' dialog), with a 'Reconnecting... (attempt N of 40)' status shown in the empty-framebuffer paintEvent() text; a deliberate window close (closeEvent, m_closing) suppresses reconnecting. || TWO REAL, PRE-EXISTING CONCURRENCY BUGS found and fixed getting this far, not something this feature introduced but something it made vastly more likely to trigger (a resize -> reconnect cycle now happens routinely instead of rarely): (1) resizeCB() reallocated client->frameBuffer to the new size with NO lock at all, while paintEvent() reads client->fram |
1.0 | Libraries | 31.3 KB | 77 | Download PackageSource Download .tar.gz |
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 | 36 | Download PackageSource Download .tar.gz |
linuxmoviemakerNot in ISO LinuxMovieMaker -- a friendly clips/photos/titles/music video editor from LinuxDoors.com. LinuxMovieMaker -- a friendly clips/photos/titles/music video editor from LinuxDoors.com. Not upstream anywhere -- LinuxMovieMaker.py (a large PySide6/Qt6 app using QtMultimedia for preview playback) is a hand-authored asset, tarred as a pinned local source (linuxmoviemaker-1.0.tar.gz in download/, sha pinned) the same way packages/linuxamp/packages/flashscp/packages/sudo are. The app decodes/composes/exports entirely through ffmpeg (its own find_tool() checks an AppImage's bundled copy via $APPDIR first, falling back to shutil.which() otherwise -- resolving to the system ffmpeg/ffprobe package here with no code changes needed); no imaging or numerical library is required. This is the installable-package build, using the system Python + PySide6 + Qt6 (QtMultimedia included) and the system ffmpeg/ffprobe. The lightweight, fully self-contained alternative is LinuxMovieMaker.AppImage on the LinuxDoors AppImage Store (linuxdoors.com/appimages_store), which bundles its own Python/Qt/ffmpeg in one file. build.sh installs LinuxMovieMaker.py to /usr/lib/linuxmoviemaker/, a /usr/bin/linuxmoviemaker wrapper (python3 that script), a /usr/share/applications/linuxmoviemaker.desktop in Categories=AudioVideo;Video;VideoEditing; (Applications > Multimedia), and the app's own real 512x512 icon (already produced for the AppImage build) into hicolor/512x512/apps + pixmaps, rather than a generated placeholder. ship_in_iso=false, matching every other creative/multimedia app in this project (GIMP, Kdenlive, OpenShot, LinuxAmp, ...). |
1.0 | Multimedia | 366.5 KB | 73 | Download PackageSource Download .tar.gz |
linuxnotetextNot in ISO The native package build of LinuxNoteText -- a real text/source editor, programmer-authored from Stan Switaj, PySide6 (Python + Qt) around a compiled C++ canvas that wraps real, unmodified Scintilla 5.6.7 + Lexilla 5.... The native package build of LinuxNoteText -- a real text/source editor, programmer-authored from Stan Switaj, PySide6 (Python + Qt) around a compiled C++ canvas that wraps real, unmodified Scintilla 5.6.7 + Lexilla 5.5.4 (the same editing engine Notepad++ is built on). This is the SAME source tree the LinuxNoteText.AppImage on the AppImage Store is built from, packaged as a real, installable LinuxDoors package instead of a self-contained portable bundle -- 'depends' pulls the already-built pyside6/qt6-full stack rather than carrying a second private copy of Qt, unlike the AppImage. Source is the programmer's own project tree (LinuxNoteText.py + linuxnotetext/ + native/ + src/ + plugins/ + five hicolor icon sizes), tarred as a local: asset -- excludes native/build (a stale local build dir), every __pycache__, and vendor/lupa (the AppImage's own bundled cpython-313 Lua binding wheel, which cannot load under this system's real cpython-314 -- see the real fix below). capture_method: destdir, same as every other compiled package here. Real build steps, run inside the chroot: native/CMakeLists.txt's own WidgetGen.py (regenerates ScintillaEdit's Qt bindings) and make_constants.py (Python constants from the real Scintilla/Lexilla headers) run first, exactly as the programmer's own build.sh does; then a plain CMake+Ninja-less make build of the canvas shim against Qt6 Core/Gui/Widgets (find_package(Qt6...), matching this project's qt6-full); the ten real native/prove_*.py self-checks run as a build-time sanity gate, same discipline as the programmer's own build.sh, using QT_QPA_PLATFORM=offscreen since there's no real display inside the chroot. || REAL FIX, not present in the AppImage build: 'lupa' (the Lua 5.5 binding the new Lua-plugin feature needs) is pip-installed FRESH from the real PyPI package index during this build (pip3 install --root=$PKG_DESTDIR --prefix=/usr lupa) rather than using the project's own vendor/lupa/lua55.cpython-313-x86_64-linux-gnu.so -- that vendored .so is compiled against CPython 3.13's ABI (cpython-313 tag) and cannot be imported at all under this system's real Python (3.14.7, confirmed live on the build host) -- a plain import would fail outright. PyPI genuinely publishes a real cp314 manylinux wheel for lupa 2.8 (confirmed by a live pip3 install on the build host, no compile needed, no network workaround required), so the native package gets a correctly-ABI-matched lupa for real, and linuxnotetext/lua_runtime.py's own _load() already tries a plain 'import lupa' before ever falling back to the vendored copy -- so no code change was needed, only the packaging choice of where lupa comes from. ship_in_iso:false, Packages-page/pkg-install only, matching every other native LinuxDoors-authored app in this catalog (FlashScp, LinuxAmp, LinuxDoors PowerToys, LinuxDoors System Status). || 0.3 (2026-10-07): source is the programmer's own 0.3 project tree from 70.20.232.99 (/home/ceo/Desktop/Desktop/Ultrazon_LinuxDoors_Projects/LinuxNoteText), packed the same way as 0.2 (no native/build, __pycache__, vendor/, AppImage/, or *_before_* backups). New in 0.3: the Highlight All Instances of Selection view option (linuxnotetext/window.py + settings.py), Scintilla 5.6.7 + Lexilla 5.5.4 (verified identical, apart from line endings, to the official scintilla567.zip / lexilla554.zip), and a new native/prove_instances.py self-check, added to build.sh's self-check loop. The C++ shim in native/ is unchanged from 0.2. |
0.3 | Editor | 4.5 MB | 70 | Download PackageSource Download .tar.gz |
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). 2026-10-10 1.7.3-1: rebuilt with --libdir=lib -- the 1.7.3 build on .101 (meson defaults to the Debian multiarch libdir there) had installed into /usr/lib/x86_64-linux-gnu, which LinuxDoors never loads from, so the previous version stayed in use. |
1.7.3-1 | System | 469.2 KB | 47 | Download PackageSource Download .tar.gz |
linuxpropaintshopNot in ISO LinuxProPaintShop -- a layered raster image editor, from Stan Switaj (creator of LinuxDoors). LinuxProPaintShop -- a layered raster image editor, from 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 | 500.1 KB | 123 | Download PackageSource Download .tar.gz |
linuxultragrepNot in ISO LinuxUltraGrep -- a grepWin-style search-and-replace tool from Stan Switaj, created 2026-09-17. LinuxUltraGrep -- a grepWin-style search-and-replace tool from Stan Switaj, created 2026-09-17. Paid ($2.99, honor system). Not upstream anywhere -- LinuxUltraGrep.py (a PySide6/Qt6 GUI plus a full standalone CLI mode, stdlib-only aside from PySide6) is a hand-authored asset, tarred as a pinned local source (linuxultragrep-1.0.tar.gz in download/, sha pinned) the same way packages/flashscp and packages/linuxamp are. This is the installable-package build: it uses the system Python + PySide6 + Qt6 and the system's own GNU grep (already present via coreutils/grep) as its fast search engine, falling back to its own built-in process-pool Python engine when grep is unavailable or --engine=python is forced -- no ffmpeg-style external decoder dependency here. build.sh installs LinuxUltraGrep.py to /usr/lib/linuxultragrep/, a /usr/bin/linuxultragrep wrapper (python3 that script, also usable as a plain CLI -- `linuxultragrep -r pattern path`), a /usr/share/applications/linuxultragrep.desktop in Categories=Utility;TextTools;Development; (Applications > Accessories/Development), and the app's own real 256px icon (only size available -- same single-size-icon pattern as packages/flashscp). The lightweight, fully self-contained alternative is LinuxUltraGrep.AppImage on the LinuxDoors AppImage Store (linuxdoors.com/appimages_store), which bundles its own Python and Qt in one ~45MB file built from a donor PySide6 runtime. ship_in_iso=false -- deliberately kept off the ISO per explicit request, Packages page / pkg install only, matching every other paid or creative app in this project (LinuxUltraOffice, GIMP, Kdenlive, ...). Verified: python3 -m py_compile passes on the real current source. |
1.0 | Development | 164.3 KB | 73 | Download PackageSource Download .tar.gz |
linuxultraofficeNot in ISO 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.8.1.1 | Office | 297.0 MB | 123 | Download PackageSource Download .tar.gz |
linuxultraoffice-addonsNot in ISO 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.3 -> 26.8.0.3 (2026-09-14): version label bumped to match the main linuxultraoffice package's real LibreOffice 26.8.0.3 rebuild -- this package has no compiled code of its own (no source tarball beyond the icon asset, no recompile needed), so the bump is purely a rebuild+relabel for catalog accuracy, not a functional change; the wrapper scripts still just exec whatever soffice binary the main package currently has installed. |
26.8.0.3 | Office | 2.5 KB | 61 | Download PackageSource Download .tar.gz |
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 | 253.5 MB | 35 | Download PackageSource Download .tar.gz |
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.2 | Libraries | 142.6 KB | 44 | Download PackageSource Download .tar.gz |
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 | 297.0 KB | 22 | Download PackageSource Download .tar.gz |
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. Security/update pass 2026-10-14. 0.5.2 only exists as a GitHub tag archive; build.sh runs autoreconf. |
0.5.2 | Libraries | 4.6 MB | 37 | Download PackageSource Download .tar.gz |
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 | 791 B | 35 | Download PackageSource Download .tar.gz |
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 | 23.0 KB | 19 | Download PackageSource Download .tar.gz |
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 | 937.7 KB | 18 | Download PackageSource Download .tar.gz |
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 | 19 | Download PackageSource Download .tar.gz |
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 | 411.1 KB | 19 | Download PackageSource Download .tar.gz |
lxqt-menu-dataNot in ISO XDG .menu / .directory files for the LXQt application menu. |
2.4.0 | Libraries | 56.0 KB | 18 | Download PackageSource Download .tar.gz |