diff --git a/action.yml b/action.yml index 0ef4d8d..e46b1c3 100644 --- a/action.yml +++ b/action.yml @@ -88,58 +88,86 @@ runs: - name: Install dependies run: | source .env - # SPEC_FILE=${SPECFILE} + + SPEC_FILE=${SPECFILE} BASE_URL="https://packages.buildkite.com/r11-team/r11-x86-64/files/" + + echo "Processing spec file: $SPECFILE" + echo "Base URL: $BASE_URL" + # Функция для установки зависимостей - #install_dependencies() { - # Массив для хранения всех зависимостей - declare -a all_dependencies - # Чтение файла построчно - while IFS= read -r line; do - if [[ $line =~ ^BuildRequires:\s+(go)$ ]]; then - go_dependencies="golang-1.23.4-1-rosa0.1.x86_64" - if [[ -n "$go_dependencies" ]]; then - echo "Found Go dependencies: $go_dependencies" - all_dependencies+=("$BASE_URL/$go_dependencies.rpm") - fi - elif [[ $line =~ ^BuildRequires:\s+(pkgconfig\(openssl3\.3\))$ ]]; then - openssl_dependencies="openssl3.3-devel-3.3.2-1-rosa0.1.x86_64" + install_dependencies() { + # Массив для хранения всех зависимостей + declare -a all_dependencies + + # Извлекаем все строки с BuildRequires + while IFS= read -r line; do + if [[ $line =~ ^BuildRequires: ]]; then + echo "Processing line: $line" + + # Нормализация пробелов + normalized_line=$(echo "$line" | sed 's/[[:space:]]\+/ /g') + echo "Normalized line: $normalized_line" + + # Извлекаем зависимость + dependency=$(echo "$normalized_line" | cut -d ' ' -f2-) + echo "Dependency: $dependency" + + case "$dependency" in + *go*) + go_dependencies="golang-1.23.4-1-rosa0.1.x86_64" + if [[ -n "$go_dependencies" ]]; then + echo "Found Go dependency: $go_dependencies" + all_dependencies+=("$BASE_URL/$go_dependencies.rpm") + fi + ;; + *pkgconfig\(openssl3\.3\)*) + openssl_dependencies="openssl3.3-devel-3.3.2-1-rosa0.1.x86_64" if [[ -n "$openssl_dependencies" ]]; then echo "Found OpenSSL dependency: $openssl_dependencies" all_dependencies+=("$BASE_URL/$openssl_dependencies.rpm") fi - elif [[ $line =~ ^BuildRequires:\s+(llvm17)$ ]]; then - llvm17_dependency="llvm17-17.0.1-1-rosa2016.1.x86_64" - if [[ -n "$llvm17_dependency" ]]; then - echo "Found LLVM17 dependency: $llvm17_dependency" - all_dependencies+=("$BASE_URL/$llvm17_dependency.rpm") - fi - elif [[ $line =~ ^BuildRequires:\s+(stdc++-gcc10-devel)$ ]]; then - gcc10_dependency="stdc++-gcc10-devel-10.2.1-1-rosa0.1.x86_64" - if [[ -n "$gcc10_dependency" ]]; then - echo "Found GCC10 dependency: $gcc10_dependency" - # all_dependencies+=("$BASE_URL/$gcc10_dependency.rpm") # не доступен - fi - elif [[ $line =~ ^BuildRequires:\s+(qt515)$ ]]; then - qt515_dependency="qt515-5.15.12-1-rosa2016.1.x86_64" - if [[ -n "$qt515_dependency" ]]; then - echo "Found Qt515 dependency: $qt515_dependency" - all_dependencies+=("$BASE_URL/$qt515_dependency.rpm") - fi + ;; + *llvm17*) + llvm17_dependency="llvm17-17.0.1-1-rosa2016.1.x86_64" + if [[ -n "$llvm17_dependency" ]]; then + echo "Found LLVM17 dependency: $llvm17_dependency" + all_dependencies+=("$BASE_URL/$llvm17_dependency.rpm") fi - done < ${SPECFILE} - # Установка всех найденных зависимостей - if [[ ${#all_dependencies[@]} -gt 0 ]]; then - echo "Installing all dependencies: ${all_dependencies[@]}" - sudo urpmi --auto "${all_dependencies[@]}" - else - echo "No dependencies found." - fi - #} + ;; + *stdc++-gcc10-devel*) + gcc10_dependency="stdc++-gcc10-devel-10.2.1-1-rosa0.1.x86_64" + if [[ -n "$gcc10_dependency" ]]; then + echo "Found GCC10 dependency: $gcc10_dependency" + all_dependencies+=("$BASE_URL/$gcc10_dependency.rpm") + fi + ;; + *qt515*) + qt515_dependency="qt515-5.15.12-1-rosa2016.1.x86_64" + if [[ -n "$qt515_dependency" ]]; then + echo "Found Qt515 dependency: $qt515_dependency" + all_dependencies+=("$BASE_URL/$qt515_dependency.rpm") + fi + ;; + esac + + # Вывод текущего состояния массива all_dependencies + echo "Current dependencies: ${all_dependencies[@]}" + fi + done < "$SPECFILE" + + # Установка всех найденных зависимостей + if [[ ${#all_dependencies[@]} -gt 0 ]]; then + echo "Installing all dependencies: ${all_dependencies[@]}" + # sudo urpmi --auto "${all_dependencies[@]}" + else + echo "No dependencies found." + fi + } # Установка всех зависимостей - # install_dependencies - + install_dependencies + # Установка всех остальных зависимостей sudo urpmi --buildrequires --auto ${SPECFILE}