parent
03c3214153
commit
7872ff7460
47
rattail/fablib/composer.py
Normal file
47
rattail/fablib/composer.py
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
# -*- coding: utf-8; -*-
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Rattail -- Retail Software Framework
|
||||||
|
# Copyright © 2010-2017 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 Affero 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 Affero General Public License for
|
||||||
|
# more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with Rattail. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
"""
|
||||||
|
Fabric lib for Composer (PHP dependency manager)
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import unicode_literals, absolute_import
|
||||||
|
|
||||||
|
from fabric.api import sudo
|
||||||
|
from fabric.contrib.files import exists
|
||||||
|
|
||||||
|
from rattail.fablib import make_deploy
|
||||||
|
|
||||||
|
|
||||||
|
deploy = make_deploy(__file__)
|
||||||
|
|
||||||
|
|
||||||
|
def install_composer(user=None):
|
||||||
|
"""
|
||||||
|
Install `composer.phar` in current directory
|
||||||
|
"""
|
||||||
|
if not exists('composer.phar'):
|
||||||
|
deploy('composer/install-composer.sh', 'install-composer.sh')
|
||||||
|
sudo('./install-composer.sh')
|
||||||
|
sudo('rm install-composer.sh')
|
||||||
|
if user:
|
||||||
|
sudo('chown {}: composer.phar'.format(user))
|
17
rattail/fablib/deploy/composer/install-composer.sh
Executable file
17
rattail/fablib/deploy/composer/install-composer.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
|
||||||
|
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
|
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
|
||||||
|
|
||||||
|
if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
|
||||||
|
then
|
||||||
|
>&2 echo 'ERROR: Invalid installer signature'
|
||||||
|
rm composer-setup.php
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
php composer-setup.php --quiet
|
||||||
|
RESULT=$?
|
||||||
|
rm composer-setup.php
|
||||||
|
exit $RESULT
|
Loading…
Reference in a new issue