#!/bin/sh

# physical processors
# logical processors
# model/family/stepping + name
# OC status

MACHINE=$(uname -m)
KERNEL=$(uname -r)
BUILDER=$(cat /proc/version  | sed -e "s/[^(]*(//" | sed -e "s/).*//")
PHYSCPUS=$(($(cat /proc/cpuinfo | grep physical\ id[^a-z]*: | tail -1 | cut -f 2 -d :)+1))
CPUS=$(($(cat /proc/cpuinfo | grep processor[^a-z]*: | tail -1 | cut -f 2 -d :)+1))
XNAME=$(cat /proc/cpuinfo | grep model\ name[^a-z]*: | tail -1 | cut -f 2 -d :)
NAME=$(echo $XNAME)
FAMILY=$(cat /proc/cpuinfo | grep cpu\ family[^a-z]*: | tail -1 | cut -f 2 -d :)
MODEL=$(cat /proc/cpuinfo | grep model[^a-z]*: | tail -1 | cut -f 2 -d :)
STEPPING=$(cat /proc/cpuinfo | grep stepping[^a-z]*: | tail -1 | cut -f 2 -d :)
CLOCK=$(cat /proc/cpuinfo | grep cpu\ MHz[^a-z]*: | tail -1 | cut -f 2 -d :)

DISTRO=$(cat /etc/fedora-release)
GLIBC=$(rpm -q glibc | head -1)
if [ -z "$DISTRO" ]; then
DISTRO=$(cat /etc/redhat-release)
fi
if [ -z "$DISTRO" ]; then
DISTRO=$(cat /etc/debian_version)
GLIBC=$(dpkg -l libc6 | head -1)
fi

echo $MACHINE\; Linux $KERNEL by $BUILDER
echo $PHYSCPUS\; \"$NAME\" processor\(s\)\; $CPUS logical processor\(s\)\; $CLOCK MHz
echo $DISTRO
echo $GLIBC

