From 764968254e0993192b867c04f1ab4e761ce5878b Mon Sep 17 00:00:00 2001 From: lgromero Date: Wed, 3 Jul 2024 08:37:04 +0200 Subject: [PATCH] refs #477 Adds public creations with permissions and changes composer.phar execution --- installer/ogboot_installer.py | 39 +++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/installer/ogboot_installer.py b/installer/ogboot_installer.py index 03ceaef..569071d 100755 --- a/installer/ogboot_installer.py +++ b/installer/ogboot_installer.py @@ -324,13 +324,31 @@ def og_boot_create_dirs(): exit(1) def og_boot_symfony_install(path_opengnsys_base): - logger.info("Creating Symfony application skeleton...") - # downloadComposer() - # Copiar los archivos .env y composer.json primero - logger.info(f"Copying files (.env and composer.json) from {WORKDIR}/ogboot/.env to {path_opengnsys_base}/.env") - 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")) - logger.info(f".env and composer.json files copied to {path_opengnsys_base}") + logger.info("Creating Symfony application skeleton...") + + try: + # Copiar los archivos .env y composer.json primero + env_src = os.path.join(WORKDIR, "ogboot/.env") + composer_src = os.path.join(WORKDIR, "ogboot/composer.json") + env_dest = os.path.join(path_opengnsys_base, ".env") + composer_dest = os.path.join(path_opengnsys_base, "composer.json") + + shutil.copy(env_src, env_dest) + shutil.copy(composer_src, composer_dest) + logger.info(f"Copied {env_src} to {env_dest}") + logger.info(f"Copied {composer_src} to {composer_dest}") + + # Cambiar permisos y propietario de los archivos copiados + os.chmod(env_dest, 0o644) + os.chmod(composer_dest, 0o644) + shutil.chown(env_dest, user='ogboot', group='ogboot') + shutil.chown(composer_dest, user='ogboot', group='ogboot') + logger.info(f"Set permissions and owner for {env_dest} and {composer_dest}") + + logger.info(f".env and composer.json files copied to {path_opengnsys_base}") + except Exception as e: + logger.error(f"An error occurred while copying files: {e}") + raise def og_boot_copy_files(path_opengnsys_base): bin_source = os.path.join(WORKDIR, "ogboot/bin") @@ -362,19 +380,18 @@ def og_boot_copy_files(path_opengnsys_base): os.makedirs(os.path.join(INSTALL_TARGET, "etc"), mode=0o750, exist_ok=True) os.makedirs(os.path.join(INSTALL_TARGET, "client"), mode=0o750, exist_ok=True) + os.makedirs(os.path.join(INSTALL_TARGET, "public"), mode=0o750, exist_ok=True) subprocess.run(["sudo", "chmod", "-R", "755", path_opengnsys_base]) subprocess.run(["sudo", "chown", "-R", "ogboot:ogboot", path_opengnsys_base]) def og_boot_composer_install(path_opengnsys_base): # Ejecutar Composer como el usuario 'ogboot' para instalar el proyecto Symfony - os.chdir(os.path.join(path_opengnsys_base, 'bin')) - result = subprocess.run(["sudo", "-u", "ogboot", "php", os.path.join(path_opengnsys_base, "bin", "composer.phar"), "install", "--no-interaction", "--working-dir", path_opengnsys_base]) + result = subprocess.run(["sudo", "-u", "ogboot", "./bin/composer.phar", "install", "--no-interaction", "--working-dir", path_opengnsys_base]) if result.returncode != 0: logger.error("Error creating Symfony project using Composer") return - os.chdir(path_opengnsys_base) - result = subprocess.run(["sudo", "-u", "ogboot", "php", os.path.join(path_opengnsys_base, "bin", "composer.phar"), "install", "--no-interaction", "--working-dir", path_opengnsys_base]) + # Eliminar composer.lock si existe composer_lock_path = os.path.join(path_opengnsys_base, "composer.lock") if os.path.exists(composer_lock_path):