67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 KiB
Bash
Executable File
#!/bin/sh -e
|
|
#
|
|
# release: grab the os/distro release version
|
|
#
|
|
# Copyright (C) 2008 Canonical Ltd.
|
|
# Copyright (C) 2011-2023 Dustin Kirkland
|
|
#
|
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, version 3 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
__release_detail() {
|
|
lsb_release -a 2>/dev/null
|
|
}
|
|
|
|
__release() {
|
|
local RELEASE="${RELEASE}"
|
|
if [ -n "$RELEASE" ]; then
|
|
# user defined
|
|
true
|
|
elif [ "$BYOBU_DISTRO" = "Wolfi" ]; then
|
|
# Wolfi, and perhaps other distroless distros don't really have release versions
|
|
RELEASE="Wolfi"
|
|
elif [ -r "/etc/os-release" ]; then
|
|
# lsb_release is *really* slow; try to use /etc/os-release
|
|
RELEASE=$(. /etc/os-release && echo "$VERSION_ID")
|
|
elif [ -r "/etc/issue" ]; then
|
|
# next try /etc/issue first
|
|
local issue
|
|
read issue < /etc/issue
|
|
case "$issue" in
|
|
Ubuntu*)
|
|
set -- $issue;
|
|
RELEASE="$2";
|
|
;;
|
|
Debian*)
|
|
local ver
|
|
read ver < /etc/debian_version
|
|
RELEASE="$ver"
|
|
;;
|
|
esac
|
|
elif eval $BYOBU_TEST sw_vers >/dev/null 2>&1; then
|
|
RELEASE="$(sw_vers -productVersion)"
|
|
fi
|
|
if [ -z "$RELEASE" ] && eval $BYOBU_TEST lsb_release >/dev/null 2>&1; then
|
|
# If lsb_release is available, use it
|
|
RELEASE=$(lsb_release -s -r)
|
|
fi
|
|
if [ -n "$RELEASE_ABBREVIATED" ] && [ $RELEASE_ABBREVIATED -gt 0 ]; then
|
|
color bold2; printf "%.${RELEASE_ABBREVIATED}s" "$RELEASE"; color --
|
|
else
|
|
color bold2; printf "%s" "$RELEASE"; color --
|
|
fi
|
|
}
|
|
|
|
# vi: syntax=sh ts=4 noexpandtab
|