mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
Update QT to 6.10.0 and increase security:
* Use QT 6.10.0 * Change invalidateFilter (deprecated) to beginFilterChange/endFilterChange * Remove warning of presenceStatusItem * Add changelog with this modification for 6.1.0 * Do not use anymore variables to build docker images. Qt versions are now hardcoded in images to allow multiple opensource Qt versions.
This commit is contained in:
parent
ca4bdd3736
commit
ae8b49ba1a
7 changed files with 80 additions and 65 deletions
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
.macosx-desktop:
|
.macosx-desktop:
|
||||||
stage: build
|
stage: build
|
||||||
tags: [ "macos-min-xcode12.2-flat" ]
|
tags: [ "macmini-m1-xcode15-flat" ]
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null
|
||||||
- if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null
|
- if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_MACOSX == null
|
||||||
|
|
@ -93,7 +93,7 @@ macosx-ninja-novideo:
|
||||||
# WAIT for QT6 for arm64
|
# WAIT for QT6 for arm64
|
||||||
macosx-ninja-package:
|
macosx-ninja-package:
|
||||||
stage: package
|
stage: package
|
||||||
tags: [ "macos-min-xcode12.2-flat" ]
|
tags: [ "macmini-m1-xcode15-flat" ]
|
||||||
needs: []
|
needs: []
|
||||||
rules:
|
rules:
|
||||||
- !reference [.rules-merge-request-manual, rules]
|
- !reference [.rules-merge-request-manual, rules]
|
||||||
|
|
@ -117,7 +117,7 @@ macosx-ninja-package:
|
||||||
|
|
||||||
macosx-codesigning:
|
macosx-codesigning:
|
||||||
stage: signing
|
stage: signing
|
||||||
tags: [ "macos-min-xcode12.2-flat" ]
|
tags: [ "macmini-m1-xcode15-flat" ]
|
||||||
needs:
|
needs:
|
||||||
- macosx-ninja-package
|
- macosx-ninja-package
|
||||||
rules:
|
rules:
|
||||||
|
|
@ -142,7 +142,7 @@ macosx-codesigning:
|
||||||
|
|
||||||
macosx-deploy:
|
macosx-deploy:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
tags: [ "macos-min-xcode12.2-flat" ]
|
tags: [ "macmini-m1-xcode15-flat" ]
|
||||||
needs:
|
needs:
|
||||||
- macosx-codesigning
|
- macosx-codesigning
|
||||||
only:
|
only:
|
||||||
|
|
@ -160,7 +160,7 @@ macosx-deploy:
|
||||||
|
|
||||||
macosx-makefile-plugins-deploy:
|
macosx-makefile-plugins-deploy:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
tags: [ "macos-min-xcode12.2-flat" ]
|
tags: [ "macmini-m1-xcode15-flat" ]
|
||||||
needs:
|
needs:
|
||||||
- macosx-makefile
|
- macosx-makefile
|
||||||
only:
|
only:
|
||||||
|
|
|
||||||
|
|
@ -31,3 +31,9 @@ Group changes to describe their impact on the project, as follows:
|
||||||
- Default screen (between contacts, call history, conversations & meetings list) will change depending on where you were when the app was paused or killed, and you will return to that last visited screen on the next startup.
|
- Default screen (between contacts, call history, conversations & meetings list) will change depending on where you were when the app was paused or killed, and you will return to that last visited screen on the next startup.
|
||||||
- Minimum supported Qt version is now 6.5.3
|
- Minimum supported Qt version is now 6.5.3
|
||||||
- Some settings have changed name and/or section in linphonerc file.
|
- Some settings have changed name and/or section in linphonerc file.
|
||||||
|
|
||||||
|
|
||||||
|
## [6.1.0] - XXXX-XX-XX
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Minimum supported Qt version is now 6.10.0
|
||||||
|
|
@ -63,9 +63,10 @@ int SortFilterProxy::getFilterType() const {
|
||||||
|
|
||||||
void SortFilterProxy::setFilterType(int filterType) {
|
void SortFilterProxy::setFilterType(int filterType) {
|
||||||
if (getFilterType() != filterType) {
|
if (getFilterType() != filterType) {
|
||||||
|
beginFilterChange();
|
||||||
mFilterType = filterType;
|
mFilterType = filterType;
|
||||||
|
endFilterChange();
|
||||||
emit filterTypeChanged(filterType);
|
emit filterTypeChanged(filterType);
|
||||||
invalidate();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ IconLabelButton {
|
||||||
icon.source: UtilsCpp.getPresenceIcon(mainItem.presence)
|
icon.source: UtilsCpp.getPresenceIcon(mainItem.presence)
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
shadowEnabled: false
|
shadowEnabled: false
|
||||||
contentImageColor: undefined
|
|
||||||
padding: 0
|
padding: 0
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
|
|
||||||
|
|
@ -8,48 +8,48 @@ QtObject {
|
||||||
property var currentTheme: Themes.themes.hasOwnProperty(SettingsCpp.themeMainColor)
|
property var currentTheme: Themes.themes.hasOwnProperty(SettingsCpp.themeMainColor)
|
||||||
? Themes.themes[SettingsCpp.themeMainColor]
|
? Themes.themes[SettingsCpp.themeMainColor]
|
||||||
: Themes.themes["orange"]
|
: Themes.themes["orange"]
|
||||||
property color main1_100: currentTheme.main100
|
property var main1_100: currentTheme.main100
|
||||||
property color main1_200: currentTheme.main200
|
property var main1_200: currentTheme.main200
|
||||||
property color main1_300: currentTheme.main300
|
property var main1_300: currentTheme.main300
|
||||||
property color main1_500_main: currentTheme.main500
|
property var main1_500_main: currentTheme.main500
|
||||||
property color main1_600: currentTheme.main600
|
property var main1_600: currentTheme.main600
|
||||||
property color main1_700: currentTheme.main700
|
property var main1_700: currentTheme.main700
|
||||||
|
|
||||||
property color main2_0: "#FAFEFF"
|
property var main2_0: "#FAFEFF"
|
||||||
property color main2_100: "#EEF6F8"
|
property var main2_100: "#EEF6F8"
|
||||||
property color main2_200: "#DFECF2"
|
property var main2_200: "#DFECF2"
|
||||||
property color main2_300: "#C0D1D9"
|
property var main2_300: "#C0D1D9"
|
||||||
property color main2_400: "#9AABB5"
|
property var main2_400: "#9AABB5"
|
||||||
property color main2_500_main: "#6C7A87"
|
property var main2_500_main: "#6C7A87"
|
||||||
property color main2_600: "#4E6074"
|
property var main2_600: "#4E6074"
|
||||||
property color main2_700: "#364860"
|
property var main2_700: "#364860"
|
||||||
property color main2_800: "#22334D"
|
property var main2_800: "#22334D"
|
||||||
property color main2_900: "#2D3648"
|
property var main2_900: "#2D3648"
|
||||||
|
|
||||||
property color grey_0: "#FFFFFF"
|
property var grey_0: "#FFFFFF"
|
||||||
property color grey_100: "#F9F9F9"
|
property var grey_100: "#F9F9F9"
|
||||||
property color grey_200: "#EDEDED"
|
property var grey_200: "#EDEDED"
|
||||||
property color grey_300: "#C9C9C9"
|
property var grey_300: "#C9C9C9"
|
||||||
property color grey_400: "#949494"
|
property var grey_400: "#949494"
|
||||||
property color grey_500: "#4E4E4E"
|
property var grey_500: "#4E4E4E"
|
||||||
property color grey_600: "#2E3030"
|
property var grey_600: "#2E3030"
|
||||||
property color grey_850: "#D9D9D9"
|
property var grey_850: "#D9D9D9"
|
||||||
property color grey_900: "#070707"
|
property var grey_900: "#070707"
|
||||||
property color grey_1000: "#000000"
|
property var grey_1000: "#000000"
|
||||||
|
|
||||||
property color warning_600: "#DBB820"
|
property var warning_600: "#DBB820"
|
||||||
property color warning_700: "#AF9308"
|
property var warning_700: "#AF9308"
|
||||||
property color danger_500_main: "#DD5F5F"
|
property var danger_500_main: "#DD5F5F"
|
||||||
property color warning_500_main: "#FFDC2E"
|
property var warning_500_main: "#FFDC2E"
|
||||||
property color danger_700: "#9E3548"
|
property var danger_700: "#9E3548"
|
||||||
property color danger_900: "#723333"
|
property var danger_900: "#723333"
|
||||||
property color success_500_main: "#4FAE80"
|
property var success_500_main: "#4FAE80"
|
||||||
property color success_700: "#377d71"
|
property var success_700: "#377d71"
|
||||||
property color success_900: "#1E4C53"
|
property var success_900: "#1E4C53"
|
||||||
property color info_500_main: "#4AA8FF"
|
property var info_500_main: "#4AA8FF"
|
||||||
|
|
||||||
property color vue_meter_light_green: "#6FF88D"
|
property var vue_meter_light_green: "#6FF88D"
|
||||||
property color vue_meter_dark_green: "#00D916"
|
property var vue_meter_dark_green: "#00D916"
|
||||||
|
|
||||||
property real defaultHeight: 1080.0
|
property real defaultHeight: 1080.0
|
||||||
property real defaultWidth: 1920.0
|
property real defaultWidth: 1920.0
|
||||||
|
|
@ -66,10 +66,10 @@ QtObject {
|
||||||
property string flagFont: "Noto Color Emoji"
|
property string flagFont: "Noto Color Emoji"
|
||||||
property string defaultFont: "Noto Sans"
|
property string defaultFont: "Noto Sans"
|
||||||
|
|
||||||
property color numericPadPressedButtonColor: "#EEF7F8"
|
property var numericPadPressedButtonColor: "#EEF7F8"
|
||||||
|
|
||||||
property color groupCallButtonColor: "#EEF7F8"
|
property var groupCallButtonColor: "#EEF7F8"
|
||||||
|
|
||||||
property color placeholders: '#CACACA' // No name in design
|
property var placeholders: '#CACACA' // No name in design
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ Linphone is dual licensed, and is available either :
|
||||||
As linphone-desktop depends on [Linphone SDK](https://gitlab.linphone.org/BC/public/linphone-sdk), you need to install to Build dependencies common to all target platforms of this project: [The Linphone SDK depdencies](https://gitlab.linphone.org/BC/public/linphone-sdk#common-to-all-target-platforms)
|
As linphone-desktop depends on [Linphone SDK](https://gitlab.linphone.org/BC/public/linphone-sdk), you need to install to Build dependencies common to all target platforms of this project: [The Linphone SDK depdencies](https://gitlab.linphone.org/BC/public/linphone-sdk#common-to-all-target-platforms)
|
||||||
|
|
||||||
|
|
||||||
For Desktop : you will need QT6 (_6.5.3 or newer_). `C++17` support is required!. You have two way to install it :
|
For Desktop : you will need QT6 (_6.10.0 or newer_). `C++17` support is required!. You have two way to install it :
|
||||||
- Using the [official QT installer](https://www.qt.io/download-thank-you)
|
- Using the [official QT installer](https://www.qt.io/download-thank-you)
|
||||||
- Using an alternative installer like [aqtinstall](https://github.com/miurahr/aqtinstall)
|
- Using an alternative installer like [aqtinstall](https://github.com/miurahr/aqtinstall)
|
||||||
|
|
||||||
|
|
@ -39,8 +39,8 @@ For Desktop : you will need QT6 (_6.5.3 or newer_). `C++17` support is required!
|
||||||
2. You have to set the environment variable `Qt6_DIR` to point to the path containing the cmake folders of Qt6, and the `PATH` to the Qt6 `bin`. Example:
|
2. You have to set the environment variable `Qt6_DIR` to point to the path containing the cmake folders of Qt6, and the `PATH` to the Qt6 `bin`. Example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export Qt6_DIR="~/Qt/6.5.3/gcc_64/lib/cmake/Qt6"
|
export Qt6_DIR="~/Qt/6.10.0/gcc_64/lib/cmake/Qt6"
|
||||||
export PATH="~/Qt/6.5.3/gcc_64/bin/:$PATH"
|
export PATH="~/Qt/6.10.0/gcc_64/bin/:$PATH"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,9 @@
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Dockerfile used to make gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-20-04-lts:20231024_add_multimedia
|
# Dockerfile used to make gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-ubuntu-22-04-lts:20251106_add_commercial_qt_version_5.15.14_5.15.19_6.8.1_6.8.3_6.9.1_6.10.0
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
FROM ubuntu:22.04
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
# Qt on Ubuntu 22.04 is too old. Use a downloader.
|
|
||||||
ARG QT_VERSION=5.15.2
|
|
||||||
ARG QT6_VERSION=6.9.1
|
|
||||||
|
|
||||||
#Do not use it. It seems that it cannot be used from python command.
|
|
||||||
#ARG QT_MODULES=qtnetworkauth qtquick3d qtmultimedia qt5compat qtshadertools
|
|
||||||
|
|
||||||
LABEL Gaelle Braud <gaelle.braud@belledonne-communications.com>
|
LABEL Gaelle Braud <gaelle.braud@belledonne-communications.com>
|
||||||
|
|
||||||
# Use a Swiss mirror
|
# Use a Swiss mirror
|
||||||
|
|
@ -88,15 +81,18 @@ RUN sudo apt install --upgrade -y python3-setuptools
|
||||||
# installation is split because there is a way where some modules are not downloaded in the first attempt.
|
# installation is split because there is a way where some modules are not downloaded in the first attempt.
|
||||||
RUN sudo apt install -y python3-py7zr
|
RUN sudo apt install -y python3-py7zr
|
||||||
RUN sudo pip3 install --upgrade aqtinstall
|
RUN sudo pip3 install --upgrade aqtinstall
|
||||||
RUN sudo python3 -m aqt install-qt linux desktop $QT_VERSION -O /opt/Qt/opensource
|
RUN sudo python3 -m aqt install-qt linux desktop 5.15.2 -O /opt/Qt/opensource
|
||||||
RUN sudo python3 -m aqt install-qt linux desktop $QT_VERSION -O /opt/Qt/opensource --noarchives -m qtnetworkauth qtquick3d
|
RUN sudo python3 -m aqt install-qt linux desktop 5.15.2 -O /opt/Qt/opensource --noarchives -m qtnetworkauth qtquick3d
|
||||||
RUN sudo python3 -m aqt install-qt linux desktop $QT6_VERSION -O /opt/Qt/opensource
|
RUN sudo python3 -m aqt install-qt linux desktop 6.9.1 -O /opt/Qt/opensource
|
||||||
RUN sudo python3 -m aqt install-qt linux desktop $QT6_VERSION -O /opt/Qt/opensource --noarchives -m qtnetworkauth qtquick3d qtmultimedia qt5compat qtshadertools
|
RUN sudo python3 -m aqt install-qt linux desktop 6.9.1 -O /opt/Qt/opensource --noarchives -m qtnetworkauth qtquick3d qtmultimedia qt5compat qtshadertools
|
||||||
|
RUN sudo python3 -m aqt install-qt linux desktop 6.10.0 -O /opt/Qt/opensource
|
||||||
|
RUN sudo python3 -m aqt install-qt linux desktop 6.10.0 -O /opt/Qt/opensource --noarchives -m qtnetworkauth qtquick3d qtmultimedia qt5compat qtshadertools
|
||||||
|
|
||||||
RUN sudo chown -R bc:bc /opt/Qt/
|
RUN sudo chown -R bc:bc /opt/Qt/
|
||||||
|
|
||||||
RUN qtchooser -install "$QT_VERSION-opensource" /opt/Qt/opensource/$QT_VERSION/gcc_64/bin/qmake
|
RUN qtchooser -install "5.15.2-opensource" /opt/Qt/opensource/5.15.2/gcc_64/bin/qmake
|
||||||
RUN qtchooser -install "$QT6_VERSION-opensource" /opt/Qt/opensource/$QT6_VERSION/gcc_64/bin/qmake
|
RUN qtchooser -install "6.9.1-opensource" /opt/Qt/opensource/6.9.1/gcc_64/bin/qmake
|
||||||
|
RUN qtchooser -install "6.10.0-opensource" /opt/Qt/opensource/6.10.0/gcc_64/bin/qmake
|
||||||
|
|
||||||
# Download QT official installer for proprietary versions
|
# Download QT official installer for proprietary versions
|
||||||
# -O : name the destination file after the remote file name, in the current directory
|
# -O : name the destination file after the remote file name, in the current directory
|
||||||
|
|
@ -158,10 +154,23 @@ RUN /opt/Qt/proprietary/MaintenanceTool \
|
||||||
--auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=Yes,stopProcessesForUpdates=Ignore,installationErrorWithCancel=Ignore,InstallationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No \
|
--auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=Yes,stopProcessesForUpdates=Ignore,installationErrorWithCancel=Ignore,InstallationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No \
|
||||||
install qt.qt6.691.linux_gcc_64 qt.qt6.691.addons.qtnetworkauth qt.qt6.691.addons.qtquick3d qt.qt6.691.addons.qtmultimedia qt.qt6.691.addons.qt5compat qt.qt6.691.addons.qtshadertools
|
install qt.qt6.691.linux_gcc_64 qt.qt6.691.addons.qtnetworkauth qt.qt6.691.addons.qtquick3d qt.qt6.691.addons.qtmultimedia qt.qt6.691.addons.qt5compat qt.qt6.691.addons.qtshadertools
|
||||||
|
|
||||||
|
# # Install Qt 6.10.0 proprietary
|
||||||
|
RUN /opt/Qt/proprietary/MaintenanceTool \
|
||||||
|
--accept-licenses \
|
||||||
|
--accept-obligations \
|
||||||
|
--confirm-command \
|
||||||
|
--root "/opt/Qt/proprietary" \
|
||||||
|
--auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=Yes,stopProcessesForUpdates=Ignore,installationErrorWithCancel=Ignore,InstallationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No \
|
||||||
|
install qt.qt6.6100.linux_gcc_64 qt.qt6.6100.addons.qtnetworkauth qt.qt6.6100.addons.qtquick3d qt.qt6.6100.addons.qtmultimedia qt.qt6.6100.addons.qt5compat qt.qt6.6100.addons.qtshadertools
|
||||||
|
|
||||||
RUN qtchooser -install 5.15.19-proprietary /opt/Qt/proprietary/5.15.19/gcc_64/bin/qmake
|
RUN qtchooser -install 5.15.19-proprietary /opt/Qt/proprietary/5.15.19/gcc_64/bin/qmake
|
||||||
RUN qtchooser -install 5.15.14-proprietary /opt/Qt/proprietary/5.15.14/gcc_64/bin/qmake
|
RUN qtchooser -install 5.15.14-proprietary /opt/Qt/proprietary/5.15.14/gcc_64/bin/qmake
|
||||||
RUN qtchooser -install 6.8.1-proprietary /opt/Qt/proprietary/6.8.1/gcc_64/bin/qmake
|
RUN qtchooser -install 6.8.1-proprietary /opt/Qt/proprietary/6.8.1/gcc_64/bin/qmake
|
||||||
RUN qtchooser -install 6.8.3-proprietary /opt/Qt/proprietary/6.8.3/gcc_64/bin/qmake
|
RUN qtchooser -install 6.8.3-proprietary /opt/Qt/proprietary/6.8.3/gcc_64/bin/qmake
|
||||||
RUN qtchooser -install 6.9.1-proprietary /opt/Qt/proprietary/6.9.1/gcc_64/bin/qmake
|
RUN qtchooser -install 6.9.1-proprietary /opt/Qt/proprietary/6.9.1/gcc_64/bin/qmake
|
||||||
|
RUN qtchooser -install 6.10.0-proprietary /opt/Qt/proprietary/6.10.0/gcc_64/bin/qmake
|
||||||
|
|
||||||
|
RUN rm -f /home/bc/.local/share/Qt/qtaccount.ini
|
||||||
|
RUN rm -f /home/bc/.local/share/Qt/qtlicenses.ini
|
||||||
|
|
||||||
cmd bash
|
cmd bash
|
||||||
Loading…
Add table
Reference in a new issue