Merge pull request #311269 from K900/kdeconnect-sshfs
kdePackages.kdeconnect-kde: hardcode sshfs path
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
{
|
{
|
||||||
|
lib,
|
||||||
mkKdeDerivation,
|
mkKdeDerivation,
|
||||||
|
substituteAll,
|
||||||
|
sshfs,
|
||||||
qtconnectivity,
|
qtconnectivity,
|
||||||
qtmultimedia,
|
qtmultimedia,
|
||||||
qtwayland,
|
qtwayland,
|
||||||
@@ -11,6 +14,23 @@
|
|||||||
mkKdeDerivation {
|
mkKdeDerivation {
|
||||||
pname = "kdeconnect-kde";
|
pname = "kdeconnect-kde";
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./hardcode-sshfs-path.patch;
|
||||||
|
sshfs = lib.getExe sshfs;
|
||||||
|
})
|
||||||
|
# We build OpenSSH without ssh-dss support, so sshfs explodes at runtime.
|
||||||
|
# See: https://github.com/NixOS/nixpkgs/commit/6ee4b8c8bf815567f7d0fa131576d2b8c0a18167
|
||||||
|
# FIXME: upstream?
|
||||||
|
./remove-ssh-dss.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
# Hardcoded as a QString, which is UTF-16 so Nix can't pick it up automatically
|
||||||
|
postFixup = ''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo "${sshfs}" > $out/nix-support/depends
|
||||||
|
'';
|
||||||
|
|
||||||
extraNativeBuildInputs = [pkg-config];
|
extraNativeBuildInputs = [pkg-config];
|
||||||
extraBuildInputs = [qtconnectivity qtmultimedia qtwayland wayland wayland-protocols libfakekey];
|
extraBuildInputs = [qtconnectivity qtmultimedia qtwayland wayland wayland-protocols libfakekey];
|
||||||
|
|
||||||
|
|||||||
13
pkgs/kde/gear/kdeconnect-kde/hardcode-sshfs-path.patch
Normal file
13
pkgs/kde/gear/kdeconnect-kde/hardcode-sshfs-path.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/plugins/sftp/mounter.cpp b/plugins/sftp/mounter.cpp
|
||||||
|
index 29e94f3b..c71e552f 100644
|
||||||
|
--- a/plugins/sftp/mounter.cpp
|
||||||
|
+++ b/plugins/sftp/mounter.cpp
|
||||||
|
@@ -94,7 +94,7 @@ void Mounter::onPacketReceived(const NetworkPacket &np)
|
||||||
|
|
||||||
|
QDir().mkpath(m_mountPoint);
|
||||||
|
|
||||||
|
- const QString program = QStringLiteral("sshfs");
|
||||||
|
+ const QString program = QStringLiteral("@sshfs@");
|
||||||
|
|
||||||
|
QString path;
|
||||||
|
if (np.has(QStringLiteral("multiPaths")))
|
||||||
13
pkgs/kde/gear/kdeconnect-kde/remove-ssh-dss.patch
Normal file
13
pkgs/kde/gear/kdeconnect-kde/remove-ssh-dss.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/plugins/sftp/mounter.cpp b/plugins/sftp/mounter.cpp
|
||||||
|
index 29e94f3b..0f300c63 100644
|
||||||
|
--- a/plugins/sftp/mounter.cpp
|
||||||
|
+++ b/plugins/sftp/mounter.cpp
|
||||||
|
@@ -122,7 +122,7 @@ void Mounter::onPacketReceived(const NetworkPacket &np)
|
||||||
|
<< QStringLiteral("-o") << QStringLiteral("IdentityFile=") + KdeConnectConfig::instance().privateKeyPath()
|
||||||
|
<< QStringLiteral("-o") << QStringLiteral("StrictHostKeyChecking=no") // Do not ask for confirmation because it is not a known host
|
||||||
|
<< QStringLiteral("-o") << QStringLiteral("UserKnownHostsFile=/dev/null") // Prevent storing as a known host
|
||||||
|
- << QStringLiteral("-o") << QStringLiteral("HostKeyAlgorithms=+ssh-dss\\,ssh-rsa") // https://bugs.kde.org/show_bug.cgi?id=351725
|
||||||
|
+ << QStringLiteral("-o") << QStringLiteral("HostKeyAlgorithms=+ssh-rsa") // https://bugs.kde.org/show_bug.cgi?id=351725
|
||||||
|
<< QStringLiteral("-o") << QStringLiteral("PubkeyAcceptedKeyTypes=+ssh-rsa") // https://bugs.kde.org/show_bug.cgi?id=443155
|
||||||
|
<< QStringLiteral("-o") << QStringLiteral("uid=") + QString::number(getuid())
|
||||||
|
<< QStringLiteral("-o") << QStringLiteral("gid=") + QString::number(getgid())
|
||||||
Reference in New Issue
Block a user