diff --git a/etc/centos/fpm-make.sh b/etc/centos/fpm-make.sh new file mode 100755 index 0000000..3997b27 --- /dev/null +++ b/etc/centos/fpm-make.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +PACKAGEDIR=${PACKAGEDIR:=/tmp} + +tempdir=$(mktemp -d /tmp/ot-XXX) + +make install DESTDIR=$tempdir + +name="ot-recorder" +version=$(awk '{print $NF;}' version.h | sed -e 's/"//g' ) +arch=$(uname -m) +rpmfile="${PACKAGEDIR}/${name}_${version}_${arch}.rpm" + +rm -f "${rpmfile}" + +fpm -s dir \ + -t rpm \ + -n ${name} \ + -v ${version} \ + --vendor "OwnTracks.org" \ + -a native \ + --maintainer 'jpmens@gmail.com' \ + --description "A lightweight back-end for consuming OwnTracks data from an MQTT broker" \ + --license "https://github.com/owntracks/recorder/blob/master/LICENSE" \ + --url "http://owntracks.org" \ + -C $tempdir \ + -p ${rpmfile} \ + -d "libcurl" \ + -d "libmosquitto1" \ + -d "lua" \ + --post-install etc/centos/postinst \ + usr var diff --git a/etc/centos/postinst b/etc/centos/postinst new file mode 100644 index 0000000..011dac3 --- /dev/null +++ b/etc/centos/postinst @@ -0,0 +1,32 @@ +#!/bin/sh +# postinstall for Centos7 +# +# Create owntracks user & group +# binaries are setuid to owntracks +# storage belongs to owntracks:owntracks + +set -e + +case "$1" in + 1) + getent group owntracks > /dev/null || /usr/sbin/groupadd --system owntracks + getent passwd owntracks > /dev/null || adduser --system -g owntracks --no-create-home owntracks + mkdir -p /var/spool/owntracks/recorder/store/last + mkdir -p /var/spool/owntracks/recorder/store/ghash + chown -R owntracks:owntracks /var/spool/owntracks/recorder/store + chgrp owntracks /var/spool/owntracks/recorder/store/ghash + chown owntracks:owntracks /usr/local/bin/ocat /usr/local/sbin/ot-recorder + chmod 4111 /usr/local/bin/ocat /usr/local/sbin/ot-recorder + /usr/local/sbin/ot-recorder --initialize + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +exit 0