slackbuilds/a/i8kutils/i8kutils.SlackBuild
2010-06-19 22:28:17 +07:00

136 lines
2.6 KiB
Bash
Executable file

#!/bin/sh -x
# variables
TMP=/tmp
CWD=$(pwd)
APP_NAME=i8kutils
PKG=$TMP/package-$APP_NAME
VERSION=1.33
EXT=tar.gz
DOCS="AUTHORS ChangeLog COPYING INSTALL NEWS README* TODO examples patches"
ARCH=$(uname -m)
BUILD=2cyco
PREFIX=/usr
SLCKFLAGS="-fPIC -O2"
# nettoyage préalable
rm -fr $PKG $TMP/$APP_NAME-$VERSION
mkdir -p $PKG
# mise en place
cd $TMP
tar xf $CWD/$APP_NAME-$VERSION.$EXT
cd $APP_NAME-$VERSION
# configuration
# compilation
make -j3 PREFIX=$PREFIX
# installation
mkdir -p $PKG$PREFIX/{sbin,bin,man}
make install DESTDIR=$PKG PREFIX=$PREFIX
cp *.1 $PKG$PREFIX/man
mkdir -p $PKG/etc/rc.d
cat <<EOF > $PKG/etc/rc.d/rc.i8kmon.new
#!/bin/sh
# Start/stop/restart i8kmon.
# Start i8kmon:
i8kmon_start() {
if [ -x /usr/bin/i8kmon -a -d /proc/i8k ]; then
echo "Starting i8k daemon: /usr/sbin/i8kmon"
/usr/bin/i8kmon
fi
}
# Stop i8kmon:
i8kmon_stop() {
killall i8kmon
}
# Restart i8kmon:
i8kmon_restart() {
i8kmon_stop
sleep 1
i8kmon_start
}
case "\$1" in
'start')
i8kmon_start
;;
'stop')
i8kmon_stop
;;
'restart')
i8kmon_restart
;;
*)
echo "usage \$0 start|stop|restart"
esac
EOF
chmod +x $PKG/etc/rc.d/rc.i8kmon.new
# correction
cd $PKG
chown -R root:root *
mkdir -p $PKG/usr/doc/$APP_NAME-$VERSION
cd $TMP/$APP_NAME-$VERSION
cp -R $DOCS $PKG/usr/doc/$APP_NAME-$VERSION
mkdir $PKG/etc
cp i8kmon.conf $PKG/etc/i8kmon.conf.new
[ -d $PKG/usr/man ] && find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
# Strip binaries
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# embaumement
mkdir -p $PKG/install
cat <<EOF > $PKG/install/doinst.sh
config() {
NEW="\$1"
OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r \$OLD ]; then
mv \$NEW \$OLD
elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
# toss the redundant copy
rm \$NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/rc.d/rc.i8kmon.new
EOF
cat <<EOF > $PKG/install/slack-desc
$APP_NAME: $APP_NAME (user-space programs for accessing the SMM BIOS of Dell laptops.)
$APP_NAME:
$APP_NAME:
$APP_NAME:
$APP_NAME:
$APP_NAME:
$APP_NAME:
$APP_NAME: http://packages.debian.org/i8kutils
$APP_NAME:
$APP_NAME: see /usr/doc/$APP_NAME-$VERSION for more details
$APP_NAME:
EOF
# empaquetage
cd $PKG
makepkg -l y -c n $TMP/$APP_NAME-$(echo $VERSION | sed 's/-//g')-$ARCH-$BUILD.txz