GeoClue is a modular geoinformation service built on top of the D-Bus messaging system. The goal of the GeoClue project is to make creating location-aware applications as simple as possible.
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/2.7.2/geoclue-2.7.2.tar.bz2
Download MD5 sum: d58d6f3286a6b3ace395fc36468aace2
Download size: 108 KB
Estimated disk space required: 7.2 MB
Estimated build time: 0.1 SBU
JSON-GLib-1.10.6 and libsoup-3.6.1
Avahi-0.8, libnotify-0.8.3, ModemManager-1.18.12, and Vala-0.56.17
Install GeoClue by running the following commands:
mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -D gtk-doc=false \ .. && ninja
This package does not come with a test suite.
Now, as the root
user:
ninja install
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D 3g-source=false
: This switch
disables the 3G backend. Use it if you have not installed the
ModemManager package.
-D modem-gps-source=false
: This switch
disables the modem GPS backend. Use it if you have not installed
the ModemManager package.
-D cdma-source=false
: This switch
disables the CDMA source backend. Use it if you have not installed
the ModemManager package.
-D nmea-source=false
: This switch
disables the NMEA source. Use it if you have not installed the
Avahi package.
-D demo-agent=false
: This switch
disables the demo. Use it if you have not installed the
libnotify package.
In March of 2024, Mozilla announced the shutdown of the Mozilla Location Service. Geoclue uses this service for determining a user's location when requested by other applications. The only supported alternative by upstream is to use Google's Geolocation Service.
To use Google's Geolocation Service, an API key must be used, and a configuration file must be created. This API key is only intended for use with LFS. Please do not use this API key if you are building for another distro or distributing binary copies. If you need an API key, you can request one at https://www.chromium.org/developers/how-tos/api-keys.
Create the configuration needed for using Google's Geolocation
Service as the root
user:
cat > /etc/geoclue/conf.d/90-lfs-google.conf << "EOF"
# Begin /etc/geoclue/conf.d/90-lfs-google.conf
# This configuration applies for the WiFi source.
[wifi]
# Set the URL to Google's Geolocation Service.
url=https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ
# End /etc/geoclue/conf.d/90-lfs-google.conf
EOF
If you do not wish to request your location from a Geolocation
service, you can hardcode your location in /etc/geolocation
using the format described in
geoclue(5).