add the version script

This commit is contained in:
2026-10-26 10:42:26 -06:00
parent c5f06515a0
commit c27354df20
4 changed files with 60 additions and 1 deletions
+16
View File
@@ -170,6 +170,22 @@ refresh
This will download the latest repo and run through the original installation script adding any "new" applications or services. You should run "update" after running "refresh".
### Which version am I running?
CoreDesktop is a rolling release, so its version is the date of the latest CoreDesktop change on your machine, followed by that change's id. To see it, run in the terminal:
```
version
```
```
CoreDesktop 2026.10.22 (c5f0651)
Kernel 7.2.11-arch1-1
Last update 2026-10-22 13:43
```
The kernel comes from Arch, so it's shown separately. If a newer kernel is waiting for a reboot, "version" says so.
### Sibling projects
A sibling project is another git repository that builds on CoreDesktop. To install one, run in the terminal:
+2 -1
View File
@@ -53,11 +53,12 @@ cd ~/.local/share/coredesktop
# Source utility functions (provides install_packages and other helpers)
source utils.sh
# Install the refresh, update and sibling management scripts to the user's bin
# Install the refresh, update, sibling and version scripts to the user's bin
mkdir -p ~/.local/bin
install_script ~/.local/share/coredesktop/refresh ~/.local/bin/refresh
install_script ~/.local/share/coredesktop/update ~/.local/bin/update
install_script ~/.local/share/coredesktop/sibling ~/.local/bin/sibling
install_script ~/.local/share/coredesktop/version ~/.local/bin/version
# Source the package list (defines SYSTEM_UTILS, DEV_TOOLS, DESKTOP, etc. arrays)
if [ ! -f "packages.conf" ]; then
+1
View File
@@ -42,6 +42,7 @@ mkdir -p "$COREDESKTOP/updates.d"
install_script "$COREDESKTOP/update" ~/.local/bin/update
install_script "$COREDESKTOP/refresh" ~/.local/bin/refresh
install_script "$COREDESKTOP/sibling" ~/.local/bin/sibling
install_script "$COREDESKTOP/version" ~/.local/bin/version
if [[ -z "$UPDATE_REEXECED" ]]; then
export UPDATE_REEXECED=1
Executable
+41
View File
@@ -0,0 +1,41 @@
#!/bin/bash
#
# Purpose : Show which version of CoreDesktop this machine is running
#
# CoreDesktop is a rolling release, so its version is the date of the commit
# the local checkout is on, plus the short hash to tell same-day commits apart,
# e.g. 2026.10.22 (c5f0651). The kernel is shown separately because it comes
# from Arch, not CoreDesktop.
COREDESKTOP="$HOME/.local/share/coredesktop"
source "$COREDESKTOP/utils.sh"
if ! git -C "$COREDESKTOP" rev-parse --git-dir &> /dev/null; then
echo "CoreDesktop isn't installed in $COREDESKTOP."
exit 1
fi
version="$(git -C "$COREDESKTOP" log -1 --format='%cd (%h)' --date=format:%Y.%m.%d)"
# Local edits to the checkout mean this isn't exactly the version above
if [ -n "$(git -C "$COREDESKTOP" status --porcelain --untracked-files=no)" ]; then
version="$version, modified"
fi
kernel="$(uname -r)"
# If the running kernel's modules are gone, a newer kernel was installed
if [ ! -d "/usr/lib/modules/$kernel" ]; then
kernel="$kernel (newer kernel installed, reboot to use it)"
fi
# 10-pacman.sh rewrites this log on every update
if [ -f "$PACMAN_UPDATE_LOG" ]; then
last_update="$(date -r "$PACMAN_UPDATE_LOG" '+%Y-%m-%d %H:%M')"
else
last_update="never"
fi
echo "CoreDesktop $version"
echo "Kernel $kernel"
echo "Last update $last_update"