



Code: Select all
mkdir -p /etc/portage/patches/kde-plasma/plasma-nm
cat <<EOF >> /etc/portage/patches/kde-plasma/plasma-nm/disable-connection-type-filtering.patch
diff -urN plasma-nm-5.10.3.orig/editor/connectioneditor.cpp plasma-nm-5.10.3/editor/connectioneditor.cpp
--- plasma-nm-5.10.3.orig/editor/connectioneditor.cpp 2017-07-18 05:09:03.298397090 +0200
+++ plasma-nm-5.10.3/editor/connectioneditor.cpp 2017-07-18 05:11:06.884698481 +0200
@@ -172,6 +172,23 @@
action->setData(NetworkManager::ConnectionSettings::Wimax);
m_menu->addAction(action);
+ m_menu->menu()->addSection(i18nc("Virtual hardware devices, eg Bridge, Bond", "Virtual"));
+
+ action = new QAction(i18n("Bond"), this);
+ action->setData(NetworkManager::ConnectionSettings::Bond);
+ m_menu->addAction(action);
+ action = new QAction(i18n("Bridge"), this);
+ action->setData(NetworkManager::ConnectionSettings::Bridge);
+ m_menu->addAction(action);
+ action = new QAction(i18n("VLAN"), this);
+ action->setData(NetworkManager::ConnectionSettings::Vlan);
+ m_menu->addAction(action);
+#if NM_CHECK_VERSION(0, 9, 10)
+ action = new QAction(i18n("Team"), this);
+ action->setData(NetworkManager::ConnectionSettings::Team);
+ m_menu->addAction(action);
+#endif
+
m_menu->menu()->addSection(i18n("VPN"));
KService::List services = KServiceTypeTrader::self()->query("PlasmaNetworkManagement/VpnUiPlugin");
diff -urN plasma-nm-5.10.3.orig/kded/notification.cpp plasma-nm-5.10.3/kded/notification.cpp
--- plasma-nm-5.10.3.orig/kded/notification.cpp 2017-07-18 05:09:03.298397090 +0200
+++ plasma-nm-5.10.3/kded/notification.cpp 2017-07-18 05:18:41.471093924 +0200
@@ -364,23 +364,7 @@
NetworkManager::VpnConnection::Ptr vpnConnection = ac.objectCast<NetworkManager::VpnConnection>();
connect(vpnConnection.data(), &NetworkManager::VpnConnection::stateChanged, this, &Notification::onVpnConnectionStateChanged);
#if NM_CHECK_VERSION(0, 9, 10)
- } else if (ac->type() != NetworkManager::ConnectionSettings::Bond &&
- ac->type() != NetworkManager::ConnectionSettings::Bridge &&
- ac->type() != NetworkManager::ConnectionSettings::Generic &&
- ac->type() != NetworkManager::ConnectionSettings::Infiniband &&
- ac->type() != NetworkManager::ConnectionSettings::Team &&
-#if NM_CHECK_VERSION(1, 1, 92)
- ac->type() != NetworkManager::ConnectionSettings::Vlan &&
- ac->type() != NetworkManager::ConnectionSettings::Tun) {
-#else
- ac->type() != NetworkManager::ConnectionSettings::Vlan) {
-#endif
-
-#else
- } else if (ac->type() != NetworkManager::ConnectionSettings::Bond &&
- ac->type() != NetworkManager::ConnectionSettings::Bridge &&
- ac->type() != NetworkManager::ConnectionSettings::Infiniband &&
- ac->type() != NetworkManager::ConnectionSettings::Vlan) {
+ } else if (ac->type() != NetworkManager::ConnectionSettings::Generic) {
#endif
connect(ac.data(), &NetworkManager::ActiveConnection::stateChanged, this, &Notification::onActiveConnectionStateChanged);
}
diff -urN plasma-nm-5.10.3.orig/libs/declarative/connectionicon.cpp plasma-nm-5.10.3/libs/declarative/connectionicon.cpp
--- plasma-nm-5.10.3.orig/libs/declarative/connectionicon.cpp 2017-07-18 05:09:03.308396790 +0200
+++ plasma-nm-5.10.3/libs/declarative/connectionicon.cpp 2017-07-18 05:19:34.639502736 +0200
@@ -279,19 +279,9 @@
if (!vpnConnection) {
#if NM_CHECK_VERSION(0, 9, 10)
- if (activeConnection->state() == NetworkManager::ActiveConnection::Activating &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Bond &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Bridge &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Generic &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Infiniband &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Team &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Vlan) {
+ if (activeConnection->state() == NetworkManager::ActiveConnection::Activating && activeConnection->type() != NetworkManager::ConnectionSettings::Generic) {
#else
- if (activeConnection->state() == NetworkManager::ActiveConnection::Activating &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Bond &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Bridge &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Infiniband &&
- activeConnection->type() != NetworkManager::ConnectionSettings::Vlan) {
+ if (activeConnection->state() == NetworkManager::ActiveConnection::Activating) {
#endif
connecting = true;
}
@@ -449,8 +439,8 @@
}
}
} else {
- // Ignore other devices (bond/bridge/team etc.)
- setDisconnectedIcon();
+ setConnectionIcon("network-wired-activated");
+ setConnectionTooltipIcon("network-wired-activated");
}
}
} else {
diff -urN plasma-nm-5.10.3.orig/libs/declarative/networkstatus.cpp plasma-nm-5.10.3/libs/declarative/networkstatus.cpp
--- plasma-nm-5.10.3.orig/libs/declarative/networkstatus.cpp 2017-07-18 05:09:03.308396790 +0200
+++ plasma-nm-5.10.3/libs/declarative/networkstatus.cpp 2017-07-18 05:13:42.890029658 +0200
@@ -169,26 +169,7 @@
});
Q_FOREACH (const NetworkManager::ActiveConnection::Ptr & active, activeConnectionList) {
-#if NM_CHECK_VERSION(0, 9, 10)
- if (!active->devices().isEmpty() &&
- active->type() != NetworkManager::ConnectionSettings::Bond &&
- active->type() != NetworkManager::ConnectionSettings::Bridge &&
- active->type() != NetworkManager::ConnectionSettings::Generic &&
- active->type() != NetworkManager::ConnectionSettings::Infiniband &&
- active->type() != NetworkManager::ConnectionSettings::Team &&
-#if NM_CHECK_VERSION(1, 1, 92)
- active->type() != NetworkManager::ConnectionSettings::Vlan &&
- active->type() != NetworkManager::ConnectionSettings::Tun) {
-#else
- active->type() != NetworkManager::ConnectionSettings::Vlan) {
-#endif
-#else
- if (!active->devices().isEmpty() &&
- active->type() != NetworkManager::ConnectionSettings::Bond &&
- active->type() != NetworkManager::ConnectionSettings::Bridge &&
- active->type() != NetworkManager::ConnectionSettings::Infiniband &&
- active->type() != NetworkManager::ConnectionSettings::Vlan) {
-#endif
+ if (!active->devices().isEmpty()) {
NetworkManager::Device::Ptr device = NetworkManager::findNetworkInterface(active->devices().first());
#if NM_CHECK_VERSION(0, 9, 10)
if (device && device->type() != NetworkManager::Device::Generic && device->type() <= NetworkManager::Device::Team) {
diff -urN plasma-nm-5.10.3.orig/libs/uiutils.cpp plasma-nm-5.10.3/libs/uiutils.cpp
--- plasma-nm-5.10.3.orig/libs/uiutils.cpp 2017-07-18 05:09:03.298397090 +0200
+++ plasma-nm-5.10.3/libs/uiutils.cpp 2017-07-18 05:24:59.639776345 +0200
@@ -110,20 +110,6 @@
bool UiUtils::isConnectionTypeSupported(NetworkManager::ConnectionSettings::ConnectionType type)
{
- if (type == NetworkManager::ConnectionSettings::Bond ||
- type == NetworkManager::ConnectionSettings::Bridge ||
- type == NetworkManager::ConnectionSettings::Generic ||
- type == NetworkManager::ConnectionSettings::Infiniband ||
- type == NetworkManager::ConnectionSettings::Team ||
-#if NM_CHECK_VERSION(1, 2, 0)
- type == NetworkManager::ConnectionSettings::Vlan ||
- type == NetworkManager::ConnectionSettings::Tun) {
-#else
- type == NetworkManager::ConnectionSettings::Vlan) {
-#endif
- return false;
- }
-
return true;
}
EOF
Das hat aber vor dem entfernen definitiv funktioniert, also gab es wohl danach irgendwelche Änderungen welche das zurückpatchen dieser Funktionalität verhindert. Eine echt geile Aktion...misterjack wrote:Edith meint: Wobei ich gerade feststelle, dass der bridge-Support total verbuggt ist. Bridges ohne IP-Adresse werden erst garnicht angezeigt oder welche Nic zugewiesen wurde, daher schlicht unbrauchbar für mich - ich bleibe bei systemd-networkd. Support dafür zu entfernen ist natürlich viel einfacher anstatt Bugs zu fixen, aber das wäre ja mit Arbeit verbunden xD

Nochmal ausprobiert, mit dem kde5-nm-connection-editor kann man bridges erstellen. Die anderen Bugs hab ich aber auch mit der letzten 5.8er Version, liegt vielleicht daran, dass ich diese nicht per NetworkManager erstellt hatte. Der Patch sollte für dich funktionierenschmidicom wrote:Das hat aber vor dem entfernen definitiv funktioniert



Naja, die vielen Updates sind im testing-Zweig normal - die neusten Versionen sind halt zum testen da.tazinblack wrote:Auch die Mengen an updates und die damit verbundenen compile-Zeiten in letzter Zeit gehen mir ziemlich auf den Keks.

Nur weil ein Rädchen im großen Getriebe nicht ganz mitspielt? Immerhin ist die Bereitschaft da, die eigenen Entscheidungen zu überdenken, siehe Bugreport. Bin gespannt, ob in die richtige Richtungtazinblack wrote:Und wieder bin ich an der Stelle, dass ich auf den ganzen KDE und Gnome Mist keine Lust mehr habe.



Wenn das eine ähnliche Diskussion wird wie die welche zum entfernen dieser Funktionalität geführt wurde (das waren wohl genau zwei Leute, der Dev und ein anderer welcher das nie benutzte) sehe ich da wenig Grund zur Hoffnung.misterjack wrote:Meine Interpretation von:I'll try to bring this back to discussion and we will see if we are going to revert the removed support back or not.

Dann biste bestimmt umso mehr überrascht, dass unser Anliegen Gehör gefunden hat: https://bugs.kde.org/show_bug.cgi?id=376664#c32schmidicom wrote:sehe ich da wenig Grund zur Hoffnung.
