#!/bin/bash

# Generate a certificate for the systemtap server and add it to the
# database of trusted servers for the client.
#
# Copyright (C) 2009 Red Hat Inc.
#
# This file is part of systemtap, and is free software.  You can
# redistribute it and/or modify it under the terms of the GNU General
# Public License (GPL); either version 2, or (at your option) any
# later version.

# Common environment setup for stap scripts

# INSTALL-HOOK These settings work for running the server from the source tree
# INSTALL-HOOK using the dejagnu test harness and will be overridden at install
# INSTALL-HOOK time.
stap_exec_prefix=
stap_sysconfdir=`pwd`/net
stap_pkglibexecdir=
stap_localstatedir=`pwd`/net/var

# General configuration
stap_tmpdir_prefix_client=stap.client
stap_tmpdir_prefix_server=stap.server
stap_avahi_service_tag=_stap._tcp

# NSS certificate databases
stap_root_ssl_db=$stap_sysconfdir/systemtap/ssl
if test "X$SYSTEMTAP_DIR" = "X"; then
    stap_user_ssl_db=$HOME/.systemtap/ssl
else
    stap_user_ssl_db=$SYSTEMTAP_DIR/ssl
fi

if test $EUID = 0; then
    stap_ssl_db=$stap_root_ssl_db
else
    stap_ssl_db=$stap_user_ssl_db
fi

stap_signing_db=$stap_sysconfdir/systemtap/staprun
stap_certfile=stap.cert

function stap_get_arch {
  # PR4186: Copy logic from coreutils uname (uname -i) to squash
  # i?86->i386.  Actually, copy logic from linux top-level Makefile
  # to squash uname -m -> $(SUBARCH).

  local machine=`uname -m`
  case $machine in
      i?86) machine="i386" ;;
      x86_64) machine="x86_64" ;;
      sun) machine="sparc64" ;;
      arm*) machine="arm" ;;
      sa1*) machine="arm" ;;
      s390*) machine="s390" ;;
      ppc*) machine="powerpc" ;;
      mip*) machine="mips" ;;
      sh?) machine="sh" ;;
      *)   echo "unknown machine $machine" 1>&1; exit 1 ;; 
  esac

  echo $machine
}
