#!/bin/sh # ebusd - daemon for communication with eBUS heating systems. # Copyright (C) 2014-2017 John Baier # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . echo "*************" echo " prepare" echo "*************" echo VERSION=`head -n 1 VERSION` ARCH=`dpkg --print-architecture` BUILD="build-$ARCH" RELEASE="ebusd-$VERSION" PACKAGE="${RELEASE}_${ARCH}" rm -rf "$BUILD" mkdir -p "$BUILD" || exit 1 cd "$BUILD" || exit 1 (tar cf - -C .. "--exclude=./$BUILD" --exclude=./.* "--exclude=*.o" "--exclude=*.a" .| tar xf -) || exit 1 echo echo "*************" echo " build" echo "*************" echo ./autogen.sh $@ || exit 1 make DESTDIR="$PWD/$RELEASE" install-strip || exit 1 extralibs= ldd $RELEASE/usr/bin/ebusd | egrep -q libmosquitto.so.0 if [ $? -eq 0 ]; then extralibs=', libmosquitto0' PACKAGE="${PACKAGE}_mqtt0" else ldd $RELEASE/usr/bin/ebusd | egrep -q libmosquitto.so.1 if [ $? -eq 0 ]; then extralibs=', libmosquitto1' PACKAGE="${PACKAGE}_mqtt1" fi fi echo echo "*************" echo " pack" echo "*************" echo mkdir -p $RELEASE/DEBIAN $RELEASE/etc/init.d $RELEASE/etc/default $RELEASE/etc/ebusd $RELEASE/etc/logrotate.d || exit 1 rm $RELEASE/usr/bin/ebusfeed cp contrib/debian/init.d/ebusd $RELEASE/etc/init.d/ebusd || exit 1 cp contrib/debian/default/ebusd $RELEASE/etc/default/ebusd || exit 1 cp contrib/etc/ebusd/* $RELEASE/etc/ebusd/ || exit 1 cp contrib/etc/logrotate.d/ebusd $RELEASE/etc/logrotate.d/ || exit 1 cp ChangeLog.md $RELEASE/DEBIAN/changelog || exit 1 cat < $RELEASE/DEBIAN/control Package: ebusd Version: $VERSION Section: net Priority: required Architecture: $ARCH Maintainer: John Baier Homepage: https://github.com/john30/ebusd Bugs: https://github.com/john30/ebusd/issues Depends: libstdc++6, libc6, libgcc1$extralibs Description: eBUS daemon. ebusd is a daemon for handling communication with eBUS devices connected to a 2-wire bus system. EOF cat < $RELEASE/DEBIAN/dirs /etc/ebusd /etc/init.d /etc/default /etc/logrotate.d /usr/bin EOF cat < $RELEASE/DEBIAN/postinst #!/bin/sh echo "Instructions:" echo "1. Edit /etc/default/ebusd if necessary" echo " (especially if your device is not /dev/ttyUSB0)" echo "2. Place CSV configuration files in /etc/ebusd/" echo " (see https://github.com/john30/ebusd-configuration)" echo "3. To start the daemon, enter 'service ebusd start'" echo "4. Check the log file /var/log/ebusd.log" EOF chmod 755 $RELEASE/DEBIAN/postinst dpkg -b $RELEASE || exit 1 mv ebusd-$VERSION.deb "../${PACKAGE}.deb" || exit 1 echo echo "*************" echo " cleanup" echo "*************" echo cd .. rm -rf "$BUILD" echo echo "Package created: ${PACKAGE}.deb" echo echo "Content:" dpkg -c "${PACKAGE}.deb"