head 1.2; access; symbols SHTOOL_1_0_0:1.1.1.1 RSE:1.1.1; locks; strict; comment @# @; 1.2 date 99.04.29.11.21.05; author rse; state dead; branches; next 1.1; 1.1 date 99.04.29.11.19.34; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 99.04.29.11.19.34; author rse; state Exp; branches; next ; desc @@ 1.2 log @*** empty log message *** @ text @#!/bin/sh ## ## buildinfo -- Determine Build Information ## Copyright (c) 1998-1999 Ralf S. Engelschall, All Rights Reserved. ## Usage: buildinfo [-n] ## # # argument line handling # error=no if [ $# -ne 1 -a $# -ne 2 ]; then error=yes fi if [ $# -eq 2 -a ".$1" != ".-n" ]; then error=yes fi if [ $error = yes ]; then echo "$0:Error: invalid argument line" echo "$0:Usage: $0 [-n] " echo "Where can contain:" echo " %u ...... substituted by determined username (foo)" echo " %U ...... substituted by determined user id (42)" echo " %h ...... substituted by determined hostname (bar)" echo " %d ...... substituted by determined domainname (.com)" echo " %D ...... substituted by determined day (DD)" echo " %M ...... substituted by determined month (MM)" echo " %Y ...... substituted by determined year (YYYYY)" echo " %m ...... substituted by determined monthname (Jan)" exit 1 fi if [ $# -eq 2 ]; then newline=no format_string="$2" else newline=yes format_string="$1" fi # # initialization # username='' hostname='' domainname='' time_day='' time_month='' time_year='' time_monthname='' # # determine username # username="$LOGNAME" if [ ".$username" = . ]; then username="$USER" if [ ".$username" = . ]; then username="`(whoami) 2>/dev/null |\ awk '{ printf("%s", $1); }'`" if [ ".$username" = . ]; then username="`(who am i) 2>/dev/null |\ awk '{ printf("%s", $1); }'`" if [ ".$username" = . ]; then username='unknown' fi fi fi fi # # determine user id # userid="`(id -u) 2>/dev/null`" if [ ".$userid" = . ]; then str="`(id) 2>/dev/null`" if [ ".`echo $str | grep '^uid[ ]*=[ ]*[0-9]*('`" != . ]; then userid=`echo $str | sed -e 's/^uid[ ]*=[ ]*//' -e 's/(.*//'` fi if [ ".$userid" = . ]; then userid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \ sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` if [ ".$userid" = . ]; then userid=`(ypcat passwd) 2>/dev/null | egrep "^${username}:" | \ sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` if [ ".$userid" = . ]; then userid='?' fi fi fi fi # # determine hostname and domainname # hostname="`(uname -n) 2>/dev/null |\ awk '{ printf("%s", $1); }'`" if [ ".$hostname" = . ]; then hostname="`(hostname) 2>/dev/null |\ awk '{ printf("%s", $1); }'`" if [ ".$hostname" = . ]; then hostname='unknown' fi fi case $hostname in *.* ) domainname=".`echo $hostname | cut -d. -f2-`" hostname="`echo $hostname | cut -d. -f1`" ;; esac if [ ".$domainname" = . ]; then if [ -f /etc/resolv.conf ]; then domainname="`egrep '^[ ]*domain' /etc/resolv.conf | head -1 |\ sed -e 's/.*domain//' \ -e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \ -e 's/^\.//' -e 's/^/./' |\ awk '{ printf("%s", $1); }'`" if [ ".$domainname" = . ]; then domainname="`egrep '^[ ]*search' /etc/resolv.conf | head -1 |\ sed -e 's/.*search//' \ -e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \ -e 's/ .*//' -e 's/ .*//' \ -e 's/^\.//' -e 's/^/./' |\ awk '{ printf("%s", $1); }'`" fi fi fi # # determine current time # time_day="`date '+%d' | awk '{ printf("%s", $1); }'`" time_month="`date '+%m' | awk '{ printf("%s", $1); }'`" time_year="`date '+%Y' 2>/dev/null | awk '{ printf("%s", $1); }'`" if test ".$time_year" = .; then time_year="`date '+%y' | awk '{ printf("%s", $1); }'`" case $time_year in 9[0-9]*) time_year="19$time_year" ;; *) time_year="20$time_year" ;; esac fi case $time_month in 1|01) time_monthname='Jan' ;; 2|02) time_monthname='Feb' ;; 3|03) time_monthname='Mar' ;; 4|04) time_monthname='Apr' ;; 5|05) time_monthname='May' ;; 6|06) time_monthname='Jun' ;; 7|07) time_monthname='Jul' ;; 8|08) time_monthname='Aug' ;; 9|09) time_monthname='Sep' ;; 10) time_monthname='Oct' ;; 11) time_monthname='Nov' ;; 12) time_monthname='Dec' ;; esac # # create result string # if [ ".$newline" = .yes ]; then echo $format_string |\ sed -e "s;%u;$username;g" \ -e "s;%U;$userid;g" \ -e "s;%h;$hostname;g" \ -e "s;%d;$domainname;g" \ -e "s;%D;$time_day;g" \ -e "s;%M;$time_month;g" \ -e "s;%Y;$time_year;g" \ -e "s;%m;$time_monthname;g" else echo "${format_string}&" |\ sed -e "s;%u;$username;g" \ -e "s;%U;$userid;g" \ -e "s;%h;$hostname;g" \ -e "s;%d;$domainname;g" \ -e "s;%D;$time_day;g" \ -e "s;%M;$time_month;g" \ -e "s;%Y;$time_year;g" \ -e "s;%m;$time_monthname;g" |\ awk '-F&' '{ printf("%s", $1); }' fi @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @Import of shtool 1.0.0 @ text @@