From e2b7739168bc87e044f864e7b005d353307c49e8 Mon Sep 17 00:00:00 2001 From: Ycarus Date: Thu, 11 Jun 2020 10:06:11 +0200 Subject: [PATCH] Create Debian package --- debian/changelog | 5 +++++ debian/compat | 1 + debian/control | 14 ++++++++++++++ debian/install | 3 +++ debian/omr-admin.service | 12 ++++++++++++ debian/postinst | 30 ++++++++++++++++++++++++++++++ debian/rules | 8 ++++++++ 7 files changed, 73 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/install create mode 100644 debian/omr-admin.service create mode 100644 debian/postinst create mode 100755 debian/rules diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..d5476f6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +omr-vps-admin (0.1+20200608.git.e1e3bfa) unstable; urgency=medium + + * initial package + + -- OpenMPTCProuter Tue, 8 Jun 2020 14:36:01 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..9a03714 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..951e235 --- /dev/null +++ b/debian/control @@ -0,0 +1,14 @@ +Source: omr-vps-admin +Section: net +Priority: optional +Maintainer: OpenMPTCProuter +Build-Depends: +X-Python-Version: >= 3.2 +Standards-Version: 0.0.1 +Homepage: https://github.com/ysurac/openmptcprouter-vps-admin + +Package: omr-vps-admin +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, ${python3:Depends}, python3-uvicorn, python3-netaddr, python3-pip +Description: OpenMPTCProuter VPS admin rest api \ No newline at end of file diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..235ce3d --- /dev/null +++ b/debian/install @@ -0,0 +1,3 @@ +omr-admin-config.json usr/share/omr-admin +omr-admin.py usr/bin +debian/omr-admin.service lib/systemd/system \ No newline at end of file diff --git a/debian/omr-admin.service b/debian/omr-admin.service new file mode 100644 index 0000000..cb51a16 --- /dev/null +++ b/debian/omr-admin.service @@ -0,0 +1,12 @@ +[Unit] +Description=OMR-Admin +After=network.target network-online.target + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/omr-admin.py +CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW + +[Install] +WantedBy=multi-user.target diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..22b18c6 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,30 @@ +#!/bin/sh -e + +test $DEBIAN_SCRIPT_DEBUG && set -v -x + +action="$1" +oldversion="$2" + +umask 022 +OMR_ADMIN_PASS=$(od -vN "32" -An -tx1 /dev/urandom | tr '[:lower:]' '[:upper:]' | tr -d " \n") +# use debconf +. /usr/share/debconf/confmodule + +pip3 -q install fastapi netjsonconfig python-multipart -U + +if [ ! -f "/etc/openmptcprouter-vps-admin/omr-admin-config.json" ]; then + mkdir -p /etc/openmptcprouter-vps-admin + cp /usr/share/omr-admin/omr-admin-config.json /etc/openmptcprouter-vps-admin/omr-admin-config.json + sed -i "s:MySecretKey:$OMR_ADMIN_PASS:g" /etc/openmptcprouter-vps-admin/omr-admin-config.json + openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout /etc/openmptcprouter-vps-admin/key.pem -out /etc/openmptcprouter-vps-admin/cert.pem -subj "/C=US/ST=Oregon/L=Portland/O=OpenMPTCProuterVPS/OU=Org/CN=www.openmptcprouter.vps" +fi + +systemctl enable omr-admin.service +systemctl restart omr-admin.service + + +db_stop + +#DEBHELPER# +exit 0 +# vim:set ai et sts=2 sw=2 tw=0: \ No newline at end of file diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..3393976 --- /dev/null +++ b/debian/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +#export DH_VERBOSE = 1 + +# Security Hardening +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ --with python3