From ccff36c7d86852d32c75be567410d91c4520e1fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0abata?= Date: Thu, 15 Oct 2020 00:50:42 +0200 Subject: [PATCH] RHEL 9.0.0 Alpha bootstrap The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/geoclue2#ffd4ecba1e7f648cfce25fad84afa9c569f52004 --- .gitignore | 8 + fix-location-access-setting.patch | 96 +++++++++ geoclue2.spec | 334 ++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 439 insertions(+) create mode 100644 fix-location-access-setting.patch create mode 100644 geoclue2.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..eab89dc 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,8 @@ +/geoclue-2.*.tar.xz +/geoclue-2.5.0.tar.bz2 +/geoclue-2.5.1.tar.bz2 +/geoclue-2.5.2.tar.bz2 +/geoclue-2.5.3.tar.bz2 +/geoclue-2.5.4.tar.bz2 +/geoclue-2.5.5.tar.bz2 +/geoclue-2.5.6.tar.bz2 diff --git a/fix-location-access-setting.patch b/fix-location-access-setting.patch new file mode 100644 index 0000000..9e71a06 --- /dev/null +++ b/fix-location-access-setting.patch @@ -0,0 +1,96 @@ +From 2815b7f3add1f444b1b12aad66d9f83e8dbdddf7 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Fri, 5 Jun 2020 11:22:50 -0500 +Subject: [PATCH] Revert "service: Drop authorization for system apps" + +This reverts commit 87e60ed97843f1a59db46c320aa048cb064a0f08. + +It broke the location access setting. + +Fixes #111 +--- + src/gclue-service-client.c | 23 ++++++----------------- + 1 file changed, 6 insertions(+), 17 deletions(-) + +diff --git a/src/gclue-service-client.c b/src/gclue-service-client.c +index 247fdb6a..fbb49cc0 100644 +--- a/src/gclue-service-client.c ++++ b/src/gclue-service-client.c +@@ -329,17 +329,16 @@ on_agent_props_changed (GDBusProxy *agent_proxy, + g_variant_get (changed_properties, "a{sv}", &iter); + while (g_variant_iter_loop (iter, "{&sv}", &key, &value)) { + GClueAccuracyLevel max_accuracy; ++ GClueConfig *config; + const char *id; +- gboolean system_app; + + if (strcmp (key, "MaxAccuracyLevel") != 0) + continue; + + gdbus_client = GCLUE_DBUS_CLIENT (client); ++ config = gclue_config_get_singleton (); + id = gclue_dbus_client_get_desktop_id (gdbus_client); + max_accuracy = g_variant_get_uint32 (value); +- system_app = (gclue_client_info_get_xdg_id +- (client->priv->client_info) == NULL); + /* FIXME: We should be handling all values of max accuracy + * level here, not just 0 and non-0. + */ +@@ -355,7 +354,7 @@ on_agent_props_changed (GDBusProxy *agent_proxy, + g_debug ("Re-started '%s'.", id); + } else if (max_accuracy == 0 && + gclue_dbus_client_get_active (gdbus_client) && +- !system_app) { ++ !gclue_config_is_system_component (config, id)) { + stop_client (client); + client->priv->agent_stopped = TRUE; + g_debug ("Stopped '%s'.", id); +@@ -472,7 +471,8 @@ handle_post_agent_check_auth (StartData *data) + data->desktop_id, + priv->client_info); + +- if (app_perm == GCLUE_APP_PERM_ALLOWED) { ++ if (gclue_config_is_system_component (config, data->desktop_id) || ++ app_perm == GCLUE_APP_PERM_ALLOWED) { + complete_start (data); + return; + } +@@ -556,7 +556,6 @@ gclue_service_client_handle_start (GClueDBusClient *client, + const char *desktop_id; + GClueAppPerm app_perm; + guint32 uid; +- gboolean system_app = FALSE; + + if (priv->locator != NULL) { + /* Already started */ +@@ -566,11 +565,9 @@ gclue_service_client_handle_start (GClueDBusClient *client, + } + + desktop_id = gclue_client_info_get_xdg_id (priv->client_info); +- if (desktop_id == NULL) { ++ if (desktop_id == NULL) + /* Non-xdg app */ + desktop_id = gclue_dbus_client_get_desktop_id (client); +- system_app = TRUE; +- } + + if (desktop_id == NULL) { + g_dbus_method_invocation_return_error_literal (invocation, +@@ -605,14 +602,6 @@ gclue_service_client_handle_start (GClueDBusClient *client, + data->accuracy_level = ensure_valid_accuracy_level + (data->accuracy_level, GCLUE_ACCURACY_LEVEL_EXACT); + +- if (system_app) { +- /* Since we have no reliable way to identify system apps, no +- * need for auth for them. */ +- complete_start (data); +- +- return TRUE; +- } +- + /* No agent == No authorization */ + if (priv->agent_proxy == NULL) { + /* Already a pending Start()? Denied! */ +-- +GitLab + diff --git a/geoclue2.spec b/geoclue2.spec new file mode 100644 index 0000000..d356f51 --- /dev/null +++ b/geoclue2.spec @@ -0,0 +1,334 @@ +Name: geoclue2 +Version: 2.5.6 +Release: 3%{?dist} +Summary: Geolocation service + +License: GPLv2+ +URL: http://www.freedesktop.org/wiki/Software/GeoClue/ +Source0: https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/%{version}/geoclue-%{version}.tar.bz2 + +# https://gitlab.freedesktop.org/geoclue/geoclue/-/merge_requests/70 +Patch0: fix-location-access-setting.patch + +BuildRequires: avahi-glib-devel +BuildRequires: gettext +BuildRequires: glib2-devel +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: json-glib-devel +BuildRequires: libsoup-devel +BuildRequires: meson +BuildRequires: ModemManager-glib-devel +BuildRequires: systemd +BuildRequires: vala +Requires(pre): shadow-utils +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Requires: dbus + +Obsoletes: geoclue2-server < 2.1.8 + +Obsoletes: geoclue < 0.12.99-10 +Obsoletes: geoclue-devel < 0.12.99-10 +Obsoletes: geoclue-gsmloc < 0.12.99-10 +Obsoletes: geoclue-gui < 0.12.99-10 +Obsoletes: geoclue-gypsy < 0.12.99-10 + +%description +Geoclue is a D-Bus service that provides location information. The primary goal +of the Geoclue project is to make creating location-aware applications as +simple as possible, while the secondary goal is to ensure that no application +can access location information without explicit permission from user. + + +%package libs +Summary: Geoclue client library +License: LGPLv2+ +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description libs +The %{name}-libs package contains a convenience library to interact with +Geoclue service. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains files for developing applications that +use %{name}. + + +%package demos +Summary: Demo applications for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: libnotify-devel + +%description demos +The %{name}-demos package contains demo applications that use %{name}. + + +%prep +%setup -q -n geoclue-%{version} + + +%build +%meson -Ddbus-srv-user=geoclue +%meson_build + + +%install +%meson_install + +# Home directory for the 'geoclue' user +mkdir -p $RPM_BUILD_ROOT/var/lib/geoclue + + +%pre +# Update the home directory for existing users +getent passwd geoclue >/dev/null && \ + usermod -d /var/lib/geoclue geoclue &>/dev/null +# Create a new user and group if they don't exist +getent group geoclue >/dev/null || groupadd -r geoclue +getent passwd geoclue >/dev/null || \ + useradd -r -g geoclue -d /var/lib/geoclue -s /sbin/nologin \ + -c "User for geoclue" geoclue +exit 0 + +%post +%systemd_post geoclue.service + +%preun +%systemd_preun geoclue.service + +%postun +%systemd_postun_with_restart geoclue.service + + +%files +%license COPYING +%doc NEWS +%config %{_sysconfdir}/geoclue/ +%dir %{_libexecdir}/geoclue-2.0 +%dir %{_libexecdir}/geoclue-2.0/demos +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.GeoClue2.conf +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.GeoClue2.Agent.conf +%{_sysconfdir}/xdg/autostart/geoclue-demo-agent.desktop +%{_libexecdir}/geoclue +%{_datadir}/dbus-1/system-services/org.freedesktop.GeoClue2.service +%{_datadir}/applications/geoclue-demo-agent.desktop +%{_mandir}/man5/geoclue.5* +%{_unitdir}/geoclue.service +%{_libexecdir}/geoclue-2.0/demos/agent +%attr(755,geoclue,geoclue) %dir /var/lib/geoclue + +%files libs +%license COPYING.LIB +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/Geoclue-2.0.typelib +%{_libdir}/libgeoclue-2.so.0* + +%files devel +%{_datadir}/dbus-1/interfaces/org.freedesktop.GeoClue2*.xml +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/Geoclue-2.0.gir +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%{_datadir}/gtk-doc/html/geoclue/ +%{_datadir}/gtk-doc/html/libgeoclue/ +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/libgeoclue-2.0.* +%{_includedir}/libgeoclue-2.0/ +%{_libdir}/pkgconfig/geoclue-2.0.pc +%{_libdir}/pkgconfig/libgeoclue-2.0.pc +%{_libdir}/libgeoclue-2.so + +%files demos +%{_libexecdir}/geoclue-2.0/demos/where-am-i +%{_datadir}/applications/geoclue-where-am-i.desktop + + +%changelog +* Mon Jul 27 2020 Fedora Release Engineering - 2.5.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Michael Catanzaro - 2.5.6-2 +- Add patch to fix location privacy setting + +* Wed Feb 26 2020 Kalev Lember - 2.5.6-1 +- Update to 2.5.6 + +* Tue Jan 28 2020 Fedora Release Engineering - 2.5.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Sep 30 2019 Kalev Lember - 2.5.5-1 +- Update to 2.5.5 + +* Fri Sep 27 2019 Kalev Lember - 2.5.4-1 +- Update to 2.5.4 + +* Thu Jul 25 2019 Fedora Release Engineering - 2.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 16 2019 Kalev Lember - 2.5.3-1 +- Update to 2.5.3 + +* Thu Jan 31 2019 Fedora Release Engineering - 2.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 11 2019 Kalev Lember - 2.5.2-1 +- Update to 2.5.2 + +* Tue Oct 16 2018 Kalev Lember - 2.5.1-1 +- Update to 2.5.1 + +* Sun Oct 14 2018 Kalev Lember - 2.5.0-1 +- Update to 2.5.0 +- Switch to the meson build system +- Build gtk-doc documentation +- Remove ldconfig scriptlets + +* Thu Jul 26 2018 Kalev Lember - 2.4.11-1 +- Update to 2.4.11 +- Include vala bindings +- Fix gir directory ownership + +* Fri Jul 13 2018 Fedora Release Engineering - 2.4.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu May 03 2018 Bastien Nocera - 2.4.10-1 ++ geoclue2-2.4.10-1 +- Update to 2.4.10 + +* Thu May 03 2018 Bastien Nocera - 2.4.9-1 ++ geoclue2-2.4.9-1 +- Update to 2.4.9 + +* Thu Apr 12 2018 Kalev Lember - 2.4.8-1 +- Update to 2.4.8 + +* Wed Feb 07 2018 Fedora Release Engineering - 2.4.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 2.4.7-3 +- Switch to %%ldconfig_scriptlets + +* Wed Nov 29 2017 Lubomir Rintel - 2.4.7-2 +- Obsolete old geoclue + +* Tue Sep 05 2017 Kalev Lember - 2.4.7-1 +- Update to 2.4.7 + +* Wed Aug 02 2017 Fedora Release Engineering - 2.4.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.4.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Mar 24 2017 Florian Müllner - 32.4.5-4 +- Add gnome-shell's weather integration to the whitelist + +* Wed Mar 01 2017 Kalev Lember - 2.4.5-3 +- Add "Night Light" functionality to the whitelist + +* Fri Feb 10 2017 Fedora Release Engineering - 2.4.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 27 2017 Kalev Lember - 2.4.5-1 +- Update to 2.4.5 + +* Tue Sep 06 2016 Bastien Nocera - 2.4.4-1 +- Update to 2.4.4 + +* Tue Mar 08 2016 Zeeshan Ali 2.4.3-1 +- Update to 2.4.3. + +* Wed Feb 03 2016 Fedora Release Engineering - 2.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Dec 08 2015 Kalev Lember - 2.4.1-1 +- Update to 2.4.1 + +* Wed Nov 04 2015 Kalev Lember - 2.4.0-1 +- Update to 2.4.0 +- Package new libgeoclue-2.0 library in -libs subpackage +- Fix directory ownership for /usr/libexec/geoclue-2.0/demos/ +- Use license macro for COPYING + +* Wed Jun 17 2015 Fedora Release Engineering - 2.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Apr 16 2015 Zeeshan Ali 2.2.0-1 +- Update to 2.2.0. + +* Tue Apr 7 2015 Zeeshan Ali 2.1.10-2 +- Package demo applications too. + +* Tue Jan 6 2015 Peter Robinson 2.1.10-1 +- Update to 2.1.10 + +* Sat Aug 16 2014 Fedora Release Engineering - 2.1.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 21 2014 Kalev Lember - 2.1.9-1 +- Update to 2.1.9 + +* Sat Jun 07 2014 Fedora Release Engineering - 2.1.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Apr 16 2014 Kalev Lember - 2.1.8-1 +- Update to 2.1.8 +- Remove and obsolete the -server subpackage + +* Wed Mar 26 2014 Kalev Lember - 2.1.7-1 +- Update to 2.1.7 + +* Fri Mar 07 2014 Kalev Lember - 2.1.6-1 +- Update to 2.1.6 + +* Thu Feb 06 2014 Kalev Lember - 2.1.2-2 +- Add systemd rpm scripts +- Don't install the demo .desktop files + +* Tue Feb 04 2014 Richard Hughes - 2.1.2-1 +- Update to 2.1.2 + +* Sun Oct 06 2013 Kalev Lember - 2.0.0-1 +- Update to 2.0.0 +- Create a home directory for the 'geoclue' user + +* Thu Sep 19 2013 Kalev Lember - 1.99.4-2 +- Run the service as 'geoclue' user + +* Wed Sep 18 2013 Kalev Lember - 1.99.4-1 +- Update to 1.99.4 + +* Tue Sep 03 2013 Kalev Lember - 1.99.3-1 +- Update to 1.99.3 + +* Sun Aug 25 2013 Kalev Lember - 1.99.2-3 +- Update -devel subpackage description (#999153) + +* Sat Aug 24 2013 Kalev Lember - 1.99.2-2 +- Review fixes (#999153) +- Drop ldconfig calls that are unnecessary now that the shared library is gone +- Drop the build dep on gobject-introspection-devel +- Include API-Documentation.txt in the -server subpackage + +* Fri Aug 23 2013 Kalev Lember - 1.99.2-1 +- Update to 1.99.2 +- The shared library is gone in this release and all users should use the + dbus service directly + +* Wed Aug 21 2013 Kalev Lember - 1.99.1-3 +- Include geoip-lookup in the -server subpackage as well + +* Wed Aug 21 2013 Kalev Lember - 1.99.1-2 +- Ship geoip-update in -server subpackage + +* Tue Aug 20 2013 Kalev Lember - 1.99.1-1 +- Initial Fedora packaging diff --git a/sources b/sources new file mode 100644 index 0000000..6690f0f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (geoclue-2.5.6.tar.bz2) = d05160c95b80f05211d22de2631faf16d7263028c2eaf36a2cabf4d942e3db1d6157cd7feb7980ea358d208d5a24da181a3082488d9afcd126e2eecce5f4e78b