Just run:
pip install fabric fab
ENV=staging fab freeling
Installing as sudo:
ENV=staging fab sudo_freeling
Done!
config.yml |
if BOOST_MT | |
MT="-mt" | |
endif | |
if BOOST_GCC | |
MT="-gcc-mt" | |
endif | |
if DEBUG | |
AM_CXXFLAGS= -g -O0 -Wall | |
else | |
AM_CXXFLAGS= -O3 -Wall | |
endif | |
if USE_XPRESSIVE_REGEX | |
BOOST_REGEX_LIB= | |
else | |
BOOST_REGEX_LIB=-lboost_regex$(MT) | |
endif | |
if USE_BOOST_LOCALE | |
BOOST_LOCALE_LIB=-lboost_locale$(MT) -lboost_thread$(MT) -lboost_system$(MT) | |
else | |
BOOST_LOCALE_LIB= | |
endif | |
if BOOST_OLD | |
ADD_FL_DEPS=-lboost_thread$(MT) -lboost_system$(MT) | |
else | |
ADD_FL_DEPS=-lboost_system$(MT) | |
endif | |
FREELING_DEPS=$(BOOST_REGEX_LIB) $(BOOST_LOCALE_LIB) $(ADD_FL_DEPS) -lz |
staging: | |
HostName: www | |
User: deploy | |
Port: 22 | |
IdentifyKey: ~/.ssh/myPrivateKey.key |
import os | |
import yaml | |
from fabric.api import * | |
environment = 'staging' | |
if 'ENV' in os.environ: | |
environment = os.environ['ENV'] | |
stream = open('config.yml', 'r') | |
config = yaml.load(stream) | |
env.hosts = [config[environment]['HostName']] | |
env.user = config[environment]['User'] | |
env.key_filename = config[environment]['IdentifyKey'] | |
env.port = config[environment]['Port'] | |
dependencies = [ | |
'build-essential', | |
'libicu-dev', | |
'libboost1.54-all-dev', | |
'libboost-regex1.54-dev', | |
'libboost-regex-dev', | |
'libboost-system-dev', | |
'libboost-program-options-dev', | |
'libboost-thread-dev', | |
'zlib1g-dev', | |
'automake', | |
'autoconf', | |
'libtool' | |
] | |
def freeling(): | |
run('apt-get update') | |
run('apt-get install -y ' + ' '.join(dependencies)) | |
run('wget https://s3.amazonaws.com/src.codingnews.info/freeling-3.1.tar.gz') | |
run('tar xvzf freeling-3.1.tar.gz') | |
put('automake_options.am', 'freeling-3.1/src/') | |
run('cd freeling-3.1 && aclocal; libtoolize; autoconf; automake -a') | |
run('cd freeling-3.1 && ./configure') | |
run('cd freeling-3.1 && make') | |
run('cd freeling-3.1 && make install') | |
run('locale-gen en_US.UTF-8') | |
def sudo_freeling(): | |
sudo('apt-get update') | |
sudo('apt-get install -y ' + ' '.join(dependencies)) | |
run('wget https://s3.amazonaws.com/src.codingnews.info/freeling-3.1.tar.gz') | |
run('tar xvzf freeling-3.1.tar.gz') | |
put('automake_options.am', 'freeling-3.1/src/') | |
run('cd freeling-3.1 && aclocal; libtoolize; autoconf; automake -a') | |
run('cd freeling-3.1 && ./configure') | |
run('cd freeling-3.1 && make') | |
sudo('cd freeling-3.1 && make install') | |
sudo('locale-gen en_US.UTF-8') |
Thanks for making this available! You posted it in the right moment ;-)