#!/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`
  machine=`expr "$machine" : '\(...\).*'`
  case $machine in
      i48) machine="i386" ;;
      i58) machine="i386" ;;
      i68) machine="i386" ;;
      sun) machine="sparc64" ;;
      arm) machine="arm" ;;
      sa1) machine="arm" ;;
      s39) machine="s390" ;;
      ppc) machine="powerpc" ;;
      mip) machine="mips" ;;
      sh2) machine="sh" ;;
      sh3) machine="sh" ;;
      sh4) machine="sh" ;;
      *)   machine="unknown" ;;
  esac

  echo $machine
}
