Skip to content

Commit e17a6cf

Browse files
committed
CI: modify docker.yml
1 parent b47f317 commit e17a6cf

File tree

9 files changed

+113
-39
lines changed

9 files changed

+113
-39
lines changed

.github/workflows/docker.yml

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,22 @@ jobs:
1919
variant:
2020
- PACKAGE: deb
2121
image: ubuntu
22-
lable: ":24.04"
22+
lable: ":25.04"
2323
os: ubuntu-24.04
2424
- PACKAGE: deb
2525
image: ubuntu
26-
lable: ":24.04"
26+
lable: ":25.04"
2727
os: ubuntu-24.04-arm
28+
29+
- PACKAGE: appimage
30+
image: ubuntu
31+
lable: ":25.04"
32+
os: ubuntu-24.04
33+
- PACKAGE: appimage
34+
image: ubuntu
35+
lable: ":25.04"
36+
os: ubuntu-24.04-arm
37+
2838
- PACKAGE: rpm
2939
image: fedora
3040
lable: ":41"
@@ -56,10 +66,46 @@ jobs:
5666
- name: run docker
5767
run: |
5868
./Script/build_linux.sh --docker --docker-image="${{matrix.variant.image}}${{matrix.variant.lable}}" --${{matrix.variant.PACKAGE}}
69+
70+
- name: AppIagme update configure file
71+
if: ${{ matrix.variant.PACKAGE == 'appimage' }}
72+
#continue-on-error: true
73+
run: |
74+
# OpenGL
75+
sudo apt install -y -q libgl1-mesa-dev libglx-dev libglu1-mesa-dev libvulkan-dev mesa-common-dev
76+
sudo apt install -y -q libfuse-dev libfuse3-dev
77+
sudo Xvfb :91.0 -ac -screen 0 1200x900x24 &
78+
sleep 1
79+
export DISPLAY=:91.0
80+
ARCH=`uname -m`
81+
pushd ${{github.workspace}}/build_linux/install
82+
sudo mv -f RabbitRemoteControl_${ARCH}.AppImage RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage
83+
popd
84+
pushd ${{github.workspace}}/build_linux
85+
mv install RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup
86+
zip RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup/*
87+
88+
md5sum RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip > RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip.md5sum
89+
MD5SUM=`cat RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip.md5sum|awk '{print $1}'`
90+
echo "MD5SUM RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip: ${MD5SUM}"
91+
echo "Generate update configure file ......"
92+
pushd RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup
93+
./RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage \
94+
-f "${{github.workspace}}/update_appimage_${{matrix.os}}.json" \
95+
--foc 1 \
96+
--file-name ../RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip \
97+
-u "https://github.com/KangLin/RabbitRemoteControl/releases/download/v${{env.RabbitRemoteControl_VERSION}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip;https://master.dl.sourceforge.net/project/rabbitremotecontrol/v${{env.RabbitRemoteControl_VERSION}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip?viasf=1" \
98+
--md5 "${MD5SUM}"
99+
popd
100+
popd
101+
59102
- name: Update artifact
60-
if: ${{matrix.variant.PACKAGE == 'rpm'}}
103+
#if: ${{matrix.variant.PACKAGE != 'deb'}}
61104
uses: actions/upload-artifact@v4
62105
with:
63106
name: ${{ env.artifact_name }}_${{matrix.variant.PACKAGE}}_${{matrix.variant.image}}_${{matrix.variant.os}}
64107
path: |
65108
${{github.workspace}}/build_linux/rabbitremotecontrol*.rpm
109+
${{github.workspace}}/build_linux/rabbitremotecontrol_*.deb
110+
${{github.workspace}}/build_linux/RabbitRemoteControl_*_Setup.zip
111+
${{github.workspace}}/build_linux/update_appimage_*.json

.github/workflows/linux.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
BUILD_TYPE: [Release]
2020
qt_version: [6.9.3]
2121
os: [ubuntu-24.04, ubuntu-24.04-arm] #, ubuntu-22.04, ubuntu-22.04-arm]
22-
PACKAGE: [deb, appimage]
22+
PACKAGE: [deb] #, appimage]
2323
exclude:
2424
- os: ubuntu-22.04
2525
PACKAGE: appimage
@@ -72,7 +72,7 @@ jobs:
7272
- name: build linux
7373
#continue-on-error: true
7474
run: |
75-
sudo ./Script/build_linux.sh --${{matrix.PACKAGE}} --install=${{env.INSTALL_DIR}} --qt=${{matrix.qt_version}}
75+
sudo ./Script/build_linux.sh --${{matrix.PACKAGE}} --install=${{env.INSTALL_DIR}}
7676
7777
- name: Deb update configure file
7878
if: ${{ matrix.BUILD_TYPE == 'Release' && matrix.PACKAGE == 'deb' }}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ debian/rabbitremotecontrol
99
debian/.debhelper/
1010
*.snap
1111
.flatpak-builder/
12-
12+
.qtcreator/
1313
# C++ objects and libs
1414
*.slo
1515
*.lo

Package/Flatpak/io.github.KangLin.RabbitRemoteControl.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ id: "io.github.KangLin.RabbitRemoteControl"
33
# See: [available runtimes](https://docs.flatpak.org/en/latest/available-runtimes.html)
44
# See: [flatpak kde runtime](https://invent.kde.org/packaging/flatpak-kde-runtime)
55
runtime: "org.kde.Platform"
6-
runtime-version: "6.8"
6+
runtime-version: "6.9"
77
sdk: "org.kde.Sdk"
88
command: RabbitRemoteControlApp
99

1010
base: io.qt.qtwebengine.BaseApp
11-
base-version: '6.8'
11+
base-version: '6.9'
1212
cleanup-commands:
1313
- /app/cleanup-BaseApp.sh
1414

@@ -166,7 +166,7 @@ modules:
166166
sources:
167167
- type: git
168168
url: https://github.com/FreeRDP/FreeRDP.git
169-
tag: 3.15.0
169+
tag: 3.18.0
170170
buildsystem: cmake-ninja
171171
builddir: true
172172
config-opts:

Plugins/FileTransfer/OperateFileTransfer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
class COperateFileTransfer : public COperate
1414
{
1515
Q_OBJECT
16+
1617
public:
1718
explicit COperateFileTransfer(CPlugin *plugin);
1819
virtual ~COperateFileTransfer();
@@ -26,7 +27,7 @@ class COperateFileTransfer : public COperate
2627
* if don't use, the caller must delete it.
2728
* \~see CBackendThread
2829
*/
29-
[[nodiscard]] Q_INVOKABLE virtual CBackend* InstanceBackend();
30+
Q_INVOKABLE virtual CBackend* InstanceBackend();
3031

3132
virtual const QString Id() override;
3233
virtual const QString Name() override;

Script/build_appimage.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ fi
161161
popd
162162

163163
echo "Compile RabbitRemoteControl ......"
164-
if [ "${BUILD_VERBOSE}" = "ON" ]; then
164+
if [ "${BUILD_VERBOSE}" = "ON" -a -n "$QMAKE" ]; then
165165
echo "QT_ROOT: $QT_ROOT"
166166
echo "Qt6_DIR: $Qt6_DIR"
167167
echo "QMAKE: $QMAKE"
@@ -207,7 +207,7 @@ export DEPLOY_PLATFORM_THEMES=true
207207
export EXTRA_QT_MODULES="svg"
208208
export PATH=$PATH:${TOOLS_DIR}
209209

210-
if [ "${BUILD_VERBOSE}" = "ON" ]; then
210+
if [ "${BUILD_VERBOSE}" = "ON" -a -n "$QMAKE" ]; then
211211
echo "QT_ROOT: $QT_ROOT"
212212
echo "Qt6_DIR: $Qt6_DIR"
213213
echo "QMAKE: $QMAKE"

Script/build_depend.sh

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ usage_long() {
4343
echo " --default: Install the default dependency libraries that comes with the system"
4444
echo " --system_update: Update system"
4545
echo " --package-tool: Package install tool, apk or dnf"
46-
echo " --package: Install package"
46+
echo " --package: Install packages. eg: \"package1 package2 ......\""
4747
echo " --qt: Install QT"
4848
echo " --macos: Install macos tools and dependency libraries"
4949
echo " --rabbitcommon: Install RabbitCommon"
@@ -307,7 +307,10 @@ if [ $SYSTEM_UPDATE -eq 1 ]; then
307307
fi
308308

309309
if [ -n "$PACKAGE" ]; then
310-
${PACKAGE_TOOL} install -y -q $PACKAGE
310+
for p in $PACKAGE
311+
do
312+
${PACKAGE_TOOL} install -y -q $p
313+
done
311314
fi
312315

313316
if [ $BASE_LIBS -eq 1 ]; then
@@ -319,7 +322,7 @@ if [ $BASE_LIBS -eq 1 ]; then
319322
apt install -y -q libgl1-mesa-dev libglx-dev libglu1-mesa-dev libvulkan-dev mesa-common-dev
320323
# Virtual desktop (virtual framebuffer X server for X Version 11). Needed by CI
321324
if [ -z "$RabbitRemoteControl_VERSION" ]; then
322-
apt install -y -q xvfb xpra
325+
apt install -y -q xvfb #xpra
323326
fi
324327
# X11 and xcb
325328
apt install -y -q xorg-dev x11-xkb-utils libxkbcommon-dev libxkbcommon-x11-dev libx11-xcb-dev \
@@ -382,13 +385,21 @@ fi
382385
if [ $DEFAULT_LIBS -eq 1 ]; then
383386
echo "Install default dependency libraries ......"
384387
if [ "$PACKAGE_TOOL" = "apt" ]; then
388+
case "`lsb_release -s -r`" in
389+
"25.04"|"25.10")
390+
DEFAULT_LIBRARIES=
391+
;;
392+
"24.04"|"24.10"|*)
393+
DEFAULT_LIBRARIES=
394+
;;
395+
esac
385396
# Qt6
386397
apt-get install -y -q qmake6 qt6-tools-dev qt6-tools-dev-tools \
387398
qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins \
388399
libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n \
389-
qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev qt6-websockets-dev \
400+
qt6-scxml-dev qt6-multimedia-dev qt6-websockets-dev qt6-serialport-dev \
390401
qt6-webengine-dev qt6-webengine-dev-tools qt6-positioning-dev qt6-webchannel-dev
391-
apt-get install -y -q freerdp2-dev qtkeychain-qt6-dev
402+
apt-get install -y -q qtkeychain-qt6-dev $DEFAULT_LIBRARIES
392403
fi
393404

394405
if [ "$PACKAGE_TOOL" = "dnf" ]; then
@@ -447,7 +458,7 @@ if [ $FREERDP -eq 1 ]; then
447458
echo "Install FreeRDP ......"
448459
pushd "$SOURCE_DIR"
449460
if [ ! -d ${INSTALL_DIR}/lib/cmake/FreeRDP3 ]; then
450-
git clone -b 3.15.0 https://github.com/FreeRDP/FreeRDP.git
461+
git clone -b 3.18.0 https://github.com/FreeRDP/FreeRDP.git
451462
cd FreeRDP
452463
git submodule update --init --recursive
453464
cmake -E make_directory build

Script/build_linux.sh

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ if [ $DOCKER -eq 1 ]; then
202202
fi
203203
docker run --volume ${BUILD_LINUX_DIR}:/home/build --privileged --interactive --rm ${DOCKERT_IMAGE} \
204204
bash -e -x -c "
205+
apt-get update -y
206+
apt-get install lsb-release
205207
tar -C ~ -xf /home/build/RabbitRemoteControl.tar.gz
206208
~/RabbitRemoteControl/Script/build_linux.sh --deb --verbose ${BUILD_VERBOSE}
207209
cp ~/rabbitremotecontrol*.deb /home/build/
@@ -214,8 +216,18 @@ if [ $DOCKER -eq 1 ]; then
214216
docker run --volume ${BUILD_LINUX_DIR}:/home/build --privileged --interactive --rm ${DOCKERT_IMAGE} \
215217
bash -e -x -c "
216218
tar -C ~ -xf /home/build/RabbitRemoteControl.tar.gz
219+
apt-get update -y
220+
apt-get install lsb-release
217221
~/RabbitRemoteControl/Script/build_linux.sh --appimage --verbose ${BUILD_VERBOSE}
218-
cp ~/RabbitRemoteControl/RabbitRemoteControl_`uname -m`.AppImage /home/build/
222+
mkdir -p /home/build/install
223+
pushd /home/build/install
224+
cp ~/RabbitRemoteControl/RabbitRemoteControl_`uname -m`.AppImage .
225+
chmod a+wrx RabbitRemoteControl_`uname -m`.AppImage
226+
cp ~/RabbitRemoteControl/build_appimage/AppDir/usr/share/applications/io.github.KangLin.RabbitRemoteControl.desktop .
227+
cp ~/RabbitRemoteControl/build_appimage/AppDir/usr/share/icons/hicolor/scalable/apps/io.github.KangLin.RabbitRemoteControl.svg .
228+
cp ~/RabbitRemoteControl/Script/install.sh .
229+
chmod a+rx install.sh
230+
popd
219231
"
220232
fi
221233
if [ $RPM -eq 1 ]; then
@@ -240,14 +252,8 @@ pushd $REPO_ROOT/Script
240252

241253
if [ $DEB -eq 1 ]; then
242254
echo "build deb package ......"
243-
./build_depend.sh --system_update --base --default \
244-
--rabbitcommon --tigervnc --pcapplusplus --libssh \
245-
--install=${INSTALL_DIR} \
246-
--source=${SOURCE_DIR} \
247-
--tools=${TOOLS_DIR} \
248-
--verbose=${BUILD_VERBOSE}
249-
250-
./build_depend.sh --qtermwidget \
255+
./build_depend.sh --system_update --base --default --package="freerdp2-dev" \
256+
--rabbitcommon --tigervnc --pcapplusplus --libssh --qtermwidget \
251257
--install=${INSTALL_DIR} \
252258
--source=${SOURCE_DIR} \
253259
--tools=${TOOLS_DIR} \
@@ -260,22 +266,32 @@ fi
260266

261267
if [ $APPIMAGE -eq 1 ]; then
262268
echo "build AppImage(qt${QT_VERSION}) ......"
269+
case "`lsb_release -s -r`" in
270+
"25.04"|"25.10")
271+
depend_para="--default"
272+
export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
273+
export LD_LIBRARY_PATH=${INSTALL_DIR}/lib:$LD_LIBRARY_PATH
274+
export CMAKE_PREFIX_PATH=${INSTALL_DIR}:${CMAKE_PREFIX_PATH}
275+
;;
276+
"24.04"|"24.10")
277+
depend_para="--qt=${QT_VERSION}"
278+
export QT_ROOT=${TOOLS_DIR}/qt_`uname -m`
279+
export Qt6_DIR=$QT_ROOT
280+
export QMAKE=$QT_ROOT/bin/qmake
281+
export QT_PLUGIN_PATH=$QT_ROOT/plugins
282+
export PATH=$QT_ROOT/libexec:$PATH
283+
export PKG_CONFIG_PATH=$QT_ROOT/lib/pkgconfig:${INSTALL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
284+
export LD_LIBRARY_PATH=$QT_ROOT/lib:${INSTALL_DIR}/lib:$LD_LIBRARY_PATH
285+
export CMAKE_PREFIX_PATH=$QT_ROOT:${INSTALL_DIR}:${CMAKE_PREFIX_PATH}
286+
;;
287+
esac
263288
./build_depend.sh --system_update --base --rabbitcommon \
264-
--tigervnc --freerdp --pcapplusplus --libssh \
289+
--tigervnc --pcapplusplus --freerdp --libssh \
265290
--install=${INSTALL_DIR} \
266291
--source=${SOURCE_DIR} \
267292
--tools=${TOOLS_DIR} \
268-
--verbose=${BUILD_VERBOSE} \
269-
--qt=${QT_VERSION}
293+
--verbose=${BUILD_VERBOSE} ${depend_para}
270294

271-
export QT_ROOT=${TOOLS_DIR}/qt_`uname -m`
272-
export Qt6_DIR=$QT_ROOT
273-
export QMAKE=$QT_ROOT/bin/qmake
274-
export PATH=$QT_ROOT/libexec:$PATH
275-
export PKG_CONFIG_PATH=$QT_ROOT/lib/pkgconfig:${INSTALL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
276-
export LD_LIBRARY_PATH=$QT_ROOT/lib:${INSTALL_DIR}/lib:$LD_LIBRARY_PATH
277-
export QT_PLUGIN_PATH=$QT_ROOT/plugins
278-
export CMAKE_PREFIX_PATH=$QT_ROOT:${INSTALL_DIR}:${CMAKE_PREFIX_PATH}
279295
export RabbitCommon_ROOT=${SOURCE_DIR}/RabbitCommon
280296
export BUILD_FREERDP=ON
281297

snap/snapcraft.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ parts:
9595
plugin: cmake
9696
source: https://github.com/FreeRDP/FreeRDP.git
9797
source-type: git
98-
source-tag: 3.15.0
98+
source-tag: 3.18.0
9999
source-depth: 1
100100
build-packages:
101101
- libssl-dev

0 commit comments

Comments
 (0)