#!/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
ssl_global_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
stap_ssl_db=$stap_user_ssl_db

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).
  #
  # This logic needs to match the logic in the systemtap_session
  # constructor in session.cxx.

  local machine=`uname -m`
  case $machine in
      i?86) machine="i386" ;;
      sun4u) machine="sparc64" ;;
      arm*) machine="arm" ;;
      sa1*) machine="arm" ;;
      s390*) machine="s390" ;;
      ppc*) machine="powerpc" ;;
      mips*) machine="mips" ;;
      sh?) machine="sh" ;;
      # the default is to just use the output of 'uname -m'
  esac

  echo $machine
}
