add the version script
This commit is contained in:
@@ -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".
|
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
|
### Sibling projects
|
||||||
|
|
||||||
A sibling project is another git repository that builds on CoreDesktop. To install one, run in the terminal:
|
A sibling project is another git repository that builds on CoreDesktop. To install one, run in the terminal:
|
||||||
|
|||||||
+2
-1
@@ -53,11 +53,12 @@ cd ~/.local/share/coredesktop
|
|||||||
# Source utility functions (provides install_packages and other helpers)
|
# Source utility functions (provides install_packages and other helpers)
|
||||||
source utils.sh
|
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
|
mkdir -p ~/.local/bin
|
||||||
install_script ~/.local/share/coredesktop/refresh ~/.local/bin/refresh
|
install_script ~/.local/share/coredesktop/refresh ~/.local/bin/refresh
|
||||||
install_script ~/.local/share/coredesktop/update ~/.local/bin/update
|
install_script ~/.local/share/coredesktop/update ~/.local/bin/update
|
||||||
install_script ~/.local/share/coredesktop/sibling ~/.local/bin/sibling
|
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)
|
# Source the package list (defines SYSTEM_UTILS, DEV_TOOLS, DESKTOP, etc. arrays)
|
||||||
if [ ! -f "packages.conf" ]; then
|
if [ ! -f "packages.conf" ]; then
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ mkdir -p "$COREDESKTOP/updates.d"
|
|||||||
install_script "$COREDESKTOP/update" ~/.local/bin/update
|
install_script "$COREDESKTOP/update" ~/.local/bin/update
|
||||||
install_script "$COREDESKTOP/refresh" ~/.local/bin/refresh
|
install_script "$COREDESKTOP/refresh" ~/.local/bin/refresh
|
||||||
install_script "$COREDESKTOP/sibling" ~/.local/bin/sibling
|
install_script "$COREDESKTOP/sibling" ~/.local/bin/sibling
|
||||||
|
install_script "$COREDESKTOP/version" ~/.local/bin/version
|
||||||
|
|
||||||
if [[ -z "$UPDATE_REEXECED" ]]; then
|
if [[ -z "$UPDATE_REEXECED" ]]; then
|
||||||
export UPDATE_REEXECED=1
|
export UPDATE_REEXECED=1
|
||||||
|
|||||||
@@ -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"
|
||||||
Reference in New Issue
Block a user