summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authordreieck2023-01-09 16:12:35 +0100
committerdreieck2023-01-09 16:12:35 +0100
commit9823a4bf283370bb43635e3c748ea44d8b7adc27 (patch)
treee769cf07bbdcb20003795265399727c6e463df9d
downloadaur-9823a4bf283370bb43635e3c748ea44d8b7adc27.tar.gz
Initial Commit.
-rw-r--r--.SRCINFO33
-rw-r--r--PKGBUILD165
-rw-r--r--arch-adaption.patch253
-rw-r--r--open-av4ms.install32
4 files changed, 483 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..060cf87203d4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,33 @@
+pkgbase = open-av4ms-git
+ pkgdesc = Log and monitor the serial output of the MiMH/ NiCd battery chargers 'AV4m+'/ 'AV4ms'.
+ pkgver = 1.5+1.r7.20181017.e7ac570
+ pkgrel = 1
+ url = https://gitlab.com/corbolais/open-av4ms
+ install = open-av4ms.install
+ arch = any
+ license = GPL3
+ makedepends = git
+ depends = python2
+ depends = python2-daemon
+ depends = python2-netifaces
+ depends = python2-pyro3
+ depends = python2-pyserial
+ optdepends = logrotate: To rotate the webserver logs.
+ optdepends = sysvinit: For system-V-style initscript.
+ optdepends = wget: For av4update Raspian(!) helper script.
+ provides = open-av4ms=1.5+1.r7.20181017.e7ac570
+ provides = av4ms-server=1.5+1.r7.20181017.e7ac570
+ conflicts = open-av4ms
+ conflicts = av4ms-server
+ options = emptydirs
+ backup = etc/open-av4ms/av4server.conf
+ backup = etc/open-av4ms/Password.py
+ backup = etc/logrotate.d/av4server
+ source = open-av4ms::git+https://gitlab.com/corbolais/open-av4ms.git
+ source = arch-adaption.patch
+ source = open-av4ms.install
+ sha256sums = SKIP
+ sha256sums = a0dffe4fab675aa5969d54edd8bf714e131754c14283e2a7640ca88f054344ab
+ sha256sums = 01760fc8c5b37a86c4b37f48923bde6aaad302a94161f84bb253671d613beaf3
+
+pkgname = open-av4ms-git
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ab8504a2ee30
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,165 @@
+# Maintainer: dreieck (https://aur.archlinux.org/account/dreieck)
+
+_pkgname=open-av4ms
+pkgname="${_pkgname}-git"
+pkgver=1.5+1.r7.20181017.e7ac570
+pkgrel=1
+pkgdesc="Log and monitor the serial output of the MiMH/ NiCd battery chargers 'AV4m+'/ 'AV4ms'."
+url='https://gitlab.com/corbolais/open-av4ms'
+arch=(
+ 'any'
+)
+license=('GPL3')
+provides=(
+ "${_pkgname}=${pkgver}"
+ "av4ms-server=${pkgver}"
+)
+conflicts=(
+ "${_pkgname}"
+ "av4ms-server"
+)
+makedepends=(
+ 'git'
+)
+depends=(
+ 'python2'
+ 'python2-daemon'
+ 'python2-netifaces'
+ 'python2-pyro3'
+ 'python2-pyserial'
+)
+optdepends=(
+ 'logrotate: To rotate the webserver logs.'
+ 'sysvinit: For system-V-style initscript.'
+ 'wget: For av4update Raspian(!) helper script.'
+)
+backup=(
+ 'etc/open-av4ms/av4server.conf'
+ 'etc/open-av4ms/Password.py'
+ 'etc/logrotate.d/av4server'
+)
+install='open-av4ms.install'
+options=('emptydirs')
+source=(
+ "${_pkgname}::git+${url}.git"
+ "arch-adaption.patch"
+ "${install}"
+)
+sha256sums=(
+ 'SKIP'
+ 'a0dffe4fab675aa5969d54edd8bf714e131754c14283e2a7640ca88f054344ab'
+ '01760fc8c5b37a86c4b37f48923bde6aaad302a94161f84bb253671d613beaf3'
+)
+
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+
+ msg2 "Patching software Arch Linux ready ..."
+ patch -N -p1 --follow-symlinks -i "${srcdir}/arch-adaption.patch"
+
+ #msg2 "Patching for Python 3 ..."
+ #patch -N -p1 --follow-symlinks -i "${srcdir}/python3.patch"
+
+ printf '%s\n' "${url}" > "${srcdir}/website.url"
+}
+
+pkgver() {
+ cd "${srcdir}/${_pkgname}"
+
+ _ver="$(grep -E '^[[:space:]]*Version:[[:space:]]' 'debian/control' | awk '{print $2}' | tr '-' '+')"
+ _rev="$(git rev-list --count HEAD)"
+ _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
+ _hash="$(git rev-parse --short HEAD)"
+
+ if [ -z "${_ver}" ]; then
+ error "Version could not be determined."
+ return 1
+ else
+ printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
+ fi
+}
+
+# build() {
+# cd "${srcdir}/${_pkgname}"
+# }
+
+package() {
+ cd "${srcdir}/${_pkgname}"
+
+
+ ## The python version for site-packages:
+ _pythonversion="$(pacman -Qi python2 | grep -E '^[[:space:]]*Version[[:space:]]*:' | awk -F ':' '{print $2}' | tr -d '[[:space:]]' | awk -F. '{print $1"."$2}')"
+
+
+ ## User and group the webserver should run as:
+ _user="av4ms-server"
+ _group="${_user}"
+
+
+ ## Install helper executables:
+ for _bin in "usr/local/bin/av4config"; do
+ install -D -m755 -v "${_bin}" "${pkgdir}/usr/bin/$(basename "${_bin}")"
+ done
+
+
+ ## Install main executables:
+ for _pybin in "home/www"/{av4server.py,webserver.py}; do
+ install -D -m755 -v "${_pybin}" "${pkgdir}/usr/lib/${_pkgname}/$(basename "${_pybin}")"
+ done
+ ln -sv "${pkgdir}/usr/lib/${_pkgname}/av4server.py" "${pkgdir}/usr/bin/av4server"
+ ln -sv "${pkgdir}/usr/lib/${_pkgname}/webserver.py" "${pkgdir}/usr/bin/av4webserver"
+
+
+ ## Install python modules:
+ for _pymodule in "home/www"/{Pages.py,SockServer.py,Status.py,av4analyse.py,av4logbuch.py}; do
+ install -D -m644 -v "${_pymodule}" "${pkgdir}/usr/lib/python${_pythonversion}/site-packages/${_pkgname}/$(basename "${_pymodule}")"
+ done
+ for _odslib in "home/www/odslib"/*; do
+ install -D -m644 -v "${_odslib}" "${pkgdir}/usr/lib/python${_pythonversion}/site-packages/${_pkgname}/odslib/$(basename "${_odslib}")"
+ done
+
+
+ ## Install files to be served directly by the webserver:
+ for _static in "home/www/static"/*; do
+ install -D -m644 -v "${_static}" "${pkgdir}/usr/share/${_pkgname}/static/$(basename "${_static}")"
+ done
+
+
+ ## Install SysV initscripts:
+ install -D -m755 -v 'etc/init.d/av4server' "${pkgdir}/etc/rc.d/av4server"
+ install -D -m755 -v 'etc/init.d/webserver' "${pkgdir}/etc/rc.d/av4webserver"
+
+
+ ## Install configuration files:
+ install -D -m644 -v 'etc/av4server.conf' "${pkgdir}/etc/${_pkgname}/av4server.conf"
+ install -D -m644 -v "home/www/Password.py.dist" "${pkgdir}/etc/${_pkgname}/Password.py"
+ install -D -m644 -v 'etc/logrotate.d/av4server' "${pkgdir}/etc/logrotate.d/av4server"
+
+
+ ## Create logging and pidfile directories:
+ install -d -m755 -v "${pkgdir}/var/log/${_pkgname}"
+ install -d -m755 -v "${pkgdir}/var/log/${_pkgname}/av4server"
+ install -d -m755 -v "${pkgdir}/var/log/${_pkgname}/av4server/av4logs"
+ install -d -m755 -v "${pkgdir}/run/${_pkgname}"
+ install -d -m755 -v "${pkgdir}/run/${_pkgname}/av4server"
+
+
+ ## Install documentation:
+ for _docfile in README.md; do
+ install -D -m644 -v "${_docfile}" "${pkgdir}/usr/share/doc/${_pkgname}/${_docfile}"
+ done
+
+
+ ## Install further assets which are not needed or not safe to use:
+ install -D -m755 -v "usr/local/bin/av4update" "${pkgdir}/usr/share/doc/${_pkgname}/scripts/raspian/av4update"
+ install -D -m755 -v 'etc/cron.weekly/av4ms-version' "${pkgdir}/cron.weekly/av4ms-version"
+ for _sysvinit in 'etc/init.d'/pilocator; do
+ install -D -m755 -v "${_sysvinit}" "${pkgdir}/sysvinit/init.d/$(basename "${_sysvinit}")"
+ done
+ install -D -m644 -v "${srcdir}/website.url" "${pkgdir}/usr/share/doc/${_pkgname}/website.url"
+
+
+ ## Install license:
+ install -D -m644 -v 'LICENSE' "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
+ ln -sv "/usr/share/licenses/${pkgname}/LICENSE.txt" "${pkgdir}/usr/share/doc/${_pkgname}/LICENSE.txt"
+}
diff --git a/arch-adaption.patch b/arch-adaption.patch
new file mode 100644
index 000000000000..ae3eb6b3d7b9
--- /dev/null
+++ b/arch-adaption.patch
@@ -0,0 +1,253 @@
+diff -r -U1 open-av4ms.orig.python2/debian/postinst open-av4ms.arch.python2/debian/postinst
+--- open-av4ms.orig.python2/debian/postinst 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/debian/postinst 2023-01-09 13:52:09.189674801 +0100
+@@ -21,32 +21,33 @@
+ configure)
+- adduser www-data dialout
++ addgroup --system av4ms-server
++ adduser --system --ingroup av4ms-server av4ms-server
+ update-rc.d av4server defaults
+- update-rc.d webserver defaults
++ update-rc.d av4webserver defaults
+ # Falls noch keine Passwort-Datei vorhanden, dann erzeugen
+- if [ ! -f /home/www/Password.py ]; then
++ if [ ! -f /usr/share/open-av4ms/Password.py ]; then
+ echo "Erzeuge Passwort-Datei für Webserver"
+- echo "Bitte /home/www/Password.py ggf. anpassen"
+- mv -f /home/www/Password.py.dist /home/www/Password.py
++ echo "Bitte /usr/share/open-av4ms/Password.py ggf. anpassen"
++ mv -f /usr/share/open-av4ms/Password.py.dist /usr/share/open-av4ms/Password.py
+ fi
+ # Logverzeichnis anlegen
+- if [ ! -d /var/log/av4server ]; then
+- mkdir -p /var/log/av4server
+- chown www-data /var/log/av4server
++ if [ ! -d /var/log/open-av4ms/av4server ]; then
++ mkdir -p /var/log/open-av4ms/av4server
++ chown av4ms-server:av4ms-server /var/log/open-av4ms/av4server
+ fi
+ # Aufzeichnungsverzeichnis anlegen
+- if [ ! -d /home/www/av4logs ]; then
+- mkdir /home/www/av4logs
++ if [ ! -d /var/log/open-av4ms/av4logs ]; then
++ mkdir /var/log/open-av4ms/av4logs
++ chown av4ms-server:av4ms-server /var/log/open-av4ms/av4logs
+ fi
+ # Shutdown für www-data ohne Passwort erlauben
+- if fgrep -q 'www-data ALL= NOPASSWD: /sbin/shutdown' /etc/sudoers; then
++ if fgrep -q 'av4ms-server ALL= NOPASSWD: /sbin/shutdown' /etc/sudoers; then
+ :
+ else
+- echo 'www-data ALL= NOPASSWD: /sbin/shutdown' >>/etc/sudoers
++ echo 'av4ms-server ALL= NOPASSWD: /sbin/shutdown' >>/etc/sudoers
+ fi
+ # Bytecompile aller Pythonscripte
+- python -m py_compile /home/www/*.py
+- chown -R www-data /home/www
++ python -m py_compile "/usr/lib/python$(python --version | awk '{print $2}' | awk -F. '{print $1"."$2}')/site-packages/open-av4ms"/*.py
+ # Server starten
+ service av4server start
+- service webserver start
++ service av4webserver start
+ ;;
+@@ -56,3 +57,6 @@
+ ;;
+-
++ pre-remove)
++ delgroup av4ms-server
++ deluser av4ms-server
++ ;;
+ *)
+diff -r -U1 open-av4ms.orig.python2/etc/av4server.conf open-av4ms.arch.python2/etc/av4server.conf
+--- open-av4ms.orig.python2/etc/av4server.conf 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/etc/av4server.conf 2023-01-09 12:56:20.939779536 +0100
+@@ -2,3 +2,3 @@
+ device = /dev/ttyUSB0
+-logdir = /home/www/av4logs
++logdir = /var/log/open-av4ms/av4logs
+ logfile = AV4.csv
+@@ -6,2 +6,2 @@
+ compress = true
+-rawrecord = false
+\ No newline at end of file
++rawrecord = false
+diff -r -U1 open-av4ms.orig.python2/etc/cron.weekly/av4ms-version open-av4ms.arch.python2/etc/cron.weekly/av4ms-version
+--- open-av4ms.orig.python2/etc/cron.weekly/av4ms-version 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/etc/cron.weekly/av4ms-version 2023-01-09 13:13:57.279746493 +0100
+@@ -4,6 +4,5 @@
+ #
+-wget -q --tries=10 --timeout=20 -O /home/www/static/av4vers.js 'http://av4ms.fahrner.name/js/av4vers.js'
++wget -q --tries=10 --timeout=20 -O /usr/share/open-av4ms/static/av4vers.js 'http://av4ms.fahrner.name/js/av4vers.js'
+ if [[ $? -eq 0 ]]; then
+- chown www-data:www-data /home/www/static/av4vers.js
++ chown av4ms-server:av4ms-server /usr/share/open-av4ms/static/av4vers.js
+ fi
+-
+diff -r -U1 open-av4ms.orig.python2/etc/init.d/av4server open-av4ms.arch.python2/etc/init.d/av4server
+--- open-av4ms.orig.python2/etc/init.d/av4server 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/etc/init.d/av4server 2023-01-09 13:40:57.209695821 +0100
+@@ -15,6 +15,6 @@
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+-DAEMON=/home/www/av4server.py
++DAEMON=/usr/lib/open-av4ms/av4server.py
+ NAME=av4server
+-DESC="av4 server"
+-PIDFILE=/tmp/$NAME.pid
++DESC="AV4ms server"
++PIDFILE=/run/open-av4ms/av4server/$NAME.pid
+ SCRIPTNAME=/etc/init.d/$NAME
+diff -r -U1 open-av4ms.orig.python2/etc/init.d/pilocator open-av4ms.arch.python2/etc/init.d/pilocator
+--- open-av4ms.orig.python2/etc/init.d/pilocator 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/etc/init.d/pilocator 2023-01-09 13:11:54.159750345 +0100
+@@ -15,6 +15,6 @@
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+-DAEMON=/home/www/pilocatord.py
++DAEMON=/usr/lib/pilocator/pilocatord.py
+ NAME=pilocator
+ DESC="pilocator"
+-PIDFILE=/tmp/$NAME.pid
++PIDFILE=/run/pilocator/$NAME.pid
+ SCRIPTNAME=/etc/init.d/$NAME
+diff -r -U1 open-av4ms.orig.python2/etc/init.d/webserver open-av4ms.arch.python2/etc/init.d/webserver
+--- open-av4ms.orig.python2/etc/init.d/webserver 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/etc/init.d/webserver 2023-01-09 13:40:49.889696050 +0100
+@@ -2,3 +2,3 @@
+ ### BEGIN INIT INFO
+-# Provides: webserver
++# Provides: av4webserver
+ # Required-Start: $syslog $remote_fs $network
+@@ -15,6 +15,6 @@
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+-DAEMON=/home/www/webserver.py
+-NAME=webserver
+-DESC="web server"
+-PIDFILE=/tmp/$NAME.pid
++DAEMON=/usr/lib/open-av4ms/av4webserver.py
++NAME=av4webserver
++DESC="AV4ms web server"
++PIDFILE=/run/open-av4ms/av4server/$NAME.pid
+ SCRIPTNAME=/etc/init.d/$NAME
+diff -r -U1 open-av4ms.orig.python2/etc/logrotate.d/av4server open-av4ms.arch.python2/etc/logrotate.d/av4server
+--- open-av4ms.orig.python2/etc/logrotate.d/av4server 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/etc/logrotate.d/av4server 2023-01-09 13:38:46.729699903 +0100
+@@ -1,2 +1,2 @@
+-/var/log/av4server/*.log {
++/var/log/open-av4ms/av4server/*.log {
+ weekly
+@@ -5,3 +5,3 @@
+ compress
+- delaycompress
++ delaycompress
+ notifempty
+diff -r -U1 open-av4ms.orig.python2/home/www/av4analyse.py open-av4ms.arch.python2/home/www/av4analyse.py
+--- open-av4ms.orig.python2/home/www/av4analyse.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/av4analyse.py 2023-01-09 15:10:44.439527306 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+diff -r -U1 open-av4ms.orig.python2/home/www/av4logbuch.py open-av4ms.arch.python2/home/www/av4logbuch.py
+--- open-av4ms.orig.python2/home/www/av4logbuch.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/av4logbuch.py 2023-01-09 15:10:42.679527361 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+diff -r -U1 open-av4ms.orig.python2/home/www/av4server.py open-av4ms.arch.python2/home/www/av4server.py
+--- open-av4ms.orig.python2/home/www/av4server.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/av4server.py 2023-01-09 15:10:40.919527416 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+@@ -21,2 +21,3 @@
+
++sys.path.append('/usr/lib/python'+str(sys.version_info.major)+'.'+str(sys.version_info.minor)+'/site-packages/open-av4ms')
+ from av4analyse import Messwert, Analyse
+@@ -25,3 +26,3 @@
+
+-sys.path.insert(0, '/home/www/odslib')
++sys.path.append('/usr/lib/python'+str(sys.version_info.major)+'.'+str(sys.version_info.minor)+'/site-packages/open-av4ms/odslib')
+ import odslib
+@@ -264,3 +265,3 @@
+ fn = fn[:-4]
+- fn = '/home/www/av4logs/' + fn + '.ods'
++ fn = '/var/log/open-av4ms/av4server/av4logs' + fn + '.ods'
+
+@@ -526,3 +527,3 @@
+ logger = logging.getLogger('av4server')
+- hdlr = logging.handlers.TimedRotatingFileHandler('/var/log/av4server/av4server.log',\
++ hdlr = logging.handlers.TimedRotatingFileHandler('/var/log/open-av4ms/av4server/av4server.log',\
+ when='midnight',backupCount=7)
+diff -r -U1 open-av4ms.orig.python2/home/www/odslib/odslib.py open-av4ms.arch.python2/home/www/odslib/odslib.py
+--- open-av4ms.orig.python2/home/www/odslib/odslib.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/odslib/odslib.py 2023-01-09 15:11:04.759526670 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+Only in open-av4ms.arch.python2/home/www/odslib: __pycache__
+diff -r -U1 open-av4ms.orig.python2/home/www/Pages.py open-av4ms.arch.python2/home/www/Pages.py
+--- open-av4ms.orig.python2/home/www/Pages.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/Pages.py 2023-01-09 15:10:38.419527494 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+Only in open-av4ms.arch.python2/home/www: __pycache__
+diff -r -U1 open-av4ms.orig.python2/home/www/Status.py open-av4ms.arch.python2/home/www/Status.py
+--- open-av4ms.orig.python2/home/www/Status.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/Status.py 2023-01-09 15:10:33.009527663 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+diff -r -U1 open-av4ms.orig.python2/home/www/webserver.py open-av4ms.arch.python2/home/www/webserver.py
+--- open-av4ms.orig.python2/home/www/webserver.py 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/home/www/webserver.py 2023-01-09 15:10:30.619527738 +0100
+@@ -1,2 +1,2 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #-*-coding: utf-8 -*-
+@@ -5,6 +5,10 @@
+ from os import curdir, sep
++import pwd
++import grp
+ from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
+ import daemon
++sys.path.append('/usr/lib/python'+str(sys.version_info.major)+'.'+str(sys.version_info.minor)+'/site-packages/open-av4ms')
+ from Pages import Pages
+ import base64
++sys.path.append('/etc/open-av4ms') # The password file is there.
+ import Password
+@@ -164,4 +168,4 @@
+ if uid == 0: # root?
+- os.setgid(33) # dann www-data
+- os.setuid(33)
++ os.setgid(grp.getgrnam('av4ms-server').gr_gid) # av4ms-server
++ os.setuid(pwd.getpwnam('av4ms-server').pw_uid)
+ server.serve_forever()
+@@ -172,5 +176,5 @@
+ context = daemon.DaemonContext(
+- working_directory = '/home/www',
++ working_directory = '/usr/share/open-av4ms',
+ umask=0o002,
+- pidfile = PidFile("/tmp/webserver.pid"),
++ pidfile = PidFile("/run/open-av4ms/av4server/av4webserver.pid"),
+ files_preserve = [sys.stdout,sys.stderr]
+diff -r -U1 open-av4ms.orig.python2/usr/local/bin/av4config open-av4ms.arch.python2/usr/local/bin/av4config
+--- open-av4ms.orig.python2/usr/local/bin/av4config 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/usr/local/bin/av4config 2023-01-09 13:07:49.399758001 +0100
+@@ -6,3 +6,3 @@
+
+-conffile = '/etc/av4server.conf'
++conffile = '/etc/open-av4ms/av4server.conf'
+
+diff -r -U1 open-av4ms.orig.python2/usr/local/bin/av4update open-av4ms.arch.python2/usr/local/bin/av4update
+--- open-av4ms.orig.python2/usr/local/bin/av4update 2023-01-09 11:41:53.019919295 +0100
++++ open-av4ms.arch.python2/usr/local/bin/av4update 2023-01-09 13:52:43.499673728 +0100
+@@ -2,3 +2,3 @@
+
+-beta="$1"
++beta="$1" # Can be 'beta', for example.
+
diff --git a/open-av4ms.install b/open-av4ms.install
new file mode 100644
index 000000000000..4cafd88ac910
--- /dev/null
+++ b/open-av4ms.install
@@ -0,0 +1,32 @@
+pre_install() {
+ true
+}
+
+post_install() {
+ printf '%s\n' "--> Creating user and group 'av4ms-server' ..."
+ useradd --user-group --no-create-home --system --shell /bin/false av4ms-server
+ printf '%s\n' " Remember that this service is to be run as the user 'av4ms-server'."
+ chown -R av4ms-server:av4ms-server /var/log/open-av4ms/av4server
+ chown -R av4ms-server:av4ms-server /run/open-av4ms/av4server
+
+ printf '%s\n' "--> Password for av4webserver is stored in '/etc/open-av4ms/Password.py.'"
+ printf '%s\n' " By default none is set, please set one if you don't want the webserver to be open."
+}
+
+pre_upgrade() {
+ true
+}
+
+post_upgrade() {
+ true
+}
+
+pre_remove() {
+ printf '%s\n' "--> Deleting user and group 'av4ms-server' ..."
+ userdel av4ms-server
+ groupdel av4ms-server
+}
+
+post_remove() {
+ true
+}