forked from john30/ebusd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
make_debian.sh
executable file
·123 lines (116 loc) · 3.61 KB
/
make_debian.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/bin/sh
# ebusd - daemon for communication with eBUS heating systems.
# Copyright (C) 2014-2017 John Baier <[email protected]>
#
# 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 <http://www.gnu.org/licenses/>.
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/default $RELEASE/etc/ebusd $RELEASE/etc/logrotate.d || exit 1
rm $RELEASE/usr/bin/ebusfeed
if [ -d /run/systemd/system ]; then
mkdir -p $RELEASE/lib/systemd/system || exit 1
cp contrib/debian/systemd/ebusd.service $RELEASE/lib/systemd/system/ebusd.service || exit 1
else
mkdir -p $RELEASE/etc/init.d || exit 1
cp contrib/debian/init.d/ebusd $RELEASE/etc/init.d/ebusd || exit 1
fi
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 <<EOF > $RELEASE/DEBIAN/control
Package: ebusd
Version: $VERSION
Section: net
Priority: required
Architecture: $ARCH
Maintainer: John Baier <[email protected]>
Homepage: https://github.com/john30/ebusd
Bugs: https://github.com/john30/ebusd/issues
Depends: logrotate, libstdc++6 (>= 4.8.1), 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 <<EOF > $RELEASE/DEBIAN/dirs
/etc/ebusd
/etc/default
/etc/logrotate.d
/usr/bin
EOF
if [ -d /run/systemd/system ]; then
echo /lib/systemd/system >> $RELEASE/DEBIAN/dirs
else
echo /etc/init.d >> $RELEASE/DEBIAN/dirs
fi
cat <<EOF > $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"