Added script to build deb package
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Gregory Ballantine 2022-10-26 19:35:23 -04:00
parent 9b59d7485e
commit b52a1ef08e
4 changed files with 126 additions and 2 deletions

44
bin/build_deb.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
# Check that we've been supplied a valid version
VERSION="$1"
if [ "$VERSION" == "" ]; then
echo -e "You must supply a version tag like './build_deb.sh 1.2.3'."
exit 1
fi
# Trim the leading 'v' from version number
if [[ "${VERSION:0:1}" == "v" ]]; then
VERSION="${VERSION:1}"
fi
# Create workspace for our deb package
WORKDIR="adept_$VERSION"
mkdir "$WORKDIR"
# Copy build sources into workspace
cp -r build/etc "$WORKDIR/"
mkdir -p "$WORKDIR/usr/bin/"
cp "dist/adept-linux-amd64-v$VERSION" "$WORKDIR/usr/bin/adept"
# Create debian control file
mkdir "$WORKDIR/DEBIAN"
cat > "$WORKDIR/DEBIAN/control"<< EOF
Package: adept
Version: $VERSION
Section: video
Priority: optional
Architecture: amd64
Depends: ffmpeg (>= 4), lsof
Maintainer: Gregory Ballantine <gballantine@bitgoblin.tech>
Description: Bit Goblin video transcoding service.
EOF
# Copy maintainer scripts
cp build/scripts/* "$WORKDIR/DEBIAN/"
#chmod +rx "$WORKDIR"/DEBIAN/pre*
chmod +rx "$WORKDIR"/DEBIAN/post*
# Build deb package!
dpkg-deb --build "$WORKDIR"
# Cleanup
rm -rf "$WORKDIR"

44
bin/build_rpm.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
# Check that we've been supplied a valid version
VERSION="$1"
if [ "$VERSION" == "" ]; then
echo -e "You must supply a version tag like './build_rpm.sh 1.2.3'."
exit 1
fi
# Trim the leading 'v' from version number
if [[ "${VERSION:0:1}" == "v" ]]; then
VERSION="${VERSION:1}"
fi
# Create workspace for our deb package
WORKDIR="adept_$VERSION"
mkdir "$WORKDIR"
# Copy build sources into workspace
cp -r build/etc "$WORKDIR/"
mkdir -p "$WORKDIR/usr/bin/"
cp "dist/adept-linux-amd64-v$VERSION" "$WORKDIR/usr/bin/adept"
# Create debian control file
mkdir "$WORKDIR/DEBIAN"
cat > "$WORKDIR/DEBIAN/control"<< EOF
Package: adept
Version: $VERSION
Section: video
Priority: optional
Architecture: amd64
Depends: ffmpeg (>= 4), lsof
Maintainer: Gregory Ballantine <gballantine@bitgoblin.tech>
Description: Bit Goblin video transcoding service.
EOF
# Copy maintainer scripts
cp build/scripts/* "$WORKDIR/DEBIAN/"
#chmod +rx "$WORKDIR"/DEBIAN/pre*
chmod +rx "$WORKDIR"/DEBIAN/post*
# Build deb package!
dpkg-deb --build "$WORKDIR"
# Cleanup
rm -rf "$WORKDIR"

View File

@ -1,9 +1,9 @@
log_to_file = true log_to_file = true
log_file = '~/adept/adept.log' log_file = '/var/log/adept/adept.log'
log_level = 'info' log_level = 'info'
[transcoder] [transcoder]
repository = '~/adept' repository = '/srv/adept'
interval = 15 interval = 15
video_format = 'mov' video_format = 'mov'
video_codec = 'dnxhd' video_codec = 'dnxhd'

36
build/scripts/postinst Executable file
View File

@ -0,0 +1,36 @@
#!/bin/sh
GETENT_USER=$(getent passwd adept)
# Create the adept user if it doesn't already exist
if [ "$GETENT_USER" = "" ]; then
echo "Creating the 'adept' user."
useradd -r adept
else
echo "The 'adept' user already exists, skipping creation."
fi
GETENT_GROUP=$(getent group adept)
# Create the adept group if it doesn't already exist
if [ "$GETENT_GROUP" = "" ]; then
echo "Creating the 'adept' group."
groupadd adept
usermod -aG adept adept
else
echo "The 'adept' group already exists, skipping creation."
fi
# Change the directory ownership of /etc
chown -R adept:adept /etc/adept
# Create the log directory under /var/log
if [ ! -d /var/log/adept ]; then
echo "Creating /var/log/adept to store log files."
mkdir /var/log/adept
chown adept:adept /var/log/adept
else
echo "/var/log/adept already exists, skipping creation."
fi
#DEBHELPER#
exit 0