Hello community, here is the log from the commit of package ki18n for openSUSE:Factory checked in at 2019-04-19 21:22:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ki18n (Old) and /work/SRC/openSUSE:Factory/.ki18n.new.5536 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ki18n" Fri Apr 19 21:22:40 2019 rev:69 rq:695225 version:5.57.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ki18n/ki18n.changes 2019-03-21 09:45:58.906901943 +0100 +++ /work/SRC/openSUSE:Factory/.ki18n.new.5536/ki18n.changes 2019-04-19 21:22:54.803761839 +0200 @@ -1,0 +2,15 @@ +Sun Apr 14 20:21:43 UTC 2019 - [email protected] + +- Update to 5.57.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.57.0.php +- Changes since 5.56.0: + * Report human-readable error if Qt5Widgets is required but is not found + * Add missing & + * [i18n] compile without foreach + * Fix compile without deprecated methods +- Refreshed patches: + * fallbackLang.diff + +------------------------------------------------------------------- Old: ---- ki18n-5.56.0.tar.xz New: ---- ki18n-5.57.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ki18n.spec ++++++ --- /var/tmp/diff_new_pack.Ku3qCk/_old 2019-04-19 21:22:55.319762496 +0200 +++ /var/tmp/diff_new_pack.Ku3qCk/_new 2019-04-19 21:22:55.323762500 +0200 @@ -17,14 +17,14 @@ %define lname libKF5I18n5 -%define _tar_path 5.56 +%define _tar_path 5.57 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: ki18n -Version: 5.56.0 +Version: 5.57.0 Release: 0 Summary: KDE Gettext-based UI text internationalization License: LGPL-2.1-or-later ++++++ fallbackLang.diff ++++++ --- /var/tmp/diff_new_pack.Ku3qCk/_old 2019-04-19 21:22:55.347762531 +0200 +++ /var/tmp/diff_new_pack.Ku3qCk/_new 2019-04-19 21:22:55.347762531 +0200 @@ -1,20 +1,19 @@ -diff --git a/src/kcatalog.cpp b/src/kcatalog.cpp -index 8b8feb3..1ccc28b 100644 ---- a/src/kcatalog.cpp -+++ b/src/kcatalog.cpp -@@ -118,9 +118,21 @@ KCatalog::~KCatalog() +Index: ki18n-5.56.0git.20190305T182931~c25a541/src/kcatalog.cpp +=================================================================== +--- ki18n-5.56.0git.20190305T182931~c25a541.orig/src/kcatalog.cpp 2019-03-05 18:29:31.000000000 +0100 ++++ ki18n-5.56.0git.20190305T182931~c25a541/src/kcatalog.cpp 2019-03-09 08:53:52.950588453 +0100 +@@ -119,9 +119,21 @@ QString KCatalog::catalogLocaleDir(const QByteArray &domain, const QString &language) { -- QString relpath = QStringLiteral("%1/LC_MESSAGES/%2.mo") + QStringList localeDirs; -+ QString relpath = QStringLiteral("%1/LC_MESSAGES/%2.mo") + QString relpath = QStringLiteral("%1/LC_MESSAGES/%2.mo") .arg(language, QFile::decodeName(domain)); + // Specific SUSE kf5 location ; bundle-lang-bla ; update-translations ; generic + localeDirs << QStringLiteral("/usr/share/locale/kf5/") << QStringLiteral("/usr/share/locale-bundle/kf5/") << QStringLiteral("/usr/share/locale-bundle/") << QStringLiteral("/usr/share/locale-langpack/"); + -+ foreach (const QString &locDir, localeDirs) { ++ for (const QString &locDir: qAsConst(localeDirs)) { + QFile file(locDir + relpath); + if (file.exists()) { + return locDir; @@ -25,13 +24,11 @@ { QMutexLocker lock(&catalogStaticData->mutex); const QString customLocaleDir = catalogStaticData->customCatalogDirs.value(domain); -@@ -153,9 +165,23 @@ QString KCatalog::catalogLocaleDir(const QByteArray &domain, +@@ -158,9 +170,23 @@ QSet<QString> KCatalog::availableCatalogLanguages(const QByteArray &domain_) { QString domain = QFile::decodeName(domain_); - QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, -- QStringLiteral("locale"), -- QStandardPaths::LocateDirectory); + + QStringList localeDirPaths; + QStringList localeDirs; @@ -39,15 +36,15 @@ + // Specific SUSE kf5 location ; bundle-lang-bla ; update-translations ; generic + localeDirs << QStringLiteral("/usr/share/locale/kf5") << QStringLiteral("/usr/share/locale-bundle/kf5") << QStringLiteral("/usr/share/locale-bundle") << QStringLiteral("/usr/share/locale-langpack"); + -+ foreach (const QString &localeDir, localeDirs) { ++ for (const QString &localeDir: qAsConst(localeDirs)) { + QDir locDir(localeDir); + if (locDir.exists()) { + localeDirPaths.append(localeDir); + } + } + QStringList localeFallbackDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, -+ QStringLiteral("locale"), -+ QStandardPaths::LocateDirectory); + QStringLiteral("locale"), + QStandardPaths::LocateDirectory); + localeDirPaths.append(localeFallbackDirPaths); { ++++++ ki18n-5.56.0.tar.xz -> ki18n-5.57.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/.gitignore new/ki18n-5.57.0/.gitignore --- old/ki18n-5.56.0/.gitignore 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/.gitignore 2019-04-07 09:28:26.000000000 +0200 @@ -1 +1,22 @@ +# Ignore the following files +*~ +*.[oa] +*.diff +*.kate-swp +*.kdev4 +.kdev_include_paths +*.kdevelop.pcs +*.moc +*.moc.cpp +*.orig +*.user +.*.swp +.swp.* +Doxyfile +Makefile +avail +random_seed +/build*/ +CMakeLists.txt.user* +*.unc-backup* doc-gen/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/CMakeLists.txt new/ki18n-5.57.0/CMakeLists.txt --- old/ki18n-5.56.0/CMakeLists.txt 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/CMakeLists.txt 2019-04-07 09:28:26.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.56.0") # handled by release scripts +set(KF5_VERSION "5.57.0") # handled by release scripts project(KI18n VERSION ${KF5_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.56.0 NO_MODULE) +find_package(ECM 5.57.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -70,6 +70,8 @@ option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") +add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) +add_definitions(-DQT_NO_FOREACH) if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ki18n_install(po) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/autotests/klocalizedstringtest.cpp new/ki18n-5.57.0/autotests/klocalizedstringtest.cpp --- old/ki18n-5.56.0/autotests/klocalizedstringtest.cpp 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/autotests/klocalizedstringtest.cpp 2019-04-07 09:28:26.000000000 +0200 @@ -100,7 +100,7 @@ qDebug() << "msgfmt(1) not found in path."; return false; } - foreach (const QString &testPoPath, testPoPaths) { + for (const QString &testPoPath : testPoPaths) { int pos_1 = testPoPath.lastIndexOf(QLatin1Char('/')); int pos_2 = testPoPath.lastIndexOf(QLatin1Char('.')); QString domain = testPoPath.mid(pos_1 + 1, pos_2 - pos_1 - 1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/cmake/KF5I18nMacros.cmake.in new/ki18n-5.57.0/cmake/KF5I18nMacros.cmake.in --- old/ki18n-5.56.0/cmake/KF5I18nMacros.cmake.in 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/cmake/KF5I18nMacros.cmake.in 2019-04-07 09:28:26.000000000 +0200 @@ -44,6 +44,10 @@ #create the implementation files from the ui files and add them to the list of sources #usage: KI18N_WRAP_UI(foo_SRCS ${ui_files}) macro (KI18N_WRAP_UI _sources ) + if(NOT TARGET Qt5::uic) + message(FATAL_ERROR "Qt5Widgets should be found before calling ki18n_wrap_ui(). Please add find_package(Qt5Widgets ...)") + endif() + foreach (_current_FILE ${ARGN}) get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/po/id/ki18n5.po new/ki18n-5.57.0/po/id/ki18n5.po --- old/ki18n-5.56.0/po/id/ki18n5.po 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/po/id/ki18n5.po 2019-04-07 09:28:26.000000000 +0200 @@ -16,7 +16,7 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 2.0\n" #. i18n: Decide which string is used to delimit keys in a keyboard diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/po/te/ki18n5.po new/ki18n-5.57.0/po/te/ki18n5.po --- old/ki18n-5.56.0/po/te/ki18n5.po 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/po/te/ki18n5.po 2019-04-07 09:28:26.000000000 +0200 @@ -22,8 +22,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.5\n" -"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " -"4;\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" #. i18n: Decide which string is used to delimit keys in a keyboard #. shortcut (e.g. + in Ctrl+Alt+Tab) in plain text. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/po/zh_CN/ki18n5.po new/ki18n-5.57.0/po/zh_CN/ki18n5.po --- old/ki18n-5.56.0/po/zh_CN/ki18n5.po 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/po/zh_CN/ki18n5.po 2019-04-07 09:28:26.000000000 +0200 @@ -16,7 +16,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2019-01-10 03:03+0100\n" -"PO-Revision-Date: 2019-02-20 23:16\n" +"PO-Revision-Date: 2019-03-07 09:22\n" "Last-Translator: guoyunhe <[email protected]>\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/src/kcatalog.cpp new/ki18n-5.57.0/src/kcatalog.cpp --- old/ki18n-5.56.0/src/kcatalog.cpp 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/src/kcatalog.cpp 2019-04-07 09:28:26.000000000 +0200 @@ -171,10 +171,10 @@ } QSet<QString> availableLanguages; - foreach (const QString &localDirPath, localeDirPaths) { + for (const QString &localDirPath : qAsConst(localeDirPaths)) { QDir localeDir(localDirPath); - QStringList languages = localeDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); - foreach (const QString &language, languages) { + const QStringList languages = localeDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); + for (const QString &language : languages) { QString relPath = QStringLiteral("%1/LC_MESSAGES/%2.mo") .arg(language, domain); if (localeDir.exists(relPath)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/src/klocalizedcontext.cpp new/ki18n-5.57.0/src/klocalizedcontext.cpp --- old/ki18n-5.56.0/src/klocalizedcontext.cpp 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/src/klocalizedcontext.cpp 2019-04-07 09:28:26.000000000 +0200 @@ -120,7 +120,7 @@ } } -static void resolvePlural(KLocalizedString &trMessage, const QVariant param) +static void resolvePlural(KLocalizedString &trMessage, const QVariant ¶m) { trMessage = trMessage.subs(param.toInt()); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/src/klocalizedstring.cpp new/ki18n-5.57.0/src/klocalizedstring.cpp --- old/ki18n-5.56.0/src/klocalizedstring.cpp 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/src/klocalizedstring.cpp 2019-04-07 09:28:26.000000000 +0200 @@ -131,7 +131,8 @@ if (!qenvar.isEmpty()) { QString value = QFile::decodeName(qenvar); if (isList) { - foreach(const QString &v, value.split(QLatin1Char(':'), QString::SkipEmptyParts)) { + const auto listLanguages = value.split(QLatin1Char(':'), QString::SkipEmptyParts); + for (const QString &v : listLanguages) { appendLocaleString(languages, v); } } else { @@ -144,7 +145,7 @@ static void appendLanguagesFromQLocale(QStringList &languages, const QLocale &locale) { const QStringList uiLangs = locale.uiLanguages(); - Q_FOREACH (QString value, uiLangs) { + for (QString value : uiLangs) { // no const ref because of replace() below appendLocaleString(languages, value.replace(QLatin1Char('-'), QLatin1Char('_'))); } } @@ -155,7 +156,7 @@ static QString extractCountry(const QStringList &languages) { QString country; - foreach (const QString &language, languages) { + for (const QString &language : languages) { int pos1 = language.indexOf(QLatin1Char('_')); if (pos1 >= 0) { ++pos1; @@ -343,7 +344,7 @@ KLocalizedStringPrivateStatics::~KLocalizedStringPrivateStatics() { - foreach (const KCatalogPtrHash &languageCatalogs, catalogs) { + for (const KCatalogPtrHash &languageCatalogs : qAsConst(catalogs)) { qDeleteAll(languageCatalogs); } // ktrs is handled by QLibrary. @@ -458,7 +459,7 @@ } // Languages are ordered from highest to lowest priority. - foreach (const QString &testLanguage, languages) { + for (const QString &testLanguage : languages) { // If code language reached, no catalog lookup is needed. if (testLanguage == s->codeLanguage) { return; @@ -1434,7 +1435,7 @@ // Go through possible localized paths by priority of languages, // return first that exists. QString fileName = fileInfo.fileName(); - foreach (const QString &lang, s->languages) { + for (const QString &lang : qAsConst(s->languages)) { QString locFilePath = locDirPath + QLatin1Char('/') + lang + QLatin1Char('/') + fileName; @@ -1497,7 +1498,7 @@ // was found, otherwise the original text was returned as translation. QString translation; QString language; - foreach (const QByteArray &domain, s->qtDomains) { + for (const QByteArray &domain : qAsConst(s->qtDomains)) { if (comment && comment[0]) { // Comment given, go for context call. KLocalizedStringPrivate::translateRaw(domain, s->languages, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-5.56.0/src/kuitmarkup.cpp new/ki18n-5.57.0/src/kuitmarkup.cpp --- old/ki18n-5.56.0/src/kuitmarkup.cpp 2019-03-02 14:41:07.000000000 +0100 +++ new/ki18n-5.57.0/src/kuitmarkup.cpp 2019-04-07 09:28:26.000000000 +0200 @@ -440,7 +440,7 @@ static QString attributeSetKey(const QStringList &attribNames_) { QStringList attribNames = attribNames_; - qSort(attribNames); + std::sort(attribNames.begin(), attribNames.end()); QString key = QL1C('[') + attribNames.join(QL1C(' ')) + QL1C(']'); return key; } @@ -487,8 +487,8 @@ aggText = aggText.relaxSubs(); if (!aggText.isEmpty()) { aggText = aggText.subs(modText); - QStringList attributeOrder = attributeOrders.value(attribKey).value(format); - foreach (const QString &attribName, attributeOrder) { + const QStringList attributeOrder = attributeOrders.value(attribKey).value(format); + for (const QString &attribName : attributeOrder) { aggText = aggText.subs(attributes.value(attribName)); } formattedText = aggText.ignoreMarkup().toString(languages); @@ -561,7 +561,7 @@ } QStringList attribNames = attribNames_; attribNames.removeAll(QString()); - foreach (const QString &attribName, attribNames) { + for (const QString &attribName : qAsConst(attribNames)) { tag.knownAttribs.insert(attribName); } QString attribKey = attributeSetKey(attribNames); @@ -1405,9 +1405,9 @@ // Stream reader will automatically resolve default XML entities, // which is not desired in this case, as the entities are to be // resolved in finalizeVisualText. Convert back into entities. - QString ctext = xml.text().toString(); + const QString ctext = xml.text().toString(); QString nctext; - foreach (const QChar c, ctext) { + for (const QChar c : ctext) { if (s->xmlEntitiesInverse.contains(c)) { const QString entName = s->xmlEntitiesInverse[c]; nctext += QL1C('&') + entName + QL1C(';'); @@ -1442,7 +1442,8 @@ // Collect attribute names and values, and format attribute string. QStringList attribNames, attribValues; - foreach (const QXmlStreamAttribute &xatt, xml.attributes()) { + const auto listAttributes = xml.attributes(); + for (const QXmlStreamAttribute &xatt : listAttributes) { attribNames += xatt.name().toString().toLower(); attribValues += xatt.value().toString(); QChar qc = attribValues.last().indexOf(QL1C('\'')) < 0
