From 31d88d596eb41dde770370957d8528e881cb5562 Mon Sep 17 00:00:00 2001 From: Vitalii Koshura Date: Mon, 26 Jun 2023 16:02:55 +0200 Subject: [PATCH] [CI][linux] Build DEB package flow Signed-off-by: Vitalii Koshura --- .github/workflows/debrepo/aptly.bullseye.conf | 2 +- .github/workflows/debrepo/aptly.buster.conf | 2 +- .github/workflows/debrepo/aptly.focal.conf | 2 +- .github/workflows/debrepo/aptly.jammy.conf | 2 +- .github/workflows/debrepo/package_depends.sh | 8 +- .github/workflows/debrepo/package_prepare.sh | 28 +- .github/workflows/debrepo/repo_remove.sh | 0 .github/workflows/debrepo/repo_update.sh | 40 ++- .github/workflows/linux-package.yml | 276 +++++++++++++++++- .github/workflows/rpm-package.yml | 2 +- .github/workflows/rpmrepo/package_depends.sh | 0 .github/workflows/rpmrepo/package_filelist.sh | 0 .github/workflows/rpmrepo/package_prepare.sh | 36 +-- .github/workflows/rpmrepo/repo_remove.sh | 0 .github/workflows/rpmrepo/repo_update.sh | 0 15 files changed, 337 insertions(+), 61 deletions(-) mode change 100644 => 100755 .github/workflows/debrepo/package_depends.sh mode change 100644 => 100755 .github/workflows/debrepo/package_prepare.sh mode change 100644 => 100755 .github/workflows/debrepo/repo_remove.sh mode change 100644 => 100755 .github/workflows/debrepo/repo_update.sh mode change 100644 => 100755 .github/workflows/rpmrepo/package_depends.sh mode change 100644 => 100755 .github/workflows/rpmrepo/package_filelist.sh mode change 100644 => 100755 .github/workflows/rpmrepo/package_prepare.sh mode change 100644 => 100755 .github/workflows/rpmrepo/repo_remove.sh mode change 100644 => 100755 .github/workflows/rpmrepo/repo_update.sh diff --git a/.github/workflows/debrepo/aptly.bullseye.conf b/.github/workflows/debrepo/aptly.bullseye.conf index 75e6abbd709..923984dd8fc 100644 --- a/.github/workflows/debrepo/aptly.bullseye.conf +++ b/.github/workflows/debrepo/aptly.bullseye.conf @@ -19,7 +19,7 @@ "S3PublishEndpoints": {}, "SwiftPublishEndpoints": {}, "enableMetricsEndpoint": false, - "logLevel": "debug", + "logLevel": "info", "logFormat": "default", "serveInAPIMode": false } diff --git a/.github/workflows/debrepo/aptly.buster.conf b/.github/workflows/debrepo/aptly.buster.conf index 85c5fd1db42..6e3fbd56bb9 100644 --- a/.github/workflows/debrepo/aptly.buster.conf +++ b/.github/workflows/debrepo/aptly.buster.conf @@ -19,7 +19,7 @@ "S3PublishEndpoints": {}, "SwiftPublishEndpoints": {}, "enableMetricsEndpoint": false, - "logLevel": "debug", + "logLevel": "info", "logFormat": "default", "serveInAPIMode": false } diff --git a/.github/workflows/debrepo/aptly.focal.conf b/.github/workflows/debrepo/aptly.focal.conf index 04576acea30..4042598a761 100644 --- a/.github/workflows/debrepo/aptly.focal.conf +++ b/.github/workflows/debrepo/aptly.focal.conf @@ -19,7 +19,7 @@ "S3PublishEndpoints": {}, "SwiftPublishEndpoints": {}, "enableMetricsEndpoint": false, - "logLevel": "debug", + "logLevel": "info", "logFormat": "default", "serveInAPIMode": false } diff --git a/.github/workflows/debrepo/aptly.jammy.conf b/.github/workflows/debrepo/aptly.jammy.conf index 4acb2c14772..a141f57b39f 100644 --- a/.github/workflows/debrepo/aptly.jammy.conf +++ b/.github/workflows/debrepo/aptly.jammy.conf @@ -19,7 +19,7 @@ "S3PublishEndpoints": {}, "SwiftPublishEndpoints": {}, "enableMetricsEndpoint": false, - "logLevel": "debug", + "logLevel": "info", "logFormat": "default", "serveInAPIMode": false } diff --git a/.github/workflows/debrepo/package_depends.sh b/.github/workflows/debrepo/package_depends.sh old mode 100644 new mode 100755 index ba64c6b369d..d728adb3c4c --- a/.github/workflows/debrepo/package_depends.sh +++ b/.github/workflows/debrepo/package_depends.sh @@ -11,18 +11,18 @@ function exit_usage() { case "$1_$2" in # ubuntu distros -"jammy_linux_client-vcpkg") +"jammy_linux_client") echo "libc6,libxss1 (>= 1.2.3)" ;; -"focal_linux_client-vcpkg") +"focal_linux_client") echo "libc6,libxss1 (>= 1.2.3)" ;; # debian distros -"bullseye_linux_client-vcpkg") +"bullseye_linux_client") echo "libc6,libxss1 (>= 1.2.3)" ;; -"buster_linux_client-vcpkg") +"buster_linux_client") echo "libc6,libxss1 (>= 1.2.3)" ;; diff --git a/.github/workflows/debrepo/package_prepare.sh b/.github/workflows/debrepo/package_prepare.sh old mode 100644 new mode 100755 index 422364bf630..e6ca1868324 --- a/.github/workflows/debrepo/package_prepare.sh +++ b/.github/workflows/debrepo/package_prepare.sh @@ -63,16 +63,14 @@ function prepare_manager() { ROOT=$(pwd) -OS="$1" # distro for which the prepare is done -FULLPKG="$2" # full name of the package -PKG="$3" # name of the artifact -BASEPKG="$4" # name of the artifact type +FULLPKG="$1" # full name of the package +BASEPKG="$2" # name of the artifact type # validity check case "$BASEPKG" in - "linux_client-vcpkg") + "linux_client") ;; - "linux_manager-without-webview") + "linux_manager") ;; *) echo "ERROR: Unknown package preparation requested" @@ -87,21 +85,11 @@ exit_on_fail pushd "$ROOT/$FULLPKG" exit_on_fail -stat "${ROOT}/pkgs/$PKG.zip" -exit_on_fail - -# unpack the github artifact -7z x "${ROOT}/pkgs/$PKG.zip" -exit_on_fail - -stat "${BASEPKG}.7z" +stat "${ROOT}/pkgs/${BASEPKG}.7z" exit_on_fail # unpack the boinc archive -7z x "${BASEPKG}.7z" -exit_on_fail - -rm -f "${BASEPKG}.7z" +7z x "${ROOT}/pkgs/${BASEPKG}.7z" exit_on_fail find . @@ -112,10 +100,10 @@ exit_on_fail # specialized prepare case "$BASEPKG" in - "linux_client-vcpkg") + "linux_client") prepare_client ;; - "linux_manager-without-webview") + "linux_manager") prepare_manager ;; *) echo "ERROR: Unknown package preparation requested" diff --git a/.github/workflows/debrepo/repo_remove.sh b/.github/workflows/debrepo/repo_remove.sh old mode 100644 new mode 100755 diff --git a/.github/workflows/debrepo/repo_update.sh b/.github/workflows/debrepo/repo_update.sh old mode 100644 new mode 100755 index b39ade15a8c..78eb330323d --- a/.github/workflows/debrepo/repo_update.sh +++ b/.github/workflows/debrepo/repo_update.sh @@ -1,4 +1,4 @@ -#!/bin/bash -xe +#!/bin/bash # support functions function exit_on_fail() { @@ -115,6 +115,44 @@ if [[ "$IS_MIRROR" -eq "0" ]]; then aptly -config=$CONF_FILE repo import boinc-$TYPE-mirror boinc-$TYPE "Name" exit_on_fail "Failed to import the remote mirror into local" + # keep only 3 last versions of each package before adding new ones + packets=$(aptly -config=$CONF_FILE repo search boinc-$TYPE | grep -o '[^[:space:]]*_\([[:digit:]]*\.\)\{2\}[[:digit:]]*-\([[:digit:]]*_\)[^[:space:]]*' | sort -t '_' -k 2 -V | uniq) + declare -A split_lists + packets_list=() + while IFS= read -r line; do + packets_list+=("$line") + done <<< "$packets" + for item in "${packets_list[@]}"; do + prefix="${item%%_*}" # Extract the prefix (text before the first underscore) + split_lists["$prefix"]+="$item"$'\n' # Append the item to the corresponding prefix's list + done + + for prefix in "${!split_lists[@]}"; do + echo "List for prefix: $prefix" + echo "${split_lists[$prefix]}" + count=$(echo "${split_lists[$prefix]}" | wc -l) + number=$(expr $count - 1) + echo "count=$number" + i=0 + exceed=$(expr $number - 3) + if (( exceed > 0)); then + values_list=() + while IFS= read -r line; do + values_list+=("$line") + done <<< "${split_lists[$prefix]}" + for value in "${values_list}"; do + if (( i < exceed )); then + echo "E: $value" + i=$((i+1)) + aptly -config=$CONF_FILE repo remove boinc-$TYPE $value + exit_on_fail "Failed to remove the package" + else + break + fi + done + fi + done + # creates the snapshot of the old situation aptly -config=$CONF_FILE snapshot create old-boinc-$TYPE-snap from repo boinc-$TYPE exit_on_fail "Failed to create old snapshot of the local repo" diff --git a/.github/workflows/linux-package.yml b/.github/workflows/linux-package.yml index 1c42d2ff23a..a1dd17ce068 100644 --- a/.github/workflows/linux-package.yml +++ b/.github/workflows/linux-package.yml @@ -33,6 +33,11 @@ env: AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_KEY }} AWS_DEFAULT_REGION: us-west-2 + PUBKEY: boinc.gpg # keep extension + MANTAINER: Vitalii Koshura + HOMEPAGE: https://boinc.berkeley.edu/ + DESCRIPTION: BOINC lets you help cutting-edge science research using your computer. The BOINC app, running on your computer, downloads scientific computing jobs and runs them invisibly in the background. It's easy and safe. + BASEREPO: https://boinc.berkeley.edu/dl/linux # no trailing slash jobs: prepare-binaries: @@ -109,4 +114,273 @@ jobs: if: success() with: name: linux-package_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} - path: deploy/linux_${{ matrix.type }}.7z \ No newline at end of file + path: deploy/linux_${{ matrix.type }}.7z + + build-deb-package: + name: Build DEB Package + if: github.repository == 'BOINC/boinc' + runs-on: ubuntu-latest + needs: prepare-binaries + strategy: + matrix: + os: [jammy, focal, bullseye, buster] + type: [client, manager] + fail-fast: false + env: + ARCH: amd64 + steps: + - name: Check if build is running from origin repo + if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} + run: | + echo "SKIP_RUN=0" >> $GITHUB_ENV + + - name: Check if build is running from fork + if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} + run: | + echo "SKIP_RUN=1" >> $GITHUB_ENV + + - uses: actions/checkout@v3 + if: ${{ success() && env.SKIP_RUN == 0 }} + with: + fetch-depth: 2 + + - name: Packages info preparation + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + PKG_VERSION=$(cat version.h | grep BOINC_VERSION_STRING | sed -e 's|#define BOINC_VERSION_STRING||' | jq -r .) + if [[ "x${PKG_VERSION}" == "x" ]]; then + printf "Could not obtain release package version from version.h" + exit 1 + fi + + # Setup Environment vars + PKG_NAME="boinc-${{ matrix.type }}" + PKG_VERSION="${PKG_VERSION}-${{ github.run_number }}" + PKG_FULL="${PKG_NAME}_${PKG_VERSION}_${{ env.ARCH }}" + + echo "PKG_VERSION=${PKG_VERSION}" >> $GITHUB_ENV + echo "PKG_NAME=${PKG_NAME}" >> $GITHUB_ENV + echo "PKG_FULL=${PKG_FULL}" >> $GITHUB_ENV + echo "PUBKEY=${{ env.PUBKEY }}" >> $GITHUB_ENV + + echo "Package name: ${PKG_NAME}" + echo "Package version: ${PKG_VERSION}" + echo "Full package name: ${PKG_FULL}" + echo "Key file: ${{ env.PUBKEY }}" + + - name: Download + if: ${{ success() && env.SKIP_RUN == 0 }} + uses: actions/download-artifact@v3 + with: + name: linux-package_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} + path: pkgs/ + + - name: Prepare package + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + ls -l pkgs/ + mkdir ${PKG_FULL} + ${{ github.workspace }}/.github/workflows/debrepo/package_prepare.sh "${PKG_FULL}" "linux_${{ matrix.type }}" + + - name: Prepare package definition + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + # Derive the package dependencies for the selected package / os / release combination selected + cd ${{ github.workspace }}/.github/workflows/debrepo/ + PKG_DEPS=$(bash package_depends.sh ${{ matrix.os }} linux_${{ matrix.type }}) + echo "Dependencies: ${PKG_DEPS}" + + # Produce the package DEB definition + cd "${{ github.workspace }}/${PKG_FULL}" + echo "Name:${PKG_NAME} + Package:${PKG_NAME} + Version:${PKG_VERSION} + Maintainer:${{ env.MANTAINER }} + Depends:${PKG_DEPS} + Architecture:${{ env.ARCH }} + Homepage:${{ env.HOMEPAGE }} + Description:${{ env.DESCRIPTION }}" \ + > "${{ github.workspace }}/${PKG_FULL}/DEBIAN/control" + + echo "------------------------" + cat "${{ github.workspace }}/${PKG_FULL}/DEBIAN/control" + echo "------------------------" + + - name: Create Ubuntu Package + if: ${{ success() && env.SKIP_RUN == 0 && ( matrix.os == 'jammy' || matrix.os == 'focal') }} + run: | + cd ${{ github.workspace }}/ + # Build the actual package for Ubuntu with XZ compression + dpkg-deb -Zxz --build "${{ github.workspace }}/${PKG_FULL}" + + - name: Create Debian Package + if: ${{ success() && env.SKIP_RUN == 0 && ( matrix.os == 'bullseye' || matrix.os == 'buster') }} + run: | + cd ${{ github.workspace }}/ + # Build the actual package for Debian with GZIP compression + dpkg-deb -Zgzip --build "${{ github.workspace }}/${PKG_FULL}" + + - name: Get info from generated package + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + # Get info from the generated package + dpkg-deb --info "${{ github.workspace }}/${PKG_FULL}.deb" + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + if: ${{ success() && env.SKIP_RUN == 0 }} + with: + name: linux-package_${{ matrix.type }}_${{ matrix.os }}_${{ github.event.pull_request.head.sha }} + path: ${{ github.workspace }}/${{ env.PKG_FULL }}.deb + + build-rpm-package: + name: Build RPM Package + if: github.repository == 'BOINC/boinc' + runs-on: ubuntu-latest + container: + image: fedora:38 + volumes: + - ${{ github.workspace }}:/work + needs: prepare-binaries + strategy: + matrix: + os: [fc38, fc37, suse15_5, suse15_4] + type: [client, manager] + fail-fast: false + env: + ARCH: x86_64 + steps: + - name: Check if build is running from origin repo + if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} + run: | + echo "SKIP_RUN=0" >> $GITHUB_ENV + + - name: Check if build is running from fork + if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} + run: | + echo "SKIP_RUN=1" >> $GITHUB_ENV + + - uses: actions/checkout@v3 + if: ${{ success() && env.SKIP_RUN == 0 }} + with: + fetch-depth: 2 + + - name: DNF Preparation + id: dnf-prep + run: | + sudo echo "max_parallel_downloads=10" >> /etc/dnf/dnf.conf + sudo echo "fastestmirror=True" >> /etc/dnf/dnf.conf + sudo dnf install -y wget rpm rpm-build rpm-sign expect createrepo_c dnf-utils jq p7zip-plugins + + - name: Packages info preparation + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + PKG_VERSION=$(cat version.h | grep BOINC_VERSION_STRING | sed -e 's|#define BOINC_VERSION_STRING||' | jq -r .) + if [[ "x${PKG_VERSION}" == "x" ]]; then + printf "Could not obtain release package version from version.h" + exit 1 + fi + + # Setup Environment vars + PKG_NAME="boinc-${{ matrix.type }}" + PKG_VERSION="${PKG_VERSION}-${{ github.run_number }}" + PKG_FULL="${PKG_NAME}_${PKG_VERSION}_${{ env.ARCH }}" + + echo "PKG_VERSION=${PKG_VERSION}" >> $GITHUB_ENV + echo "PKG_NAME=${PKG_NAME}" >> $GITHUB_ENV + echo "PKG_FULL=${PKG_FULL}" >> $GITHUB_ENV + echo "PUBKEY=${{ env.PUBKEY }}" >> $GITHUB_ENV + + echo "Package name: ${PKG_NAME}" + echo "Package version: ${PKG_VERSION}" + echo "Full package name: ${PKG_FULL}" + echo "Key file: ${{ env.PUBKEY }}" + + - name: Download + if: ${{ success() && env.SKIP_RUN == 0 }} + uses: actions/download-artifact@v3 + with: + name: linux-package_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} + path: pkgs/ + + - name: Create RPM folder + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + /work/boinc/.github/workflows/rpmrepo/package_prepare.sh "${PKG_FULL}" "linux_${{ matrix.type }}" + + publish-deb-package: + name: Publish DEB Package + if: github.repository == 'BOINC/boinc' + runs-on: ubuntu-latest + needs: build-deb-package + strategy: + matrix: + os: [jammy, focal, bullseye, buster] + fail-fast: false + steps: + - name: Check if build is running from origin repo + if: ${{ success() && env.AWS_ACCESS_KEY_ID != 0 && env.AWS_SECRET_ACCESS_KEY != 0 }} + run: | + echo "SKIP_RUN=0" >> $GITHUB_ENV + + - name: Check if build is running from fork + if: ${{ success() && (env.AWS_ACCESS_KEY_ID == 0 || env.AWS_SECRET_ACCESS_KEY == 0) }} + run: | + echo "SKIP_RUN=1" >> $GITHUB_ENV + + - uses: actions/checkout@v3 + if: ${{ success() && env.SKIP_RUN == 0 }} + with: + fetch-depth: 2 + + - name: Install dependencies + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + # Install aptly version 1.5.0+ (to support ubuntu xz compression) + # gpg1 is used for compatibility with aptly + wget -qO - https://www.aptly.info/pubkey.txt | sudo apt-key add - + echo "deb http://repo.aptly.info/ squeeze main" | sudo tee -a /etc/apt/sources.list + sudo apt update -qq + sudo apt-get install -y aptly gnupg1 gpgv1 + + - name: Setup GPG keys + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + echo "${{ secrets.REPO_PRIV_KEY }}" > ${{ github.workspace }}/boinc.priv.key + echo "${{ secrets.REPO_KEY }}" > ${{ github.workspace }}/boinc.pub.key + cp "${{ github.workspace }}/boinc.pub.key" "${{ github.workspace }}/${{ env.PUBKEY }}" + + - name: Download client + if: ${{ success() && env.SKIP_RUN == 0 }} + uses: actions/download-artifact@v3 + with: + name: linux-package_client_${{ matrix.os }}_${{ github.event.pull_request.head.sha }} + + - name: Download manager + if: ${{ success() && env.SKIP_RUN == 0 }} + uses: actions/download-artifact@v3 + with: + name: linux-package_manager_${{ matrix.os }}_${{ github.event.pull_request.head.sha }} + + - name: Update or create the repository using aptly + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + # 0 true / 1 false + ALLOW_CREATE=0 + cd ${{ github.workspace }}/.github/workflows/debrepo/ + # alpha or stable + RELEASE_TYPE=alpha + echo "RELEASE_TYPE=${RELEASE_TYPE}" >> $GITHUB_ENV + ./repo_update.sh "$ALLOW_CREATE" ${{ env.BASEREPO }} ${{ github.workspace }} ${{ matrix.os }} ${RELEASE_TYPE} ${{ env.PUBKEY }} + + - uses: actions/upload-artifact@v3 + if: ${{ success() && env.SKIP_RUN == 0 }} + with: + name: repo-${{ env.RELEASE_TYPE }}-${{ matrix.os }} + path: "${{ github.workspace }}/repo-${{ env.RELEASE_TYPE }}-${{ matrix.os }}.tar.gz" + + - name: Deploy to boinc server + if: ${{ success() && env.SKIP_RUN == 0 }} + run: | + set -e + curl -s --fail --write-out "%{http_code}" -F 'upload_file=@${{ github.workspace }}/repo-${{ env.RELEASE_TYPE }}-${{ matrix.os }}.tar.gz' https://boinc.berkeley.edu/upload.php --cookie "auth=${{ secrets.BOINC_AUTH }}" --form "submit=on" diff --git a/.github/workflows/rpm-package.yml b/.github/workflows/rpm-package.yml index f16f4a08e92..539f606978b 100644 --- a/.github/workflows/rpm-package.yml +++ b/.github/workflows/rpm-package.yml @@ -9,7 +9,7 @@ env: BASEREPO: https://boinc.berkeley.edu/dl/linux # no trailing slash GH_REPO_API: parvit/boinc # no trailing or prefix slash PUBKEY: boinc.gpg # keep extension - PUBKEY_HASH: 506D26EC67F5DE515A77A702631096B97E29B2B4 + PUBKEY_HASH: D4460B4F0EEDE2C0662092F640254C9B29853EA6 concurrency: group: rpm-package diff --git a/.github/workflows/rpmrepo/package_depends.sh b/.github/workflows/rpmrepo/package_depends.sh old mode 100644 new mode 100755 diff --git a/.github/workflows/rpmrepo/package_filelist.sh b/.github/workflows/rpmrepo/package_filelist.sh old mode 100644 new mode 100755 diff --git a/.github/workflows/rpmrepo/package_prepare.sh b/.github/workflows/rpmrepo/package_prepare.sh old mode 100644 new mode 100755 index 8c2f67234f1..0fa215c2ffa --- a/.github/workflows/rpmrepo/package_prepare.sh +++ b/.github/workflows/rpmrepo/package_prepare.sh @@ -16,25 +16,11 @@ function exit_usage() { ROOT=$(pwd) -OS="$1" # distro for which the prepare is done -FULLPKG="$2" # full name of the package -PKG="$3" # name of the artifact -BASEPKG="$4" # name of the artifact type +FULLPKG="$1" # full name of the package +BASEPKG="$2" # name of the artifact type RPM_BUILDROOT=$ROOT/rpmbuild/BUILD -# validity check -case "$BASEPKG" in - "linux_client-vcpkg") - ;; - "linux_manager-without-webview") - ;; - -*) echo "ERROR: Unknown package preparation requested" - exit_usage - ;; -esac - function prepare_client() { # prepare dir structure mkdir -p $RPM_BUILDROOT/usr/bin @@ -93,21 +79,11 @@ exit_on_fail pushd "$ROOT/$FULLPKG" exit_on_fail -stat "${ROOT}/pkgs/$PKG.zip" -exit_on_fail - -# unpack the github artifact -7z x "${ROOT}/pkgs/$PKG.zip" -exit_on_fail - -stat "${BASEPKG}.7z" +stat "${ROOT}/pkgs/${BASEPKG}.7z" exit_on_fail # unpack the boinc archive -7z x "${BASEPKG}.7z" -exit_on_fail - -rm -f "${BASEPKG}.7z" +7z x "${ROOT}/pkgs/${BASEPKG}.7z" exit_on_fail find . @@ -117,10 +93,10 @@ exit_on_fail # specialized prepare case "$BASEPKG" in - "linux_client-vcpkg") + "linux_client") prepare_client ;; - "linux_manager-without-webview") + "linux_manager") prepare_manager ;; *) echo "ERROR: Unknown package preparation requested" diff --git a/.github/workflows/rpmrepo/repo_remove.sh b/.github/workflows/rpmrepo/repo_remove.sh old mode 100644 new mode 100755 diff --git a/.github/workflows/rpmrepo/repo_update.sh b/.github/workflows/rpmrepo/repo_update.sh old mode 100644 new mode 100755