plasma-nm: fix path to mobile broadband provider file (#44302)

When creating a new mobile broadband connection
with the plasma network manager connection editor,
it tries to find a file containing provider
information somewhere in /usr/share/... .
The build recipe contains a patch to fix the lookup path
such that it finds the file in the corresponding package,
probably added due to
https://github.com/NixOS/nixpkgs/issues/9389 .
The actual lookup path is injected into
the patch file with substituteAll.

With commit a31d98f312 ,
the variable name used in subsituteAll changed from
mobile_broadband_provider_info to mobile-broadband-provider-info
(underscores in package names turned into dashes).
Apparently, substituteAll can't handle dashes in variable names.
Consequently, the variable name was no longer resolved.
plasma-nm failed to create new mobile broadband connections;
the connection creator silently exited and logged the error
> plasma-nm: Error opening providers file "@mobile-broadband-provider-info@/share/mobile-broadband-provider-info/serviceproviders.xml"

This commit keeps the dashes in package names, but it
restores the underscores in the variable used by substituteAll,
thereby ensuring the variable gets resolved properly.
This commit is contained in:
Yarny0 2018-08-01 13:23:28 +00:00 committed by xeji
parent 4f505d7267
commit bdf6f8528e
2 changed files with 2 additions and 2 deletions

View File

@ -16,7 +16,7 @@ index 568cb34..98a5992 100644
#include <KLocale>
-const QString MobileProviders::ProvidersFile = "/usr/share/mobile-broadband-provider-info/serviceproviders.xml";
+const QString MobileProviders::ProvidersFile = "@mobile-broadband-provider-info@/share/mobile-broadband-provider-info/serviceproviders.xml";
+const QString MobileProviders::ProvidersFile = "@mobile_broadband_provider_info@/share/mobile-broadband-provider-info/serviceproviders.xml";
bool localeAwareCompare(const QString & one, const QString & two) {
return one.localeAwareCompare(two) < 0;

View File

@ -21,7 +21,7 @@ mkDerivation {
patches = [
(substituteAll {
src = ./0001-mobile-broadband-provider-info-path.patch;
inherit mobile-broadband-provider-info;
mobile_broadband_provider_info = mobile-broadband-provider-info;
})
(substituteAll {
src = ./0002-openvpn-binary-path.patch;