upgrading debian files to compat 11

works on buster

Change-Id: I700ec073d3c13ce684cf361f7c3b059e79901bae
This commit is contained in:
Enrico Faulhaber 2019-09-27 13:44:49 +02:00
parent 4bd9486d5f
commit eee7307818
9 changed files with 49 additions and 156 deletions

2
debian/compat vendored
View File

@ -1 +1 @@
9
11

42
debian/control vendored
View File

@ -1,29 +1,35 @@
Source: secop-core
Section: misc
Section: contrib/misc
Priority: optional
Maintainer: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Build-Depends: debhelper (>= 9.0.0),
Build-Depends: debhelper (>= 11~),
dh-python,
git,
python3,
python3 (>=3.6),
python3-all,
python3-setuptools,
python3-docutils,
python3-sphinx,
python3-sip-dev,
python3-pyqt5,
python3-mlzlog | python-mlzlog,
python3-mlzlog,
python3-numpy,
python3-psutil (>= 0.4),
python3-pytest,
python3-serial,
git,
markdown,
python3-daemon
Standards-Version: 4.3.0
Standards-Version: 4.1.4
X-Python3-Version: >= 3.6
Package: secop-core
Architecture: all
Depends: python (>= 3.6),
Depends: python3 (>= 3.6),
${misc:Depends},
${python3:Depends},
python3-setuptools,
python3-numpy,
python3-serial,
python3-psutil (>= 0.4),
python3-mlzlog,
markdown,
@ -32,6 +38,14 @@ Description: Frappy SECoP core system
contains the core server and client libraries and the server binary
as well as the systemd integration
#Package: secop-doc
#Architecture: all
#Section: doc
#Depends: ${sphinxdoc:Depends},
# ${misc:Depends}
#Description: Frappy SECoP docu
# This is the documentation to all the secop-* packages
Package: secop-gui
Architecture: all
Depends: secop-core,
@ -46,18 +60,18 @@ Architecture: all
Depends: secop-core,
${misc:Depends},
${python3:Depends}
Recommends: secop-gui
Description: SECoP demo files
for demonstration purposes
Recommends: secop-gui
Package: secop-ess
Architecture: all
Depends: secop-core,
${misc:Depends},
${python3:Depends}
Description: SECoP ess files
Modules specific for ESS (http://esss.se)
Recommends: secop-gui
Description: SECoP ess files
Modules specific for ESS
Package: secop-mlz
Architecture: all
@ -65,15 +79,15 @@ Depends: secop-core,
${misc:Depends},
${python3:Depends},
python-pytango (>=9)
Description: SECoP mlz files
Modules specific for MLZ (http://mlz-garching.de)
Recommends: secop-gui
Description: SECoP mlz files
Modules specific for MLZ
Package: secop-psi
Architecture: all
Depends: secop-core,
${misc:Depends},
${python3:Depends}
Description: SECoP psi files
Modules specific for PSI (http://psi.ch)
Recommends: secop-gui
Description: SECoP psi files
Modules specific for PSI

4
debian/copyright vendored
View File

@ -1,6 +1,8 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: frappy
Source: http://forge.frm2.tum.de/cgit/cgit.cgi/frm2/sine2020/secop/playground.git
Comment: FRAPPY is an implementation of the free SECoP protocol
see https://www.github.com/SampleEnvironment/SECoP
Files: *
Copyright: 2016-2019 by the FRAPPY-SECOP contributors (see AUTHORS)

23
debian/rules vendored
View File

@ -9,25 +9,30 @@ DEBPYTHON_SUPPORTED=3.6
export DEBPYTHON_DEFAULT DEBPYTHON_SUPPORTED
export PYBUILD_NAME = secop
export PYBUILD_TEST_PYTEST = 1
override_dh_install:
@find debian/tmp -name '*.pyc' -exec rm \{\} \;
@find debian/tmp -type d -name '__pycache__' | xargs rmdir
@find debian -name '*.pyc' -exec rm \{\} \;
@find debian -type d -name '__pycache__' | xargs rmdir
cp -aR debian/python3-secop/* debian/tmp
mv debian/tmp/usr/lib/python3.? debian/tmp/usr/lib/python3
@echo "regen debian/secop-core.install"
@echo "usr/bin/secop-server" > debian/secop-core.install
@echo "usr/bin/secop-console" >> debian/secop-core.install
@echo "etc/init.d/secop-server" >> debian/secop-core.install
@(cd debian/tmp; find . -name '*.py'| grep -v gui|grep /secop/; \
find . | grep egg-info; \
find . | grep RELEASE-VERSION; \
find ./lib; \
find ./var ) | \
while read f;do echo $${f#./};done | cat >> debian/secop-core.install
find . -type f| grep egg-info; \
find . -type f| grep RELEASE-VERSION; \
find ./lib -type f; \
find ./var -type f) | \
while read f;do echo $${f#./}; done | cat >> debian/secop-core.install
@echo "regen debian/secop-gui.install"
@echo "usr/bin/secop-gui" > debian/secop-gui.install
@echo "usr/bin/secop-cfg-editor" >> debian/secop-gui.install
@(cd debian/tmp; find . |grep gui|grep /secop/) | \
@(cd debian/tmp; find . -type f|grep gui|grep /secop/) | \
while read f;do echo $${f#./};done | cat >> debian/secop-gui.install
@for facility in demo ess mlz psi;do \

View File

@ -1,6 +1,5 @@
usr/bin/secop-server
usr/bin/secop-console
etc/init.d/secop-server
usr/lib/python3.7/dist-packages/secop/errors.py
usr/lib/python3.7/dist-packages/secop/modules.py
usr/lib/python3.7/dist-packages/secop/features.py

View File

@ -1,126 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
### BEGIN INIT INFO
# Provides: secop-server
# Required-Start: $local_fs $remote_fs $network $named $time
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: tangowait
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Secop servers
### END INIT INFO
# *****************************************************************************
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Module authors:
# Alexander Lenz <alexander.lenz@frm2.tum.de>
#
# *****************************************************************************
import sys
import argparse
import os.path
import glob
import signal
CFG_DIR = '/etc/secop'
PID_DIR = '/var/run/secop'
SRV_EXEC = 'secop-server'
inplace_basedir = os.path.join(os.path.dirname(__file__), '..')
if os.path.isfile(os.path.join(inplace_basedir, 'src', '__init__.py')):
CFG_DIR = os.path.join(inplace_basedir, 'etc')
PID_DIR = os.path.join(inplace_basedir, 'pid')
SRV_EXEC = os.path.join(inplace_basedir, 'bin/secop-server')
def parseArgv(argv):
parser = argparse.ArgumentParser(description='Manage a SECoP server')
parser.add_argument('action',
type=str,
choices=['start', 'stop', 'restart', 'status'],
help='What to do with the desired server', )
parser.add_argument('name',
nargs='*',
help='Name of the instance.\n'
' Uses etc/name.cfg for configuration\n',)
return parser.parse_args()
def getServerNames():
return sorted([os.path.basename(entry)[:-4]
for entry in glob.glob(os.path.join(CFG_DIR, '*.cfg'))])
def getSrvPid(name):
pidfile = os.path.join(PID_DIR, '%s.pid' % name)
if not os.path.isfile(pidfile):
return None
with open(pidfile) as f:
return int(f.read())
def startServer(name):
pid = getSrvPid(name)
if pid:
print('%s: already running (pid: %s)' % (name, pid))
else:
print('%s: starting ...' % name)
os.system('%s -d %s' % (SRV_EXEC, name))
def stopServer(name):
pid = getSrvPid(name)
if pid:
print('%s: stopping ...' % name)
os.kill(pid, signal.SIGTERM)
else:
print('%s: already stopped' % name)
def determineServerStatus(name):
pid = getSrvPid(name)
if pid:
print('%s: running (pid: %s)' % (name, pid))
else:
print('%s: dead' % name)
def main(argv=None):
if argv is None:
argv = sys.argv
args = parseArgv(argv[1:])
actionMap = {
'start': startServer,
'stop': stopServer,
'status': determineServerStatus,
}
srvs = args.name
if not srvs:
srvs = getServerNames()
for entry in srvs:
actionMap[args.action](entry)
if __name__ == '__main__':
sys.exit(main(sys.argv))

View File

@ -1,6 +1,7 @@
[Unit]
Description=SECoP SEC-node: %i
After=network-online.service
Documentation=
[Service]
Type=notify

View File

@ -37,11 +37,13 @@ GIT_REPO = os.path.join(os.path.dirname(__file__), '..', '.git')
def get_git_version(abbrev=4, cwd=None):
try:
print("REPO:", GIT_REPO)
p = Popen(['git', '--git-dir=%s' % GIT_REPO,
'describe', '--abbrev=%d' % abbrev],
stdout=PIPE, stderr=PIPE)
stdout, _stderr = p.communicate()
version = stdout.strip().decode('utf-8', 'ignore')
print("git:", version)
# mangle version to comply with pep440
if version.count('-'):
version, patchcount, githash = version.split('-')

View File

@ -45,12 +45,10 @@ setup(
packages=find_packages(exclude=['test']),
package_data={'secop': ['RELEASE-VERSION'] + uis},
data_files=[
('/etc/init.d', ['etc/secop-server']),
('/lib/systemd/system-generators', ['etc/secop-generator']),
('/lib/systemd/system', ['etc/secop@.service',
'etc/secop.target']),
('/var/log/secop', []),
('/var/run/secop', []),
],
scripts=scripts,
classifiers=[
@ -61,8 +59,6 @@ setup(
'License :: OSI Approved :: GPL License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Topic :: Scientific/Engineering',