#!/bin/sh -ef

PROG="${0##*/}"

Info()
{
	printf %s\\n "${0##*/}: $*" >&2
}

Fatal()
{
	printf %s\\n "${0##*/}: $*" >&2
	exit 1
}

quiet=
verbose=
Verbose()
{
	[ -n "$verbose" ] || return 0
	printf %s\\n "${0##*/}: $*" >&2
}

# ======================================================================
# Command line parsing

show_version()
{
	cat <<EOF
$PROG version 0.1
Written by Mikhail Yakshin <greycat@altlinux.org>

Copyright (C) 2007  Mikhail Yakshin <greycat@altlinux.org>
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
EOF
	exit
}

show_help()
{
	cat <<EOF
Usage: $PROG [options] $USAGE
$DESCRIPTION

Options:
  -q, --quiet                       try to be more quiet;
  -v, --verbose                     print a message for each action;
  -V, --version                     print program version and exit;
  -h, --help                        show this text and exit.
    
Report bugs to http://bugs.altlinux.ru/

EOF
	exit
}

show_usage()
{
	[ -z "$*" ] || Info "$*"
	echo "Try \`$PROG --help' for more information." >&2
	exit 1
}

parse_option()
{
	show_usage "wrong option: $*"
}

# ======================================================================
# Misc functions

# Ensure that proper ssh key is in ssh agent to access ALT resources
ensure_ssh_key()
{
	if ! ssh-add -l | cut -d\  -f3 | grep -q $ALT_SSH_KEY; then
		ssh-add $ALT_SSH_KEY
	fi
}

# Try to fill out $PACKAGE variable with name of package in git
# directory we're working on
determine_package()
{
	PACKAGE=$1
	if [ -z "$PACKAGE" ]; then
		PACKAGE=`pwd | sed "s,^$GIT_HOME_DIR/,,; s,/.*$,,;"`
		[ -n "$PACKAGE" ] || Fatal 'Unable to determine package to work on'
	fi
	[ -d "$GIT_HOME_DIR/$PACKAGE" ] || Fatal "Unable to access $GIT_HOME_DIR/$PACKAGE"
	Verbose "Build package from $GIT_HOME_DIR/$PACKAGE"
}

# ======================================================================
# Default settings
GIT_HOME_DIR=$HOME/git
BUILD_DIR=$HOME/hasher
ALT_SSH_KEY=$HOME/.ssh/id_dsa
ALT_USER=$USER

if [ "`uname -m`" == 'x86_64' ]; then
	ARCH=x86_64
else
	ARCH=i586
fi

# Load user-wide settings
[ -r "$HOME/.Sisyphusrc" ] && . "$HOME/.Sisyphusrc"

# Derive build server settings
if [ -n "$BUILD_SERVER_HOST" ]; then
	[ -z "$BUILD_SERVER_USER" ] && BUILD_SERVER_USER=$USER
	[ -z "$BUILD_SERVER_BUILD_DIR" ] && BUILD_SERVER_BUILD_DIR=$BUILD_DIR
fi

[ -n "$ALT_USER_EMAIL" ] || ALT_USER_EMAIL=$ALT_USER@altlinux.org
[ -n "$ALT_USER_NAME" ] || ALT_USER_NAME=`grep "^$USER:" /etc/passwd | cut -d: -f5`

true
