From 9540030579b33fd7f2d3bbf580404dd6e444a35c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=28=D0=A5?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D1=8B=D1=87=D0=AA=29=20=D0=A5=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= Date: Thu, 29 May 2025 17:48:40 +0300 Subject: [PATCH 01/12] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5:=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B1?= =?UTF-8?q?=D0=B5=D1=80=D1=91=D1=82=20=D0=B1=D0=B8=D0=BD=D0=B0=D1=80=D0=BD?= =?UTF-8?q?=D0=B8=D0=BA=D0=B8=20=D0=B8=D0=B7=20=D1=80=D0=B5=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0,=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- scripts/install.sh | 99 +++++++++++++++++++++------------------------- 2 files changed, 47 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 1482ddb..87f514f 100644 --- a/README.md +++ b/README.md @@ -20,10 +20,10 @@ ALR написан на чистом Go и после сборки не имее Установочный скрипт автоматически загрузит и установит соответствующий пакет ALR в вашей системе. Чтобы использовать его, просто выполните следующую команду: ```bash -curl -fsSL plemya-x.ru/alr/install.sh | bash +curl -fsSL https://gitea.plemya-x.ru/Plemya-x/ALR/raw/branch/master/scripts/install.sh | bash ``` -**ВАЖНО**: При этом скрипт будет загружен и запущен с . Пожалуйста, просматривайте любые скрипты, которые вы скачиваете из Интернета (включая этот), прежде чем запускать их. +**ВАЖНО**: При этом скрипт будет загружен и запущен [скрипт](https://gitea.plemya-x.ru/Plemya-x/ALR/src/branch/master/scripts/install.sh). Пожалуйста, просматривайте любые скрипты, которые вы скачиваете из Интернета (включая этот), прежде чем запускать их. ### Сборка из исходного кода diff --git a/scripts/install.sh b/scripts/install.sh index d92b19d..2528408 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -41,10 +41,10 @@ installPkg() { fi case $1 in - pacman) $rootCmd pacman --noconfirm -U ${@:2} ;; - apk) $rootCmd apk add --allow-untrusted ${@:2} ;; - zypper) $rootCmd zypper --no-gpg-checks install ${@:2} ;; - *) $rootCmd $1 install -y ${@:2} ;; + pacman) $rootCmd pacman --noconfirm -U "${@:2}" ;; + apk) $rootCmd apk add --allow-untrusted "${@:2}" ;; + zypper) $rootCmd zypper --no-gpg-checks install "${@:2}" ;; + *) $rootCmd "$1" install -y "${@:2}" ;; esac } @@ -88,60 +88,51 @@ else fi if [ -z "$noPkgMgr" ]; then - info "Получение списка файлов с https://plemya-x.ru/" - pageContent=$(curl -s https://plemya-x.ru/?dir=alr) + info "Получение списка файлов с https://gitea.plemya-x.ru/Plemya-x/ALR/releases" + + # Изменено URL и регулярное выражение для списка файлов + pageContent=$(curl -s https://gitea.plemya-x.ru/Plemya-x/ALR/releases) # Извлечение списка файлов из HTML - fileList=$(echo "$pageContent" | grep -oP '(?<=href=").*?(?=")' | grep -E 'alr-bin-.*.(pkg.tar.zst|rpm|deb)') + fileList=$(echo "$pageContent" | grep -oP '(?<=href=").*?(?=")' | grep -E 'alr-bin.*\.(pkg.tar.zst|rpm|deb)') echo "Полученный список файлов:" echo "$fileList" -if [ "$pkgMgr" == "pacman" ]; then - latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*\.pkg\.tar\.zst' | sort -V | tail -n 1) -elif [ "$pkgMgr" == "apt" ]; then - latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*\.amd64\.deb' | sort -V | tail -n 1) -elif [[ "$pkgMgr" == "dnf" || "$pkgMgr" == "yum" || "$pkgMgr" == "zypper" ]]; then - latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*\.x86_64\.rpm' | grep -v 'alt1' | sort -V | tail -n 1) -elif [ "$pkgMgr" == "apt-get" ]; then - latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*-alt[0-9]+\.x86_64\.rpm' | sort -V | tail -n 1) + + if [ "$pkgMgr" == "pacman" ]; then + latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*\.pkg\.tar\.zst' | sort -V | tail -n 1) + elif [ "$pkgMgr" == "apt" ]; then + latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*\.amd64\.deb' | sort -V | tail -n 1) + elif [[ "$pkgMgr" == "dnf" || "$pkgMgr" == "yum" || "$pkgMgr" == "zypper" ]]; then + latestFile=$(printf "%s\n" "${fileList[@]}" | grep -E 'alr-bin-.*\.x86_64\.rpm' | grep -v 'alt[0-9]*' | sort -V | tail -n 1) + elif [ "$pkgMgr" == "apt-get" ]; then + latestFile=$(echo "$fileList" | grep -E 'alr-bin-.*-alt[0-9]+\.x86_64\.rpm' | sort -V | tail -n 1) + else + error "Не поддерживаемый менеджер пакетов для автоматической установки" + fi + + if [ -z "$latestFile" ]; then + error "Не удалось найти соответствующий пакет для $pkgMgr" + fi + + info "Найдена последняя версия ALR: $latestFile" + + fname="$(mktemp -u -p /tmp "alr.XXXXXXXXXX").${pkgFormat}" + + info "Загрузка пакета ALR" + curl -o $fname -L "$latestFile" + + if [ ! -f "$fname" ]; then + error "Ошибка загрузки пакета ALR" + fi + + info "Установка пакета ALR" + installPkg "$pkgMgr" "$fname" + + info "Очистка" + rm "$fname" + + info "Готово!" else -error "Не поддерживаемый менеджер пакетов для автоматической установки" -fi - -if [ -z "$latestFile" ]; then -error "Не удалось найти соответствующий пакет для $pkgMgr" -fi - -info "Найдена последняя версия ALR: $latestFile" - -url="https://plemya-x.ru/$latestFile" -fname="$(mktemp -u -p /tmp "alr.XXXXXXXXXX").${pkgFormat}" - -info "Загрузка пакета ALR" -curl -L $url -o $fname - -if [ ! -f "$fname" ]; then -error "Ошибка загрузки пакета ALR" -fi - -info "Установка пакета ALR" -installPkg $pkgMgr $fname - -info "Очистка" -rm $fname - -info "Готово!" - -else -info "Клонирование репозитория ALR" -git clone https://gitea.plemya-x.ru/xpamych/ALR.git /tmp/alr - -info "Установка ALR" -cd /tmp/alr -sudo make install - -info "Очистка репозитория ALR" -rm -rf /tmp/alr - -info "Все задачи выполнены!" + echo "Не найден поддерживаемый менеджер пакетов. О_о" fi From a8aefc0524c48dc07de2096b06ec1859d2849361 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 07:49:58 +0300 Subject: [PATCH 02/12] chore: replace git urls in tests --- .gitea/workflows/e2e-tests.yaml | 16 +++++++++------- .gitea/workflows/pre-commit.yaml | 2 ++ e2e-tests/common_test.go | 2 +- pkg/repos/find_test.go | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/e2e-tests.yaml b/.gitea/workflows/e2e-tests.yaml index 5ea2b44..e3fd27d 100644 --- a/.gitea/workflows/e2e-tests.yaml +++ b/.gitea/workflows/e2e-tests.yaml @@ -28,6 +28,7 @@ jobs: container: image: altlinux.space/maks1ms/actions-container-runner:latest + privileged: true steps: - name: Checkout @@ -39,14 +40,15 @@ jobs: uses: https://github.com/actions/setup-go@v5 with: go-version: '1.24' + cache: false - - name: Cache Podman images - uses: actions/cache@v4 - with: - path: | - ~/.local/share/containers/storage - /var/lib/containers/storage - key: ${{ runner.os }}-primes + # - name: Cache Podman images + # uses: actions/cache@v4 + # with: + # path: | + # ~/.local/share/containers/storage + # /var/lib/containers/storage + # key: ${{ runner.os }}-primes - name: Run E2E tests env: diff --git a/.gitea/workflows/pre-commit.yaml b/.gitea/workflows/pre-commit.yaml index a107511..ed1fc26 100644 --- a/.gitea/workflows/pre-commit.yaml +++ b/.gitea/workflows/pre-commit.yaml @@ -26,6 +26,8 @@ on: jobs: pre-commit: runs-on: ubuntu-latest + container: + image: docker.gitea.com/runner-images:ubuntu-latest steps: - name: Checkout diff --git a/e2e-tests/common_test.go b/e2e-tests/common_test.go index 00bfe74..f46753b 100644 --- a/e2e-tests/common_test.go +++ b/e2e-tests/common_test.go @@ -182,7 +182,7 @@ func runTestCommands(t *testing.T, r e2e.Runnable, timeout time.Duration, expect } const REPO_NAME_FOR_E2E_TESTS = "alr-repo" -const REPO_URL_FOR_E2E_TESTS = "https://gitea.plemya-x.ru/Maks1mS/repo-for-tests.git" +const REPO_URL_FOR_E2E_TESTS = "https://gitea.plemya-x.ru/Plemya-x/repo-for-tests.git" func defaultPrepare(t *testing.T, r e2e.Runnable) { execShouldNoError(t, r, diff --git a/pkg/repos/find_test.go b/pkg/repos/find_test.go index bdd8980..1b06e48 100644 --- a/pkg/repos/find_test.go +++ b/pkg/repos/find_test.go @@ -41,7 +41,7 @@ func TestFindPkgs(t *testing.T) { err := rs.Pull(e.Ctx, []types.Repo{ { Name: "default", - URL: "https://gitea.plemya-x.ru/xpamych/xpamych-alr-repo.git", + URL: "https://gitea.plemya-x.ru/Plemya-x/alr-default.git", }, }) if err != nil { From 15ba8700e8fa59d8c098e1cb2fbb86eb204261b4 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 17:36:51 +0300 Subject: [PATCH 03/12] ci: set gitea/runner-images:ubuntu-latest for release --- .gitea/workflows/release.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index f092a0b..6c3e543 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -24,6 +24,8 @@ on: jobs: changelog: runs-on: ubuntu-latest + container: + image: gitea/runner-images:ubuntu-latest steps: - name: Checkout this repository uses: actions/checkout@v4 From 152e5077ecc2c6887a7ba922ce2503edbcc3f35e Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 18:53:17 +0300 Subject: [PATCH 04/12] ci(release): add make install --- .gitea/workflows/release.yaml | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 6c3e543..fc7c6b3 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -47,9 +47,13 @@ jobs: echo "Version - $version" echo "VERSION=$version" >> $GITHUB_ENV - - name: Build alr binary + - name: Prepare for install run: | - CGO_ENABLED=0 go build -ldflags "-X gitea.plemya-x.ru/Plemya-x/ALR/internal/config.Version=${{ env.VERSION }}" -o alr + apt-get update && apt-get install -y libcap2-bin + + - name: Build alr + run: | + make build - name: Create tar.gz run: | @@ -67,30 +71,35 @@ jobs: files: |- alr-${{ env.VERSION }}-linux-x86_64.tar.gz - - name: Clone alr-default repository - run: | - git clone https://gitea:${{ secrets.GITEAPUBLIC }}@gitea.plemya-x.ru/Plemya-x/alr-default.git /tmp/alr-default + - name: Checkout alr-default repository + uses: actions/checkout@v4 + with: + repository: Plemya-x/alr-default + token: ${{ secrets.GITEAPUBLIC }} + path: alr-default - name: Update version in alr-bin run: | # Замените значения в файле с конфигурацией - sed -i "s/version='[0-9]\+\.[0-9]\+\.[0-9]\+'/version='${{ env.VERSION }}'/g" /tmp/alr-default/alr-bin/alr.sh - sed -i "s/release='[0-9]\+'/release='1'/g" /tmp/alr-default/alr-bin/alr.sh + sed -i "s/version='[0-9]\+\.[0-9]\+\.[0-9]\+'/version='${{ env.VERSION }}'/g" alr-default/alr-bin/alr.sh + sed -i "s/release='[0-9]\+'/release='1'/g" alr-default/alr-bin/alr.sh - name: Commit changes run: | - cd /tmp/alr-default + cd alr-default git config user.name "gitea" git config user.email "admin@plemya-x.ru" - git remote set-url origin https://gitea:${{ secrets.GITEAPUBLIC }}@gitea.plemya-x.ru/Plemya-x/alr-default.git - git remote -v git add . git commit -m "Обновление версии до ${{ env.VERSION }}" - git push origin master + git push + + - name: Install alr + run: | + make install - name: Build packages run: | - SCRIPT_PATH=/tmp/alr-default/alr-bin/alr.sh + SCRIPT_PATH=alr-default/alr-bin/alr.sh ALR_DISTRO=altlinux ALR_PKG_FORMAT=rpm alr build -s "$SCRIPT_PATH" ALR_PKG_FORMAT=rpm alr build -s "$SCRIPT_PATH" ALR_PKG_FORMAT=deb alr build -s "$SCRIPT_PATH" From c0023db6cdaaa0af8f70df1c5b3334ce20753c22 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 19:02:04 +0300 Subject: [PATCH 05/12] chore: fix install --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 09b742b..e0dcf84 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,9 @@ install: \ $(INSTALED_BIN): $(BIN) install -Dm755 $< $@ setcap cap_setuid,cap_setgid+ep $(INSTALED_BIN) + id -u alr &>/dev/null || useradd -r -s /usr/sbin/nologin alr + mkdir -p /var/cache/alr /etc/alr + chown alr:alr /var/cache/alr /etc/alr $(INSTALLED_BASH_COMPLETION): $(BASH_COMPLETION) install -Dm755 $< $@ From ca82bf3024f54f9385c7a4ba7bcea45f962c3a06 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 19:26:08 +0300 Subject: [PATCH 06/12] ci: fix --- .gitea/workflows/release.yaml | 24 ++++++++++++++---------- Makefile | 11 +++++++---- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index fc7c6b3..9cbe94f 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -52,6 +52,8 @@ jobs: apt-get update && apt-get install -y libcap2-bin - name: Build alr + env: + IGNORE_ROOT_CHECK: 1 run: | make build @@ -84,18 +86,11 @@ jobs: sed -i "s/version='[0-9]\+\.[0-9]\+\.[0-9]\+'/version='${{ env.VERSION }}'/g" alr-default/alr-bin/alr.sh sed -i "s/release='[0-9]\+'/release='1'/g" alr-default/alr-bin/alr.sh - - name: Commit changes - run: | - cd alr-default - git config user.name "gitea" - git config user.email "admin@plemya-x.ru" - git add . - git commit -m "Обновление версии до ${{ env.VERSION }}" - git push - - name: Install alr run: | make install + # temporary fix + groupadd wheel - name: Build packages run: | @@ -113,4 +108,13 @@ jobs: alr-bin+alr-default_${{ env.VERSION }}-1.red80_amd64.deb \ alr-bin+alr-default-${{ env.VERSION }}-1-x86_64.pkg.tar.zst \ alr-bin+alr-default-${{ env.VERSION }}-1.red80.x86_64.rpm \ - alr-bin+alr-default-${{ env.VERSION }}-alt1.x86_64.rpm + alr-bin+alr-default-${{ env.VERSION }}-alt1.x86_64.rpm + + - name: Commit changes + run: | + cd alr-default + git config user.name "gitea" + git config user.email "admin@plemya-x.ru" + git add . + git commit -m "Обновление версии до ${{ env.VERSION }}" + git push diff --git a/Makefile b/Makefile index e0dcf84..8b1d5aa 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ $(BIN): go build -ldflags="-X 'gitea.plemya-x.ru/Plemya-x/ALR/internal/config.Version=$(GIT_VERSION)'" -o $@ check-no-root: - @if [[ "$(IGNORE_ROOT_CHECK)" != "1" ]] && [[ "$$(whoami)" == 'root' ]]; then \ + @if [ "$$IGNORE_ROOT_CHECK" != "1" ] && [ "`whoami`" = "root" ]; then \ echo "This target shouldn't run as root" 1>&2; \ echo "Set IGNORE_ROOT_CHECK=1 to override" 1>&2; \ exit 1; \ @@ -39,9 +39,12 @@ install: \ $(INSTALED_BIN): $(BIN) install -Dm755 $< $@ setcap cap_setuid,cap_setgid+ep $(INSTALED_BIN) - id -u alr &>/dev/null || useradd -r -s /usr/sbin/nologin alr - mkdir -p /var/cache/alr /etc/alr - chown alr:alr /var/cache/alr /etc/alr + @if id alr >/dev/null 2>&1; then \ + echo "User 'alr' already exists. Skipping."; \ + else \ + useradd -r -s /usr/sbin/nologin alr; \ + fi + install -d -o alr -g alr -m 755 /var/cache/alr /etc/alr $(INSTALLED_BASH_COMPLETION): $(BASH_COMPLETION) install -Dm755 $< $@ From 09dba577c6f579540574d2b637a3996764309af9 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 19:31:12 +0300 Subject: [PATCH 07/12] ci: fix --- .gitea/workflows/release.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 9cbe94f..aa0dae9 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -89,8 +89,10 @@ jobs: - name: Install alr run: | make install + # temporary fix groupadd wheel + usermod -aG wheel root - name: Build packages run: | From c51caf5c52ebaa48ef559f8459ef63330367cc6b Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 19:41:17 +0300 Subject: [PATCH 08/12] fix: use mount only for non-root users --- build.go | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/build.go b/build.go index 3a8efb9..0b7f072 100644 --- a/build.go +++ b/build.go @@ -64,20 +64,25 @@ func BuildCmd() *cli.Command { }, }, Action: func(c *cli.Context) error { - if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { - return err - } + var err error + var wd string + if utils.IsNotRoot() { + if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { + return err + } - wd, err := os.Getwd() - if err != nil { - return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) - } + wd, err = os.Getwd() + if err != nil { + return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) + } - wd, wdCleanup, err := Mount(wd) - if err != nil { - return err + var wdCleanup func() + wd, wdCleanup, err = Mount(wd) + if err != nil { + return err + } + defer wdCleanup() } - defer wdCleanup() ctx := c.Context @@ -167,12 +172,16 @@ func BuildCmd() *cli.Command { if scriptArgs != nil { scriptFile := filepath.Base(scriptArgs.Script) - newScriptDir, scriptDirCleanup, err := Mount(filepath.Dir(scriptArgs.Script)) - if err != nil { - return err + scriptDir := filepath.Dir(scriptArgs.Script) + if utils.IsNotRoot() { + var scriptDirCleanup func() + scriptDir, scriptDirCleanup, err = Mount(scriptDir) + if err != nil { + return err + } + defer scriptDirCleanup() } - defer scriptDirCleanup() - scriptArgs.Script = filepath.Join(newScriptDir, scriptFile) + scriptArgs.Script = filepath.Join(scriptDir, scriptFile) } if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil { From 578da7ff5207c2c3c377f72105de7c35dbeeca43 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 19:50:38 +0300 Subject: [PATCH 09/12] Revert "fix: use mount only for non-root users" This reverts commit c51caf5c52ebaa48ef559f8459ef63330367cc6b. --- build.go | 45 ++++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/build.go b/build.go index 0b7f072..3a8efb9 100644 --- a/build.go +++ b/build.go @@ -64,26 +64,21 @@ func BuildCmd() *cli.Command { }, }, Action: func(c *cli.Context) error { - var err error - var wd string - if utils.IsNotRoot() { - if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { - return err - } - - wd, err = os.Getwd() - if err != nil { - return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) - } - - var wdCleanup func() - wd, wdCleanup, err = Mount(wd) - if err != nil { - return err - } - defer wdCleanup() + if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { + return err } + wd, err := os.Getwd() + if err != nil { + return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) + } + + wd, wdCleanup, err := Mount(wd) + if err != nil { + return err + } + defer wdCleanup() + ctx := c.Context deps, err := appbuilder. @@ -172,16 +167,12 @@ func BuildCmd() *cli.Command { if scriptArgs != nil { scriptFile := filepath.Base(scriptArgs.Script) - scriptDir := filepath.Dir(scriptArgs.Script) - if utils.IsNotRoot() { - var scriptDirCleanup func() - scriptDir, scriptDirCleanup, err = Mount(scriptDir) - if err != nil { - return err - } - defer scriptDirCleanup() + newScriptDir, scriptDirCleanup, err := Mount(filepath.Dir(scriptArgs.Script)) + if err != nil { + return err } - scriptArgs.Script = filepath.Join(scriptDir, scriptFile) + defer scriptDirCleanup() + scriptArgs.Script = filepath.Join(newScriptDir, scriptFile) } if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil { From 6ec95e4bd97b157126db5f433bdc4d5cd62c4961 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 19:50:59 +0300 Subject: [PATCH 10/12] ci: add bindfs install --- .gitea/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index aa0dae9..4754556 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -49,7 +49,7 @@ jobs: - name: Prepare for install run: | - apt-get update && apt-get install -y libcap2-bin + apt-get update && apt-get install -y libcap2-bin bindfs - name: Build alr env: From bcf627f17649f6dcfa43219ac007f8147919dd4e Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 20:00:15 +0300 Subject: [PATCH 11/12] ci: try add privileged true --- .gitea/workflows/release.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 4754556..ecf38b6 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -26,6 +26,7 @@ jobs: runs-on: ubuntu-latest container: image: gitea/runner-images:ubuntu-latest + privileged: true steps: - name: Checkout this repository uses: actions/checkout@v4 From 69f4af0a4d067db6a521c611388813a82e0cfb73 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Fri, 30 May 2025 20:01:16 +0300 Subject: [PATCH 12/12] ci: fix --- .gitea/workflows/release.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index ecf38b6..6b8243f 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -24,9 +24,6 @@ on: jobs: changelog: runs-on: ubuntu-latest - container: - image: gitea/runner-images:ubuntu-latest - privileged: true steps: - name: Checkout this repository uses: actions/checkout@v4