Merge pull request #2782 from Kingtous/master
feat: add arm64 appimage build
This commit is contained in:
commit
0c8021d881
43
.github/workflows/flutter-nightly.yml
vendored
43
.github/workflows/flutter-nightly.yml
vendored
@ -761,6 +761,13 @@ jobs:
|
|||||||
use-cross: true,
|
use-cross: true,
|
||||||
extra-build-features: "",
|
extra-build-features: "",
|
||||||
}
|
}
|
||||||
|
- {
|
||||||
|
arch: aarch64,
|
||||||
|
target: aarch64-unknown-linux-gnu,
|
||||||
|
os: ubuntu-18.04, # just for naming package, not running host
|
||||||
|
use-cross: true,
|
||||||
|
extra-build-features: "appimage",
|
||||||
|
}
|
||||||
# - { arch: aarch64, target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true, extra-build-features: "flatpak" }
|
# - { arch: aarch64, target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true, extra-build-features: "flatpak" }
|
||||||
# - {
|
# - {
|
||||||
# arch: armv7,
|
# arch: armv7,
|
||||||
@ -939,6 +946,13 @@ jobs:
|
|||||||
use-cross: true,
|
use-cross: true,
|
||||||
extra-build-features: "",
|
extra-build-features: "",
|
||||||
}
|
}
|
||||||
|
- {
|
||||||
|
arch: aarch64,
|
||||||
|
target: aarch64-unknown-linux-gnu,
|
||||||
|
os: ubuntu-18.04, # just for naming package, not running host
|
||||||
|
use-cross: true,
|
||||||
|
extra-build-features: "appimage",
|
||||||
|
}
|
||||||
# - {
|
# - {
|
||||||
# arch: aarch64,
|
# arch: aarch64,
|
||||||
# target: aarch64-unknown-linux-gnu,
|
# target: aarch64-unknown-linux-gnu,
|
||||||
@ -962,7 +976,7 @@ jobs:
|
|||||||
- name: Prepare env
|
- name: Prepare env
|
||||||
run: |
|
run: |
|
||||||
sudo apt update -y
|
sudo apt update -y
|
||||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev
|
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev libarchive-tools
|
||||||
mkdir -p ./target/release/
|
mkdir -p ./target/release/
|
||||||
|
|
||||||
- name: Restore the rustdesk lib file
|
- name: Restore the rustdesk lib file
|
||||||
@ -1046,7 +1060,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
for name in rustdesk*??.deb; do
|
for name in rustdesk*??.deb; do
|
||||||
mv "$name" "${name%%.deb}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb"
|
cp "$name" "${name%%.deb}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb"
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: Publish debian package
|
- name: Publish debian package
|
||||||
@ -1058,6 +1072,29 @@ jobs:
|
|||||||
files: |
|
files: |
|
||||||
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
|
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
|
||||||
|
|
||||||
|
- name: Build appimage package
|
||||||
|
if: ${{ matrix.job.extra-build-features == 'appimage' }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# set-up appimage-builder
|
||||||
|
pushd /tmp
|
||||||
|
wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage
|
||||||
|
chmod +x appimage-builder-x86_64.AppImage
|
||||||
|
sudo mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder
|
||||||
|
popd
|
||||||
|
# run appimage-builder
|
||||||
|
pushd appimage
|
||||||
|
sudo appimage-builder --skip-tests --recipe ./AppImageBuilder-${{ matrix.job.arch }}.yml
|
||||||
|
|
||||||
|
- name: Publish appimage package
|
||||||
|
if: ${{ matrix.job.extra-build-features == 'appimage' }}
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
prerelease: true
|
||||||
|
tag_name: ${{ env.TAG_NAME }}
|
||||||
|
files: |
|
||||||
|
./appimage/rustdesk-${{ env.VERSION }}-*.AppImage
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@master
|
uses: actions/upload-artifact@master
|
||||||
if: ${{ contains(matrix.job.extra-build-features, 'flatpak') }}
|
if: ${{ contains(matrix.job.extra-build-features, 'flatpak') }}
|
||||||
@ -1310,7 +1347,7 @@ jobs:
|
|||||||
popd
|
popd
|
||||||
# run appimage-builder
|
# run appimage-builder
|
||||||
pushd appimage
|
pushd appimage
|
||||||
sudo appimage-builder --skip-tests
|
sudo appimage-builder --skip-tests --recipe ./AppImageBuilder-x86_64.yml
|
||||||
|
|
||||||
- name: Publish appimage package
|
- name: Publish appimage package
|
||||||
if: ${{ matrix.job.extra-build-features == 'appimage' }}
|
if: ${{ matrix.job.extra-build-features == 'appimage' }}
|
||||||
|
85
appimage/AppImageBuilder-aarch64.yml
Normal file
85
appimage/AppImageBuilder-aarch64.yml
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
# appimage-builder recipe see https://appimage-builder.readthedocs.io for details
|
||||||
|
version: 1
|
||||||
|
script:
|
||||||
|
- rm -rf ./AppDir || true
|
||||||
|
- bsdtar -zxvf ../rustdesk-1.2.0.deb
|
||||||
|
- tar -xvf ./data.tar.xz
|
||||||
|
- mkdir ./AppDir
|
||||||
|
- mv ./usr ./AppDir/usr
|
||||||
|
# 32x32 icon
|
||||||
|
- for i in {32,64,128}; do mkdir -p ./AppDir/usr/share/icons/hicolor/$i\x$i/apps/; cp ../res/$i\x$i.png ./AppDir/usr/share/icons/hicolor/$i\x$i/apps/rustdesk.png; done
|
||||||
|
# desktop file
|
||||||
|
# - sed -i "s/Icon=\/usr\/share\/rustdesk\/files\/rustdesk.png/Icon=rustdesk/g" ./AppDir/usr/share/applications/rustdesk.desktop
|
||||||
|
- rm -rf ./AppDir/usr/share/applications
|
||||||
|
AppDir:
|
||||||
|
path: ./AppDir
|
||||||
|
app_info:
|
||||||
|
id: rustdesk
|
||||||
|
name: rustdesk
|
||||||
|
icon: rustdesk
|
||||||
|
version: 1.2.0
|
||||||
|
exec: usr/lib/rustdesk/rustdesk
|
||||||
|
exec_args: $@
|
||||||
|
apt:
|
||||||
|
arch:
|
||||||
|
- arm64
|
||||||
|
allow_unauthenticated: true
|
||||||
|
sources:
|
||||||
|
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe multiverse
|
||||||
|
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
|
||||||
|
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
|
||||||
|
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
|
||||||
|
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted
|
||||||
|
universe multiverse
|
||||||
|
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
|
||||||
|
include:
|
||||||
|
- libc6
|
||||||
|
- libgtk-3-0
|
||||||
|
- libxcb-randr0
|
||||||
|
- libxdo3
|
||||||
|
- libxfixes3
|
||||||
|
- libxcb-shape0
|
||||||
|
- libxcb-xfixes0
|
||||||
|
- libasound2
|
||||||
|
- libsystemd0
|
||||||
|
- curl
|
||||||
|
- libva-drm2
|
||||||
|
- libva-x11-2
|
||||||
|
- libvdpau1
|
||||||
|
- libgstreamer-plugins-base1.0-0
|
||||||
|
exclude:
|
||||||
|
- humanity-icon-theme
|
||||||
|
- hicolor-icon-theme
|
||||||
|
- adwaita-icon-theme
|
||||||
|
- ubuntu-mono
|
||||||
|
files:
|
||||||
|
include: []
|
||||||
|
exclude:
|
||||||
|
- usr/share/man
|
||||||
|
- usr/share/doc/*/README.*
|
||||||
|
- usr/share/doc/*/changelog.*
|
||||||
|
- usr/share/doc/*/NEWS.*
|
||||||
|
- usr/share/doc/*/TODO.*
|
||||||
|
runtime:
|
||||||
|
env:
|
||||||
|
GIO_MODULE_DIR: $APPDIR/usr/lib/x86_64-linux-gnu/gio/modules/
|
||||||
|
GDK_BACKEND: x11
|
||||||
|
test:
|
||||||
|
fedora-30:
|
||||||
|
image: appimagecrafters/tests-env:fedora-30
|
||||||
|
command: ./AppRun
|
||||||
|
debian-stable:
|
||||||
|
image: appimagecrafters/tests-env:debian-stable
|
||||||
|
command: ./AppRun
|
||||||
|
archlinux-latest:
|
||||||
|
image: appimagecrafters/tests-env:archlinux-latest
|
||||||
|
command: ./AppRun
|
||||||
|
centos-7:
|
||||||
|
image: appimagecrafters/tests-env:centos-7
|
||||||
|
command: ./AppRun
|
||||||
|
ubuntu-xenial:
|
||||||
|
image: appimagecrafters/tests-env:ubuntu-xenial
|
||||||
|
command: ./AppRun
|
||||||
|
AppImage:
|
||||||
|
arch: aarch64
|
||||||
|
update-information: guess
|
@ -66,6 +66,7 @@ AppDir:
|
|||||||
runtime:
|
runtime:
|
||||||
env:
|
env:
|
||||||
GIO_MODULE_DIR: $APPDIR/usr/lib/x86_64-linux-gnu/gio/modules/
|
GIO_MODULE_DIR: $APPDIR/usr/lib/x86_64-linux-gnu/gio/modules/
|
||||||
|
GDK_BACKEND: x11
|
||||||
test:
|
test:
|
||||||
fedora-30:
|
fedora-30:
|
||||||
image: appimagecrafters/tests-env:fedora-30
|
image: appimagecrafters/tests-env:fedora-30
|
@ -61,6 +61,8 @@ Future<void> main(List<String> args) async {
|
|||||||
kAppTypeDesktopRemote,
|
kAppTypeDesktopRemote,
|
||||||
'RustDesk - Remote Desktop',
|
'RustDesk - Remote Desktop',
|
||||||
);
|
);
|
||||||
|
WindowController.fromWindowId(windowId!)
|
||||||
|
.setTitle('RustDesk - Remote Desktop');
|
||||||
break;
|
break;
|
||||||
case WindowType.FileTransfer:
|
case WindowType.FileTransfer:
|
||||||
desktopType = DesktopType.fileTransfer;
|
desktopType = DesktopType.fileTransfer;
|
||||||
@ -69,6 +71,8 @@ Future<void> main(List<String> args) async {
|
|||||||
kAppTypeDesktopFileTransfer,
|
kAppTypeDesktopFileTransfer,
|
||||||
'RustDesk - File Transfer',
|
'RustDesk - File Transfer',
|
||||||
);
|
);
|
||||||
|
WindowController.fromWindowId(windowId!)
|
||||||
|
.setTitle('RustDesk - File Transfer');
|
||||||
break;
|
break;
|
||||||
case WindowType.PortForward:
|
case WindowType.PortForward:
|
||||||
desktopType = DesktopType.portForward;
|
desktopType = DesktopType.portForward;
|
||||||
@ -135,6 +139,7 @@ void runMainApp(bool startService) async {
|
|||||||
windowManager.waitUntilReadyToShow(windowOptions, () async {
|
windowManager.waitUntilReadyToShow(windowOptions, () async {
|
||||||
windowManager.setOpacity(1);
|
windowManager.setOpacity(1);
|
||||||
});
|
});
|
||||||
|
windowManager.setTitle("RustDesk");
|
||||||
}
|
}
|
||||||
|
|
||||||
void runMobileApp() async {
|
void runMobileApp() async {
|
||||||
@ -198,6 +203,7 @@ void runMultiWindow(
|
|||||||
}
|
}
|
||||||
// show window from hidden status
|
// show window from hidden status
|
||||||
WindowController.fromWindowId(windowId!).show();
|
WindowController.fromWindowId(windowId!).show();
|
||||||
|
WindowController.fromWindowId(windowId!).setTitle(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
void runConnectionManagerScreen(bool hide) async {
|
void runConnectionManagerScreen(bool hide) async {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user