Add support for Debian, merge Debian/Ubuntu platforms
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
from fabric.api import run, sudo, cd, env, task
|
||||
from fabric.colors import green
|
||||
|
||||
from ..literals import OS_UBUNTU, OS_FEDORA
|
||||
import linux, ubuntu, fedora
|
||||
from ..literals import OS_UBUNTU, OS_FEDORA, OS_DEBIAN
|
||||
import linux, ubuntu, fedora, debian
|
||||
|
||||
|
||||
@task
|
||||
@@ -10,10 +10,11 @@ def install_dependencies():
|
||||
"""
|
||||
Install OS dependencies
|
||||
"""
|
||||
|
||||
print(green('Installing dependencies for %s' % env.os_name, bold=True))
|
||||
|
||||
if env.os == OS_UBUNTU:
|
||||
ubuntu.install_dependencies()
|
||||
if env.os in [OS_UBUNTU, OS_DEBIAN]:
|
||||
debian.install_dependencies()
|
||||
elif env.os == OS_FEDORA:
|
||||
fedora.install_dependencies()
|
||||
|
||||
@@ -26,7 +27,7 @@ def install_mayan():
|
||||
|
||||
print(green('Installing Mayan EDMS from git repository', bold=True))
|
||||
|
||||
if env.os in [OS_UBUNTU, OS_FEDORA]:
|
||||
if env.os in [OS_UBUNTU, OS_FEDORA, OS_DEBIAN]:
|
||||
linux.install_mayan()
|
||||
|
||||
|
||||
@@ -38,8 +39,8 @@ def install_database_manager():
|
||||
|
||||
print(green('Installing database manager: %s' % env.database_manager_name, bold=True))
|
||||
|
||||
if env.os == OS_UBUNTU:
|
||||
ubuntu.install_database_manager()
|
||||
if env.os in [OS_UBUNTU, OS_DEBIAN]:
|
||||
debian.install_database_manager()
|
||||
elif env.os == OS_FEDORA:
|
||||
fedora.install_database_manager()
|
||||
|
||||
@@ -52,8 +53,8 @@ def fix_permissions():
|
||||
|
||||
print(green('Fixing installation files\' permissions', bold=True))
|
||||
|
||||
if env.os == OS_UBUNTU:
|
||||
ubuntu.fix_permissions()
|
||||
if env.os in [OS_UBUNTU, OS_DEBIAN]:
|
||||
debian.fix_permissions()
|
||||
elif env.os == OS_FEDORA:
|
||||
fedora.fix_permissions()
|
||||
|
||||
@@ -66,8 +67,8 @@ def install_webserver():
|
||||
|
||||
print(green('Installing webserver: %s' % env.webserver_name, bold=True))
|
||||
|
||||
if env.os == OS_UBUNTU:
|
||||
ubuntu.install_webserver()
|
||||
if env.os in [OS_UBUNTU, OS_DEBIAN]:
|
||||
debian.install_webserver()
|
||||
elif env.os == OS_FEDORA:
|
||||
fedora.install_webserver()
|
||||
|
||||
@@ -80,7 +81,7 @@ def delete_mayan():
|
||||
|
||||
print(green('Deleting Mayan EDMS files', bold=True))
|
||||
|
||||
if env.os in [OS_UBUNTU, OS_FEDORA]:
|
||||
if env.os in [OS_UBUNTU, OS_FEDORA, OS_DEBIAN]:
|
||||
linux.delete_mayan()
|
||||
|
||||
|
||||
@@ -93,3 +94,5 @@ def post_install():
|
||||
ubuntu.post_install()
|
||||
elif env.os == OS_FEDORA:
|
||||
fedora.post_install()
|
||||
elif env.os == OS_DEBIAN:
|
||||
debian.post_install()
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
from fabric.api import run, sudo, cd, env, task, settings
|
||||
|
||||
from ..literals import DB_MYSQL, WEB_APACHE
|
||||
|
||||
|
||||
def install_dependencies():
|
||||
"""
|
||||
Install Debian dependencies
|
||||
"""
|
||||
sudo('apt-get install -y git-core gcc tesseract-ocr unpaper python-virtualenv ghostscript libjpeg-dev libpng-dev poppler-utils')
|
||||
|
||||
|
||||
def install_database_manager():
|
||||
"""
|
||||
Install the database manager on an Ubuntu system
|
||||
"""
|
||||
|
||||
if env.database_manager == DB_MYSQL:
|
||||
sudo('apt-get install -y mysql-server libmysqlclient-dev')
|
||||
|
||||
with cd(env.virtualenv_path):
|
||||
sudo('source bin/activate; pip install MySQL-python')
|
||||
|
||||
|
||||
def install_webserver():
|
||||
"""
|
||||
Installing the Debian packages for the webserver
|
||||
"""
|
||||
|
||||
if env.webserver == WEB_APACHE:
|
||||
sudo('apt-get install -y apache2 libapache2-mod-wsgi')
|
||||
|
||||
with settings(warn_only=True):
|
||||
# Get rid of Apache's default site
|
||||
sudo('a2dissite default')
|
||||
|
||||
|
||||
def fix_permissions():
|
||||
"""
|
||||
Fix installation files' permissions on a Debian system
|
||||
"""
|
||||
sudo('chmod 770 %s -R' % env.virtualenv_path)
|
||||
sudo('chgrp www-data %s -R' % env.virtualenv_path)
|
||||
|
||||
|
||||
def post_install():
|
||||
"""
|
||||
Post install operations on a Debian system
|
||||
"""
|
||||
pass
|
||||
@@ -5,7 +5,7 @@ def delete_mayan():
|
||||
"""
|
||||
Delete Mayan EDMS files from an Ubuntu system
|
||||
"""
|
||||
sudo('rm %s -Rf' % env.virtualenv_path)
|
||||
sudo('rm %(virtualenv_path)s -Rf' % env)
|
||||
|
||||
|
||||
def install_mayan():
|
||||
@@ -13,8 +13,8 @@ def install_mayan():
|
||||
Install Mayan EDMS on an Ubuntu system
|
||||
"""
|
||||
with cd(env.install_path):
|
||||
sudo('virtualenv --no-site-packages %s' % env.virtualenv_name)
|
||||
sudo('virtualenv --no-site-packages %(virtualenv_name)s' % env)
|
||||
|
||||
with cd(env.virtualenv_path):
|
||||
sudo('git clone http://www.github.com/rosarior/mayan %s' % env.repository_name)
|
||||
sudo('source bin/activate; pip install -r %s/requirements/production.txt' % env.repository_name)
|
||||
sudo('git clone http://www.github.com/rosarior/mayan %(repository_name)s' % env)
|
||||
sudo('source bin/activate; pip install -r %(repository_name)s/requirements/production.txt' % env)
|
||||
|
||||
@@ -1,48 +1,3 @@
|
||||
from fabric.api import run, sudo, cd, env, task, settings
|
||||
|
||||
from ..literals import DB_MYSQL, WEB_APACHE
|
||||
|
||||
|
||||
def install_dependencies():
|
||||
"""
|
||||
Install Ubuntu dependencies
|
||||
"""
|
||||
sudo('apt-get install -y git-core gcc tesseract-ocr unpaper python-virtualenv ghostscript libjpeg-dev libpng-dev poppler-utils')
|
||||
|
||||
|
||||
def install_database_manager():
|
||||
"""
|
||||
Install the database manager on an Ubuntu system
|
||||
"""
|
||||
|
||||
if env.database_manager == DB_MYSQL:
|
||||
sudo('apt-get install -y mysql-server libmysqlclient-dev')
|
||||
|
||||
with cd(env.virtualenv_path):
|
||||
sudo('source bin/activate; pip install MySQL-python')
|
||||
|
||||
|
||||
def install_webserver():
|
||||
"""
|
||||
Installing the Ubuntu packages for the webserver
|
||||
"""
|
||||
|
||||
if env.webserver == WEB_APACHE:
|
||||
sudo('apt-get install -y apache2 libapache2-mod-wsgi')
|
||||
|
||||
with settings(warn_only=True):
|
||||
# Get rid of Apache's default site
|
||||
sudo('a2dissite default')
|
||||
|
||||
|
||||
def fix_permissions():
|
||||
"""
|
||||
Fix installation files' permissions on an Ubuntu system
|
||||
"""
|
||||
sudo('chmod 770 %s -R' % env.virtualenv_path)
|
||||
sudo('chgrp www-data %s -R' % env.virtualenv_path)
|
||||
|
||||
|
||||
def post_install():
|
||||
"""
|
||||
Post install operations on an Ubuntu system
|
||||
|
||||
Reference in New Issue
Block a user