bunkerweb/src/linux/package.sh
2023-10-02 11:05:15 +01:00

51 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
function do_and_check_cmd() {
if [ "$CHANGE_DIR" != "" ] ; then
cd "$CHANGE_DIR" || return 1
fi
output=$("$@" 2>&1)
ret="$?"
if [ $ret -ne 0 ] ; then
echo "❌ Error from command : $*"
echo "$output"
exit $ret
fi
}
# Check args
if [ "$1" = "" ] ; then
echo "❌ Missing distro arg"
exit 1
fi
linux="$1"
if [ "$2" = "" ] ; then
echo "❌ Missing arch arg"
exit 1
fi
arch="$2"
# Create empty directory
package_dir="${PWD}/package-$linux"
if [ -d "$package_dir" ] ; then
do_and_check_cmd rm -rf "$package_dir"
fi
do_and_check_cmd mkdir "$package_dir"
# Generate package
version="$3"
if [ -f "src/VERSION" ] ; then
version="$(tr -d '\n' < src/VERSION)"
fi
type="deb"
if [ "$linux" = "fedora" ] || [ "$linux" = "centos" ] || [ "$linux" = "rhel" ] ; then
type="rpm"
fi
do_and_check_cmd docker run --rm -v "${package_dir}:/data" "local/bunkerweb-${linux}:latest" "$type"
name="bunkerweb_${version}-1_${arch}"
if [ "$type" = "rpm" ] ; then
name="bunkerweb-${version}-1.${arch}"
fi
do_and_check_cmd mv "${package_dir}/bunkerweb.$type" "${package_dir}/${name}.${type}"
exit 0