mirror of
https://github.com/eosswedenorg/antelope-api-healthcheck
synced 2026-07-04 12:03:43 +02:00
Split scripts/build*.sh into install and package scripts.
This commit is contained in:
parent
3fce1f558b
commit
f4a39783b1
13 changed files with 252 additions and 197 deletions
29
Makefile
29
Makefile
|
|
@ -2,9 +2,11 @@
|
||||||
GO = go
|
GO = go
|
||||||
GOCCFLAGS = -v
|
GOCCFLAGS = -v
|
||||||
GOLDFLAGS = -ldflags="-s -w"
|
GOLDFLAGS = -ldflags="-s -w"
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
|
|
||||||
PROGRAM_NAME=eosio-api-healthcheck
|
PROGRAM_NAME=eosio-api-healthcheck
|
||||||
|
export GOOS = $(shell go env GOOS)
|
||||||
|
export GOARCH = $(shell go env GOARCH)
|
||||||
|
|
||||||
SOURCES=src/main.go src/server.go src/parse_request.go
|
SOURCES=src/main.go src/server.go src/parse_request.go
|
||||||
|
|
||||||
.PHONY: all build/$(PROGRAM_NAME) clean
|
.PHONY: all build/$(PROGRAM_NAME) clean
|
||||||
|
|
@ -18,18 +20,21 @@ build/$(PROGRAM_NAME) : $(SOURCES)
|
||||||
test:
|
test:
|
||||||
$(GO) test -v ./...
|
$(GO) test -v ./...
|
||||||
|
|
||||||
info-file :
|
install: build
|
||||||
echo PACKAGE_NAME=\"$(PROGRAM_NAME)\" "\n"\
|
PREFIX=$(PREFIX) DESTDIR=$(DESTDIR) scripts/install.sh $(GOOS)
|
||||||
PACKAGE_DESCRIPTION=\"HAproxy healthcheck program for EOSIO API.\" "\n"\
|
|
||||||
PACKAGE_VERSION=\"1.2.2\" "\n"\
|
|
||||||
PACKAGE_PREFIX=\"$(PREFIX:/%=%)\" "\n"\
|
|
||||||
PACKAGE_PROGRAM=\"build/$(PROGRAM_NAME)\" > scripts/pkg_info
|
|
||||||
|
|
||||||
package_deb: info-file
|
package:
|
||||||
./scripts/build.sh deb $(realpath build)
|
PKGROOT=$(DESTDIR) BUILDDIR=$(realpath build) scripts/package.sh $(PKGTYPE)
|
||||||
|
|
||||||
package_freebsd: info-file
|
package_debian: PKGTYPE = debian
|
||||||
./scripts/build.sh freebsd $(realpath build)
|
package_debian: GOOS = linux
|
||||||
|
package_debian: DESTDIR = build/debroot
|
||||||
|
package_debian: install package
|
||||||
|
|
||||||
|
package_freebsd: PKGTYPE = freebsd
|
||||||
|
package_freebsd: GOOS = freebsd
|
||||||
|
package_freebsd: DESTDIR = build/freebsdroot
|
||||||
|
package_freebsd: install package
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(GO) clean
|
$(GO) clean
|
||||||
|
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Read cli args #
|
|
||||||
############################
|
|
||||||
|
|
||||||
if [ $# -lt 2 ]; then
|
|
||||||
echo "$0 <pkg_type> <build_dir>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_TYPE=$1
|
|
||||||
BUILD_DIR=$2
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Exported variables. #
|
|
||||||
############################
|
|
||||||
|
|
||||||
export BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
export TEMPLATE_DIR=${BASE_DIR}/templates
|
|
||||||
|
|
||||||
set -o allexport
|
|
||||||
# Package info
|
|
||||||
source ${BASE_DIR}/pkg_info
|
|
||||||
# Build info
|
|
||||||
source ${BUILD_DIR}/.buildinfo
|
|
||||||
set +o allexport
|
|
||||||
|
|
||||||
# Directories.
|
|
||||||
export PACKAGE_BINDIR=${PACKAGE_PREFIX}/bin
|
|
||||||
export PACKAGE_ETCDIR=etc/${PACKAGE_NAME}
|
|
||||||
export PACKAGE_LOGDIR=/var/log
|
|
||||||
export PACKAGE_LOGFILE=${PACKAGE_LOGDIR}/${PACKAGE_NAME}.log
|
|
||||||
export PACKAGE_SHAREDIR=${PACKAGE_PREFIX}/share/${PACKAGE_NAME}
|
|
||||||
export PACKAGE_TMPDIR="${BUILD_DIR}/pkg_${PKG_TYPE}"
|
|
||||||
export BUILD_DIR
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Run script #
|
|
||||||
############################
|
|
||||||
|
|
||||||
PKG_SCRIPT="${BASE_DIR}/build_${PKG_TYPE}.sh"
|
|
||||||
|
|
||||||
# Check and call script
|
|
||||||
if [ ! -x $PKG_SCRIPT ]; then
|
|
||||||
echo "$PKG_SCRIPT not found"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "[\e[34m::\e[0m] Building package for: ${PKG_TYPE}"
|
|
||||||
|
|
||||||
$PKG_SCRIPT
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
PACKAGE_SYSUNITDIR=etc/systemd/system
|
|
||||||
PACKAGE_RSYSLOGDIR=etc/rsyslog.d
|
|
||||||
PACKAGE_LOGROTATEDIR=etc/logrotate.d
|
|
||||||
|
|
||||||
if [[ -f /etc/upstream-release/lsb-release ]]; then
|
|
||||||
source /etc/upstream-release/lsb-release
|
|
||||||
elif [[ -f /etc/lsb-release ]]; then
|
|
||||||
source /etc/lsb-release
|
|
||||||
else
|
|
||||||
echo "ERROR: could not determine debian release."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
DISTRIB_ID=$(echo $DISTRIB_ID | tr '[:upper:]' '[:lower:]')
|
|
||||||
|
|
||||||
# Default to 1 if no release is set.
|
|
||||||
if [[ -z $RELEASE ]]; then
|
|
||||||
RELEASE="1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PACKAGE_FULLNAME="${PACKAGE_NAME}_${PACKAGE_VERSION}-${RELEASE}-${DISTRIB_ID}-${DISTRIB_RELEASE}_amd64"
|
|
||||||
|
|
||||||
rm -fr ${PACKAGE_TMPDIR}
|
|
||||||
|
|
||||||
# Create debian files.
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/DEBIAN
|
|
||||||
echo "Package: ${PACKAGE_NAME}
|
|
||||||
Version: ${PACKAGE_VERSION}-${RELEASE}
|
|
||||||
Section: introspection
|
|
||||||
Priority: optional
|
|
||||||
Architecture: amd64
|
|
||||||
Homepage: https://github.com/eosswedenorg/eos-api-healthcheck
|
|
||||||
Maintainer: Henrik Hautakoski <henrik@eossweden.org>
|
|
||||||
Description: ${PACKAGE_DESCRIPTION}" &> ${PACKAGE_TMPDIR}/DEBIAN/control
|
|
||||||
|
|
||||||
cat ${PACKAGE_TMPDIR}/DEBIAN/control
|
|
||||||
|
|
||||||
# Create service file
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}
|
|
||||||
cat ${TEMPLATE_DIR}/sysunit.service \
|
|
||||||
| sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \
|
|
||||||
| sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \
|
|
||||||
| sed "s~{{ PROGRAM }}~/${PACKAGE_PREFIX}/bin/${PACKAGE_NAME}~" \
|
|
||||||
> ${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}/${PACKAGE_NAME}.service
|
|
||||||
|
|
||||||
# Create rsyslog file
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}
|
|
||||||
cat ${TEMPLATE_DIR}/rsyslog.conf \
|
|
||||||
| sed "s~{{ PROGRAM }}~${PACKAGE_NAME}~" \
|
|
||||||
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
|
|
||||||
> ${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}/49-${PACKAGE_NAME}.conf
|
|
||||||
|
|
||||||
# Create logrotate file
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}
|
|
||||||
cat ${TEMPLATE_DIR}/logrotate.conf \
|
|
||||||
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
|
|
||||||
> ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
|
|
||||||
chmod 644 ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
|
|
||||||
|
|
||||||
# Cerate config file
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}
|
|
||||||
cat ${TEMPLATE_DIR}/config \
|
|
||||||
| sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \
|
|
||||||
> ${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}/env
|
|
||||||
|
|
||||||
# Copy program
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
|
|
||||||
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}/${PACKAGE_NAME}
|
|
||||||
|
|
||||||
# Copy files.
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR}
|
|
||||||
cp ${BASE_DIR}/../README.md ${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR}
|
|
||||||
|
|
||||||
fakeroot dpkg-deb --build ${PACKAGE_TMPDIR} ${BUILD_DIR}/${PACKAGE_FULLNAME}.deb
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Simple script to create a tar archive for FreeBSD
|
|
||||||
|
|
||||||
PACKAGE_TMPDIR="${PACKAGE_TMPDIR}/freebsd"
|
|
||||||
PACKAGE_RCDIR=/etc/rc.d
|
|
||||||
PACKAGE_NEWSYSLOGDIR=etc/newsyslog.conf.d
|
|
||||||
|
|
||||||
# Common variables
|
|
||||||
PID_FILE=/var/run/${PACKAGE_NAME}.pid
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Create rc file #
|
|
||||||
############################
|
|
||||||
|
|
||||||
# rc does not like "-" in the filename.
|
|
||||||
RC_NAME=$(echo ${PACKAGE_NAME} | sed "s~-~_~g")
|
|
||||||
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}
|
|
||||||
cat ${TEMPLATE_DIR}/rc.conf \
|
|
||||||
| sed "s~{{ RC_NAME }}~${RC_NAME}~g" \
|
|
||||||
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
|
|
||||||
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
|
|
||||||
| sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \
|
|
||||||
| sed "s~{{ PROGRAM }}~/${PACKAGE_BINDIR}/${PACKAGE_NAME}~" \
|
|
||||||
> ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
|
|
||||||
|
|
||||||
# Must be executable.
|
|
||||||
chmod 755 ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Create newsyslog config #
|
|
||||||
############################
|
|
||||||
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}
|
|
||||||
cat ${TEMPLATE_DIR}/newsyslog.conf \
|
|
||||||
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
|
|
||||||
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
|
|
||||||
> ${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}/${PACKAGE_NAME}.conf
|
|
||||||
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Copy binary #
|
|
||||||
############################
|
|
||||||
|
|
||||||
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
|
|
||||||
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
|
|
||||||
|
|
||||||
############################
|
|
||||||
# Create archive #
|
|
||||||
############################
|
|
||||||
|
|
||||||
TAR_FILENAME="${PACKAGE_NAME}-${PACKAGE_VERSION}-freebsd-${GOARCH}.tar.gz"
|
|
||||||
|
|
||||||
tar -C ${PACKAGE_TMPDIR} --owner root --group root -zcvf ${BUILD_DIR}/${TAR_FILENAME} .
|
|
||||||
6
scripts/info.sh
Normal file
6
scripts/info.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Info
|
||||||
|
PROGRAM_NAME=eosio-api-healthcheck
|
||||||
|
PROGRAM_VERSION=1.2.2
|
||||||
|
PROGRAM_DESCRIPTION="HAproxy healthcheck program for EOSIO API."
|
||||||
61
scripts/install.sh
Executable file
61
scripts/install.sh
Executable file
|
|
@ -0,0 +1,61 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Read cli args #
|
||||||
|
############################
|
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "$0 <type>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SYSTEM_TYPE=$1
|
||||||
|
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
PREFIX=$2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -gt 2 ]; then
|
||||||
|
DESTDIR=$3
|
||||||
|
fi
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Exported variables. #
|
||||||
|
############################
|
||||||
|
|
||||||
|
export BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
export TEMPLATE_DIR=${BASE_DIR}/templates
|
||||||
|
export BUILD_DIR=${BASE_DIR}/../build
|
||||||
|
|
||||||
|
# Export info variables
|
||||||
|
set -o allexport
|
||||||
|
source ${BASE_DIR}/info.sh
|
||||||
|
set +o allexport
|
||||||
|
|
||||||
|
# Directories.
|
||||||
|
export DESTDIR
|
||||||
|
export PREFIX
|
||||||
|
export BINDIR=${PREFIX}/bin
|
||||||
|
export ETCDIR=/etc/${PROGRAM_NAME}
|
||||||
|
export LOGDIR=/var/log
|
||||||
|
export LOGFILE=${LOGDIR}/${PROGRAM_NAME}.log
|
||||||
|
export SHAREDIR=${PREFIX}/share/${PROGRAM_NAME}
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Run script #
|
||||||
|
############################
|
||||||
|
|
||||||
|
SCRIPT="${BASE_DIR}/install_${SYSTEM_TYPE}.sh"
|
||||||
|
|
||||||
|
# Check and call script
|
||||||
|
if [ ! -x $SCRIPT ]; then
|
||||||
|
echo "$SCRIPT not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "[\e[34m::\e[0m] Installing for system: \e[32m${SYSTEM_TYPE}\e[0m"
|
||||||
|
if [ -n "$DESTDIR" ]; then
|
||||||
|
echo -e "[\e[34m::\e[0m] Installing with root: \e[32m${DESTDIR}\e[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
bash $SCRIPT
|
||||||
44
scripts/install_freebsd.sh
Executable file
44
scripts/install_freebsd.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Simple script to install program files on FreeBSD systems
|
||||||
|
|
||||||
|
RCDIR=${DESTDIR}/etc/rc.d
|
||||||
|
NEWSYSLOGDIR=${DESTDIR}/etc/newsyslog.conf.d
|
||||||
|
|
||||||
|
# Common variables
|
||||||
|
PID_FILE=/var/run/${PROGRAM_NAME}.pid
|
||||||
|
# rc does not like "-" in the filename.
|
||||||
|
RC_NAME=$(echo ${PROGRAM_NAME} | sed "s~-~_~g")
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Create rc file #
|
||||||
|
############################
|
||||||
|
|
||||||
|
mkdir -p ${RCDIR}
|
||||||
|
cat ${TEMPLATE_DIR}/rc.conf \
|
||||||
|
| sed "s~{{ RC_NAME }}~${RC_NAME}~g" \
|
||||||
|
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
|
||||||
|
| sed "s~{{ LOG_FILE }}~${LOGFILE}~" \
|
||||||
|
| sed "s~{{ DESCRIPTION }}~${DESCRIPTION}~" \
|
||||||
|
| sed "s~{{ PROGRAM }}~${BINDIR}/${PROGRAM_NAME}~" \
|
||||||
|
> ${RCDIR}/${RC_NAME}
|
||||||
|
|
||||||
|
# Must be executable.
|
||||||
|
chmod 755 ${RCDIR}/${RC_NAME}
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Create newsyslog config #
|
||||||
|
############################
|
||||||
|
|
||||||
|
mkdir -p ${NEWSYSLOGDIR}
|
||||||
|
cat ${TEMPLATE_DIR}/newsyslog.conf \
|
||||||
|
| sed "s~{{ LOG_FILE }}~${LOGFILE}~" \
|
||||||
|
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
|
||||||
|
> ${NEWSYSLOGDIR}/${PROGRAM_NAME}.conf
|
||||||
|
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Copy binary #
|
||||||
|
############################
|
||||||
|
|
||||||
|
mkdir -p ${DESTDIR}/${BINDIR}
|
||||||
|
cp ${BUILD_DIR}/${PROGRAM_NAME} ${DESTDIR}${BINDIR}/${PROGRAM_NAME}
|
||||||
42
scripts/install_linux.sh
Executable file
42
scripts/install_linux.sh
Executable file
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Script to install program files on linux systems
|
||||||
|
|
||||||
|
SYSUNITDIR=${DESTDIR}/etc/systemd/system
|
||||||
|
RSYSLOGDIR=${DESTDIR}/etc/rsyslog.d
|
||||||
|
LOGROTATEDIR=${DESTDIR}/etc/logrotate.d
|
||||||
|
|
||||||
|
# Create service file
|
||||||
|
mkdir -p ${SYSUNITDIR}
|
||||||
|
cat ${TEMPLATE_DIR}/sysunit.service \
|
||||||
|
| sed "s~{{ PROGRAM_NAME }}~${PROGRAM_NAME}~" \
|
||||||
|
| sed "s~{{ DESCRIPTION }}~${DESCRIPTION}~" \
|
||||||
|
| sed "s~{{ PROGRAM }}~${BINDIR}/${PROGRAM_NAME}~" \
|
||||||
|
> ${SYSUNITDIR}/${PROGRAM_NAME}.service
|
||||||
|
|
||||||
|
# Create systemd config file
|
||||||
|
mkdir -p ${DESTDIR}${ETCDIR}
|
||||||
|
cat ${TEMPLATE_DIR}/config \
|
||||||
|
| sed "s~{{ PROGRAM_NAME }}~${PROGRAM_NAME}~" \
|
||||||
|
> ${DESTDIR}${ETCDIR}/env
|
||||||
|
|
||||||
|
# Create rsyslog file
|
||||||
|
mkdir -p ${RSYSLOGDIR}
|
||||||
|
cat ${TEMPLATE_DIR}/rsyslog.conf \
|
||||||
|
| sed "s~{{ PROGRAM }}~${PROGRAM_NAME}~" \
|
||||||
|
| sed "s~{{ LOG_FILE }}~${LOGFILE}~" \
|
||||||
|
> ${RSYSLOGDIR}/49-${PROGRAM_NAME}.conf
|
||||||
|
|
||||||
|
# Create logrotate file
|
||||||
|
mkdir -p ${LOGROTATEDIR}
|
||||||
|
cat ${TEMPLATE_DIR}/logrotate.conf \
|
||||||
|
| sed "s~{{ LOG_FILE }}~${LOGFILE}~" \
|
||||||
|
> ${LOGROTATEDIR}/${PROGRAM_NAME}.conf
|
||||||
|
chmod 644 ${LOGROTATEDIR}/${PROGRAM_NAME}.conf
|
||||||
|
|
||||||
|
# Copy program
|
||||||
|
mkdir -p ${DESTDIR}/${BINDIR}
|
||||||
|
cp ${BUILD_DIR}/${PROGRAM_NAME} ${DESTDIR}${BINDIR}/${PROGRAM_NAME}
|
||||||
|
|
||||||
|
# Copy files.
|
||||||
|
mkdir -p ${DESTDIR}${SHAREDIR}
|
||||||
|
cp ${BASE_DIR}/../README.md ${DESTDIR}${SHAREDIR}
|
||||||
38
scripts/package.sh
Executable file
38
scripts/package.sh
Executable file
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Read cli args #
|
||||||
|
############################
|
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "$0 <type>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PKG_TYPE=$1
|
||||||
|
|
||||||
|
# Setup vars
|
||||||
|
export BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
# export
|
||||||
|
export PKGROOT
|
||||||
|
export BUILDDIR
|
||||||
|
|
||||||
|
############################
|
||||||
|
# Run script #
|
||||||
|
############################
|
||||||
|
|
||||||
|
SCRIPT="${BASE_DIR}/package_${PKG_TYPE}.sh"
|
||||||
|
|
||||||
|
# Check and call script
|
||||||
|
if [ ! -x $SCRIPT ]; then
|
||||||
|
echo "$SCRIPT not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Export info variables
|
||||||
|
set -o allexport
|
||||||
|
source ${BASE_DIR}/info.sh
|
||||||
|
set +o allexport
|
||||||
|
|
||||||
|
bash $SCRIPT
|
||||||
34
scripts/package_debian.sh
Executable file
34
scripts/package_debian.sh
Executable file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ -f /etc/upstream-release/lsb-release ]]; then
|
||||||
|
source /etc/upstream-release/lsb-release
|
||||||
|
elif [[ -f /etc/lsb-release ]]; then
|
||||||
|
source /etc/lsb-release
|
||||||
|
else
|
||||||
|
echo "ERROR: could not determine debian release."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DISTRIB_ID=$(echo $DISTRIB_ID | tr '[:upper:]' '[:lower:]')
|
||||||
|
|
||||||
|
# Default to 1 if no release is set.
|
||||||
|
if [[ -z $RELEASE ]]; then
|
||||||
|
RELEASE="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PACKAGE_FULLNAME="${PROGRAM_NAME}_${PROGRAM_VERSION}-${RELEASE}-${DISTRIB_ID}-${DISTRIB_RELEASE}_amd64"
|
||||||
|
|
||||||
|
# Create debian files.
|
||||||
|
mkdir -p ${PKGROOT}/DEBIAN
|
||||||
|
echo "Package: ${PROGRAM_NAME}
|
||||||
|
Version: ${PROGRAM_VERSION}-${RELEASE}
|
||||||
|
Section: introspection
|
||||||
|
Priority: optional
|
||||||
|
Architecture: amd64
|
||||||
|
Homepage: https://github.com/eosswedenorg/eos-api-healthcheck
|
||||||
|
Maintainer: Henrik Hautakoski <henrik@eossweden.org>
|
||||||
|
Description: ${PROGRAM_DESCRIPTION}" &> ${PKGROOT}/DEBIAN/control
|
||||||
|
|
||||||
|
cat ${PKGROOT}/DEBIAN/control
|
||||||
|
|
||||||
|
fakeroot dpkg-deb --build ${PKGROOT} ${BUILDDIR}/${PACKAGE_FULLNAME}.deb
|
||||||
7
scripts/package_freebsd.sh
Executable file
7
scripts/package_freebsd.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PROGRAM_ARCH=$(go env GOARCH)
|
||||||
|
TAR_FILENAME="${PROGRAM_NAME}-${PROGRAM_VERSION}-freebsd-${PROGRAM_ARCH}.tar.gz"
|
||||||
|
|
||||||
|
echo "Create archive: ${BUILDDIR}/${TAR_FILENAME}"
|
||||||
|
tar -C ${PKGROOT} --owner root --group root -zcvf ${BUILDDIR}/${TAR_FILENAME} .
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Default settings for {{ PACKAGE_NAME }}
|
# Default settings for {{ PROGRAM_NAME }}
|
||||||
#
|
#
|
||||||
# This is sourced by the systemd unit file.
|
# This is sourced by the systemd unit file.
|
||||||
|
|
||||||
# Command line flags to pass to {{ PACKAGE_NAME }}
|
# Command line flags to pass to {{ PROGRAM_NAME }}
|
||||||
# First is IP to listen to, second is port.
|
# First is IP to listen to, second is port.
|
||||||
#OPTS="127.0.0.1 1337"
|
#OPTS="127.0.0.1 1337"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ Description={{ DESCRIPTION }}
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
EnvironmentFile=-/etc/{{ PACKAGE_NAME }}/env
|
EnvironmentFile=-/etc/{{ PROGRAM_NAME }}/env
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart={{ PROGRAM }} $OPTS
|
ExecStart={{ PROGRAM }} $OPTS
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue