Sync from SUSE:SLFO:Main geoclue2 revision 5fa5add9095bb0ea8f223968b5f3ff37

This commit is contained in:
Adrian Schröter 2024-05-03 12:47:40 +02:00
commit c0201f748d
6 changed files with 1002 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
geoclue-2.7.1.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

6
geoclue2-rpmlintrc Normal file
View File

@ -0,0 +1,6 @@
# note: do not use systemd macros for geoclue2.service, they are not meant for dbus unit files.
addFilter("[EW]: systemd-service-without-service_del_preun")
addFilter("[EW]: systemd-service-without-service_del_postun")
addFilter("[EW]: systemd-service-without-service_add_pre")
addFilter("[EW]: systemd-service-without-service_add_post")
addFilter("W: non-standard-uid /var/lib/srvGeoClue srvGeoClue")

809
geoclue2.changes Normal file
View File

@ -0,0 +1,809 @@
-------------------------------------------------------------------
Fri Sep 29 18:38:36 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.7.1:
+ Add 'age' field to MLS locate queries
+ Location updates now always have an accuracy value
+ Improvements to NMEA parsing:
- Parse NMEA timestamps with sub-second accuracy
- Add default accuracy to NMEA RMC locations
- Ignore locations from GGA and RMC sentences if the GNSS fix
is not valid
+ Prioritize GNSS sources with a recent fix over other sources,
preventing location jumps
+ Install D-Bus policy in /usr/share, not /etc
+ Upgrade GLib / Gio dependency to version 2.68.0
+ Correct gi annotations in GClueSimple
+ Various small fixes
- Use ldconfig_scriptlets macro for post(un) handling.
-------------------------------------------------------------------
Mon Mar 6 11:59:58 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.7.0:
+ Multiple config files named *.conf are now read from the config
directory at @sysconfdir@/geoclue/conf.d.
+ HTTP requests are now made via libsoup3.0 instead of
libsoup2.4.
+ A static location can now be set in @sysconfdir@/geolocation
for immobile systems.
+ Web source requests are now submitted with combined WiFi and
3GPP tower data.
+ Web source now checks connectivity in a way that allows
location and submission servers running on localhost.
+ Web source submissions are now made using /v2/geosubmit API.
+ Web source cell tower submissions now have the correct radio
type.
+ Web source requests now submit the BSS age property.
+ Web source submissions now contain the location speed.
+ Web source cache now respects WiFi signal tolerance strictly.
+ NMEA source now supports both '\n' and '\r' NMEA delimiters.
+ NMEA source can now be made the Web source submit source.
+ ModemManager now use signaled calls to get cached location
information to avoid performing explicit modem query.
+ Location description now contains information about its source.
+ GSettings backend no longer complains about being run from a
read-only filesystem.
+ Many small improvements and fixes, some memory safety related.
- Drop 129.patch: Fixed upstream.
-------------------------------------------------------------------
Wed Oct 5 13:46:12 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
- Move dbus system.d conf file to /usr (bsc#1204054)
-------------------------------------------------------------------
Thu Sep 1 08:46:41 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Add 129.patch: Port to use soup3. Following this, replace
pkgconfig(libsoup-2.4) with pkgconfig(libsoup-3.0) BuildRequires.
-------------------------------------------------------------------
Fri May 20 09:44:27 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.6.0:
+ Stop the client for system applications when accuracy is set to
NONE.
+ NMEA: add a unix socket file option.
+ Client info: support cgroup v2.
+ Don't compute movements for low accuracy sources.
+ Add an option to generate vapi.
+ Send the 3G tower type as part of the Mozilla location service
requests.
+ Add phosh & lipstick as allowed agents.
+ Use GeoIP when no WiFi device is available.
+ Modem manager: add polkit rule to allow GPS access.
+ Allow disabling compass at build and at runtime.
+ Fix heading computation for identical locations.
+ Be strict with time and distance threshold.
+ Fix the XDG location portal integration.
+ Replace agent wait timeout with a queue.
+ Other bugs fixes.
- Drop geoclue2-geoip-when-wifi-unavailable.patch: fixed upstream.
- Minor tweaks to rpmlintrc file: systemd_service changed from
warnings to error (but still don't apply here, as it's a dbus
enabled service).
-------------------------------------------------------------------
Sun Mar 20 19:25:46 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
- Remove unnecessary shadow requires
-------------------------------------------------------------------
Thu Feb 24 16:37:30 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
- Add CONFIG parameter to %sysusers_generate_pre
-------------------------------------------------------------------
Sun Nov 28 13:21:10 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
- Drop geoclue2-revert-2-faulty.patch: Replaced by upstream fix
in geoclue2-geoip-when-wifi-unavailable.patch:.
- Add geoclue2-geoip-when-wifi-unavailable.patch: [gclue-wifi] Use
GeoIP when a WiFi device isn't available
[glfo#geoclue/geoclue#142].
-------------------------------------------------------------------
Thu Dec 31 13:10:06 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.5.7:
+ A bug fix release, mainly fixing a bunch of memory leaks.
- Add geoclue2-revert-2-faulty.patch: Revert two broken commits.
https://gitlab.freedesktop.org/geoclue/geoclue/-/issues/142
-------------------------------------------------------------------
Sun Dec 13 13:01:31 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.5.6:
+ Fix crashes in WiFi handling code.
+ Plug a leak.
- Changes from version 2.5.5:
+ Plug another leak.
+ Fix another buffer overflow.
+ Fix WiFi-geolocation that got broken in 2.5.4.
+ Put freequently used small strings on the stack to avoid
excessive memory usage.
-------------------------------------------------------------------
Tue Dec 10 20:11:13 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.5.4:
+ Plug a leak that becomes pretty huge after a while of running
Geoclue.
+ Fix a buffer-overflow.
-------------------------------------------------------------------
Tue May 28 10:21:03 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.5.3:
+ Fix a crash.
+ Support for GGA messages from more NMEA sources.
+ New API to allow automatic server side deletion of client.
+ Automatically delete client on server when using GClueSimple.
+ Avoid linking to system-installed library.
+ Fix library-only build.
+ Add manpage for geoclue.conf file.
+ Document usage and building of the project.
+ Other fixes and improvements.
-------------------------------------------------------------------
Tue Jan 8 22:07:25 UTC 2019 - bjorn.lie@gmail.com
- Update to version 2.5.2:
+ Scan for WiFi networks, greatly improving accuracy of WiFi
source.
+ Allow multiple clients on the same D-Bus connection and add API
for it. This is mainly targetted for Flatpak location portal.
+ Add API for apps to explicitly delete their client objects.
Long running apps, like gnome-settings-daemon and Flatpak
location portal, should use that to ensure Geoclue knows when
these apps are not actually using it and hence it doesn't need
to keep running needlessly.
+ Restore accidently removed, build of modem sources.
+ Update location on connectivity actually changing.
+ Try not spamming Mozilla Location Service.
+ Fix unexpected exit when non-active clients are connected.
+ Fix a check for system apps.
+ Use absolute paths for sysconfdir.
+ Fix links in docs.
+ More debug log.
+ A bunch of internal and/or non-functional fixes & improvements.
- Drop geoclue2-Fix-duplicate-decl-specifier.patch: The entire code
was removed from geoclue.
-------------------------------------------------------------------
Sun Dec 2 18:06:16 UTC 2018 - bjorn.lie@gmail.com
- Update to version 2.5.1:
+ Fix libgeoclue ABI break in 2.5.0.
+ Use absolute paths for libexecdir.
- Changes from version 2.5.0:
+ Drop authorization for system (non-flatpak) apps.
+ Switch from autotools to meson build system.
+ Use WiFi-based geolocation for city level accuracy.
+ Provide Vala API.
+ Don't enable all warnings from C compiler by default.
+ No need to mark translatable strings in desktop files.
- Changes from version 2.4.13:
+ Configuration file related changes:
- Allow absence of agent if agent white-list is empty.
- Add elementary-desktop-agent to whitelist.
- Allow disabling of all sources.
- Warn about use of Google's services.
- Document that all settings are mandatory.
+ Increase default inactivity timeout to 60s.
+ Increase agent timeout from 100ms to 20s.
+ Console message on inactivity timeout.
- Switch to meson buildsystem, add meson BuildRequires and macros.
-------------------------------------------------------------------
Tue Aug 14 18:08:53 UTC 2018 - bjorn.lie@gmail.com
- Update to version 2.4.12:
+ Provide a work-around for documentation build issue.
+ Fix library .pc file to respect the includedir option.
-------------------------------------------------------------------
Thu Jul 26 18:21:54 UTC 2018 - bjorn.lie@gmail.com
- Update to version 2.4.11:
+ Don't crash on invalid accuracy level request.
+ The demo agent now watches for geoclue on D-Bus if it's not
running already, instead of giving up. This solves a
race-condition, which makes geoclue completely unusable.
+ Provide Vala bindings for libgeoclue.
+ Add gclue_client_get/set_time_threshold() to docs.
- Drop geoclue2-Fix-safety-header-name.patch and
geoclue2-Fix-potentially-unused-variable.patch: Fixed upstream.
- Add vala BuildRequires: New optional dependency, build vala
bindings.
- No longer nuke during build geoclue-demo-agent.desktop files,
upstream wants us to package them.
-------------------------------------------------------------------
Tue May 8 17:25:54 UTC 2018 - bjorn.lie@gmail.com
- Add geoclue2-Fix-safety-header-name.patch: public-api: Fix safety
header name. It should be based on the filename.
- Add geoclue2-Fix-potentially-unused-variable.patch: locator: Fix
a potentially unused variable declaration.
- Add geoclue2-Fix-duplicate-decl-specifier.patch:Fix compiler
warning about duplicate decl specifier.
-------------------------------------------------------------------
Thu May 3 18:24:46 UTC 2018 - bjorn.lie@gmail.com
- Update to version 2.4.10:
+ Fix issues introduced by last release 2.4.9:
- A crash on startup.
- Revert the new desktop ID detection code as that turned out
to not work for non-root user that geoclue is supposed to be
run as.
+ Use systemd's service file to lockdown the geoclue daemon to
stop eventual security problems.
-------------------------------------------------------------------
Wed May 2 23:24:52 UTC 2018 - bjorn.lie@gmail.com
- Update to version 2.4.9:
+ Modem GPS refresh rate is now based on the location refresh
rate of apps.
+ Refuse location access if no app-auth agent is registered. This
fixes a security hole where an app requests location access
before the agent gets to register itself and we end up giving
out location access even though user has disabled it.
+ Port desktop ID detection to Flatpak >= 0.6.10.
+ The default timeout on the service binary is now the same as
the service itself: 5 seconds.
+ Demo applications:
- where-am-i now allows setting location refresh-rate.
- Only install demo agent's desktop file if it's enabled.
- Build and install demo agent unless disabled explicitly.
- Autostart the demo agent by default on non-GNOME platforms,
since an agent is required now and no one other than GNOME
yet provides one.
- Add pkgconfig(libnotify) BuildRequires: New dependency.
-------------------------------------------------------------------
Thu Apr 12 16:27:52 UTC 2018 - bjorn.lie@gmail.com
- Update to version 2.4.8:
+ Fix threshold for detecting too old location update.
+ Explain in the configuration what the applications white-list
is meant for.
+ Allow instant location updates from modem-based GPS.
+ Fix a deadlock case in the helper library.
-------------------------------------------------------------------
Wed Feb 28 16:26:22 UTC 2018 - dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
-------------------------------------------------------------------
Mon May 29 14:38:56 UTC 2017 - zaitor@opensuse.org
- Update to version 2.4.7:
+ Fix a potential crash.
+ More verbose warning on invalid accuracy from NMEA source.
-------------------------------------------------------------------
Fri Apr 7 09:31:06 UTC 2017 - jengelh@inai.de
- Drop practically empty %pre section (because of the shell comment,
it was non empty and would needlessy spawn /bin/sh).
- RPM group corrections.
-------------------------------------------------------------------
Tue Mar 28 18:40:11 UTC 2017 - zaitor@opensuse.org
- Update to version 2.4.6:
+ Add to white-list:
- gnome-color-panel for "Night Light" functionality.
- gnome-shell for new weather view in the calendar.
+ Other minor fixes.
- Drop geoclue2-permit-Night-Light.patch: Fixed upstream.
- Drop geoclue2-permit-gnome-maps.patch: No longer needed due to
changes in location settings in gnome.
-------------------------------------------------------------------
Wed Mar 15 20:19:10 UTC 2017 - dimstar@opensuse.org
- Split out new package system-user-srvGeoClue: create a user that
can be required by different package (e.g. NetworkManager has a
rule based on the user account. With the user created separately,
NM can now require the user even without geoclue2 being
installed).
-------------------------------------------------------------------
Wed Mar 1 16:05:18 UTC 2017 - zaitor@opensuse.org
- Add geoclue2-permit-Night-Light.patch: Add "Night Light"
functionality to the whitelist (bgo#779343, fdo#100008).
-------------------------------------------------------------------
Thu Feb 2 21:21:10 UTC 2017 - zaitor@opensuse.org
- Drop convenience shortcut for rcgeoclue, as this is a dbus
activated service, there is no point in that shortcut, no human
should ever manually call it. Following this, filter warning now
produced via rpmlintrc.
-------------------------------------------------------------------
Fri Jan 27 16:26:11 UTC 2017 - zaitor@opensuse.org
- Update to version 2.4.4:
+ Fix a potential crash.
-------------------------------------------------------------------
Wed Sep 7 19:28:31 UTC 2016 - zaitor@opensuse.org
- Update to version 2.4.4:
+ Expose location timestamp over D-Bus.
+ Add a TimeThreshold property that allows clients to limit
location updates by time.
+ Annotate default value of DistanceThreshold property.
+ Check for full internet availability before declaring ourselves
online (boo#1051612, fdo#95493).
+ Fix autogen.sh against builddir ≠ srcdir.
+ Fix a bunch of memory leaks.
+ Fix a bunch of build issues.
+ Other minor fixes.
-------------------------------------------------------------------
Mon May 30 15:48:31 UTC 2016 - zaitor@opensuse.org
- Add geoclue2-rpmlintrc to sources to filter out bogus rpmlint
warning about missing systemd-service and nonstandard user.
- Add missing post/postun handling of library.
- Remove useless desktop file for demos, we do not build the demos.
-------------------------------------------------------------------
Mon May 30 13:00:24 UTC 2016 - fcrozat@suse.com
- Do not use systemd macros for geoclue2.service, they are not
designed for dbus systemd unit file [bsc#982216].
-------------------------------------------------------------------
Wed Apr 13 09:27:42 UTC 2016 - idonmez@suse.com
- Update to GNOME 3.20 Fate#318572
-------------------------------------------------------------------
Thu Mar 3 13:39:24 UTC 2016 - zaitor@opensuse.org
- Update to version 2.4.3:
+ Fix a crash in the helper library.
-------------------------------------------------------------------
Sat Feb 27 17:43:18 UTC 2016 - zaitor@opensuse.org
- Update to version 2.4.2:
+ Reliable desktop ID detection for xdg-app. This together with
latest gnome-shell and gnome-control-center, allows for
per-application geolocation access controls.
+ Don't require xdg-app applications to pass a valid desktop ID
since Geoclue can automatically detect it.
+ Don't allow xdg-app application to become user-authorization
agents.
+ Correct introspection namespace version for libgeoclue.
+ Option to disable the backend build.
+ Demo: Provide reason to access location data.
+ Demo agent:
- Critical log message on failing to show notification.
- If app provides a reason string in it's desktop file, show
that to the user.
-------------------------------------------------------------------
Wed Dec 23 15:05:56 UTC 2015 - dimstar@opensuse.org
- Enable GObject introspection (required by gnome-weather 3.19+):
+ Pass --enable-introspection to configure.
+ Add pkgconfig(gobject-introspection-1.0) BuildRequires.
+ Split typelib-1_0-Geoclue-2_0 subpackage.
-------------------------------------------------------------------
Tue Nov 24 02:08:50 UTC 2015 - zaitor@opensuse.org
- Update to version 2.4.0:
+ Add a convenience library to make interacting with Geoclue very
easy.
+ Put each D-Bus interface description in it's own file. Unified
interface file still provided for backwards compatibility.
-------------------------------------------------------------------
Thu Nov 5 21:32:00 UTC 2015 - zaitor@opensuse.org
- Correct geoclue2-permit-gnome-maps.patch to include system=false,
all services are supposed to have a system section. Fixes
(boo#953865).
-------------------------------------------------------------------
Mon Sep 28 15:35:11 UTC 2015 - mpluskal@suse.com
- Update to 2.3.0
* Add a network NMEA source, which together with this application:
https://wiki.gnome.org/Apps/GeoclueShare allows you to use the
GPS of your Android device on your geoclue-enabled machine.
* Allow root to own the name on the bus, i-e run the service.
* Make use of compass device if available, through iio-proxy.
* Fix a hang on client starting twice.
* More helpful error on agent rejection.
* Improved documentation.
* Do not ship generated D-Bus service files in the tarball.
* Only allow the geoclue user and root to call methods on agents.
* Fix ignoring of valid location updates due to comparison of
stances in different units.
* Correctly handle two consecutive location updates with same
mestamp on them.
* Correctly handle late location update.
* Build system fixes:
+ Fix detection of gdbus-codegen tool.
+ Workaround an intltool issue.
- Update dependencies
- Make build more verbose
-------------------------------------------------------------------
Sat Apr 11 21:00:40 UTC 2015 - zaitor@opensuse.org
- Update to version 2.2.0:
+ Report 'Speed' and 'Heading' on location updates.
+ Try to provide the most accurate location first.
+ Avoid a crash by ensuring requested max accuracy is within
bounds.
+ Fix GPS coordinates parsing.
+ Fix GeoIP on machines without WiFi hardware.
+ Gracefully handle inexistent agent.
+ Stop sources whose accuracy level becomes higher, rather than
lower, than the requested level.
+ Keep old location object alive on D-Bus for a bit longer to
ensure applications are not accessing it still after it is
destroyed.
+ Don't enable the modem. Seems at least GNOME takes care of
modem enabling for us and besides this shouldn't be done by
geoclue anyway (fdo#85040).
+ Wait for modem to be enabled before checking availability of
location capabilities and using them. This is particularly
important for pin-enabled modems.
+ Ignore redundant GPS location updates.
+ Fix some potential crashes.
+ Some improvements to output of where-am-i demo application.
-------------------------------------------------------------------
Thu Feb 12 20:11:11 UTC 2015 - mpluskal@suse.com
- Cleanup spec file with spec-cleaner
- Update dependencies
- Do not try to remove .la files
-------------------------------------------------------------------
Sat Oct 4 09:04:06 UTC 2014 - dimstar@opensuse.org
- Update to version 2.1.10:
+ Disallow application if disabled explicitly in the
configuration.
+ Make it easy to add alternative modem source(s), e.g
ofono-based.
+ Map:
- country-level accuracy to city-level since no source provides
country-level accuracy.
- neighborhood-level accuracy to city-level in WiFi source
(only) so applications requesting neighborhood-level accuracy
still get a location even if there is no modem available.
+ Fixes to WiFi source.
+ For easier debugging, add:
- more debug prints.
- commandline options to where-am-i demo application to specify
timeout and requested accuracy level.
+ Fix a potential build failure.
-------------------------------------------------------------------
Thu Aug 7 19:41:32 UTC 2014 - dimstar@opensuse.org
- Update to version 2.1.9:
+ Move from NetworkManager to direct use of wpa_supplicant to
retreive WiFI data, for greater portability.
+ Port from opencellid.org to Mozilla Location Service for
3G-geolocation.
+ Network data submission
- Explicit option in config to enable submission.
- Commandline options to enable network data submission and set
nickname.
- Submit 3G data.
- Submit under 'geoclue' nick by default.
+ Fix a few crashes.
+ Drop now redundant workaround for pure geoip queries.
+ Ability to mark an app as system component in the config so
that:
- Agent can't decide its accuracy level nor agent is asked to
authorize it. This mean automatic timezone in GNOME will
continue working even if you disable geolocation.
- App is not taken into account for 'InUse' property. That
means you will no longer have to see location crosshair in
gnome-shell's topbar forever just because you have automatic
timezone enabled.
+ Exit demo app if geoclue deactivates it.
+ Improved debug log.
+ Many other internal changes and minor improvements.
- Changes from version 2.1.8:
+ Switch to Mozilla Location Service for geoip as well.
+ Allow specifying nickname to submit network data with.
+ Report actual available accuracy level and keep it up2date.
+ Add 'Active' property to indicate client state.
+ Expose altitude info (if known).
+ Timeout on inactivity, rather than no clients.
+ Automatically:
- stop the client if max accuracy level is set to 0.
- start the client if max accuracy level is set to non-0 and it
was automatically stopped.
+ Don't disable modem after using it. Disabling the modem,
disables it for everyone so if there was an active connection
going on through the modem, geoclue will cause it to
disconnect. While we need to have some centralized means to
enable/disable modem and ideally geoclue shouldn't do any
enabling/disabling of modems at all, for now lets just only
enable the modem.
+ Fix issue of missed location updates.
+ Whitelist correct ID for gnome-settings-daemon in default
config.
+ Replace '--disable-wifi-source' configure option with
'--disable-network-manager'. i-e now you disable usage of
NetworkManger explicitly rather than wifi source, which is now
always built and enabled.
+ Drop now redundant geoip server.
+ Don't distribute .desktop.in files for demos.
+ Plug some leaks.
+ More debug log.
+ Other minor fixes.
- Changes from version 2.1.7:
+ 'InUse' property now only affected by active clients. This
fixes the issue of gnome-shell incorrectly showing 'geolocation
in use' icon.
+ Move DBus interface files to their canonical location:
/usr/share/dbus-1/interfaces/.
+ Drop redundant check for the C++ compiler in configure script.
+ Demo agent now prints 'geolocation in use' info.
- Drop pkgconfig(libnm-glib) and pkgconfig(libxml-2.0)
BuildRequires: no longer needed.
- Add geoclue2-permit-gnome-maps.patch: Allow gnome-maps to access
geoclue.
- Also drop the invalid rpmlintrc variant geoclue2.rpmlintrc.
-------------------------------------------------------------------
Sat Apr 5 14:11:08 UTC 2014 - dimstar@opensuse.org
- Actually drop the rpmlintrc: the dbus service has been
authorized.
-------------------------------------------------------------------
Fri Apr 4 19:16:19 UTC 2014 - adrian@suse.de
- use addFilter instead of setBadness
-------------------------------------------------------------------
Thu Mar 13 20:52:19 UTC 2014 - zaitor@opensuse.org
- Update to version 2.1.6:
+ Correct binary path is demo's desktop file.
+ Move demo apps from /usr/share to /usr/libexec.
- Changes from version 2.1.5:
+ Add a NULL check to fix a crasher.
+ Setup D-Bus policy to be able to access NetworManager API.
+ Expected agent object path now static. This breaks agent
interface but it was needed to fix the D-Bus policy.
+ Fix issue of us giving every connection access to every
property on the system bus.
- Changes from version 2.1.4:
+ Don't depend on unreleased libnm-glib.
- No longer use sed to lower libnm-glib requirement, fixed
upstream.
-------------------------------------------------------------------
Sun Feb 23 06:34:19 UTC 2014 - zaitor@opensuse.org
- Add pkgconfig(systemd) BuildRequires and add relevant
systemdmacros to pre/post/preun/postun.
- Create softlink /usr/sbin/rcgeoclue to /usr/sbin/service.
-------------------------------------------------------------------
Fri Feb 21 11:59:35 UTC 2014 - zaitor@opensuse.org
- Update to version 2.1.3:
+ Agents can now dictate maximum accuracy level allowed for all
clients through a D-Bus property. The next version of
gnome-shell will make use of that and provide an option to
enable/disable geolocation in topbar menu.
+ Add D-Bus property to specify available accuracy level. For now
we just hardcode it to report that we can provide exact
accuracy.
+ Give agents time to register themselves on startup before
processing client requests.
+ Move configuration file under geoclue subdir so that in future
we can easily add more configuration files if needed.
+ Fixes to build.
+ Some internal clean-ups.
-------------------------------------------------------------------
Tue Feb 4 18:44:50 UTC 2014 - zaitor@opensuse.org
- Update to version 2.1.2:
+ Fix some crashing bugs.
+ Ignore WiFis with '_nomap' suffix.
+ Configure options for disabling WiFi, 3G and GPS modem sources.
+ Avoid spaming the network resources for ignorable changes to
network setup.
+ Add some required files to distribution that we forgot in last
release.
- Changes from version 2.1.1:
+ 3GPP-based geolocation source.
+ Uses ModemManager to get cell tower info from 3GPP modem and
uses opencellid.org's public API to translate that into a
location.
+ GPS modem-based geolocation source: If your 3GPP modem has a
GPS, geoclue can now make use of it.
+ WiFi-based geolocation source.
+ Uses Mozilla Location Service to find location based on nearby
WiFi networks.
+ Refresh location on changes in WiFi networks.
+ Option in configuration file to make geoclue use Google Maps
Geolocation API rather than Mozilla Location Service.
+ Option in configuration file to enable submission of wifi data
to Mozilla Location Service. If this option is enabled, the
data is submitted each time geoclue gets a GPS lock. That
means, its not completely autonomous and data is only
submitted if an application, e.g gnome-maps requests current
location with exact accuracy.
+ API for clients to specify what level of geolocation accuracy
they need, e.g city-level, street-level or exact etc.
+ API to check if geolocation service is in use. Next version of
gnome-shell will make use of that to show an icon in the panel
to indicate to user that their location is being accessed.
+ Application authorization agent.
+ Make agent completely optional. We will revert this once we
have a reliable mechanism to identify applications.
+ Identify agent and client applications by their desktop IDs
rather than paths of their binaries.
+ Ability for agents to dictate the accuracy level allowed for
clients.
+ Maintain a whitelist of clients in configuration that do not
need agent authorization.
+ Avoid redundant queries to web services.
+ Install demo applications and provide a desktop file for them.
+ Many more internal fixes and clean-ups.
- Add pkgconfig(libnm-glib), pkgconfig(mm-glib) and
pkgconfig(libxml-2.0) BuildRequires: new dependencies.
- Lower NetworkManager dependency to 0.9.8 in configure.
-------------------------------------------------------------------
Sun Jan 19 10:44:30 UTC 2014 - zaitor@opensuse.org
- Update to version 2.1.0:
+ Application authentication agents support:
- API for agents to register themselves.
- API that agents need to implement.
- Configure option to enable requirement of authorization from
agent. Until there is at least one agent out there, this
requirement is disabled by default.
- A demo agent.
- Option in ${sysconfdir}/geoclue.conf containing whitelist of
all our agents.
+ Don't use proxy. Seems proxy settings are per-user and system
users (which geoclue is supposed to run as) do not have access
to them.
+ Add support for bus-activation via systemd service unit.
+ Add mandatory 'DesktopId' property to Client interface.
+ Use HTTPS to connect to geoip.fedoraproject.org. The actual
resource is behind HTTPS so using HTTP leads to redirections
and thefore redundant TCP packets.
+ Fixes to build system.
-------------------------------------------------------------------
Mon Oct 7 18:16:11 UTC 2013 - dimstar@opensuse.org
- Create and package %{_localstatedir}/lib/%{dbus_user} (the dbus
user's home directory).
-------------------------------------------------------------------
Tue Sep 24 17:27:49 UTC 2013 - dimstar@opensuse.org
- Update to version 2.0.0:
+ Generate docs for D-Bus interface.
+ Fix build against Automake 1.13.
+ Two minor fixes/cleanups.
- Changes from version 1.99.4:
+ Correct check for whether db needs update in geoip-update.
+ Fix geoip-update by direct usage of libsoup for HTTP GET.
+ Don't inhibit compiler warnings in build.
+ Fix various potential crashers.
+ Take 'DistanceThreshold' property into account.
+ Watch for and signal out location changes.
+ Add configure option to specify service user.
+ Add documentation comments to D-Bus interface XML.
+ Fix various compiler warnings.
+ Switch to Fedora's geoip server until we've our server setup.
+ Minor fixes to pkgconfig file.
+ Setup a glib log domain.
+ Some optimizations.
+ More debug logging.
- Drop geoclue2-no-root.patch: fixed upstream.
- Drop libtool BuildRequires and call to autoreconf, as we do no
longer carry any patch requiring to bootstrap.
-------------------------------------------------------------------
Sun Sep 15 10:58:11 UTC 2013 - dimstar@opensuse.org
- Provide dbus(org.freedesktop.GeoClue2) instead of dbus(GeoClue2),
as this is much closer to reality.
-------------------------------------------------------------------
Wed Sep 11 14:06:00 UTC 2013 - dimstar@opensuse.org
- Re-enable the D-Bus service, as the services have been white-
listed for Factory.
-------------------------------------------------------------------
Tue Sep 10 08:41:47 UTC 2013 - dimstar@opensuse.org
- Add COPYING to the package as %doc.
-------------------------------------------------------------------
Mon Sep 9 08:58:12 UTC 2013 - dimstar@opensuse.org
- Do not package the D-Bus service for now. This makes the package
'broken', but allows us to build against the D-Bus interface and
not block inclusion of other packages any furhter (bnc#838360).
-------------------------------------------------------------------
Tue Sep 3 20:37:16 UTC 2013 - dimstar@opensuse.org
- Update to version 1.99.3:
+ All D-Bus prop names capitalized as per general conventions.
+ Expose D-Bus specification XML file in pkg-config file.
+ Fix some potential crashes in error handling code.
+ Remove unused build-time yelp dependency.
+ Correct the libsoup dependency in pkg-config (although it
doesn't affect any applications at the moment).
+ Fix some compiler warnings.
- Changes from version 1.99.2:
+ Drop client-side library.
+ Add COPYING file.
+ Install geoip-lookup with make install. This makes life easier
for binary distributions that can then ship geoip-lookup in a
package.
+ Distribute server documentation.
+ Distribute & install interface XML file.
+ Add/update forgotten copyright headers.
- Changes from version 1.99.1:
+ Move to system D-Bus.
+ Import geoip code from geocode-glib.
+ Add option to automatically exit on inactivity. By default it:
- Runs indefinitely when launched manually.
- Exits after 5 seconds of inactivity when (auto)launched by
D-Bus.
+ Relicense from LGPLv2+ to GPLv2+.
+ Some build/installation related fixes.
+ Correctly version pkg-config file.
+ Fix crash on error.
+ Add --version cmdline option.
- Changes from version 1.99.0:
+ Bump the version number.
- Drop typelib-1_0-GeoClue-1_0 and libgeoclue-1_0-0 subpackages:
the client-side library was dropped with version 1.99.2.
- Add geoclue2-no-root.patch: Add configure option to specify
service user.
- Add call to autoreconf in build phase, as above patch touches
the buildsystem.
- Define dbus_user: srvGeoClue.
- Pass --with-dbus-service-user=%{dbus_user} to configure.
- Create %dbus_user during pre phase if the user does not yet
exist.
-------------------------------------------------------------------
Mon Aug 5 20:51:34 UTC 2013 - dimstar@opensuse.org
- Add ldconfig call to post/postun.
-------------------------------------------------------------------
Mon Aug 5 19:18:52 UTC 2013 - dimstar@opensuse.org
- Initial package, version 0.0.1.

159
geoclue2.spec Normal file
View File

@ -0,0 +1,159 @@
#
# spec file for package geoclue2
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _name geoclue
Name: geoclue2
Version: 2.7.1
Release: 0
Summary: GeoLocation Framework
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
URL: https://gitlab.freedesktop.org/geoclue/geoclue
Source0: %{url}/-/archive/%{version}/geoclue-%{version}.tar.bz2
Source1: srvGeoClue.conf
Source99: geoclue2-rpmlintrc
BuildRequires: intltool >= 0.40.0
BuildRequires: meson >= 0.47.2
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
BuildRequires: sysuser-tools
BuildRequires: vala
BuildRequires: perl(XML::Parser)
BuildRequires: pkgconfig(avahi-client) >= 0.6.10
BuildRequires: pkgconfig(avahi-glib) >= 0.6.10
BuildRequires: pkgconfig(gio-2.0) >= 2.68.0
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.68.0
BuildRequires: pkgconfig(glib-2.0) >= 2.68.0
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(json-glib-1.0) >= 0.14
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libsoup-3.0)
BuildRequires: pkgconfig(mm-glib) >= 1.6
BuildRequires: pkgconfig(systemd)
# This daemon runs as srvGeoClue
Requires: user(srvGeoClue)
# Virtual provides for the dbus service
Provides: dbus(org.freedesktop.GeoClue2) = %{version}
%{?systemd_requires}
%description
GeoClue is a software framework which can be used to enable geospatial
awareness in applications. GeoClue uses the D-Bus inter-process
communication mechanism to provide location information
%package -n system-user-srvGeoClue
Summary: System user for the geoclue service
Group: System/Base
BuildArch: noarch
%sysusers_requires
%description -n system-user-srvGeoClue
System user for use by the geoclue service
%package -n typelib-1_0-Geoclue-2_0
Summary: GeoLocation Framework --GObject Introspection
Group: System/Libraries
%description -n typelib-1_0-Geoclue-2_0
GeoClue is a software framework which can be used to enable geospatial
awareness in applications. GeoClue uses the D-Bus inter-process
communication mechanism to provide location information
%package devel
Summary: GeoLocation Framework -- Development files
Group: Development/Languages/C and C++
Requires: %{name} = %{version}
Requires: typelib-1_0-Geoclue-2_0 = %{version}
%description devel
GeoClue is a software framework which can be used to enable geospatial
awareness in applications. GeoClue uses the D-Bus inter-process
communication mechanism to provide location information
%prep
%autosetup -p1 -n %{_name}-%{version}
%build
%meson \
-Dgtk-doc=false \
-Ddbus-srv-user=srvGeoClue \
-Ddbus-sys-dir=%{_datadir}/dbus-1/system.d \
%{nil}
%meson_build
%sysusers_generate_pre %{SOURCE1} srvGeoClue system-user-srvGeoClue.conf
%install
%meson_install
# Rename polkit rule to have specific ordering capabilities - boo#1199767#c1
mv %{buildroot}/usr/share/polkit-1/rules.d/org.freedesktop.GeoClue2.rules \
%{buildroot}/usr/share/polkit-1/rules.d/50-org.freedesktop.GeoClue2.rules
install -d %{buildroot}%{_localstatedir}/lib/srvGeoClue
mkdir -p %{buildroot}%{_sysusersdir}
install -m 644 %{SOURCE1} %{buildroot}%{_sysusersdir}/system-user-srvGeoClue.conf
# note: do not use systemd macros for geoclue2.service, they are not meant for dbus unit files.
%pre -n system-user-srvGeoClue -f srvGeoClue.pre
%ldconfig_scriptlets
%files
%license COPYING
%doc README.md
%{_mandir}/man5/geoclue.5%{ext_man}
# Not split per SLPP as the interface to the underlying daemon is
# too strict to allow parallel installations
%{_libdir}/libgeoclue-2.so.*
%{_libexecdir}/geoclue
%dir %{_libexecdir}/geoclue-2.0/
%{_libexecdir}/geoclue-2.0/demos/
%{_datadir}/applications/geoclue-where-am-i.desktop
%{_datadir}/dbus-1/interfaces/org.freedesktop.GeoClue2.Client.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.GeoClue2.Location.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.GeoClue2.Manager.xml
%{_datadir}/dbus-1/system-services/org.freedesktop.GeoClue2.service
%{_datadir}/polkit-1/rules.d/50-org.freedesktop.GeoClue2.rules
%dir %{_sysconfdir}/geoclue/
%config %{_sysconfdir}/geoclue/geoclue.conf
%{_datadir}/dbus-1/system.d/org.freedesktop.GeoClue2.conf
%{_datadir}/dbus-1/system.d/org.freedesktop.GeoClue2.Agent.conf
%{_unitdir}/geoclue.service
# Upstream is explicitly asking us to package these, so lets give it a go.
%{_sysconfdir}/xdg/autostart/geoclue-demo-agent.desktop
%{_datadir}/applications/geoclue-demo-agent.desktop
%files -n system-user-srvGeoClue
%attr(0700,srvGeoClue,root) %{_localstatedir}/lib/srvGeoClue
%{_sysusersdir}/system-user-srvGeoClue.conf
%files -n typelib-1_0-Geoclue-2_0
%{_libdir}/girepository-1.0/Geoclue-2.0.typelib
%files devel
%{_includedir}/libgeoclue-2.0/
%{_libdir}/*.so
%{_libdir}/pkgconfig/geoclue-2.0.pc
%{_libdir}/pkgconfig/libgeoclue-2.0.pc
%{_datadir}/dbus-1/interfaces/org.freedesktop.GeoClue2.Agent.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.GeoClue2.xml
%{_datadir}/gir-1.0/Geoclue-2.0.gir
%{_datadir}/vala/vapi/libgeoclue-2.0.*
%changelog

2
srvGeoClue.conf Normal file
View File

@ -0,0 +1,2 @@
# Type Name ID GECOS [HOME]
u srvGeoClue - "User for GeoClue D-Bus service" /var/lib/srvGeoClue