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.
gstqt5
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;