#!/bin/sh # slackmake - handle the make process of a slackware package gracefully # Copyright (C) 2004 Peter Willis [ -n "${ARCH}" ] || ARCH="i486" INSTALL=0 function devise_build_number() { BPREFIX="$1" BPOSTFIX="$2" BUILDNUM=1 while [ true ] ; do if [ -e "$BASE-$BUILDNUM$BPOSTFIX" ] ; then BUILDNUM=$((BUILDNUM+1)) else echo "$BPREFIX$BUILDNUM$BPOSTFIX" break fi done } function gnome_schema_install_cleanup() { mkdir install 2>/dev/null for SCHEMA in etc/gconf/schemas/* ; do echo "GCONF_CONFIG_SOURCE=\`gconftool-2 --get-default-source\` gconftool-2 --makefile-install-rule \"$SCHEMA\"" >> install/doinst.sh done chmod 755 install/doinst.sh } function parse_args() { for arg in $@ ; do if [ "$arg" = "--install" ] ; then INSTALL=1 fi done } parse_args $@ #make clean make if [ $? -eq 0 ] ; then echo "make WORKED." if grep DESTDIR * 2>/dev/null 1>/dev/null ; then make DESTDIR=`pwd`/_install install if [ $? -eq 0 ] ; then DIR="`pwd`" && PKGNM=`basename "$DIR"` && NAME=`devise_build_number "$DIR/$PKGNM-${ARCH}-" sbt.tgz` cd _install && { if [ -d etc/gconf/schemas ] ; then gnome_schema_install_cleanup fi true } && makepkg -c n -l y "$NAME" if [ $? -eq 0 ] ; then echo "CREATED PACKAGE \"$NAME\"!" if [ $INSTALL -eq 1 ] ; then echo "INSTALLING PACKAGE \"$NAME\" ..." upgradepkg --install-new "$NAME" [ $? -eq 0 ] && echo "PACKAGE \"$NAME\" INSTALLED SUCCESSFULLY" fi exit 0 else echo "CREATING PACKAGE \"$NAME\" FAILED." exit 1 fi else echo "make install DIDN'T WORK." exit 1 fi else echo "grep DIDN'T FIND DESTDIR IN THIS DIRECTORY." fi else echo "make DIDN'T WORK." exit 1 fi