#!/bin/bash # eecc - Eclectic Engineer's Control Center # See LICENSE file for copyright and license details. tmp=$(mktemp) sed -e 's/ = /=/' < config.mk > $tmp . $tmp rm -f $tmp bindir=${DESTDIR}${PREFIX}/bin list_of_bins() { echo bin/eeabrt echo bin/eedmenu echo bin/eeget echo bin/eeiam echo bin/eeini echo bin/eeln echo bin/eemk echo bin/eepush echo bin/eerevert echo bin/eewatch echo bin/eewww } list_of_installed_bins() { list_of_bins | sed -e "s/bin/$(sed -e 's/\//\\\//g' <<<$bindir)/" } die() { for l in "$@"; do echo "$l" >&2; done exit 9 } clean() { test -f built.list && { cat built.list | xargs rm -f rm -f built.list } || : } dist() { local dirname=eecc-${VERSION} mkdir -p $dirname cp -R bin \ config.mk \ Makefile \ README \ LICENSE \ setup \ test \ utils \ $dirname tar -cf $dirname.tar $dirname gzip $dirname.tar rm -rf $dirname echo $dirname.tar.gz >> built.list } install() { mkdir -p $bindir list_of_bins | xargs cp -vrt $bindir list_of_installed_bins | xargs chmod 755 test -f .autoclean && clean || : } eecc() { ffoom init_path >& /dev/null \ || die "-----" \ "fastfood not installed or ffoom is not available for $(id -un)." \ "In the latter case try running (only) \`make\` under normal" \ "user and repeating the \`make install\` again." \ "-----" local ffoo_init=$(ffoom init_path) local srcpath dstpath find -type f -name '*.in' \ | while read srcpath; do dstpath=${srcpath%.in} perl -pe "s|__FFOO_INIT__|$ffoo_init|; s|__FFOO_INI_PATH__|$FFOO_INI_PATH_GLOBAL:\\\$HOME/$FFOO_INI_PATH_USER|; s|__VERSION__|$VERSION|;" < $srcpath > $dstpath echo $dstpath >> built.list done } run_test() { pushd test find -maxdepth 1 -type f \! -name '*.in' | while read test; do chmod 0755 $test $test || exit $? done popd } uninstall() { list_of_installed_bins | xargs rm -f } case $1 in clean|dist|install|install_manpages|manpages|eecc|uninstall) $1 ;; test) run_test ;; *) echo "usage: $(basename $0) clean|dist|install|eecc|test|uninstall" >&2 esac