aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-17 19:19:56 +0200
committerDanilo M. <danix@danix.xyz>2026-09-17 19:19:56 +0200
commit3e0177f613a6b04f957d0b4a426a940a9e68092a (patch)
tree445e7cfa95d10577726bbe31b14ba24a92c1f6cc
parenta906a204a8b9b6d8b46a938915737f6dc587e334 (diff)
downloadconky-theme-udt-3e0177f613a6b04f957d0b4a426a940a9e68092a.tar.gz
conky-theme-udt-3e0177f613a6b04f957d0b4a426a940a9e68092a.zip
docs: correct the claim about counting a symlinked directory
GNU ls follows a symlink to a directory with or without a trailing slash, so both forms count the packages correctly. Only -d lists the link itself. The original claim came from a count taken where the path did not resolve at all, and it reached the spec, the plan and two commit messages. The count was always right; the reason given for it was not, and a comment that teaches the next reader something false is worse than no comment. Records the real trap in its place: ls aliased to a long format counts its "total" header as a package. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
-rwxr-xr-xbin/slackware-sample.sh13
-rw-r--r--docs/superpowers/plans/2026-09-17-network-slackware-widgets.md13
-rw-r--r--docs/superpowers/specs/2026-09-17-network-slackware-widgets-design.md12
3 files changed, 25 insertions, 13 deletions
diff --git a/bin/slackware-sample.sh b/bin/slackware-sample.sh
index 3eb4818..066c520 100755
--- a/bin/slackware-sample.sh
+++ b/bin/slackware-sample.sh
@@ -18,10 +18,15 @@ trap 'rm -f "$TMP"' EXIT
VERSION=$(cat /etc/slackware-version 2>/dev/null || echo unknown)
-# The TRAILING SLASH is load-bearing. /var/log/packages is a symlink to
-# /var/lib/pkgtools/packages, and `ls -1 /var/log/packages` lists the link
-# itself: one entry. With the slash it lists the target's contents, which on
-# this machine is some 2800 packages. Do not remove it as cosmetic.
+# /var/log/packages is a symlink to /var/lib/pkgtools/packages. GNU ls follows
+# it either way, so the trailing slash is belt and braces rather than the load
+# bearing part; what would break this is adding -d, which lists the link itself
+# and reports one package.
+#
+# The real trap is `ls` being aliased: the user's shell aliases it to `ls -lh`,
+# and a long-format listing counts a "total" header line as a package. This
+# script is not interactive so aliases do not apply, but do not move this
+# counting into anything that is.
PACKAGES=$(ls -1 /var/log/packages/ 2>/dev/null | wc -l)
# Epochs, never formatted dates. The shell function this replaces rebuilds a
diff --git a/docs/superpowers/plans/2026-09-17-network-slackware-widgets.md b/docs/superpowers/plans/2026-09-17-network-slackware-widgets.md
index aadc5a4..826bcfa 100644
--- a/docs/superpowers/plans/2026-09-17-network-slackware-widgets.md
+++ b/docs/superpowers/plans/2026-09-17-network-slackware-widgets.md
@@ -1261,10 +1261,15 @@ trap 'rm -f "$TMP"' EXIT
VERSION=$(cat /etc/slackware-version 2>/dev/null || echo unknown)
-# The TRAILING SLASH is load-bearing. /var/log/packages is a symlink to
-# /var/lib/pkgtools/packages, and `ls -1 /var/log/packages` lists the link
-# itself: one entry. With the slash it lists the target's contents, which on
-# this machine is some 2800 packages. Do not remove it as cosmetic.
+# /var/log/packages is a symlink to /var/lib/pkgtools/packages. GNU ls follows
+# it either way, so the trailing slash is belt and braces rather than the load
+# bearing part; what would break this is adding -d, which lists the link itself
+# and reports one package.
+#
+# The real trap is `ls` being aliased: the user's shell aliases it to `ls -lh`,
+# and a long-format listing counts a "total" header line as a package. This
+# script is not interactive so aliases do not apply, but do not move this
+# counting into anything that is.
PACKAGES=$(ls -1 /var/log/packages/ 2>/dev/null | wc -l)
# Epochs, never formatted dates. The shell function this replaces rebuilds a
diff --git a/docs/superpowers/specs/2026-09-17-network-slackware-widgets-design.md b/docs/superpowers/specs/2026-09-17-network-slackware-widgets-design.md
index e295c35..2cea1c0 100644
--- a/docs/superpowers/specs/2026-09-17-network-slackware-widgets-design.md
+++ b/docs/superpowers/specs/2026-09-17-network-slackware-widgets-design.md
@@ -48,11 +48,13 @@ Observed values at design time, for sanity-checking an implementation:
2817 packages, `Slackware 15.0+`, kernel 6.18.50, board `Gigabyte Technology
Co., Ltd.` + `X870 EAGLE WIFI7`, CPU `AMD Ryzen 7 9700X 8-Core Processor`.
-**`/var/log/packages` is a symlink.** `ls -1 /var/log/packages | wc -l` returns
-**1**: it lists the link itself. The trailing slash in
-`ls -1 /var/log/packages/` is load-bearing and must not be removed as
-cosmetic. This was caught only because the count was checked against a known
-value.
+**`/var/log/packages` is a symlink** to `/var/lib/pkgtools/packages`. GNU `ls`
+follows it with or without a trailing slash, so both forms count correctly;
+`ls -1d` is what would report one entry, by listing the link itself. An earlier
+draft of this document claimed the slash was load-bearing, from a count taken
+in an environment where the path did not resolve at all. The count is still
+verified against a known-good value, because it is the kind of number that
+looks plausible while being wrong.
**`br0` is a bridge, so its counters are not internet throughput.** Traffic
between VMs and the host crosses it without reaching the router, so a local