#!/bin/sh -e
#
#    release: grab the os/distro release
#
#    Copyright (C) 2008 Canonical Ltd.
#    Copyright (C) 2011 Dustin Kirkland
#
#    Authors: Dustin Kirkland <kirkland@ubuntu.com>
#
#    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 DISTRO="${DISTRO}" issue ver r i
	if [ -n "$DISTRO" ]; then
		# user defined
		true
	elif [ -r "/etc/issue" ]; then
		# lsb_release is *really* slow;  try to use /etc/issue first
		read issue < /etc/issue
		case "$issue" in
			Ubuntu*)
				set -- $issue;
				DISTRO="$1 $2";
			;;
			Debian*)
				read ver < /etc/debian_version
				DISTRO="Debian $ver"
			;;
			*)
				# assume first 2 fields are what we want
				set -- $issue;
				DISTRO="$1 $2";
			;;
		esac
	elif command -v lsb_release >/dev/null 2>&1; then
		# If lsb_release is available, use it
		r=$(lsb_release -s -d)
		case "$r" in
			Ubuntu*.*.*)
				# Use the -d if an Ubuntu LTS
				DISTRO="$r"
			;;
			*)
				# But for other distros the description
				# is too long, so build from -i and -r
				i=$(lsb_release -s -i)
				r=$(lsb_release -s -r)
				DISTRO="$i $r"
			;;
		esac
	else
		DISTRO="Byobu"
	fi
	color bold2; printf "%s" "$DISTRO"; color --
}

# vi: syntax=sh ts=4 noexpandtab
