refs #404 adds composer phar download function

ogboot_installer
Luis Gerardo Romero Garcia 2024-05-29 13:24:04 +02:00
parent 5fb23d7923
commit eac916b82f
1 changed files with 22 additions and 2 deletions

View File

@ -6,6 +6,9 @@
#################################################################################
import platform, os, sys, subprocess, datetime, shutil, argparse, time, pwd, glob
import subprocess
import os
import shutil
global UBUNTU_OS_VERSION, OPENGNGYS_VERSION, PYTHON_VERSION_LAST, PYTHON_VERSION, DEPENDENCIES2, INSTALL_OGBOOT_TARGET, WORK_DIR, LOG_FILE, CHECKPKG, INSTALLPKG, PATH, PROGRAM_DIR, OPENGNSYS_SERVER, UPDATEPKGLIST
@ -291,6 +294,22 @@ def generate_config_url():
arch = os.uname().machine
return f"https://dl.cloudsmith.io/public/isc/kea-2-0/config.deb.txt?distro=ubuntu&codename={codename}&version={version}&arch={arch}"
def downloadComposer():
echoAndLog("Downloading composer.phar...")
os.makedirs(os.path.join(WORKDIR, "ogboot", "bin"), exist_ok=True)
# Download composer.phar to the destination directory
subprocess.run(["curl", "-sS", "-o", os.path.join(WORKDIR, "ogboot", "bin", "composer.phar"), "https://getcomposer.org/installer"], check=True)
# Check if the download was successful
if not os.path.isfile(os.path.join(WORKDIR, "ogboot", "bin", "composer.phar")):
errorAndLog("Failed to download composer.phar")
return 1
echoAndLog("composer.phar downloaded to /opt/ogboot/bin")
return 0
def create_ogboot_project(path_opengnsys_base):
# Verificar si el usuario 'ogboot' ya existe
try:
@ -318,7 +337,8 @@ def create_ogboot_project(path_opengnsys_base):
with open('/etc/hosts', 'a') as hosts_file:
hosts_file.write('172.17.8.82 opengnsys\n')
print("Entrada 'opengnsys' agregada a /etc/hosts")
downloadComposer() # Descargar composer.phar
# Copiar los archivos .env y composer.json primero
shutil.copy(f"{WORKDIR}/ogboot/.env", os.path.join(path_opengnsys_base, ".env"))
shutil.copy(f"{WORKDIR}/ogboot/composer.json", os.path.join(path_opengnsys_base, "composer.json"))
@ -592,7 +612,7 @@ def copyClientFiles():
echoAndLog(f"{copyClientFiles.__name__}(): Copying OpenGnsys Cloning Engine files.")
os.makedirs(f"{INSTALL_TARGET}/client/lib/engine/bin", exist_ok=True)
engine_files = glob.glob(f"{WORKDIR}/ogboot/client/engine/*.lib*")
# Copiar cada archivo individualmente