From aa3ef708adc5dd77ba41202d2863ef052a884d22 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 13 Sep 2019 13:20:11 -0500 Subject: [PATCH] Add logic for installing headless LibreOffice daemon --- rattail_fabric2/core.py | 13 +++++++++++++ rattail_fabric2/soffice.py | 40 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 rattail_fabric2/soffice.py diff --git a/rattail_fabric2/core.py b/rattail_fabric2/core.py index bbd5705..19b4abf 100644 --- a/rattail_fabric2/core.py +++ b/rattail_fabric2/core.py @@ -245,6 +245,19 @@ class Deployer(object): self.deploy(c, '{}/meta.json'.format(localdir), '{}/meta.json'.format(final_path), use_sudo=True) self.deploy(c, '{}/regr.json'.format(localdir), '{}/regr.json'.format(final_path), use_sudo=True) + def soffice_daemon(self, c, local_path, name=None, register=True, start=True, **kwargs): + """ + Deploy a "soffice" (headless LibreOffice) daemon. + """ + if name is None: + name = local_path.split('/')[-1] + kwargs.setdefault('use_sudo', True) + self.deploy(c, local_path, '/etc/init.d/{}'.format(name), **kwargs) + if register: + c.sudo('update-rc.d {} defaults'.format(name)) + if start: + c.sudo('service {} restart'.format(name)) + def make_deploy(deploy_path, last_segment='deploy'): """ diff --git a/rattail_fabric2/soffice.py b/rattail_fabric2/soffice.py new file mode 100644 index 0000000..5449916 --- /dev/null +++ b/rattail_fabric2/soffice.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8; -*- +################################################################################ +# +# Rattail -- Retail Software Framework +# Copyright © 2010-2019 Lance Edgar +# +# This file is part of Rattail. +# +# Rattail 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 3 of the License, or (at your option) any later +# version. +# +# Rattail 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 +# Rattail. If not, see . +# +################################################################################ +""" +Fabric library for LibreOffice (etc.) +""" + +from rattail_fabric2 import apt + + +def install_headless_writer(c): + """ + Install packages for headless LibreOffice Writer + """ + apt.install( + c, + 'openjdk-8-jdk', + 'libreoffice-common', + 'libreoffice-writer', + 'libreoffice-calc', + )