[neon/kde/plasma-workspace/Neon/stable_jammy] debian/patches: drop patch

Carlos De Maine null at kde.org
Sun Jun 9 23:43:41 BST 2024


Git commit e80499b6ffa9c12723a0bf698f24a9b0cda81a7f by Carlos De Maine.
Committed on 09/06/2024 at 22:43.
Pushed by carlosdem into branch 'Neon/stable_jammy'.

drop patch

(cherry picked from commit b6fe8b3369671bca1e38cb4112654daa60bd3055)

Co-authored-by: Carlos De Maine <carlosdemaine at gmail.com>

D  +0    -287  debian/patches/0001_kded_geoip
D  +0    -1    debian/patches/series

https://invent.kde.org/neon/kde/plasma-workspace/-/commit/e80499b6ffa9c12723a0bf698f24a9b0cda81a7f

diff --git a/debian/patches/0001_kded_geoip b/debian/patches/0001_kded_geoip
deleted file mode 100644
index 8aa13e8..0000000
--- a/debian/patches/0001_kded_geoip
+++ /dev/null
@@ -1,287 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8be461e754d1a02c08e21e4e0df573a7e611b27a..49f3a098337f75a3417a9add57c213da95dea819 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -60,7 +60,7 @@ find_package(KPipeWire CONFIG)
- find_package(KF6NetworkManagerQt ${KF6_MIN_VERSION})
- set_package_properties(KF6NetworkManagerQt PROPERTIES DESCRIPTION "Qt wrapper for NetworkManager API"
-                        TYPE OPTIONAL
--                       PURPOSE "Needed by geolocation data engine."
-+                       PURPOSE "Needed by geolocation data engine and location-based time zone changes."
-                       )
- 
- find_package(KF6Kirigami2 ${KF6_MIN_VERSION} CONFIG)
-@@ -390,6 +390,9 @@ add_subdirectory(wallpapers)
- 
- add_subdirectory(kioworkers)
- add_subdirectory(ktimezoned)
-+if(KF6NetworkManagerQt_FOUND)
-+    add_subdirectory(geotimezoned)
-+endif()
- add_subdirectory(menu)
- add_subdirectory(phonon)
- 
-diff --git a/geotimezoned/CMakeLists.txt b/geotimezoned/CMakeLists.txt
-new file mode 100644
-index 0000000000000000000000000000000000000000..eb1ed5cdf13a362160ab3deda98b803857e87ee5
---- /dev/null
-+++ b/geotimezoned/CMakeLists.txt
-@@ -0,0 +1,29 @@
-+# SPDX-License-Identifier: BSD-2-Clause
-+# SPDX-FileCopyrightText: 2023 Kai Uwe Broulik <kde at broulik.de>
-+
-+set(geotimezoned_SRCS
-+    geotimezonemodule.cpp
-+    geotimezonemodule.h
-+)
-+qt_add_dbus_interface(geotimezoned_SRCS org.freedesktop.timedated1.xml timedated_interface)
-+
-+kcoreaddons_add_plugin(geotimezoned
-+    SOURCES
-+    ${geotimezoned_SRCS}
-+    INSTALL_NAMESPACE "kf6/kded"
-+)
-+
-+ecm_qt_declare_logging_category(geotimezoned
-+    HEADER geotimezoned_debug.h
-+    IDENTIFIER GEOTIMEZONED_DEBUG
-+    CATEGORY_NAME org.kde.plasma.geotimezoned
-+    DESCRIPTION "Location-based System Time Zone"
-+)
-+
-+target_link_libraries(geotimezoned
-+    Qt6::DBus
-+    Qt6::Network
-+    KF6::DBusAddons
-+    KF6::CoreAddons
-+    KF6::NetworkManagerQt
-+)
-diff --git a/geotimezoned/geotimezoned.json b/geotimezoned/geotimezoned.json
-new file mode 100644
-index 0000000000000000000000000000000000000000..49cd46c3fefa27686757580e4bacce621d82a954
---- /dev/null
-+++ b/geotimezoned/geotimezoned.json
-@@ -0,0 +1,6 @@
-+{
-+    "KPlugin": {
-+        "Description": "Automatically change the system time zone based on the current location",
-+        "Name": "Location-based System Time Zone"
-+    }
-+}
-diff --git a/geotimezoned/geotimezoned.json.license b/geotimezoned/geotimezoned.json.license
-new file mode 100644
-index 0000000000000000000000000000000000000000..23c18491745c9103d79d5a005eb50ce1e9748fda
---- /dev/null
-+++ b/geotimezoned/geotimezoned.json.license
-@@ -0,0 +1,2 @@
-+SPDX-License-Identifier: CC0-1.0
-+SPDX-FileCopyrightText: none
-diff --git a/geotimezoned/geotimezonemodule.cpp b/geotimezoned/geotimezonemodule.cpp
-new file mode 100644
-index 0000000000000000000000000000000000000000..348e8bbd3cd2cd15f312d85d37e2c6105ab7dedb
---- /dev/null
-+++ b/geotimezoned/geotimezonemodule.cpp
-@@ -0,0 +1,142 @@
-+/*
-+ * SPDX-FileCopyrightText: 2023 Kai Uwe Broulik <ghqalpha at broulik.de>
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "geotimezonemodule.h"
-+
-+#include <KPluginFactory>
-+
-+#include <QDBusPendingCallWatcher>
-+#include <QJsonDocument>
-+#include <QJsonObject>
-+#include <QNetworkAccessManager>
-+#include <QNetworkReply>
-+#include <QScopedPointer>
-+#include <QStandardPaths>
-+
-+#include <NetworkManagerQt/ActiveConnection>
-+#include <NetworkManagerQt/Manager>
-+
-+#include <chrono>
-+
-+#include "geotimezoned_debug.h"
-+#include "timedated_interface.h"
-+
-+K_PLUGIN_CLASS_WITH_JSON(KdedGeoTimeZonePlugin, "geotimezoned.json")
-+
-+// TODO use our own endpoint.
-+static const QUrl s_geoIpEndpoint{QStringLiteral("https://geoip.kde.org/v1/calamares")};
-+
-+static constexpr QLatin1String s_timedateService{"org.freedesktop.timedate1"};
-+static constexpr QLatin1String s_timedatePath{"/org/freedesktop/timedate1"};
-+
-+KdedGeoTimeZonePlugin::KdedGeoTimeZonePlugin(QObject *parent, const QVariantList &args)
-+    : KDEDModule(parent)
-+{
-+    Q_UNUSED(args);
-+
-+    m_nam.setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
-+    m_nam.setStrictTransportSecurityEnabled(true);
-+    m_nam.enableStrictTransportSecurityStore(true, QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1String("/kded/hsts/"));
-+
-+    connect(NetworkManager::notifier(), &NetworkManager::Notifier::connectivityChanged, this, &KdedGeoTimeZonePlugin::checkTimeZone);
-+    connect(NetworkManager::notifier(), &NetworkManager::Notifier::meteredChanged, this, &KdedGeoTimeZonePlugin::checkTimeZone);
-+    connect(NetworkManager::notifier(), &NetworkManager::Notifier::primaryConnectionChanged, this, &KdedGeoTimeZonePlugin::checkTimeZone);
-+
-+    checkTimeZone();
-+}
-+
-+bool KdedGeoTimeZonePlugin::shouldCheckTimeZone() const
-+{
-+    using namespace std::chrono_literals;
-+    if (m_timer.isValid() && std::chrono::milliseconds{m_timer.elapsed()} < 1h) {
-+        return false;
-+    }
-+
-+    const auto connectivity = NetworkManager::connectivity();
-+    if (connectivity == NetworkManager::Connectivity::NoConnectivity || connectivity == NetworkManager::Connectivity::Portal
-+        || connectivity == NetworkManager::Connectivity::Limited) {
-+        return false;
-+    }
-+
-+    const auto metered = NetworkManager::metered();
-+    if (metered == NetworkManager::Device::MeteredStatus::Yes || metered == NetworkManager::Device::MeteredStatus::GuessYes) {
-+        return false;
-+    }
-+
-+    const auto connection = NetworkManager::primaryConnection();
-+    return connection && !connection->vpn();
-+}
-+
-+void KdedGeoTimeZonePlugin::checkTimeZone()
-+{
-+    if (!shouldCheckTimeZone()) {
-+        return;
-+    }
-+
-+    QNetworkRequest request(s_geoIpEndpoint);
-+    request.setPriority(QNetworkRequest::LowPriority);
-+    request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
-+
-+    request.setHeader(QNetworkRequest::UserAgentHeader, QStringLiteral("kded/geotimezoned/") + qApp->applicationVersion());
-+
-+    auto *reply = m_nam.get(request);
-+    connect(reply, &QNetworkReply::finished, this, [this, reply] {
-+        QScopedPointer<QNetworkReply, QScopedPointerDeleteLater> replyPtr(reply);
-+        if (replyPtr->error() != QNetworkReply::NoError) {
-+            qCWarning(GEOTIMEZONED_DEBUG) << "Failed to load time zone from" << replyPtr->url() << replyPtr->errorString();
-+            return;
-+        }
-+
-+        const QJsonObject replyObject = QJsonDocument::fromJson(replyPtr->readAll()).object();
-+        const QString timeZone = replyObject.value(QLatin1String("time_zone")).toString();
-+        if (timeZone.isEmpty()) {
-+            qCWarning(GEOTIMEZONED_DEBUG) << "Received no or an invalid time zone object" << replyObject;
-+            return;
-+        }
-+
-+        qCInfo(GEOTIMEZONED_DEBUG) << "Received time zone" << timeZone;
-+        setGeoTimeZone(timeZone.toLatin1());
-+        m_timer.restart();
-+    });
-+}
-+
-+void KdedGeoTimeZonePlugin::setGeoTimeZone(const QByteArray &geoTimeZoneId)
-+{
-+    // No change since we last asked.
-+    if (m_geoTimeZoneId == geoTimeZoneId) {
-+        qCDebug(GEOTIMEZONED_DEBUG) << "Time zone didn't change from" << m_geoTimeZoneId << "from last check";
-+        return;
-+    }
-+
-+    org::freedesktop::timedate1 timedateInterface{s_timedateService, s_timedatePath, QDBusConnection::systemBus()};
-+
-+    const QString currentTimeZoneId = timedateInterface.timezone();
-+    if (currentTimeZoneId.isEmpty()) {
-+        qCWarning(GEOTIMEZONED_DEBUG) << "Failed to get current system time zone from timedated";
-+        return;
-+    }
-+
-+    if (currentTimeZoneId == geoTimeZoneId) {
-+        qCDebug(GEOTIMEZONED_DEBUG) << "Time zone" << geoTimeZoneId << "is the same as the current time zone";
-+        return;
-+    }
-+
-+    qCInfo(GEOTIMEZONED_DEBUG) << "Automatically changing time zone to" << geoTimeZoneId << "based on current location";
-+    auto reply = timedateInterface.SetTimezone(QString::fromLatin1(geoTimeZoneId), false /*interactive*/);
-+    auto *watcher = new QDBusPendingCallWatcher(reply, this);
-+    connect(watcher, &QDBusPendingCallWatcher::finished, this, [this, geoTimeZoneId](QDBusPendingCallWatcher *watcher) {
-+        watcher->deleteLater();
-+
-+        QDBusPendingReply<> reply = *watcher;
-+        if (reply.isError()) {
-+            qCWarning(GEOTIMEZONED_DEBUG) << "Failed to set time zone to" << geoTimeZoneId << reply.error().message();
-+            return;
-+        }
-+
-+        m_geoTimeZoneId = geoTimeZoneId;
-+    });
-+}
-+
-+#include "geotimezonemodule.moc"
-diff --git a/geotimezoned/geotimezonemodule.h b/geotimezoned/geotimezonemodule.h
-new file mode 100644
-index 0000000000000000000000000000000000000000..1b1c3499cac3466a637696b6296bceda1ba1acc1
---- /dev/null
-+++ b/geotimezoned/geotimezonemodule.h
-@@ -0,0 +1,29 @@
-+/*
-+ * SPDX-FileCopyrightText: 2023 Kai Uwe Broulik <ghqalpha at broulik.de>
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#pragma once
-+
-+#include <KDEDModule>
-+
-+#include <QByteArray>
-+#include <QElapsedTimer>
-+#include <QNetworkAccessManager>
-+
-+class KdedGeoTimeZonePlugin : public KDEDModule
-+{
-+    Q_OBJECT
-+
-+public:
-+    KdedGeoTimeZonePlugin(QObject *parent, const QVariantList &args);
-+
-+private:
-+    bool shouldCheckTimeZone() const;
-+    void checkTimeZone();
-+    void setGeoTimeZone(const QByteArray &geoTimeZoneId);
-+
-+    QNetworkAccessManager m_nam;
-+    QElapsedTimer m_timer;
-+    QByteArray m_geoTimeZoneId;
-+};
-diff --git a/geotimezoned/org.freedesktop.timedated1.xml b/geotimezoned/org.freedesktop.timedated1.xml
-new file mode 100644
-index 0000000000000000000000000000000000000000..b21efbd66403b7d74a8b7f67f18a3bf7669e5555
---- /dev/null
-+++ b/geotimezoned/org.freedesktop.timedated1.xml
-@@ -0,0 +1,20 @@
-+<?xml version="1.0"?>
-+<!--
-+ SPDX-License-Identifier: LGPL-2.1-or-later
-+-->
-+
-+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
-+    "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-+
-+<node>
-+
-+<interface name="org.freedesktop.timedate1">
-+  <property name="Timezone" type="s" access="read"/>
-+  <method name="SetTimezone">
-+    <arg type="s" name="timezone" direction="in"/>
-+    <arg type="b" name="interactive" direction="in"/>
-+  </method>
-+  <!-- Omitted the rest we don't use -->
-+</interface>
-+
-+</node>
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 2fb6b20..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-0001_kded_geoip


More information about the Neon-commits mailing list