Setup to create debian package

This commit is contained in:
Melon 2021-04-18 11:27:00 +01:00
parent d6d78ef1fc
commit 5fe8225c17
6 changed files with 80 additions and 4 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
brainfuck
dist/
package/

26
Makefile Normal file
View File

@ -0,0 +1,26 @@
all:
make build-main
build-main:
mkdir -p dist/ && \
go build -o dist/brainfuck ./cmd/brainfuck
package:
./scripts/package-brainfuck.sh
deb:
make clean && \
make all && \
make package
clean:
rm -rf dist/ && \
rm -rf package/
.PHONY: run
run:
cd ./dist/ && \
./brainfuck

3
build
View File

@ -1,3 +0,0 @@
#!/bin/bash
go build -o brainfuck
sudo cp ./brainfuck /usr/bin/brainfuck

9
project.json Normal file
View File

@ -0,0 +1,9 @@
{
"Package": "brainfuck",
"Version": "1.0-1",
"Section": "base",
"Priority": "optional",
"Architecture": "amd64",
"Maintainer": "MrMelon54 <github@onpointcoding.net>",
"Description": "Run brainfuck code"
}

43
scripts/package-brainfuck.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
SCRIPT=$(readlink -f $0)
SCRIPTPATH=`dirname $SCRIPT`
PROJECT_DIR=`dirname $SCRIPTPATH`
PROJECT_DAT=`cat $PROJECT_DIR/project.json`
PROJECT_NAM=`echo $PROJECT_DAT | jq .Package -r`
PROJECT_VER=`echo $PROJECT_DAT | jq .Version -r`
echo
echo "Packaging $PROJECT_NAM v$PROJECT_VER"
echo
INSTALL_DIR="/usr/bin"
INSTALL_DIR=$(realpath -sm "$INSTALL_DIR")
echo "Using the following folders for install"
echo "PROJECT_DIR: $PROJECT_DIR"
echo "INSTALL_DIR: $INSTALL_DIR"
PACK="${PROJECT_DIR}/package/${PROJECT_NAM}_${PROJECT_VER}"
PACK_BIN=$(realpath -sm "$PACK/$INSTALL_DIR")
PACK_DEB=$(realpath -sm "$PACK/DEBIAN")
mkdir -p "$PACK"
mkdir -p "$PACK_BIN"
mkdir -p "$PACK_DEB"
# Copying files
echo "Copying binary files"
cp dist/brainfuck "$PACK_BIN"
echo "Generating meta data"
PACK_CON=$(realpath -sm "$PACK_DEB/control")
echo "" > "$PACK_CON"
for row in $(echo "$PROJECT_DAT" | jq -r 'keys[]'); do
value=`echo "$PROJECT_DAT" | jq -r ".[\"$row\"]"`
echo "$row: $value" >> "$PACK_CON"
done
echo "Building package"
dpkg-deb --build "$PACK"
echo "Signing package"
dpkg-sig -k OnPointCoding --sign repo "$PACK.deb"
echo "Package complete:"