Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-kservice for openSUSE:Factory 
checked in at 2026-10-11 15:15:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-kservice (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-kservice.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-kservice"

Sun Oct 11 15:15:51 2026 rev:33 rq:1383954 version:6.31.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-kservice/kf6-kservice.changes        
2026-09-11 18:02:51.147648718 +0200
+++ /work/SRC/openSUSE:Factory/.kf6-kservice.new.3698736/kf6-kservice.changes   
2026-10-11 15:18:35.997941838 +0200
@@ -1,0 +2,13 @@
+Wed Oct  7 06:47:36 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.31.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/6/6.31.0
+- Changes since 6.30.0:
+  * Update dependency version to 6.31.0
+  * Use ECMInstalledLibraryCheck
+  * Keep the shortest inheritance level when merging duplicate offers
+  * Update version to 6.31.0
+
+-------------------------------------------------------------------

Old:
----
  kservice-6.30.0.tar.xz
  kservice-6.30.0.tar.xz.sig

New:
----
  kservice-6.31.0.tar.xz
  kservice-6.31.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kf6-kservice.spec ++++++
--- /var/tmp/diff_new_pack.H2y3pu/_old  2026-10-11 15:18:36.984983034 +0200
+++ /var/tmp/diff_new_pack.H2y3pu/_new  2026-10-11 15:18:36.986983118 +0200
@@ -19,11 +19,11 @@
 %define qt6_version 6.9.0
 
 %define rname kservice
-# Full KF6 version (e.g. 6.30.0)
+# Full KF6 version (e.g. 6.31.0)
 %{!?_kf6_version: %global _kf6_version %{version}}
 %bcond_without released
 Name:           kf6-kservice
-Version:        6.30.0
+Version:        6.31.0
 Release:        0
 Summary:        Plugin framework for desktop services
 License:        LGPL-2.1-or-later


++++++ kservice-6.30.0.tar.xz -> kservice-6.31.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/.kde-ci.yml 
new/kservice-6.31.0/.kde-ci.yml
--- old/kservice-6.30.0/.kde-ci.yml     2026-09-04 13:40:46.000000000 +0200
+++ new/kservice-6.31.0/.kde-ci.yml     2026-10-02 15:21:29.000000000 +0200
@@ -14,3 +14,4 @@
  test-before-installing: True
  require-passing-tests-on: ['@all']
  enable-lsan: True
+ run-installed-library-check-on: ['@all']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/CMakeLists.txt 
new/kservice-6.31.0/CMakeLists.txt
--- old/kservice-6.30.0/CMakeLists.txt  2026-09-04 13:40:46.000000000 +0200
+++ new/kservice-6.31.0/CMakeLists.txt  2026-10-02 15:21:29.000000000 +0200
@@ -1,7 +1,7 @@
-cmake_minimum_required(VERSION 3.29)
+cmake_minimum_required(VERSION 3.30)
 
-set(KF_VERSION "6.30.0") # handled by release scripts
-set(KF_DEP_VERSION "6.30.0") # handled by release scripts
+set(KF_VERSION "6.31.0") # handled by release scripts
+set(KF_DEP_VERSION "6.31.0") # handled by release scripts
 project(KService VERSION ${KF_VERSION})
 
 # Disallow in-source build
@@ -11,7 +11,7 @@
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 6.30.0  NO_MODULE)
+find_package(ECM 6.31.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -27,6 +27,7 @@
 include(ECMGenerateExportHeader)
 include(ECMDeprecationSettings)
 include(ECMGenerateQDoc)
+include(ECMInstalledLibraryCheck)
 
 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of 
deprecated API excluded from the build [default=0].")
 
@@ -38,7 +39,7 @@
                   SOVERSION 6)
 
 # Dependencies
-set(REQUIRED_QT_VERSION 6.9.0)
+set(REQUIRED_QT_VERSION 6.10.0)
 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Xml)
 
 find_package(KF6Config ${KF_DEP_VERSION} CONFIG REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/autotests/kmimeassociationstest.cpp 
new/kservice-6.31.0/autotests/kmimeassociationstest.cpp
--- old/kservice-6.30.0/autotests/kmimeassociationstest.cpp     2026-09-04 
13:40:46.000000000 +0200
+++ new/kservice-6.31.0/autotests/kmimeassociationstest.cpp     2026-10-02 
15:21:29.000000000 +0200
@@ -25,6 +25,14 @@
 
 using namespace Qt::StringLiterals;
 
+// Until https://codereview.qt-project.org/c/qt/qtbase/+/765860, QMimeDatabase 
applied the implicit
+// "text/* is a subclass of text/plain" rule from the spec only to mimetypes 
without any other parent.
+static bool derivesDirectlyFromTextPlain(const QString &mimeName)
+{
+    QMimeDatabase db;
+    return 
db.mimeTypeForName(mimeName).parentMimeTypes().contains(u"text/plain"_s);
+}
+
 // We need a factory that returns the same KService::Ptr every time it's asked 
for a given service.
 // Otherwise the changes to the service's serviceTypes by 
KMimeAssociationsTest have no effect
 class FakeServiceFactory : public KServiceFactory
@@ -246,6 +254,16 @@
         removedApps[QStringLiteral("image/jpeg")] << 
QStringLiteral("firefox.desktop");
         removedApps[QStringLiteral("text/html")] << 
QStringLiteral("gvim.desktop") << QStringLiteral("abiword.desktop");
 
+        // shared-mime-info >= 2.5 no longer spells out that text/* types 
inherit text/plain, it
+        // relies on the implicit rule from the spec. Without that rule these 
two only reach the
+        // text/plain offers through a longer parent chain, which ranks those 
offers too low.
+        if (!derivesDirectlyFromTextPlain(u"text/x-csrc"_s)) {
+            preferredApps.remove(QStringLiteral("text/x-csrc"));
+        }
+        if (!derivesDirectlyFromTextPlain(u"text/x-python"_s)) {
+            preferredApps.remove(QStringLiteral("text/x-python"));
+        }
+
         // Clean-up non-existing apps
         removeNonExisting(preferredApps);
         removeNonExisting(removedApps);
@@ -402,6 +420,11 @@
 
     void testMultipleInheritance()
     {
+        // See the comment in initTestCase(). With shared-mime-info >= 2.5, 
application/x-shellscript
+        // only declares application/x-executable, so QMimeDatabase doesn't 
let it reach text/plain.
+        if (!derivesDirectlyFromTextPlain(u"application/x-shellscript"_s)) {
+            QSKIP("QMimeDatabase doesn't apply the implicit text/plain 
inheritance rule");
+        }
         // application/x-shellscript inherits from both text/plain and 
application/x-executable
         KService::List offers = 
KApplicationTrader::queryByMimeType(QStringLiteral("application/x-shellscript"));
         QVERIFY(offerListHasService(offers, fakeTextApplication, true));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/po/ca@valencia/kservice6.po 
new/kservice-6.31.0/po/ca@valencia/kservice6.po
--- old/kservice-6.30.0/po/ca@valencia/kservice6.po     2026-09-04 
13:40:46.000000000 +0200
+++ new/kservice-6.31.0/po/ca@valencia/kservice6.po     2026-10-02 
15:21:29.000000000 +0200
@@ -3,10 +3,10 @@
 # This file is distributed under the license LGPL version 2.1 or
 # version 3 or later versions approved by the membership of KDE e.V.
 #
-# SPDX-FileCopyrightText: 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2007 Sebastià Pla i Sanz <[email protected]>
-# SPDX-FileCopyrightText: 2003, 2006, 2011, 2012, 2013, 2014, 2015, 2020, 2022 
Antoni Bella Pérez <[email protected]>
-# SPDX-FileCopyrightText: 2004, 2005, 2007 Albert Astals Cid <[email protected]>
-# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 
2015, 2016, 2021 Josep M. Ferrer <[email protected]>
+# SPDX-FileCopyrightText: 1998-2007 Sebastià Pla i Sanz <[email protected]>
+# SPDX-FileCopyrightText: 2003, 2006, 2011-2015, 2020, 2022 Antoni Bella Pérez 
<[email protected]>
+# SPDX-FileCopyrightText: 2004-2005, 2007 Albert Astals Cid <[email protected]>
+# SPDX-FileCopyrightText: 2007-2016, 2021 Josep M. Ferrer <[email protected]>
 # SPDX-FileCopyrightText: 2009 Robert Millan <[email protected]>
 # SPDX-FileCopyrightText: 2010 Orestes Mas <[email protected]>
 # SPDX-FileCopyrightText: 2019 Empar Montoro Martín <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kservice-6.30.0/po/ru/docs/kbuildsycoca6/man-kbuildsycoca6.8.docbook 
new/kservice-6.31.0/po/ru/docs/kbuildsycoca6/man-kbuildsycoca6.8.docbook
--- old/kservice-6.30.0/po/ru/docs/kbuildsycoca6/man-kbuildsycoca6.8.docbook    
1970-01-01 01:00:00.000000000 +0100
+++ new/kservice-6.31.0/po/ru/docs/kbuildsycoca6/man-kbuildsycoca6.8.docbook    
2026-10-02 15:21:29.000000000 +0200
@@ -0,0 +1,284 @@
+<?xml version="1.0" ?>
+<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant 
V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY % Russian "INCLUDE"
+><!-- change language only here -->
+]>
+
+<refentry lang="&language;">
+
+<refentryinfo>
+<title
+>&kde-frameworks;: компонент «KService»</title>
+<author
+><firstname
+>Darian</firstname
+> <surname
+>Lanx</surname
+> <contrib
+>Автор первой версии документации.</contrib>
+<affiliation>
+<address
+><email
+>[email protected]</email
+></address>
+</affiliation>
+</author>
+<author
+><firstname
+>Alex</firstname
+> <surname
+>Merry</surname
+> <contrib
+>Обновление документации для &kf5-full;.</contrib>
+<affiliation>
+<address
+><email
+>[email protected]</email
+></address>
+</affiliation>
+</author>
+
+<date
+>17 сентября 2015 г.</date>
+<releaseinfo
+>Frameworks 5.15</releaseinfo>
+<productname
+>KDE Frameworks</productname>
+
+</refentryinfo>
+
+<refmeta>
+<refentrytitle
+><command
+>kbuildsycoca6</command
+></refentrytitle>
+<manvolnum
+>8</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname
+><command
+>kbuildsycoca6</command
+></refname>
+<refpurpose
+>Повторное создание кэша системной конфигурации файлов .desktop 
KService</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<title
+>Обзор</title>
+
+<cmdsynopsis
+><command
+>kbuildsycoca6</command
+> <group choice="opt" rep="repeat"
+><replaceable class="option"
+>параметры</replaceable
+></group
+> </cmdsynopsis>
+
+</refsynopsisdiv>
+
+
+
+<refsect1>
+<title
+>Описание</title>
+
+<para
+><command
+>kbuildsycoca6</command
+> создаёт двоичный кэш данных, хранящихся в файлах <literal role="extension"
+>.desktop</literal
+> и файлах <literal role="extension"
+>.xml</literal
+> типа &MIME;, которые каркас KService использует для поиска модулей, 
приложений и других служб. </para>
+
+<para
+>Библиотека KService использует эту базу данных, чтобы эффективно 
предоставлять запрашиваемые сведения. </para>
+
+<para
+>Обычно пользователям не требуется запускать это приложение напрямую; KService 
запустит его при необходимости, когда изменяется любой из файлов, данные 
которых кэшируются. </para>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Параметры</title>
+<variablelist>
+
+<varlistentry>
+<term
+><option
+>--global</option
+></term>
+<listitem>
+<para
+>Игнорировать любые файлы, заданные пользователем (в <varname
+>XDG_DATA_HOME</varname
+>). В настоящее время поддерживается только в системах &UNIX;.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>--noincremental</option
+></term>
+<listitem>
+<para
+>Вместо использования существующего кэша и обновления только изменившихся или 
добавленных сведений начать с пустого кэша. Игнорируется, если задан параметр 
<option
+>--global</option
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>--menutest</option
+></term>
+<listitem>
+<para
+>Проверить создание базы данных меню приложений. Кэш при этом не 
создаётся.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>--testmode</option
+></term>
+<listitem>
+<para
+>Ввести QStandardPaths в тестовый режим, чтобы не влиять на пользовательские 
данные. Предназначено только для модульного тестирования.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>--track <replaceable
+>menu-id</replaceable
+></option
+></term>
+<listitem>
+<para
+>Отслеживать идентификатор меню для отладки.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>--author</option
+></term>
+<listitem>
+<para
+>Показать сведения об авторах. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>--license</option
+></term>
+<listitem>
+<para
+>Показать сведения о лицензии. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-h, --help</option
+></term>
+<listitem>
+<para
+>Показать краткую справку о параметрах. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-v , --version</option
+></term>
+<listitem>
+<para
+>Показать сведения о версии. </para>
+</listitem>
+</varlistentry>
+
+</variablelist>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Файлы</title>
+<variablelist>
+<varlistentry>
+<term
+><filename
+><varname
+>cachedir</varname
+>/ksycoca6_[lang]_[sha1-of-dirs]</filename
+></term>
+<listitem>
+<para
+>Кэш KService, создаваемый командой <command
+>kbuildsycoca6</command
+>. В системах &UNIX; переменная <varname
+>cachedir</varname
+> обычно имеет значение <filename class="directory"
+><envar
+>XDG_CACHE_HOME</envar
+></filename
+>.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Смотрите также</title>
+<para
+><citerefentry
+><refentrytitle
+>kded5</refentrytitle
+><manvolnum
+>8</manvolnum
+></citerefentry
+>, <citerefentry
+><refentrytitle
+>kdeinit5</refentrytitle
+><manvolnum
+>8</manvolnum
+></citerefentry
+> </para>
+</refsect1>
+
+
+
+<refsect1>
+<title
+>Ошибки</title>
+<para
+>Используйте <ulink url="https://bugs.kde.org";
+>систему отслеживания ошибок &kde;</ulink
+> для отправки сообщений об ошибках.</para>
+</refsect1>
+
+</refentry>
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/po/ug/kservice6.po 
new/kservice-6.31.0/po/ug/kservice6.po
--- old/kservice-6.30.0/po/ug/kservice6.po      2026-09-04 13:40:46.000000000 
+0200
+++ new/kservice-6.31.0/po/ug/kservice6.po      2026-10-02 15:21:29.000000000 
+0200
@@ -8,9 +8,9 @@
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-11-17 11:49+0000\n"
-"PO-Revision-Date: 2026-05-31 19:42-0400\n"
+"PO-Revision-Date: 2026-09-23 06:56+0900\n"
 "Last-Translator: Abduqadir Abliz <[email protected]>\n"
-"Language-Team: Uyghur Computer Science Association <[email protected]>\n"
+"Language-Team: Uyghur <[email protected]>\n"
 "Language: ug\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@
 #, kde-format
 msgctxt "application name"
 msgid "KBuildSycoca"
-msgstr "KBuildSycoca"
+msgstr ""
 
 #: kbuildsycoca/kbuildsycoca_main.cpp:92
 #, kde-format
@@ -50,7 +50,7 @@
 #, kde-format
 msgctxt "@info:credit"
 msgid "David Faure"
-msgstr "David Faure"
+msgstr ""
 
 #: kbuildsycoca/kbuildsycoca_main.cpp:95 kbuildsycoca/kbuildsycoca_main.cpp:96
 #, kde-format
@@ -62,7 +62,7 @@
 #, kde-format
 msgctxt "@info:credit"
 msgid "Waldo Bastian"
-msgstr "Waldo Bastian"
+msgstr ""
 
 #: kbuildsycoca/kbuildsycoca_main.cpp:102
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/src/CMakeLists.txt 
new/kservice-6.31.0/src/CMakeLists.txt
--- old/kservice-6.30.0/src/CMakeLists.txt      2026-09-04 13:40:46.000000000 
+0200
+++ new/kservice-6.31.0/src/CMakeLists.txt      2026-10-02 15:21:29.000000000 
+0200
@@ -89,7 +89,7 @@
 
 qt_add_resources(KF6Service "fallback-menu" PREFIX "/org.kde.kservice" FILES 
fallback-applications.menu OUTPUT_TARGETS KService_RESOURCE_TARGETS)
 
-ecm_generate_headers(KService_HEADERS
+ecm_generate_headers(KService_CamelCase_HEADERS
   HEADER_NAMES
   KSycoca
   KSycocaEntry
@@ -97,7 +97,7 @@
 
   RELATIVE sycoca REQUIRED_HEADERS KService_HEADERS
 )
-ecm_generate_headers(KService_HEADERS
+ecm_generate_headers(KService_CamelCase_HEADERS
   HEADER_NAMES
   KApplicationTrader
   KService
@@ -114,6 +114,7 @@
 install(FILES
    "${CMAKE_CURRENT_BINARY_DIR}/kservice_export.h"
    ${KService_HEADERS}
+   ${KService_CamelCase_HEADERS}
    ${CMAKE_CURRENT_SOURCE_DIR}/services/kserviceconversioncheck_p.h # helper 
header included by kservice.h
    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KService COMPONENT Devel
 )
@@ -124,4 +125,17 @@
     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
 )
 
+ecm_add_installed_library_check(KF6Service
+    PACKAGE_NAME "KF6Service"
+    PACKAGE_TARGET_NAMESPACE "KF6::"
+)
+
+ecm_installed_library_check_include_strings(KF6Service
+    HEADERS ${KService_CamelCase_HEADERS}
+)
+
+ecm_installed_library_check_version_preprocessor_macros(KF6Service
+    PREFIX KSERVICE
+)
+
 add_subdirectory(kbuildsycoca)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kservice-6.30.0/src/sycoca/kmimeassociations.cpp 
new/kservice-6.31.0/src/sycoca/kmimeassociations.cpp
--- old/kservice-6.30.0/src/sycoca/kmimeassociations.cpp        2026-09-04 
13:40:46.000000000 +0200
+++ new/kservice-6.31.0/src/sycoca/kmimeassociations.cpp        2026-10-02 
15:21:29.000000000 +0200
@@ -158,12 +158,15 @@
         offerSet.insert(service);
     } else {
         const int initPref = offer.preference();
+        const int level = offer.mimeTypeInheritanceLevel();
         // qDebug() << service->entryPath() << "already in" << serviceType;
-        // This happens when mimeapps.list mentions a service (to make it 
preferred)
-        // Update initialPreference to std::max(existing offer, new offer)
+        // This happens when mimeapps.list mentions a service (to make it 
preferred),
+        // and when the service is reachable via several parent MIME types.
+        // Keep the highest preference and the shortest inheritance distance.
         for (KServiceOffer &servOffer : data.offers) {
             if (servOffer.service() == service) { // we can compare 
KService::Ptrs because they are from the memory hash
                 servOffer.setPreference(std::max(servOffer.preference(), 
initPref));
+                
servOffer.setMimeTypeInheritanceLevel(std::min(servOffer.mimeTypeInheritanceLevel(),
 level));
             }
         }
     }

Reply via email to