From 323855c9f1769da65c2d71044068ca7fa141d2c9 Mon Sep 17 00:00:00 2001 From: Anton Golubev Date: Tue, 6 Aug 2024 12:19:17 +0300 Subject: [PATCH 1/3] Add client library version for Qt6 --- configure.ac | 33 +++++++++++++- liblightdm-qt/Makefile.am | 23 ++++++++++ liblightdm-qt/greeter.cpp | 6 +-- liblightdm-qt/liblightdm-qt6-3.pc.in | 11 +++++ liblightdm-qt/power.cpp | 6 +-- liblightdm-qt/sessionsmodel.cpp | 6 +-- liblightdm-qt/usersmodel.cpp | 6 +-- m4/qt-validate-moc.m4 | 68 ++++++++++++++++++++++++++++ 8 files changed, 146 insertions(+), 13 deletions(-) create mode 100644 liblightdm-qt/liblightdm-qt6-3.pc.in create mode 100644 m4/qt-validate-moc.m4 diff --git a/configure.ac b/configure.ac index 6f2e706f5..5348c36eb 100644 --- a/configure.ac +++ b/configure.ac @@ -105,7 +105,7 @@ if test x"$enable_liblightdm_qt5" != "xno"; then fi ]) - AC_CHECK_TOOLS(MOC5, [moc-qt5 moc]) + QT5_VALIDATE_MOC(MOC5) if test x$MOC5 = x; then compile_liblightdm_qt5=no if test "x$enable_liblightdm_qt5" != xauto; then @@ -121,6 +121,35 @@ if test x"$enable_liblightdm_qt5" != "xno"; then fi AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT5, test x"$compile_liblightdm_qt5" != "xno") +AC_ARG_ENABLE(liblightdm-qt6, + AS_HELP_STRING([--enable-liblightdm-qt6],[Enable LightDM client Qt6 libraries [[default=auto]]]), + [enable_liblightdm_qt6=$enableval], + [enable_liblightdm_qt6="auto"]) +compile_liblightdm_qt6=no +if test x"$enable_liblightdm_qt6" != "xno"; then + PKG_CHECK_MODULES(LIBLIGHTDM_QT6, [ + Qt6Core + Qt6DBus + Qt6Gui + ], + [compile_liblightdm_qt6=yes], + [if test "x$enable_liblightdm_qt6" != xauto; then + AC_MSG_FAILURE( + [--enable-liblightdm-qt6 was given, but test for Qt6 failed]) + fi + ]) + + QT6_VALIDATE_MOC(MOC6) + if test x$MOC6 = x; then + compile_liblightdm_qt6=no + if test "x$enable_liblightdm_qt6" != xauto; then + AC_MSG_FAILURE( + [--enable-liblightdm-qt6 was given, but MOC not found]) + fi + fi +fi +AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT6, test x"$compile_liblightdm_qt6" != "xno") + AC_ARG_ENABLE([libaudit], AS_HELP_STRING([--enable-libaudit], [Enable libaudit logging of login and logout events [[default=auto]]]), @@ -212,6 +241,7 @@ liblightdm-gobject/liblightdm-gobject-1.pc liblightdm-gobject/Makefile liblightdm-qt/Makefile liblightdm-qt/liblightdm-qt5-3.pc +liblightdm-qt/liblightdm-qt6-3.pc po/Makefile.in src/Makefile tests/Makefile @@ -237,6 +267,7 @@ echo " GObject introspection: $found_introspection Vala bindings: $enable_vala liblightdm-qt5: $compile_liblightdm_qt5 + liblightdm-qt6: $compile_liblightdm_qt6 libaudit support: $use_libaudit Enable tests: $enable_tests " diff --git a/liblightdm-qt/Makefile.am b/liblightdm-qt/Makefile.am index 24292f7fb..e03e88801 100644 --- a/liblightdm-qt/Makefile.am +++ b/liblightdm-qt/Makefile.am @@ -4,6 +4,9 @@ common_libadd = \ liblightdm_qt5_3_la_LIBADD = \ $(LIBLIGHTDM_QT5_LIBS) \ $(common_libadd) +liblightdm_qt6_3_la_LIBADD = \ + $(LIBLIGHTDM_QT6_LIBS) \ + $(common_libadd) common_cflags = \ $(WARN_CXXFLAGS) \ @@ -15,6 +18,11 @@ liblightdm_qt5_3_la_CXXFLAGS = \ -DQT_DISABLE_DEPRECATED_BEFORE="QT_VERSION_CHECK(4, 0, 0)" \ $(LIBLIGHTDM_QT5_CFLAGS) \ $(common_cflags) +liblightdm_qt6_3_la_CXXFLAGS = \ + -fPIC \ + -DQT_DISABLE_DEPRECATED_BEFORE="QT_VERSION_CHECK(5, 0, 0)" \ + $(LIBLIGHTDM_QT6_CFLAGS) \ + $(common_cflags) common_headers = \ QLightDM/Greeter \ @@ -27,6 +35,7 @@ common_headers = \ QLightDM/usersmodel.h liblightdm_qt5_3includedir=$(includedir)/lightdm-qt5-3/QLightDM +liblightdm_qt6_3includedir=$(includedir)/lightdm-qt6-3/QLightDM common_sources = \ greeter.cpp \ @@ -36,6 +45,9 @@ common_sources = \ liblightdm_qt5_3_la_SOURCES = \ $(common_sources) \ $(liblightdm_qt5_3include_HEADERS) +liblightdm_qt6_3_la_SOURCES = \ + $(common_sources) \ + $(liblightdm_qt6_3include_HEADERS) pkgconfigdir = $(libdir)/pkgconfig @@ -56,9 +68,20 @@ BUILT_SOURCES += $(common_sources:.cpp=_moc5.cpp) pkgconfig_DATA += liblightdm-qt5-3.pc endif +if COMPILE_LIBLIGHTDM_QT6 +lib_LTLIBRARIES += liblightdm-qt6-3.la +liblightdm_qt6_3include_HEADERS = $(common_headers) +BUILT_SOURCES += $(common_sources:.cpp=_moc6.cpp) +pkgconfig_DATA += liblightdm-qt6-3.pc +endif + # Support pretty printing MOC AM_V_MOC5 = $(am__v_MOC5_$(V)) am__v_MOC5_ = $(am__v_MOC5_$(AM_DEFAULT_VERBOSITY)) am__v_MOC5_0 = @echo " MOC5 " $@; %_moc5.cpp: QLightDM/%.h $(AM_V_MOC5) $(MOC5) $< -o $@ + +# qt6 +%_moc6.cpp: QLightDM/%.h + $(MOC6) $< -o $@ diff --git a/liblightdm-qt/greeter.cpp b/liblightdm-qt/greeter.cpp index 462f69133..ba2253c6e 100644 --- a/liblightdm-qt/greeter.cpp +++ b/liblightdm-qt/greeter.cpp @@ -328,8 +328,8 @@ QString Greeter::motd() const return QString::fromUtf8(lightdm_get_motd()); } -#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) -#include "greeter_moc5.cpp" +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#include "greeter_moc6.cpp" #else -#include "greeter_moc4.cpp" +#include "greeter_moc5.cpp" #endif diff --git a/liblightdm-qt/liblightdm-qt6-3.pc.in b/liblightdm-qt/liblightdm-qt6-3.pc.in new file mode 100644 index 000000000..ae8037117 --- /dev/null +++ b/liblightdm-qt/liblightdm-qt6-3.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: liblightdm-qt6 +Description: LightDM Qt6 client library +Version: @VERSION@ +Requires: Qt6Core Qt6Gui Qt6DBus +Libs: -L${libdir} -llightdm-qt6-3 +Cflags: -I${includedir}/lightdm-qt6-3 diff --git a/liblightdm-qt/power.cpp b/liblightdm-qt/power.cpp index bcebcdd13..4b24d5f7e 100644 --- a/liblightdm-qt/power.cpp +++ b/liblightdm-qt/power.cpp @@ -78,8 +78,8 @@ bool PowerInterface::restart() return lightdm_restart (NULL); } -#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) -#include "power_moc5.cpp" +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#include "power_moc6.cpp" #else -#include "power_moc4.cpp" +#include "power_moc5.cpp" #endif diff --git a/liblightdm-qt/sessionsmodel.cpp b/liblightdm-qt/sessionsmodel.cpp index 1805f708d..770f60389 100644 --- a/liblightdm-qt/sessionsmodel.cpp +++ b/liblightdm-qt/sessionsmodel.cpp @@ -151,8 +151,8 @@ QVariant SessionsModel::data(const QModelIndex &index, int role) const return QVariant(); } -#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) -#include "sessionsmodel_moc5.cpp" +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#include "sessionsmodel_moc6.cpp" #else -#include "sessionsmodel_moc4.cpp" +#include "sessionsmodel_moc5.cpp" #endif diff --git a/liblightdm-qt/usersmodel.cpp b/liblightdm-qt/usersmodel.cpp index eec420a02..05b14f3be 100644 --- a/liblightdm-qt/usersmodel.cpp +++ b/liblightdm-qt/usersmodel.cpp @@ -263,8 +263,8 @@ QVariant UsersModel::data(const QModelIndex &index, int role) const } -#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) -#include "usersmodel_moc5.cpp" +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#include "usersmodel_moc6.cpp" #else -#include "usersmodel_moc4.cpp" +#include "usersmodel_moc5.cpp" #endif diff --git a/m4/qt-validate-moc.m4 b/m4/qt-validate-moc.m4 new file mode 100644 index 000000000..393739575 --- /dev/null +++ b/m4/qt-validate-moc.m4 @@ -0,0 +1,68 @@ +# Detect Qt5 and Qt6 moc executable +# partially borrowed from freeciv qt m4 scripts + +dnl Qt5 +AC_DEFUN([QT5_IF_QT5_MOC], + AS_IF([$1 -v >/dev/null 2>/dev/null && + (test "`$1 -v 2<&1 | grep -o 'Qt [[[0-9]]]\+'`" = "Qt 5" || + test "`$1 -v 2<&1 | grep -o 'moc [[[0-9]]]\+'`" = "moc 5" || + test "`$1 -v 2<&1 | grep -o 'moc-qt[[[0-9]]]\+'`" = "moc-qt5")], + [$2])) + +dnl Set MOCCMD to $1 if it is the Qt 5 "moc". +AC_DEFUN([QT5_TRY_MOC], + [QT5_IF_QT5_MOC([$1], [MOCCMD="$1"])]) + +dnl If a usable moc command is found set $1 +AC_DEFUN([QT5_VALIDATE_MOC], [ + AC_MSG_CHECKING([the Qt 5 moc command]) + + dnl Try to find a Qt 5 'moc' + AS_IF([test "x$MOCCMD" = "x"], + [for mocpath in "moc" "qtchooser -run-tool=moc -qt=5" "moc-qt5" + do + if test "x$MOCCMD" = "x" ; then + QT5_TRY_MOC([$mocpath]) + fi + done + AS_IF([test "x$MOCCMD" = "x"], + [AC_MSG_RESULT([not found]); AC_SUBST($1,"")], + [AC_MSG_RESULT([$MOCCMD]); AC_SUBST($1,"$MOCCMD")]) + MOCCMD=""], + [AC_MSG_ERROR(["MOCCMD should not be set"])])]) + + +dnl Qt6 +AC_DEFUN([QT6_IF_QT6_MOC], + AS_IF([$1 -v >/dev/null 2>/dev/null && + (test "`$1 -v 2<&1 | grep -o 'Qt [[[0-9]]]\+'`" = "Qt 6" || + test "`$1 -v 2<&1 | grep -o 'moc [[[0-9]]]\+'`" = "moc 6" || + test "`$1 -v 2<&1 | grep -o 'moc-qt[[[0-9]]]\+'`" = "moc-qt6")], + [$2])) + +dnl Set MOCCMD to $1 if it is the Qt 6 "moc". +AC_DEFUN([QT6_TRY_MOC], + [QT6_IF_QT6_MOC([$1], [MOCCMD="$1"])]) + +dnl If a usable moc command is found set $1 +AC_DEFUN([QT6_VALIDATE_MOC], [ + AC_MSG_CHECKING([the Qt 6 moc command]) + + dnl Try to find a Qt 6 'moc' + AS_IF([test "x$MOCCMD" = "x"], + [for mocpath in "moc" "qtchooser -run-tool=moc -qt=6" "moc-qt6" \ + "/usr/lib/qt6/moc" "/usr/lib/qt6/libexec/moc" \ + "/usr/lib64/qt6/moc" "/usr/lib64/qt6/libexec/moc" \ + "$prefix/lib/qt6/moc" "$prefix/lib/qt6/libexec/moc" \ + "$libexecdir/moc" "$libexecdir/qt6/moc" \ + "$libdir/qt6/moc" "$libdir/qt6/libexec/moc" + do + if test "x$MOCCMD" = "x" ; then + QT6_TRY_MOC([$mocpath]) + fi + done + AS_IF([test "x$MOCCMD" = "x"], + [AC_MSG_RESULT([not found]); AC_SUBST($1,"")], + [AC_MSG_RESULT([$MOCCMD]); AC_SUBST($1,"$MOCCMD")]) + MOCCMD=""], + [AC_MSG_ERROR(["MOCCMD should not be set"])])]) From cd503fab18a85e2e53c7e4d91ac1e752221cf937 Mon Sep 17 00:00:00 2001 From: Anton Golubev Date: Tue, 6 Aug 2024 12:20:24 +0300 Subject: [PATCH 2/3] Add tests for Qt6 client library --- tests/Makefile.am | 37 ++++++++++++++++++++ tests/data/greeters/test-qt6-greeter.desktop | 4 +++ tests/src/Makefile.am | 22 ++++++++++-- tests/src/test-qt-greeter.cpp | 12 +++---- tests/test-autologin-guest-timeout-qt6 | 2 ++ tests/test-autologin-session-timeout-qt6 | 2 ++ tests/test-autologin-timeout-qt6 | 2 ++ tests/test-cancel-authentication-qt6 | 2 ++ tests/test-login-guest-disabled-qt6 | 2 ++ tests/test-login-guest-fail-setup-script-qt6 | 2 ++ tests/test-login-guest-logout-qt6 | 2 ++ tests/test-login-guest-no-setup-script-qt6 | 2 ++ tests/test-login-guest-pick-session-qt6 | 2 ++ tests/test-login-guest-qt6 | 2 ++ tests/test-login-info-prompt-qt6 | 2 ++ tests/test-login-invalid-session-qt6 | 2 ++ tests/test-login-invalid-user-qt6 | 2 ++ tests/test-login-logout-qt6 | 2 ++ tests/test-login-long-password-qt6 | 2 ++ tests/test-login-long-username-qt6 | 2 ++ tests/test-login-manual-previous-session-qt6 | 2 ++ tests/test-login-manual-qt6 | 2 ++ tests/test-login-manual-remember-session-qt6 | 2 ++ tests/test-login-multi-info-prompt-qt6 | 2 ++ tests/test-login-new-authtok-qt6 | 2 ++ tests/test-login-no-password-qt6 | 2 ++ tests/test-login-pick-session-qt6 | 2 ++ tests/test-login-previous-session-qt6 | 2 ++ tests/test-login-qt6 | 2 ++ tests/test-login-remember-session-qt6 | 2 ++ tests/test-login-remote-session-qt6 | 2 ++ tests/test-login-two-factor-qt6 | 2 ++ tests/test-login-wrong-password-qt6 | 2 ++ tests/test-power-qt6 | 2 ++ tests/test-sessions-qt6 | 2 ++ tests/test-users-qt6 | 2 ++ 36 files changed, 131 insertions(+), 8 deletions(-) create mode 100644 tests/data/greeters/test-qt6-greeter.desktop create mode 100755 tests/test-autologin-guest-timeout-qt6 create mode 100755 tests/test-autologin-session-timeout-qt6 create mode 100755 tests/test-autologin-timeout-qt6 create mode 100755 tests/test-cancel-authentication-qt6 create mode 100755 tests/test-login-guest-disabled-qt6 create mode 100755 tests/test-login-guest-fail-setup-script-qt6 create mode 100755 tests/test-login-guest-logout-qt6 create mode 100755 tests/test-login-guest-no-setup-script-qt6 create mode 100755 tests/test-login-guest-pick-session-qt6 create mode 100755 tests/test-login-guest-qt6 create mode 100755 tests/test-login-info-prompt-qt6 create mode 100755 tests/test-login-invalid-session-qt6 create mode 100755 tests/test-login-invalid-user-qt6 create mode 100755 tests/test-login-logout-qt6 create mode 100755 tests/test-login-long-password-qt6 create mode 100755 tests/test-login-long-username-qt6 create mode 100755 tests/test-login-manual-previous-session-qt6 create mode 100755 tests/test-login-manual-qt6 create mode 100755 tests/test-login-manual-remember-session-qt6 create mode 100755 tests/test-login-multi-info-prompt-qt6 create mode 100755 tests/test-login-new-authtok-qt6 create mode 100755 tests/test-login-no-password-qt6 create mode 100755 tests/test-login-pick-session-qt6 create mode 100755 tests/test-login-previous-session-qt6 create mode 100755 tests/test-login-qt6 create mode 100755 tests/test-login-remember-session-qt6 create mode 100755 tests/test-login-remote-session-qt6 create mode 100755 tests/test-login-two-factor-qt6 create mode 100755 tests/test-login-wrong-password-qt6 create mode 100755 tests/test-power-qt6 create mode 100755 tests/test-sessions-qt6 create mode 100755 tests/test-users-qt6 diff --git a/tests/Makefile.am b/tests/Makefile.am index ac43aa1c8..63b50065a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -336,6 +336,42 @@ TESTS += \ test-power-qt5 endif +if COMPILE_LIBLIGHTDM_QT6 +TESTS += \ + test-autologin-timeout-qt6 \ + test-autologin-guest-timeout-qt6 \ + test-autologin-session-timeout-qt6 \ + test-cancel-authentication-qt6 \ + test-login-qt6 \ + test-login-manual-qt6 \ + test-login-manual-previous-session-qt6 \ + test-login-no-password-qt6 \ + test-login-long-username-qt6 \ + test-login-long-password-qt6 \ + test-login-two-factor-qt6 \ + test-login-new-authtok-qt6 \ + test-login-info-prompt-qt6 \ + test-login-multi-info-prompt-qt6 \ + test-login-previous-session-qt6 \ + test-login-wrong-password-qt6 \ + test-login-invalid-user-qt6 \ + test-login-invalid-session-qt6 \ + test-login-logout-qt6 \ + test-login-pick-session-qt6 \ + test-login-remember-session-qt6 \ + test-login-manual-remember-session-qt6 \ + test-login-guest-qt6 \ + test-login-guest-pick-session-qt6 \ + test-login-guest-disabled-qt6 \ + test-login-guest-no-setup-script-qt6 \ + test-login-guest-fail-setup-script-qt6 \ + test-login-guest-logout-qt6 \ + test-login-remote-session-qt6 \ + test-sessions-qt6 \ + test-users-qt6 \ + test-power-qt6 +endif + EXTRA_DIST = \ $(TESTS) \ data/remote-sessions/test-remote.desktop \ @@ -345,6 +381,7 @@ EXTRA_DIST = \ data/greeters/test-mir-greeter.desktop \ data/greeters/test-python-greeter.desktop \ data/greeters/test-qt5-greeter.desktop \ + data/greeters/test-qt6-greeter.desktop \ data/greeters/test-wayland-greeter.desktop \ data/keys.conf \ data/sessions/alternative.desktop \ diff --git a/tests/data/greeters/test-qt6-greeter.desktop b/tests/data/greeters/test-qt6-greeter.desktop new file mode 100644 index 000000000..595b7909b --- /dev/null +++ b/tests/data/greeters/test-qt6-greeter.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=Test Qt6 Greeter +Comment=LightDM test Qt6 greeter +Exec=test-qt6-greeter diff --git a/tests/src/Makefile.am b/tests/src/Makefile.am index 8d684b196..75cda6114 100644 --- a/tests/src/Makefile.am +++ b/tests/src/Makefile.am @@ -40,6 +40,10 @@ if COMPILE_LIBLIGHTDM_QT5 noinst_PROGRAMS += test-qt5-greeter endif +if COMPILE_LIBLIGHTDM_QT6 +noinst_PROGRAMS += test-qt6-greeter +endif + dbus_env_CFLAGS = \ $(WARN_CFLAGS) \ $(GLIB_CFLAGS) \ @@ -139,23 +143,32 @@ test_script_hook_LDADD = \ test-qt5-greeter_moc5.cpp: test-qt-greeter.h $(am__v_MOC5_$(V)) $(MOC5) $< -o $@ +test-qt6-greeter_moc6.cpp: test-qt-greeter.h + $(MOC6) $< -o $@ common_qt_sources = test-qt-greeter.cpp test-qt-greeter.h status.c status.h test_qt5_greeter_SOURCES = $(common_qt_sources) +test_qt6_greeter_SOURCES = $(common_qt_sources) nodist_test_qt5_greeter_SOURCES = test-qt5-greeter_moc5.cpp +nodist_test_qt6_greeter_SOURCES = test-qt6-greeter_moc6.cpp common_qt_cflags = \ $(WARN_CXXFLAGS) \ $(GLIB_CFLAGS) \ $(GIO_UNIX_CFLAGS) \ $(XCB_CFLAGS) test_qt5_greeter_CFLAGS = $(common_qt_cflags) +test_qt6_greeter_CFLAGS = $(common_qt_cflags) common_qt_cxxflags = \ -fPIC \ - -DQT_DISABLE_DEPRECATED_BEFORE="QT_VERSION_CHECK(4, 0, 0)" \ -I$(top_srcdir)/liblightdm-qt \ $(GLIB_CFLAGS) test_qt5_greeter_CXXFLAGS = \ $(common_qt_cxxflags) \ + -DQT_DISABLE_DEPRECATED_BEFORE="QT_VERSION_CHECK(4, 0, 0)" \ $(LIBLIGHTDM_QT5_CFLAGS) +test_qt6_greeter_CXXFLAGS = \ + $(common_qt_cxxflags) \ + -DQT_DISABLE_DEPRECATED_BEFORE="QT_VERSION_CHECK(5, 0, 0)" \ + $(LIBLIGHTDM_QT6_CFLAGS) common_qt_ldadd = \ -L$(top_builddir)/liblightdm-gobject \ -llightdm-gobject-1 \ @@ -167,6 +180,10 @@ test_qt5_greeter_LDADD = \ $(common_qt_ldadd) \ -llightdm-qt5-3 \ $(LIBLIGHTDM_QT5_LIBS) +test_qt6_greeter_LDADD = \ + $(common_qt_ldadd) \ + -llightdm-qt6-3 \ + $(LIBLIGHTDM_QT6_LIBS) test_session_SOURCES = test-session.c status.c status.h test_session_CFLAGS = \ @@ -212,7 +229,8 @@ vnc_client_LDADD = \ $(GIO_UNIX_LIBS) CLEANFILES = \ - test-qt5-greeter_moc5.cpp + test-qt5-greeter_moc5.cpp \ + test-qt6-greeter_moc6.cpp # Support pretty printing MOC AM_V_MOC5 = $(am__v_MOC5_$(V)) diff --git a/tests/src/test-qt-greeter.cpp b/tests/src/test-qt-greeter.cpp index e95afa4f9..325739b2e 100644 --- a/tests/src/test-qt-greeter.cpp +++ b/tests/src/test-qt-greeter.cpp @@ -34,12 +34,12 @@ TestGreeter::TestGreeter () void TestGreeter::showMessage (QString text, QLightDM::Greeter::MessageType type) { - status_notify ("%s SHOW-MESSAGE TEXT=\"%s\"", greeter_id, text.toAscii ().constData ()); + status_notify ("%s SHOW-MESSAGE TEXT=\"%s\"", greeter_id, text.toLatin1 ().constData ()); } void TestGreeter::showPrompt (QString text, QLightDM::Greeter::PromptType type) { - status_notify ("%s SHOW-PROMPT TEXT=\"%s\"", greeter_id, text.toAscii ().constData ()); + status_notify ("%s SHOW-PROMPT TEXT=\"%s\"", greeter_id, text.toLatin1 ().constData ()); } void TestGreeter::authenticationComplete () @@ -47,7 +47,7 @@ void TestGreeter::authenticationComplete () if (authenticationUser () != "") status_notify ("%s AUTHENTICATION-COMPLETE USERNAME=%s AUTHENTICATED=%s", greeter_id, - authenticationUser ().toAscii ().constData (), isAuthenticated () ? "TRUE" : "FALSE"); + authenticationUser ().toLatin1 ().constData (), isAuthenticated () ? "TRUE" : "FALSE"); else status_notify ("%s AUTHENTICATION-COMPLETE AUTHENTICATED=%s", greeter_id, isAuthenticated () ? "TRUE" : "FALSE"); } @@ -59,7 +59,7 @@ void TestGreeter::autologinTimerExpired () void TestGreeter::printHints () { if (selectUserHint() != "") - status_notify ("%s SELECT-USER-HINT USERNAME=%s", greeter_id, greeter->selectUserHint ().toAscii ().constData ()); + status_notify ("%s SELECT-USER-HINT USERNAME=%s", greeter_id, greeter->selectUserHint ().toLatin1 ().constData ()); if (selectGuestHint()) status_notify ("%s SELECT-GUEST-HINT", greeter_id); if (lockHint()) @@ -73,11 +73,11 @@ void TestGreeter::printHints () if (!showRemoteLoginHint ()) status_notify ("%s SHOW-REMOTE-LOGIN-HINT=FALSE", greeter_id); if (autologinUserHint () != "") - status_notify ("%s AUTOLOGIN-USER-HINT=%s", greeter_id, autologinUserHint ().toAscii ().constData ()); + status_notify ("%s AUTOLOGIN-USER-HINT=%s", greeter_id, autologinUserHint ().toLatin1 ().constData ()); if (autologinGuestHint ()) status_notify ("%s AUTOLOGIN-GUEST-HINT", greeter_id); if (autologinSessionHint () != "") - status_notify ("%s AUTOLOGIN-SESSION-HINT=%s", greeter_id, autologinSessionHint ().toAscii ().constData ()); + status_notify ("%s AUTOLOGIN-SESSION-HINT=%s", greeter_id, autologinSessionHint ().toLatin1 ().constData ()); if (autologinTimeoutHint () != 0) status_notify ("%s AUTOLOGIN-TIMEOUT-HINT=%d", greeter_id, autologinTimeoutHint ()); } diff --git a/tests/test-autologin-guest-timeout-qt6 b/tests/test-autologin-guest-timeout-qt6 new file mode 100755 index 000000000..64e43240e --- /dev/null +++ b/tests/test-autologin-guest-timeout-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner autologin-guest-timeout test-qt6-greeter diff --git a/tests/test-autologin-session-timeout-qt6 b/tests/test-autologin-session-timeout-qt6 new file mode 100755 index 000000000..4d1254cab --- /dev/null +++ b/tests/test-autologin-session-timeout-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner autologin-session-timeout test-qt6-greeter diff --git a/tests/test-autologin-timeout-qt6 b/tests/test-autologin-timeout-qt6 new file mode 100755 index 000000000..6c011f503 --- /dev/null +++ b/tests/test-autologin-timeout-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner autologin-timeout test-qt6-greeter diff --git a/tests/test-cancel-authentication-qt6 b/tests/test-cancel-authentication-qt6 new file mode 100755 index 000000000..3c8271ae0 --- /dev/null +++ b/tests/test-cancel-authentication-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner cancel-authentication test-qt6-greeter diff --git a/tests/test-login-guest-disabled-qt6 b/tests/test-login-guest-disabled-qt6 new file mode 100755 index 000000000..239603cff --- /dev/null +++ b/tests/test-login-guest-disabled-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-guest-disabled test-qt6-greeter diff --git a/tests/test-login-guest-fail-setup-script-qt6 b/tests/test-login-guest-fail-setup-script-qt6 new file mode 100755 index 000000000..7ab7f3859 --- /dev/null +++ b/tests/test-login-guest-fail-setup-script-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-guest-fail-setup-script test-qt6-greeter diff --git a/tests/test-login-guest-logout-qt6 b/tests/test-login-guest-logout-qt6 new file mode 100755 index 000000000..352384515 --- /dev/null +++ b/tests/test-login-guest-logout-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-guest-logout test-qt6-greeter diff --git a/tests/test-login-guest-no-setup-script-qt6 b/tests/test-login-guest-no-setup-script-qt6 new file mode 100755 index 000000000..b9457b91f --- /dev/null +++ b/tests/test-login-guest-no-setup-script-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-guest-no-setup-script test-qt6-greeter diff --git a/tests/test-login-guest-pick-session-qt6 b/tests/test-login-guest-pick-session-qt6 new file mode 100755 index 000000000..2fbb54fe2 --- /dev/null +++ b/tests/test-login-guest-pick-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-guest-pick-session test-qt6-greeter diff --git a/tests/test-login-guest-qt6 b/tests/test-login-guest-qt6 new file mode 100755 index 000000000..f7bd5333f --- /dev/null +++ b/tests/test-login-guest-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-guest test-qt6-greeter diff --git a/tests/test-login-info-prompt-qt6 b/tests/test-login-info-prompt-qt6 new file mode 100755 index 000000000..f729e405d --- /dev/null +++ b/tests/test-login-info-prompt-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-info-prompt test-qt6-greeter diff --git a/tests/test-login-invalid-session-qt6 b/tests/test-login-invalid-session-qt6 new file mode 100755 index 000000000..399a58fe5 --- /dev/null +++ b/tests/test-login-invalid-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-invalid-session test-qt6-greeter diff --git a/tests/test-login-invalid-user-qt6 b/tests/test-login-invalid-user-qt6 new file mode 100755 index 000000000..3d8f2c040 --- /dev/null +++ b/tests/test-login-invalid-user-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-invalid-user test-qt6-greeter diff --git a/tests/test-login-logout-qt6 b/tests/test-login-logout-qt6 new file mode 100755 index 000000000..1e526fef3 --- /dev/null +++ b/tests/test-login-logout-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-logout test-qt6-greeter diff --git a/tests/test-login-long-password-qt6 b/tests/test-login-long-password-qt6 new file mode 100755 index 000000000..632b44978 --- /dev/null +++ b/tests/test-login-long-password-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-long-password test-qt6-greeter diff --git a/tests/test-login-long-username-qt6 b/tests/test-login-long-username-qt6 new file mode 100755 index 000000000..e8cf0aba8 --- /dev/null +++ b/tests/test-login-long-username-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-long-username test-qt6-greeter diff --git a/tests/test-login-manual-previous-session-qt6 b/tests/test-login-manual-previous-session-qt6 new file mode 100755 index 000000000..0ef2e928f --- /dev/null +++ b/tests/test-login-manual-previous-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-manual-previous-session test-qt6-greeter diff --git a/tests/test-login-manual-qt6 b/tests/test-login-manual-qt6 new file mode 100755 index 000000000..4e82738ec --- /dev/null +++ b/tests/test-login-manual-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-manual test-qt6-greeter diff --git a/tests/test-login-manual-remember-session-qt6 b/tests/test-login-manual-remember-session-qt6 new file mode 100755 index 000000000..11d2ce5d3 --- /dev/null +++ b/tests/test-login-manual-remember-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-manual-remember-session test-qt6-greeter diff --git a/tests/test-login-multi-info-prompt-qt6 b/tests/test-login-multi-info-prompt-qt6 new file mode 100755 index 000000000..f3b9c191e --- /dev/null +++ b/tests/test-login-multi-info-prompt-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-multi-info-prompt test-qt6-greeter diff --git a/tests/test-login-new-authtok-qt6 b/tests/test-login-new-authtok-qt6 new file mode 100755 index 000000000..c98ea5f88 --- /dev/null +++ b/tests/test-login-new-authtok-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-new-authtok test-qt6-greeter diff --git a/tests/test-login-no-password-qt6 b/tests/test-login-no-password-qt6 new file mode 100755 index 000000000..cc74fc599 --- /dev/null +++ b/tests/test-login-no-password-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-no-password test-qt6-greeter diff --git a/tests/test-login-pick-session-qt6 b/tests/test-login-pick-session-qt6 new file mode 100755 index 000000000..d60f7a088 --- /dev/null +++ b/tests/test-login-pick-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-pick-session test-qt6-greeter diff --git a/tests/test-login-previous-session-qt6 b/tests/test-login-previous-session-qt6 new file mode 100755 index 000000000..34b7a55be --- /dev/null +++ b/tests/test-login-previous-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-previous-session test-qt6-greeter diff --git a/tests/test-login-qt6 b/tests/test-login-qt6 new file mode 100755 index 000000000..730087d34 --- /dev/null +++ b/tests/test-login-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login test-qt6-greeter diff --git a/tests/test-login-remember-session-qt6 b/tests/test-login-remember-session-qt6 new file mode 100755 index 000000000..636ebf09b --- /dev/null +++ b/tests/test-login-remember-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-remember-session test-qt6-greeter diff --git a/tests/test-login-remote-session-qt6 b/tests/test-login-remote-session-qt6 new file mode 100755 index 000000000..31684d528 --- /dev/null +++ b/tests/test-login-remote-session-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-remote-session test-qt6-greeter diff --git a/tests/test-login-two-factor-qt6 b/tests/test-login-two-factor-qt6 new file mode 100755 index 000000000..ab949bb56 --- /dev/null +++ b/tests/test-login-two-factor-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-two-factor test-qt6-greeter diff --git a/tests/test-login-wrong-password-qt6 b/tests/test-login-wrong-password-qt6 new file mode 100755 index 000000000..34693eebc --- /dev/null +++ b/tests/test-login-wrong-password-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner login-wrong-password test-qt6-greeter diff --git a/tests/test-power-qt6 b/tests/test-power-qt6 new file mode 100755 index 000000000..7536b5610 --- /dev/null +++ b/tests/test-power-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner power test-qt6-greeter diff --git a/tests/test-sessions-qt6 b/tests/test-sessions-qt6 new file mode 100755 index 000000000..2ff4b8ae4 --- /dev/null +++ b/tests/test-sessions-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner sessions test-qt6-greeter diff --git a/tests/test-users-qt6 b/tests/test-users-qt6 new file mode 100755 index 000000000..da880c259 --- /dev/null +++ b/tests/test-users-qt6 @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner users test-qt6-greeter From 6fdda91b34cbc5a3402b099e9db082cc554ed5dd Mon Sep 17 00:00:00 2001 From: Anton Golubev Date: Wed, 7 Aug 2024 08:44:12 +0300 Subject: [PATCH 3/3] Add packages for the Qt6 library to CI --- .github/workflows/test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index fbe32f18f..c1cf1db74 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -25,12 +25,12 @@ jobs: if: matrix.image.name == 'ubuntu' run: | apt-get update - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends dbus gtk-doc-tools intltool libaudit-dev libgcrypt20-dev libgirepository1.0-dev libglib2.0-dev libpam0g-dev libtool libxcb1-dev libxdmcp-dev libxklavier-dev python3 python3-gi python-is-python3 qtbase5-dev valac yelp-tools + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends dbus gtk-doc-tools intltool libaudit-dev libgcrypt20-dev libgirepository1.0-dev libglib2.0-dev libpam0g-dev libtool libxcb1-dev libxdmcp-dev libxklavier-dev python3 python3-gi python-is-python3 qtbase5-dev qt6-base-dev valac yelp-tools - name: Install dependencies (Fedora) if: matrix.image.name == 'fedora' run: | - dnf install -y audit-libs-devel dbus-daemon gcc gcc-c++ gobject-introspection-devel glib2-devel gtk-doc intltool libgcrypt-devel libtool libxcb-devel libxklavier-devel libXdmcp-devel make pam-devel python3-gobject qt5-qtbase-devel redhat-rpm-config vala yelp-tools + dnf install -y audit-libs-devel dbus-daemon gcc gcc-c++ gobject-introspection-devel glib2-devel gtk-doc intltool libgcrypt-devel libtool libxcb-devel libxklavier-devel libXdmcp-devel make pam-devel python3-gobject qt5-qtbase-devel qt6-qtbase-devel redhat-rpm-config vala yelp-tools - name: Build and test run: |