Nimbin[12]?Linux From Scratch / Packagemanager-LFS-PackageUser-System / NEXT-TASK.md

Packagemanager-LFS-PackageUser-System git · main

Package-user based package manager for LFS/BLFS

lfs blfs package-manager bash · first commit 2026-08-18 · last commit 2026-10-26 (8 days ago) · synced 7 hours ago · upstream: github.com/nimbin2/Packagemanager-LFS-PackageUser-System

Shell 63.7% Markdown 35.8%
git clone https://git.christianimmanuel.de/linux-from-scratch/Packagemanager-LFS-PackageUser-System.gitwget https://git.christianimmanuel.de/linux-from-scratch/Packagemanager-LFS-PackageUser-System/archive/Packagemanager-LFS-PackageUser-System.tar.gz
NEXT-TASK.md 6 KB · 142 lines raw

First task for the next session

The machine boots, su works, the desktop runs and the application accounts are in daily use. Everything below is configuration on the machine, not a build. The tools are at 1.14.320.

0. Repair what the lease took (do this first)

/usr/bin/su and six /usr/sbin/iptables* links are owned by p_webkitgtk, and the links are recorded in its pkg.lst — so update webkitgtk --clean would delete them. 1.14.310 shuts the doors; the machine still has to be put back:

packagemanager disown --all            # what it would hand back
packagemanager disown --all --run      # hand it back, and clean the records
lfs-helper setid --run                 # put the setuid bits back
su -                                   # check

Then the same rebuild that broke it is safe to repeat.

0a. The stacks are reorganised (1.14.320)

make install
ls /etc/pkgusr/stacks/*.stack.new     # should print nothing

wayland.stack is new (the base sway.stack used to carry), sway.stack includes it, and zathura/imv moved to apps.stack, jq to tools.stack. Nothing needs rebuilding; packagemanager stack sway still means the whole desktop. See HANDOFF 1.14.320.

0b. The shared hub and yt-dlp

Shared data moved to /home/Shared by hand (commands from the 1.14.315 session), then:

packagemanager stack services --only app-users --run   # links + 0700 homes
packagemanager stack media --only yt-dlp --run

Log in again for the SHARED_* variables to name /home/Shared.

1. The locale (one command, then log in again)

Nothing sets $LANG. lfs-helper wrote /etc/profile.d/i18n.sh with the export commented out, and there is no /etc/locale.conf — so every program runs in the C locale and foot says so at every start. Both are fixed in the tools (1.14.296–1.14.298); the machine still has to run the step:

lfs config locale de_DE.UTF-8       # if it is not that already
packagemanager stack services --only shell-env --run
# log in again, or right now:  . /etc/profile.d/i18n.sh

It writes /etc/locale.conf, replaces that i18n.sh (backed up), and adds one line to /etc/bashrc so a new terminal picks it up without a login.

2. The launchers written before 1.14.295

A .desktop entry does nothing if its launcher does not give su a pty, and a launcher these tools did not write is left alone — so the old ones survive. ~/bin/claude is the last hand-made one:

rm ~/bin/claude
packagemanager stack services --only app-users --run

Then click a menu entry. If one still does nothing, run the same name in a terminal first: that path prints what su says.

3. Wireless — the only piece of networking still missing

Wired works and starts itself (enp2s0f0, enp5s0). The wireless interface is wlan0 on this kernel.

packagemanager stack network --only net-wifi --run

It prints both files to write: /etc/sysconfig/ifconfig.wlan0 and a per-SSID /etc/sysconfig/wpa_supplicant/wpa_supplicant-wlan0.conf (chmod 600). Nothing writes the second one for you — it holds the key.

4. make-ca's weekly job

The systemd book enables a timer, which the shim skips. fcron is installed:

cat > /etc/cron.weekly/update-pki.sh << "EOF"
#!/bin/bash
/usr/sbin/make-ca -g
EOF
chmod 754 /etc/cron.weekly/update-pki.sh

5. Try the new commands once

So their first use is not in an emergency:

packagemanager service                 # list; then: service sshd start
packagemanager stack dev --run         # gdb

6. Run the test suite once, on the machine

make check

It has not been able to report a verdict for some time (1.14.303): lfs would not load on Python < 3.12, and the cleanup trap fired in every subshell and removed the counters, so the final line printed blank. Both are fixed. Here it reads 761 PASS / 84 FAIL / 1 SKIP (1.14.320), and those 84 are all "this is not a package-user system" -- the wrappers, the book and the chroot blocks have nothing to test against. On the machine they should mostly turn into passes; whatever is left is a real list worth reading.

Known and NOT fixed: --only N / --from N can cut a here-document in half and lose helpers an earlier block defined, so a selection can report failures a full run does not. Trust the full run.

Still open, none blocking

Settled since this list was last written