diff --git a/.github/workflows/generator-android.yml b/.github/workflows/generator-android.yml index 33b167a..eb108dc 100644 --- a/.github/workflows/generator-android.yml +++ b/.github/workflows/generator-android.yml @@ -330,7 +330,7 @@ jobs: sed -i -e 's|"Copyright © 2025 Purslane Ltd. All rights reserved."|"Copyright © 2025"|' ./flutter/windows/runner/Runner.rc sed -i -e 's|"rustdesk.exe"|"${{ inputs.filename }}"|' ./flutter/windows/runner/Runner.rc sed -i -e 's|"RustDesk"|"${{ inputs.appname }}"|' ./flutter/windows/runner/Runner.rc - sed -i -e 's|RustDesk|${{ inputs.appname }}|' ./src/lang/en.rs + find ./src/lang -name "*.rs" -exec sed -i -e 's|RustDesk|${{ inputs.appname }}|' {} \; sed -i -e 's|RustDesk|${{ inputs.appname }}|' ./flutter/android/app/src/main/res/values/strings.xml sed -i -e "s|title: 'RustDesk'|title: '${{ inputs.appname }}'|" ./flutter/lib/main.dart sed -i -e "s|return 'RustDesk';|return '${{ inputs.appname }}';|" ./flutter/lib/web/bridge.dart diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 4d90c71..a52c520 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -275,7 +275,7 @@ jobs: sed -i -e 's|ProductName = "RustDesk"|ProductName = "${{ inputs.appname }}"|' ./libs/portable/Cargo.toml sed -i -e 's|FileDescription = "RustDesk Remote Desktop"|FileDescription = "${{ inputs.appname }}"|' ./libs/portable/Cargo.toml sed -i -e 's|OriginalFilename = "rustdesk.exe"|OriginalFilename = "${{ inputs.appname }}.exe"|' ./libs/portable/Cargo.toml - sed -i -e 's|RustDesk|${{ inputs.appname }}|' ./src/lang/en.rs + find ./src/lang -name "*.rs" -exec sed -i -e 's|RustDesk|${{ inputs.appname }}|' {} \; sed -i -e '/-p tmpdeb\/usr\/lib\/rustdesk/d' ./build.py - name: allow custom.txt @@ -361,22 +361,6 @@ jobs: name: bridge-artifact path: ./ - # - name: logo stuff - # if: ${{ inputs.logolink != 'false' }} - # continue-on-error: true - # shell: bash - # run: | - # #echo "${{ inputs.logobase64 }}" | base64 -d > ./rustdesk/data/flutter_assets/assets/logo.png - # wget -O ./rustdesk/data/flutter_assets/assets/logo.png https://${{ fromJson(inputs.logolink).url }}/get_png?filename=${{ fromJson(inputs.logolink).file }}"&"uuid=${{ fromJson(inputs.logolink).uuid }} - - # - name: icon stuff - # if: ${{ inputs.iconlink != 'false' }} - # continue-on-error: true - # run: | - # #mv ./rustdesk/data/flutter_assets/assets/icon.svg ./rustdesk/data/flutter_assets/assets/icon.svg.bak - # convert ./res/icon.png ./rustdesk/data/flutter_assets/assets/icon.svg - # convert ./res/icon.png ./rustdesk/data/flutter_assets/assets/scalable.svg - - name: Report Status uses: fjogeleit/http-request-action@v1 with: @@ -575,25 +559,37 @@ jobs: mv "$name" /workspace/output/"${{ inputs.filename }}-suse.rpm" done - # - name: Publish debian/rpm package - # if: env.UPLOAD_ARTIFACT == 'true' - # uses: softprops/action-gh-release@v1 - # with: - # prerelease: true - # tag_name: ${{ env.TAG_NAME }} - # files: | - # rustdesk-*.deb - # rustdesk-*.rpm + # only x86_64 for arch since we can not find newest arm64 docker image to build + # old arch image does not make sense for arch since it is "arch" which always update to date + # and failed to makepkg arm64 on x86_64 + - name: Patch archlinux PKGBUILD + if: matrix.job.arch == 'x86_64' && env.UPLOAD_ARTIFACT == 'true' + run: | + sed -i "s/x86_64/${{ matrix.job.arch }}/g" res/PKGBUILD + if [[ "${{ matrix.job.arch }}" == "aarch64" ]]; then + sed -i "s/x86_64/aarch64/g" ./res/PKGBUILD + fi - # - name: Upload to FTP - # if: ${{ fromJson(inputs.extras).rdgen == 'true' }} - # uses: SamKirkland/FTP-Deploy-Action@v4.3.5 - # with: - # server: ${{ secrets.GEN_FTP_SERVER }} - # username: ${{ secrets.GEN_FTP_USER }} - # password: ${{ secrets.GEN_FTP_PASSWORD }} - # local-dir: output/ - # server-dir: /root/rdgen/exe/${{ env.UUIDFOLDER }}/ + - name: Build archlinux package + if: matrix.job.arch == 'x86_64' && env.UPLOAD_ARTIFACT == 'true' + uses: rustdesk-org/arch-makepkg-action@master + with: + packages: + scripts: | + cd res && HBB=`pwd`/.. FLUTTER=1 makepkg -f + + - name: Publish archlinux package + if: matrix.job.arch == 'x86_64' && env.UPLOAD_ARTIFACT == 'true' + uses: softprops/action-gh-release@v1 + with: + prerelease: true + tag_name: ${{ env.TAG_NAME }} + files: | + res/rustdesk-${{ env.VERSION }}*.zst + + - name: Rename archlinux package + run: | + mv ./res/rustdesk-${{ env.VERSION }}-x86_64.pkg.tar.zst ./output/${{ inputs.filename }}.pkg.tar.zst - name: send file to rdgen server if: ${{ fromJson(inputs.extras).rdgen == 'true' }} @@ -602,6 +598,7 @@ jobs: curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.deb" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.rpm" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-suse.rpm" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.pkg.tar.zst" -F "uuid=${{ inputs.uuid }}" ${{ secrets.GENURL }}/save_custom_client - name: send file to api server if: ${{ fromJson(inputs.extras).rdgen == 'false' }} @@ -610,13 +607,7 @@ jobs: curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.deb" ${{ inputs.apiServer }}/api/save_custom_client curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.rpm" ${{ inputs.apiServer }}/api/save_custom_client curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}-suse.rpm" ${{ inputs.apiServer }}/api/save_custom_client - - - name: Upload deb - uses: actions/upload-artifact@master - if: env.UPLOAD_ARTIFACT == 'true' - with: - name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.deb - path: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.deb + curl -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: Bearer ${{ fromJson(inputs.extras).token }}" -F "file=@./output/${{ inputs.filename }}.pkg.tar.zst" ${{ inputs.apiServer }}/api/save_custom_client - name: Report Status uses: fjogeleit/http-request-action@v1 diff --git a/.github/workflows/generator-macos.yml b/.github/workflows/generator-macos.yml index fcb8fe5..99d36d9 100644 --- a/.github/workflows/generator-macos.yml +++ b/.github/workflows/generator-macos.yml @@ -199,7 +199,7 @@ jobs: cp ./src/lang/en.rs ./src/lang/en.rs.bak cp ./src/lang/nl.rs ./src/lang/nl.rs.bak - sed -i '' -e 's|RustDesk|${{ inputs.appname }}|' ./src/lang/en.rs + find ./src/lang -name "*.rs" -exec sed -i '' -e 's|RustDesk|${{ inputs.appname }}|' {} \; sed -i '' -e 's|RustDesk|${{ inputs.appname }}|' ./src/lang/nl.rs sed -i '' -e 's|Homepage: https://rustdesk.com|Homepage: ${{ fromJson(inputs.extras).urlLink }}|' ./build.py diff --git a/rdgenerator/templates/generated.html b/rdgenerator/templates/generated.html index ca1fcb0..4636db8 100644 --- a/rdgenerator/templates/generated.html +++ b/rdgenerator/templates/generated.html @@ -133,6 +133,7 @@ Download {{filename}}.deb Download {{filename}}.rpm Download {{filename}}-suse.rpm + Download {{filename}}.pkg.tar.zst {% elif platform == 'android' %} Download {{filename}}-aarch64.apk Download {{filename}}-x86_64.apk