Add logic for installing headless LibreOffice daemon

This commit is contained in:
Lance Edgar 2019-09-13 13:20:11 -05:00
parent 0430829c02
commit aa3ef708ad
2 changed files with 53 additions and 0 deletions

View file

@ -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'):
"""

View file

@ -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 <http://www.gnu.org/licenses/>.
#
################################################################################
"""
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',
)