#!/bin/sh
#
# aryzhov@spasu.net
# install apache2 to the Solaris 11 zone
#
# if arg1 is not empty, it is a target dir for pgkadd -R
# Normally, must be started from add_zones for a specific machine
#
[ -z "$SID" ] && SID=/tmp/install_config
[ X$SubrIsRead = XYes ] || . $SID/Scripts/Misc/!Includes/Subroutines
[ X$VarsAreSet = XYes ] || SetJVars
SetRootOpts ; [ X$ROOT != X/ ] && exec Chroot_Script $0 $*

echo "\n\n=== Installing Apache ===\n"

[ x$1 != x ] && PKG_ROOT_OPT="-R $1"

cd $JS_MEDIA_DIR/Packages/Apache/. || StartShell

PKGLIST="
  libgcc
  perl
  libiconv
  expat
  openssl
  gdbm
  db
  apr
  aprutil
  apache
"

MakeAdminFile

for i in $PKGLIST; do
  cat ${i}-*.gz | gzip -d >/tmp/$i.pkg || StartShell
  pkgadd -nM -a $PKGADMIN_FILE $PKG_ROOT_OPT -d /tmp/$i.pkg all 2>&1 | grep "Installation of"
done

egrep -s '^nobody:' $1/etc/passwd || {
  printf "2\ni\nnobody:x:60001:60001:NFS Anonymous Access User:/:\n.\nw\nq\n" | ed -s $1/etc/passwd
  printf "2\ni\nnobody:*LK*:6445::::::\n.\nw\nq\n"   | ed -s $1/etc/shadow
  # printf "2\ni\nnobody::60001:\n.\nw\nq\n"   | ed -s $1/etc/group
}

cat conf.tcz | gzip -d | crypt "ne14pki" | (
  cd $1/usr/local/apache2/. && {
    mv conf conf.std
    mkdir conf
    cd conf
    tar xf -
  }
)

cat svc/apache_method       >$1/lib/svc/method/http-apache2 && chmod 555 $1/lib/svc/method/http-apache2
cat svc/apache_manifest.xml >$1/var/svc/manifest/network/http-apache2.xml && chmod 444 $1/var/svc/manifest/network/http-apache2.xml
