#!/bin/sh
#
# acpi-scripts.SlackBuild
# 2016-07-10
#
# Scripts for handling ACPI events

PRGNAM=acpi-scripts
VERSION=14.2
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-scr}

REQUIRES="acpid pm-utils"

MAINTAINER="Gernot Walzl"
EMAIL="gernot.walzl@gmx.at"

DESC="Scripts for handling ACPI events

by $MAINTAINER"

# EOF info


# set initial variables
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# exit on error
set -e

# copy /etc/acpi
rm -rf $PKG
mkdir -p $PKG/install
mkdir -p $PKG/etc/acpi
cp /etc/acpi/* $PKG/etc/acpi || true
for CONF in $(find $PKG/etc/acpi -name '*.conf'); do
  mv "$CONF" "${CONF}.new"
done
chown -R root:root $PKG

# add some description to the package
if [ "$DESC" != "" ]; then
  echo "$DESC" | sed 's/^/'$PRGNAM': /g' > $PKG/install/slack-desc
fi

# append dependency information to the package
if [ "$REQUIRES" != "" ]; then
  for REQ in $REQUIRES; do
    echo "$REQ" >> $PKG/install/slack-required
  done
fi

# doinst.sh
cat > $PKG/install/doinst.sh <<EOF
#!/bin/sh

config () {
  NEW="\$1"
  OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
  if [ ! -r "\$OLD" ]; then
    mv \$NEW \$OLD
  elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
    rm \$NEW
  fi
}

for CONF in \$(find etc/acpi -name '*.new'); do
  config \$CONF
done

if [ "\$(grep /etc/powerdown etc/rc.d/rc.local)" = "" ]; then
  echo "rm -f /etc/powerdown" >> etc/rc.d/rc.local
fi
if [ -d proc/acpi/battery ]; then
  if [ "\$(grep /etc/acpi/powertop.sh etc/rc.d/rc.local)" = "" ]; then
    echo "/etc/acpi/powertop.sh auto" >> etc/rc.d/rc.local
  fi
fi

if [ ! -f etc/rc.d/rc.local_shutdown ]; then
  echo "#!/bin/sh" > etc/rc.d/rc.local_shutdown
  chmod +x etc/rc.d/rc.local_shutdown
fi
if [ "\$(grep /etc/powerdown etc/rc.d/rc.local_shutdown)" = "" ]; then
  echo "touch /etc/powerdown" >> etc/rc.d/rc.local_shutdown
fi
EOF

# build the package
cd $PKG
makepkg -l y -c n \
  $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} \
  || exit 1

# make everything clean
cd $CWD
rm -rf $PKG
