#!/bin/sh

#
# The skip build process actually builds a tree of files
# in the subdirectory SKIPDIR (defined below). So all we
# have to do is install these files, with some slight
# rearrangement, and then deal with the rc script stuff.
#

SKIPDIR="${WRKSRC}/mkpkgs/freebsd/bin.x86/skip"

Report ()
{
  echo "     " $1
}

install_lkm_files ()
{
  LKM_FILES="drv/skip.ko"

  Report "Installing kernel KLD module in ${PREFIX}/modules"
  ${BSD_INSTALL_DATA} ${LKM_FILES} ${PREFIX}/modules
}

install_etc_files ()
{
  ETC_FILES="etc/dh_params \
		etc/skipd.conf \
		etc/SunICG_CA_selfcert"
  RAS_FILES="bin/none.ras \
		bin/unknown.ras \
		bin/icon_v1.ras \
		bin/icon_v2.ras \
		bin/skiptool_small.ras \
		bin/updated.ras \
		bin/nomadic.ras"
  SCR_FILES="etc/skip.mkdev \
		etc/hosts"

  Report "Installing miscellaneous files in ${PREFIX}/etc/skip"
  ${BSD_INSTALL_DATA} ${ETC_FILES} ${PREFIX}/etc/skip
  ${BSD_INSTALL_DATA} ${RAS_FILES} ${PREFIX}/etc/skip
  ${BSD_INSTALL_SCRIPT} ${SCR_FILES} ${PREFIX}/etc/skip
}

install_bin_files ()
{
  BIN_FILES="bin/skiptool \
		bin/skiphost \
		bin/skipstat \
		bin/skiplog \
		bin/skipstat_ui \
		bin/skipvar \
		bin/test_key \
		bin/skipd \
		bin/skipdb \
		bin/skipca \
		bin/skiplocal \
		bin/certreq \
		bin/X509toHashCert \
		bin/dh_keygen \
		bin/print_cert"
  SCRIPT_FILES="bin/install_skip_keys \
		bin/skipd_restart \
		bin/skipif \
		bin/skip_conf"

  Report "Installing binaries and scripts in ${PREFIX}/bin"
  ${BSD_INSTALL_PROGRAM} ${BIN_FILES} ${PREFIX}/bin
  ${BSD_INSTALL_SCRIPT} ${SCRIPT_FILES} ${PREFIX}/bin
}

install_doc_files ()
{
  DOC_FILES="doc/SKIP_SOFTWARE_LICENSE \
		doc/BN_SOFTWARE_LICENSE \
		doc/README.PATENT \
		doc/README.FreeBSD \
		doc/README.FreeBSD+NAT \
		doc/00README \
		doc/INSTALL \
		doc/advanced.TOPICS \
		doc/usersguide.txt \
		doc/usersguide.ps \
		doc/usersguide.html \
		doc/inet-95.ps"

  Report "Installing documentation in ${PREFIX}/share/doc/skip"
  ${BSD_INSTALL_DATA} ${DOC_FILES} ${PREFIX}/share/doc/skip
}

install_man_files ()
{
  MAN1_FILES="man/man1/certreq.1 \
		man/man1/skiphost.1 \
		man/man1/skipstat.1 \
		man/man1/skiptool.1 \
		man/man1/skipd.1  \
		man/man1/skipdb.1 \
		man/man1/skipca.1 \
		man/man1/skiplocal.1 \
		man/man1/install_skip_keys.1 \
		man/man1/skipd_restart.1 \
		man/man1/skipif.1 \
		man/man1/skip_conf.1 \
		man/man1/skiplog.1 \
		man/man1/print_cert.1"
  MAN4_FILES="man/man4/skipd.conf.4 \
		man/man4/raw_keys.4"

  Report "Installing man pages in ${PREFIX}/man"
  ${BSD_INSTALL_MAN} ${MAN1_FILES} ${PREFIX}/man/man1
  ${BSD_INSTALL_MAN} ${MAN4_FILES} ${PREFIX}/man/man4
}

install_rc_file ()
{
  RC_FILE="etc/rc"

  Report "Installing startup script in ${PREFIX}/etc/rc.d"
  ${BSD_INSTALL_SCRIPT} ${RC_FILE} ${PREFIX}/etc/rc.d/skip.sh
}

# main()

cd ${SKIPDIR} || exit 1
install_lkm_files;
install_etc_files;
install_bin_files;
install_doc_files;
install_man_files;
install_rc_file;
