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 Source: secop-core
Section: misc Section: contrib/misc
Priority: optional Priority: optional
Maintainer: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Maintainer: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Build-Depends: debhelper (>= 9.0.0), Build-Depends: debhelper (>= 11~),
dh-python, dh-python,
git, python3 (>=3.6),
python3, python3-all,
python3-setuptools, python3-setuptools,
python3-docutils,
python3-sphinx,
python3-sip-dev, python3-sip-dev,
python3-pyqt5, python3-pyqt5,
python3-mlzlog | python-mlzlog, python3-mlzlog,
python3-numpy, python3-numpy,
python3-psutil (>= 0.4), python3-psutil (>= 0.4),
python3-pytest, python3-pytest,
python3-serial,
git,
markdown, markdown,
python3-daemon python3-daemon
Standards-Version: 4.3.0 Standards-Version: 4.1.4
X-Python3-Version: >= 3.6
Package: secop-core Package: secop-core
Architecture: all Architecture: all
Depends: python (>= 3.6), Depends: python3 (>= 3.6),
${misc:Depends}, ${misc:Depends},
${python3:Depends}, ${python3:Depends},
python3-setuptools, python3-setuptools,
python3-numpy, python3-numpy,
python3-serial,
python3-psutil (>= 0.4), python3-psutil (>= 0.4),
python3-mlzlog, python3-mlzlog,
markdown, markdown,
@ -32,6 +38,14 @@ Description: Frappy SECoP core system
contains the core server and client libraries and the server binary contains the core server and client libraries and the server binary
as well as the systemd integration 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 Package: secop-gui
Architecture: all Architecture: all
Depends: secop-core, Depends: secop-core,
@ -46,18 +60,18 @@ Architecture: all
Depends: secop-core, Depends: secop-core,
${misc:Depends}, ${misc:Depends},
${python3:Depends} ${python3:Depends}
Recommends: secop-gui
Description: SECoP demo files Description: SECoP demo files
for demonstration purposes for demonstration purposes
Recommends: secop-gui
Package: secop-ess Package: secop-ess
Architecture: all Architecture: all
Depends: secop-core, Depends: secop-core,
${misc:Depends}, ${misc:Depends},
${python3:Depends} ${python3:Depends}
Description: SECoP ess files
Modules specific for ESS (http://esss.se)
Recommends: secop-gui Recommends: secop-gui
Description: SECoP ess files
Modules specific for ESS
Package: secop-mlz Package: secop-mlz
Architecture: all Architecture: all
@ -65,15 +79,15 @@ Depends: secop-core,
${misc:Depends}, ${misc:Depends},
${python3:Depends}, ${python3:Depends},
python-pytango (>=9) python-pytango (>=9)
Description: SECoP mlz files
Modules specific for MLZ (http://mlz-garching.de)
Recommends: secop-gui Recommends: secop-gui
Description: SECoP mlz files
Modules specific for MLZ
Package: secop-psi Package: secop-psi
Architecture: all Architecture: all
Depends: secop-core, Depends: secop-core,
${misc:Depends}, ${misc:Depends},
${python3:Depends} ${python3:Depends}
Description: SECoP psi files
Modules specific for PSI (http://psi.ch)
Recommends: secop-gui 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 Upstream-Name: frappy
Source: http://forge.frm2.tum.de/cgit/cgit.cgi/frm2/sine2020/secop/playground.git 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: * Files: *
Copyright: 2016-2019 by the FRAPPY-SECOP contributors (see AUTHORS) 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 DEBPYTHON_DEFAULT DEBPYTHON_SUPPORTED
export PYBUILD_NAME = secop
export PYBUILD_TEST_PYTEST = 1
override_dh_install: override_dh_install:
@find debian/tmp -name '*.pyc' -exec rm \{\} \; @find debian -name '*.pyc' -exec rm \{\} \;
@find debian/tmp -type d -name '__pycache__' | xargs rmdir @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 "regen debian/secop-core.install"
@echo "usr/bin/secop-server" > debian/secop-core.install @echo "usr/bin/secop-server" > debian/secop-core.install
@echo "usr/bin/secop-console" >> 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/; \ @(cd debian/tmp; find . -name '*.py'| grep -v gui|grep /secop/; \
find . | grep egg-info; \ find . -type f| grep egg-info; \
find . | grep RELEASE-VERSION; \ find . -type f| grep RELEASE-VERSION; \
find ./lib; \ find ./lib -type f; \
find ./var ) | \ find ./var -type f) | \
while read f;do echo $${f#./};done | cat >> debian/secop-core.install while read f;do echo $${f#./}; done | cat >> debian/secop-core.install
@echo "regen debian/secop-gui.install" @echo "regen debian/secop-gui.install"
@echo "usr/bin/secop-gui" > debian/secop-gui.install @echo "usr/bin/secop-gui" > debian/secop-gui.install
@echo "usr/bin/secop-cfg-editor" >> 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 while read f;do echo $${f#./};done | cat >> debian/secop-gui.install
@for facility in demo ess mlz psi;do \ @for facility in demo ess mlz psi;do \

View File

@ -1,6 +1,5 @@
usr/bin/secop-server usr/bin/secop-server
usr/bin/secop-console 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/errors.py
usr/lib/python3.7/dist-packages/secop/modules.py usr/lib/python3.7/dist-packages/secop/modules.py
usr/lib/python3.7/dist-packages/secop/features.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] [Unit]
Description=SECoP SEC-node: %i Description=SECoP SEC-node: %i
After=network-online.service After=network-online.service
Documentation=
[Service] [Service]
Type=notify 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): def get_git_version(abbrev=4, cwd=None):
try: try:
print("REPO:", GIT_REPO)
p = Popen(['git', '--git-dir=%s' % GIT_REPO, p = Popen(['git', '--git-dir=%s' % GIT_REPO,
'describe', '--abbrev=%d' % abbrev], 'describe', '--abbrev=%d' % abbrev],
stdout=PIPE, stderr=PIPE) stdout=PIPE, stderr=PIPE)
stdout, _stderr = p.communicate() stdout, _stderr = p.communicate()
version = stdout.strip().decode('utf-8', 'ignore') version = stdout.strip().decode('utf-8', 'ignore')
print("git:", version)
# mangle version to comply with pep440 # mangle version to comply with pep440
if version.count('-'): if version.count('-'):
version, patchcount, githash = version.split('-') version, patchcount, githash = version.split('-')

View File

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